The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du в uutils и GNU Coreutils "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du в uutils и GNU Coreutils "  +/
Сообщение от opennews (ok), 10-Ноя-25, 11:04 
Опубликован выпуск проекта uutils coreutils 0.4.0 (Rust Coreutils), развивающего аналог пакета GNU Coreutils, написанный на языке Rust. В состав coreutils входит более ста утилит, включая sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln и ls. Целью проекта является создание кроссплатформенной альтернативной реализации Coreutils, среди прочего способной работать на платформах Windows, Redox и Fuchsia...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64214

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от localhostadmin (ok), 10-Ноя-25, 11:04 
>работать на платформах Windows, Redox и Fuchsia

А зачем это на винде?

Ответить | Правка | Наверх | Cообщить модератору

3. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +5 +/
Сообщение от Аноним (3), 10-Ноя-25, 11:08 
более того... зачем оно вообще ?
Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +2 +/
Сообщение от Аноним (8), 10-Ноя-25, 11:21 
> показывает размеры каждого каталога с вычетом вложенных каталогов, из-за чего их размер получается меньше фактического

Учитывая, что ещё и работает неправильно.

Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от Аноним (22), 10-Ноя-25, 11:39 
Это GNUтая версия показывает неправильно)))
Ответить | Правка | Наверх | Cообщить модератору

39. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  –1 +/
Сообщение от Аноним (8), 10-Ноя-25, 12:22 
Ты чем читал?

В uutils: total # больше фактического

Ответить | Правка | Наверх | Cообщить модератору

46. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (46), 10-Ноя-25, 12:40 
> Ты чем читал?
> В uutils: total # больше фактического

GNU Utils
>> 33955   /var # меньше фактического


-s, --summarize
              display only a total for each argument
-c, --total
              produce a grand total

Ну и бсдшный du :


du -smc /var/log /var
7    /var/log
939    /var
945    total

du -smc /var /var/log  
939    /var
7    /var/log
945    total
# гнутый du
gdu -smc /var/log /var
7    /var/log
932    /var
939    total

gdu -smc /var /var/log  
939    /var
939    total


а так - все хорошо, прекрасная маркиза!

Ответить | Правка | Наверх | Cообщить модератору

48. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (8), 10-Ноя-25, 12:43 
Почему у раста сумма двух чисел не равна их сумме?
Ответить | Правка | Наверх | Cообщить модератору

51. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (46), 10-Ноя-25, 12:55 
> Почему у раста сумма двух чисел не равна их сумме?

Где ты в бсдшном du нашел раст?
И да, спецом для тебя:
-m      Display block counts in 1048576-byte (1 MiB) blocks.
Если сначала считать в байтах, суммировать, а потом округлить в блоки, то сумма вполне может быть != округлять в блоки и считать сумму.

Ответить | Правка | Наверх | Cообщить модератору

54. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (22), 10-Ноя-25, 13:00 
А зачем комментарий обрезал???))))
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

44. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (8), 10-Ноя-25, 12:34 
В uutils:

1540 + 35495 = 37035 != 37033!

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

47. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от Аноним (47), 10-Ноя-25, 12:42 
Слышал про MSYS2 или хотя бы Git for windows?
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

2. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (2), 10-Ноя-25, 11:07 
>Дополнительно можно отметить расхождение в поведении утилиты "du" из наборов uutils и GNU Coreutils, всплывшее после перехода Ubuntu 25.10 на uutils. Разработчики ещё не решили трактовать ли данное расхождение как ошибку, так как с одной стороны в поведении uutils есть логика и тестовый набор GNU Coreutils не выявляет проблем

Проблема в том, что переписанные тесты переписаны также качественно, как и все остальное. Почему язык, который должен был облегчить программирование только усложнил его?

Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от Аноним (3), 10-Ноя-25, 11:10 
Не совсем понятно как это чудовище вообще могло что-то облегчить
Ответить | Правка | Наверх | Cообщить модератору

20. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Соль земли2 (?), 10-Ноя-25, 11:39 
Трудно жить с руками из плеч?
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

25. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от Аноним (22), 10-Ноя-25, 11:40 
Так это GNUтые тесты такие, а не uutils)))
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

27. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +2 +/
Сообщение от User (??), 10-Ноя-25, 11:44 
Э! Тесты же ж от пакета GNU Coreutil используются - никто их вроде бы на rust переписывать не собирался. Вот что по ходу могут правочки появиться - это да - но на стороне _тестов_ (Читай - GNU) а не уот тут уот.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

33. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +2 +/
Сообщение от Аноним (2), 10-Ноя-25, 11:51 
Мне казалось, что шутки про весь мир неподходящий для Rust всего лишь шутки...
Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  –1 +/
Сообщение от User (??), 10-Ноя-25, 12:08 
Новость-не-читай-комментарий-оставляй? Тест - GNU'тый - ПРОХОДИТСЯ.
Ответить | Правка | Наверх | Cообщить модератору

56. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (2), 10-Ноя-25, 13:02 
Тесты проходят, а программа правильно не работает. Чудеса.
Ответить | Правка | Наверх | Cообщить модератору

53. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (53), 10-Ноя-25, 12:58 
Растройхетеры опять просчитались, но где?
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

4. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  –1 +/
Сообщение от Мурзин (?), 10-Ноя-25, 11:09 
Я правильно понимаю, что Столман и компания не правильно считали байты? И им показали как нужно.
Ответить | Правка | Наверх | Cообщить модератору

7. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +2 +/
Сообщение от Stanislavvv (ok), 10-Ноя-25, 11:16 
Скорее, это совместимость с чем-то более ранним.
Факт в том, что uutils ломают совместимость между системами. Даже если это на самом деле баг, на это может быть что-то завязано.
Ответить | Правка | Наверх | Cообщить модератору

40. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от freehck (ok), 10-Ноя-25, 12:23 
> Даже если это на самом деле баг, на это может быть что-то завязано.

Это не баг. Я нашёл.

Вот как описывается du в POSIX.1-2024: https://pubs.opengroup.org/onlinepubs/9799919799/utilities/d...

> A file that occurs multiple times shall be counted and written for only one entry, even if the occurrences are under different file operands.

Иными словами это поведение -- часть стандарта.

Ответить | Правка | Наверх | Cообщить модератору

10. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +2 +/
Сообщение от freehck (ok), 10-Ноя-25, 11:22 
> Я правильно понимаю, что Столман и компания не правильно считали байты? И им показали как нужно.

Ну вообще-то, если строго посмотреть на цифры, то в GNU Coreutils подсчёт как раз верен: если сначала считается подкаталог, а потом топ-каталог, то в топ-каталоге не учитываются файлы, уже подсчитанные в подкаталоге. А если сначала считается топ-каталог, то подкаталоги уже не считаются.

Честно говоря, я об этом не знал. Но если хорошенько подумать, это вполне логично. А вот то, что uutils выводит неверный total -- это неудобно совсем и 100% является ошибкой.

upd: выяснил, что это поведение -- часть стандарта POSIX. См #40

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

13. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (8), 10-Ноя-25, 11:28 
> Я правильно понимаю

Нет. Раст не умеет считать: "total # больше фактического"

Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

42. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (46), 10-Ноя-25, 12:29 
>> Я правильно понимаю
> Нет. Раст не умеет считать: "total # больше фактического"

А  /var # меньше фактического
этодругоепониматьнадо?

Ответить | Правка | Наверх | Cообщить модератору

45. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  –1 +/
Сообщение от Аноним (8), 10-Ноя-25, 12:37 
Раст, в uutils: 1540 + 35495 = 37035 != 37033!
Это как?! Даже сложение на расте неправильное.
Ответить | Правка | Наверх | Cообщить модератору

50. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (46), 10-Ноя-25, 12:48 
> Раст, в uutils: 1540 + 35495 = 37035 != 37033!
> Это как?! Даже сложение на расте неправильное.

Не, это ты не умеешь в доку.
--
>  -m      Display block counts in 1048576-byte (1 MiB) blocks.

du -smc /var /var/log  
939    /var
7    /var/log
945    total
--


Ответить | Правка | Наверх | Cообщить модератору

9. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +2 +/
Сообщение от Шарп (ok), 10-Ноя-25, 11:21 
>для предотвращения переполнения стека
>В утилите mkdir устранено переполнение стека

Я правильно понял, что если в случае сишки бичом являлся выход за пределы массива, то растеры рвут стек, потому что создают огромные объекты на нём и лепят рекурсию куда не попадя?

Рекламные буклеты про безопасность начали разваливаться, как только пошло реальное использование.

Ответить | Правка | Наверх | Cообщить модератору

14. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Жироватт (ok), 10-Ноя-25, 11:30 
До спавна местных, недалеко ушедших от LLM евангелистов 3... 2...
Ответить | Правка | Наверх | Cообщить модератору

30. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от 12yoexpert (ok), 10-Ноя-25, 11:48 
ИИ это всего лишь инструмент, абыр
А в сишке диды, абыр
UB, абырвалг
Ответить | Правка | Наверх | Cообщить модератору

15. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от Аноним (8), 10-Ноя-25, 11:31 
> переполнение стека

Это шедевр раста! Умудриться завалить стёк на 64-битной платформе при создании каталогов...

Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

16. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +3 +/
Сообщение от Жироватт (ok), 10-Ноя-25, 11:35 
БЕЗОПАСТНО завалить стек на 64хбитной платформе.
Ответить | Правка | Наверх | Cообщить модератору

17. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от Аноним (2), 10-Ноя-25, 11:36 
Программировать на Rust нормально не получается, приходится клонировать все объекты.
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

19. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от Аноним (8), 10-Ноя-25, 11:38 
> приходится клонировать все объекты.

Дак вот почему они не смогли браузер переписать, и за что их выгнали из Мозилы.

Ответить | Правка | Наверх | Cообщить модератору

24. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  –1 +/
Сообщение от Соль земли2 (?), 10-Ноя-25, 11:40 
Из-за простоты Rust набежало много новичков, которые так делают.
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

29. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +2 +/
Сообщение от Аноним (29), 10-Ноя-25, 11:48 
Понятно, это неправильные программисты на расте.
Ответить | Правка | Наверх | Cообщить модератору

32. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  –1 +/
Сообщение от 12yoexpert (ok), 10-Ноя-25, 11:50 
ну, с учётом того, что на расте пишут исключительно и только веб-синьоры, - да
Ответить | Правка | Наверх | Cообщить модератору

55. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (53), 10-Ноя-25, 13:02 
Они плохие прораммисты, потому что код без CVE получается? Ясно-понятно...
Ответить | Правка | Наверх | Cообщить модератору

11. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +3 +/
Сообщение от Аноним (3), 10-Ноя-25, 11:26 
правильнее было бы переписать их на python
Ответить | Правка | Наверх | Cообщить модератору

12. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Vadim (??), 10-Ноя-25, 11:27 
‘-S’
‘--separate-dirs’

    Normally, in the output of du (when not using --summarize), the size listed next to a directory name, d, represents the sum of sizes of all entries beneath d as well as the size of d itself. With --separate-dirs, the size reported for a directory name, d, will exclude the size of any subdirectories.

вот очень похоже на (неявное) использование этого параметра

Ответить | Правка | Наверх | Cообщить модератору

18. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от Аноним (8), 10-Ноя-25, 11:36 
> total # больше фактического

Да... Раст ещё и в арифметике не силён. Ожидаешь "disk usage" - а там ошибка.

Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от freehck (ok), 10-Ноя-25, 11:39 
> Разработчики ещё не решили трактовать ли данное расхождение как ошибку, так как с одной стороны в поведении uutils есть логика и тестовый набор GNU Coreutils не выявляет проблем, но с другой стороны несовместимости с GNU Coreutils предписано обрабатывать как ошибки и поведение Busybox соответствует GNU Coreutils.

Ну понятное дело, что они "ещё думают". Они ведь радостно рапортуют о том, что "обеспечили совместимость на более, чем 80%". А тут происходит столкновение с реальностью, и выясняется, что удовлетворить оригинальному тестовому набору -- это не то же самое, что и обеспечить 100%-ю совместимость с исходным продуктом.

Ответить | Правка | Наверх | Cообщить модератору

31. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от User (??), 10-Ноя-25, 11:49 
Ну в общем определенная логика даже есть. Как проводится сертификация на соответствие требованиям? Ну вот прогоняется тест сьют - все зеленое - на бамажка "соответствует". Ах, тест не все покрывает? Все равно, "соответствует" - вот внесете изменение в тесты, будет несоответствовать - исправим, а пока так.

Логика конечно кривая и гниловатая - но определенно, есть.

Ответить | Правка | Наверх | Cообщить модератору

52. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от freehck (ok), 10-Ноя-25, 12:56 
Гниловатая или нет, но с учётом того, что как выяснилось, это поведение -- часть стандарта POSIX (см #40), судя по всему править баг им таки придётся.
Ответить | Правка | Наверх | Cообщить модератору

23. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +2 +/
Сообщение от Аноним (29), 10-Ноя-25, 11:40 
Растаманы опять не смогли нормально переписать. На этот раз du - блин, просто возьмите и перепишите чтоб не было расхождения в поведении, для этого же язык и создавался.
Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от 12yoexpert (ok), 10-Ноя-25, 11:47 
сколько лет они уже это переписывают и всё никак не перепишут?
есть же готовый код перед глазами, что сложного?
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от User (??), 10-Ноя-25, 11:53 
В 2020м начали. Сколько-то серьёзно вроде с 22го.
Ответить | Правка | Наверх | Cообщить модератору

38. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +2 +/
Сообщение от Аноним (-), 10-Ноя-25, 12:11 
> Заявлен уровень совместимости 85.80% (было 83.91%).

Немножечко беременна. Теперь у вас будет валиться 15 задач из сотни. Подумаешь мелочи какие. Чочо, почти 90 тестов не работают? Notabug, релизить надо - фонд отчеты KPI ждет, а то вообще грантов за безопасное переписывание не насыпят.

Ответить | Правка | Наверх | Cообщить модератору

43. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (8), 10-Ноя-25, 12:31 
1540    /var/log
35495   /var
37033   total # больше фактического, но соответствует сумме /var и /var/log

Не соответствует! 1540 + 35495 = 37035, а не 37033!

Ответить | Правка | Наверх | Cообщить модератору

49. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Ilnarildarovuchemail (?), 10-Ноя-25, 12:44 
Зря
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру