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.me/opennews/art.shtml?num=64214

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

Оглавление

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


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

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

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

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

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

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

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

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

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

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

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

70. Скрыто модератором  –2 +/
Сообщение от Аноним (8), 10-Ноя-25, 13:46 
Ответить | Правка | Наверх | Cообщить модератору

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

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

> соответствует сумме

НЕ соответствует. Раст: 1540 + 35495 = 37035 != 37033

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

141. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от Аноним (46), 10-Ноя-25, 16:34 
> Ты это хотел увидеть?
>> соответствует сумме
> НЕ соответствует. Раст: 1540 + 35495 = 37035 != 37033

Соответствует.
-m     like --block-size=1M

Просто ты классический Воен Супротив Раста, тебе некогда разбираться в "мелочах", тебе ведь Голактеку от Раста спасать надо! 😀

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

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

1540 + 35495 = 37035 != 37033!

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

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

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

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

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

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

А зачем кривой косой вечно недопереписанный линукс, если можно взять настоящую операционную систему и просто установить на нее нужные утилиты?

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

104. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  –1 +/
Сообщение от Аноним (-), 10-Ноя-25, 15:15 
> А зачем кривой косой вечно недопереписанный линукс, если можно взять настоящую
> операционную систему и просто установить на нее нужные утилиты?

Затем что:
1) в линухе у меня проекты билдуются - в разы быстрее. А я не маклауд тормозную ос ждать.
2) не делают мозги онлайн акаунтами, активациями, рекламой, AI в блокноте и отсылкой клавиш майкрософту для улучшения качества обслуживания.
3) в винде изначально вообще пакетногом манагера нет и установка софта VS linux это ужасный гемор, занимающий намного больше времени.
4) при попытке собрать что-то типа linux kernel винды вообще пожалуй загнутся нахрен.
5) с автоматизацией, родным тулингом и проч в винде полный кошмар, настолько что они вот в WSL вдарились и прочие msys.

В общем - нормальная операционка для буха Глаши и прочих кассиров с операторами ПК. Если кто хотел взаимодействие с компом на более продвинутом уровне - УПС. Винды это сущий кошмар. И майкрософт как вендор - головняка кусок.

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

115. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (115), 10-Ноя-25, 15:43 
боюсь что даже буху Глаше винда не оченьто и подходит, иначе зачем им тп и админы которых они дергают на каждый чих.

лично я не считаю винду осью вообще, как была оболочка для дос так и осталась, из коробки не умеет вообще ничего, драйвера поставь софт поставь, в чем автоматизация, если можно поставить драйвера и соыт для любого рандомного загрузчика, и он тоже будет копировать файлы...и что lilo или grub теперь тоже назвать ос

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

вероятнее у автора какоето расстройство рассудка, и он считает что гдето в параллельном измерении есть одна единственная ос которая устраивает всех и пишет ее не иначе как сам боженька, без ошибок и недочетов, выкатывая релизы с фичами которые никто не просил, но они очень нужны, именно тогда когда вышли, эх если бы так было

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

109. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Медведь (ok), 10-Ноя-25, 15:22 
Навскидку: https://habr.com/ru/news/962756/
Упс, как же так? Это же НАСТОЯЩАЯ ОС!
Ответить | Правка | К родителю #100 | Наверх | Cообщить модератору

119. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +2 +/
Сообщение от Аноним (3), 10-Ноя-25, 15:52 
можно взять freebsd так то да
Ответить | Правка | К родителю #100 | Наверх | Cообщить модератору

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

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

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

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

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

Раст-то? Пыталось мой желудок, когда я синтаксис увидел.

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

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

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

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

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

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

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

Ну-ну.


# гну
gdu -smc /var/log /var
7    /var/log
935    /var
942    total

busybox du -smc /var/log /var
7    /var/log
935    /var
941    total

# бсд
du -smc /var/log /var
7    /var/log
942    /var
948    total

# uutils
uu-du -smc /var/log /var
7    /var/log
942    /var
948    total


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

123. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от freehck (ok), 10-Ноя-25, 15:59 
Ну это легко объяснимо. Видите ли, POSIX не стоит на месте.

Так, например, в стандарте POSIX.1-2018, написано[1]:

> A file that occurs multiple times under one file operand and that has a link count greater than 1 shall be counted and written for only one entry. It is implementation-defined whether a file that has a link count no greater than 1 is counted and written just once, or is counted and written for each occurrence. It is implementation-defined whether a file that occurs under one file operand is counted for other file operands.

А вот в стандарте POSIX.1-2024, на который я ссылался ранее[2], написано следующее:

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

Так что BSD du удовлетворяет стандарту 2018го года, а GNU du -- более свежему стандарту 2024го года.

[1] https://pubs.opengroup.org/onlinepubs/9699919799/utilities/d...
[2] https://pubs.opengroup.org/onlinepubs/9799919799/utilities/d...

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

147. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (46), 10-Ноя-25, 16:45 
> Так что BSD du удовлетворяет стандарту 2018го года, а GNU du --
> более свежему стандарту 2024го года.

Я бы сильно удивился, если бы du из 13 фряхи удовлетворял 😉:
ll /usr/bin/du
-r-xr-xr-x  1 root  wheel    13K 21 Nov.  2022 /usr/bin/du*

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

150. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от freehck (ok), 10-Ноя-25, 17:02 
> ll /usr/bin/du
> -r-xr-xr-x  1 root  wheel    13K 21 Nov. 2022 /usr/bin/du*

Ну вот видите, ларчик-то просто открывался. =)

Я вот из интереса смотрел на du из базовой поставки MacOS -- там точно такая же ситуация.
Интересно было бы узнать, это BSD-шники свой du давно не обновляли, или Apple просто редко утягивает актуальные версии?

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

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

Ну так логично же.
uutils ориентировались на свободные бсдшные утилиты, а не на гнурак.
А busybox тоже под жпл, поэтому списывали они с gnu утилит.

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

81. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  –3 +/
Сообщение от Аноним (81), 10-Ноя-25, 14:03 
Ну так все вопросы к сишникам, что такие кривые тесты написали.
Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

87. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Медведь (ok), 10-Ноя-25, 14:27 
> Ну так все вопросы к сишникам, что такие кривые тесты написали

Плохому ржавуну всегда сишники мешают, ага... Так напишите свои тесты, правильные. Только что-то мне подсказывает, что ржа и тут облажается.

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

91. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (8), 10-Ноя-25, 14:34 
Опять сишники в штаны Расту ... Надо же было умудриться, что у раста total не соответствует ни фактически занимаемому месту, ни сумме элементов из-за округлений при целочисленном сложении.
Ответить | Правка | К родителю #81 | Наверх | Cообщить модератору

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

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

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

причём НЕ соответствует сумме. Растманы объясняют ошибку целочисленного сложения "округлением".

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

62. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от Аноним (62), 10-Ноя-25, 13:23 
Много раз здесь повторяли. Это просто тесты. Это не тесты на совместимость. Их никто так не писал.

Поэтому упоминание этих тестов в новостях, без оговаривания данного факта, является обманом.

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

129. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от User (??), 10-Ноя-25, 16:12 
> Много раз здесь повторяли. Это просто тесты. Это не тесты на совместимость.
> Их никто так не писал.
> Поэтому упоминание этих тестов в новостях, без оговаривания данного факта, является обманом.

Ну, т.е. выводит du _какую-то_ сумму - а какую именно GNU Coreutils не интересно, лишь бы не пустоту. Выдает date -r file _какую-то_ дату (А может и не "дату" - "строку", во!) - и опять-таки, тесты не для совместимости сделаны - тесты хорошие!
Ляпотаааа... Вот прям даже не знаю, кто тут эээээ больший чудак выходит.

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

106. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от Аноним (-), 10-Ноя-25, 15:17 
> Почему язык, который должен был облегчить программирование только усложнил его?

Ну что вы как маленький, решая 1 проблему - создали 100 новых. И получился такой себе брейнфак 2.0. Хотя современные C++ могут заспорить за это звание. Но это не точно.

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

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

Где воен против погр=аного раста увидел, что тесты переписаны?

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

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

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

40. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +6 +/
Сообщение от 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ообщить модератору

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

А какой-то линукс posix compliant?
Если нет, то какие вообще перетензии?))

Нет никаких причин переносить наркоманскую логику разработчиков посикса, которые внезапно решили поменять поведение из реализации 2018 года на то. что цитируете вы.

2018 "It is implementation-defined whether a file that occurs under one file operand is counted for other file operands. The directory entry that is selected in the report is unspecified."
pubs.opengroup.org/onlinepubs/9699919799/utilities/du.html


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

134. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от freehck (ok), 10-Ноя-25, 16:21 
А никаких претензий. Вы в своём праве считать новую логику "наркоманской" и не имплементировать её.
Если разработчики uutils решат положить болт на POSIX compliance, для СПО это может будет даже хорошо.
Ответить | Правка | Наверх | Cообщить модератору

144. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от Аноним (105), 10-Ноя-25, 16:40 
>Нет никаких причин переносить наркоманскую логику разработчиков посикса

Есть. Поскольку без посикса это уже будет не замена gnu coreutils, а соврешенно другой проект.

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

65. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  –1 +/
Сообщение от bdrbt (ok), 10-Ноя-25, 13:32 
Они ничего не ломают, они изначально не заявляли 100% совместимость, но благодаря убуинам которые потащили их в прод не провери, все вопят о "сломанности".
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

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

72. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от User (??), 10-Ноя-25, 13:48 
> Они ничего не ломают, они изначально не заявляли 100% совместимость, но благодаря
> убуинам которые потащили их в прод не провери, все вопят о
> "сломанности".

Вообще-то - 100% совместимость с GNU Coreutils там на github'е в project goals заявлена.

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

107. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (107), 10-Ноя-25, 15:20 
> Вообще-то - 100% совместимость с GNU Coreutils там на github'е в project
> goals заявлена.

Обещать - не значит жениться.

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

112. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от User (??), 10-Ноя-25, 15:37 
>> Вообще-то - 100% совместимость с GNU Coreutils там на github'е в project
>> goals заявлена.
> Обещать - не значит жениться.

"Горизонт, Петька - он как КОММУНИЗМ - удаляется по мере вашего к нему приближения..."

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

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

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

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

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

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

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

118. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  –1 +/
Сообщение от Fyji (?), 10-Ноя-25, 15:51 
> Но если хорошенько подумать, это вполне логично.

Где же логично?
Я попросил посчитать размеры нескольких каталогов - напр. некий общий каталог и каталоги каждого пользователя в нем.  
Мне нужны реальные размеры каждого из них, а не сидеть и суммировать всех пользователей чтобы узнать правильный размер общего как это возвращает GNU

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

139. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от freehck (ok), 10-Ноя-25, 16:30 
Ну вот ты и укажешь du -smc /home/* /home, и получишь именно то, что хочешь:
- по одной строке с суммой на каждый каталог пользователя
- строку с /home, где будет просуммировано всё, что не вошло в /home/*
- и строку total с корректным общим размером /home со всеми подкаталогами

Альтернативно, ты можешь указать du -md 1 /home, и тогда ты получишь:
- по одной строке с суммой на каждый каталог пользователя
- строку с /home, где будет учтено всё, что находится в /home со всеми подкаталогами

Фишка нового поведения по стандарту 2024-го года как раз в том, что ты можешь получить размеры конкретных подкаталогов отдельно от того, что остаётся в топ-каталоге, плюс вывести корректный total.
Это более гибкое поведение: ты получаешь всё необходимое с одного запуска du, и не надо дополнительно второй раз его гонять с эксклудами. Удобно ж.

PS: И это мы ещё не поднимали вопрос о том, что старое поведение выводило завышенный total, что делало данную строчку вообще невалидной.

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

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

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

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

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

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

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

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

50. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от Аноним (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ообщить модератору

76. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  –3 +/
Сообщение от Аноним (8), 10-Ноя-25, 13:52 
О, не знал, что раст даже целочисленные количества складывать не умеет, но растманы заявляют, что "соответствует сумме", хотя не соответствует по факту. Вы уж определитесь сначала.
Ответить | Правка | Наверх | Cообщить модератору

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

И все бы хорошо, о Великий Воен Супротив Раста, но там выше - совсем не Раст. Там сишечка. Просто можно сначала округлить байтики до блоков и посчитать сумму, а можно наоборот. Угадай, что будет точнее.

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

73. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (8), 10-Ноя-25, 13:50 
> A file that occurs multiple times shall be counted and written for only one entry

Но раст не знает, что такое стандарты.

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

74. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от Мурзин (?), 10-Ноя-25, 13:50 
Спасибо всем, кто растолковал, кто не прав Столман или Растобои. А я подумал, что ну вот, наконец, получили все профит. Ан, нет. Ну и нарушать стандарты, это конечно не правильно. Эх, ну как здесь не сказать, читайте матчасть...
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

125. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (89), 10-Ноя-25, 16:09 
- Этот алгоритм запрограммировать невозможно.
- Почему?
- Боровчекер запрещает.
Ответить | Правка | Наверх | 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 ..."  +4 +/
Сообщение от Аноним (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 ..."  –1 +/
Сообщение от Аноним (81), 10-Ноя-25, 13:02 
Они плохие прораммисты, потому что код без CVE получается? Ясно-понятно...
Ответить | Правка | Наверх | Cообщить модератору

64. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (62), 10-Ноя-25, 13:27 
> потому что код без CVE получается?

Не получается.

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

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

114. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Медведь (ok), 10-Ноя-25, 15:41 
https://www.cvedetails.com/vulnerability-list/vendor_id-1902...
Ответить | Правка | Наверх | Cообщить модератору

124. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (62), 10-Ноя-25, 16:02 
https://app.opencve.io/cve/?vendor=rust-lang
Ответить | Правка | К родителю #83 | Наверх | Cообщить модератору

63. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от iPony128052 (?), 10-Ноя-25, 13:25 
> Из-за простоты Rust

Больше Hello World на нём написал?

Я при написании небольшого проекта на Rust после многолетнего опыта на C++ не заметил чего-то простого (относительно).

Ответить | Правка | К родителю #24 | Наверх | 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 ..."  –2 +/
Сообщение от Аноним (8), 10-Ноя-25, 11:36 
> total # больше фактического

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

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

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

Точно именно у раста в арифметике проблема? Текст новости не читаем?

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

77. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  –1 +/
Сообщение от Аноним (8), 10-Ноя-25, 13:55 
> A file that occurs multiple times shall be counted and written for only one entry, even if the occurrences are under different file operands.

у GNU есть стандарт, и делает всё строго по стандарту.

Раст: "мы даже числа правильно складывать не умеем". total # больше фактического, и НЕ соответствует сумме.

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

84. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (81), 10-Ноя-25, 14:09 
Тем временем GNU:

> размер получается меньше фактического

Ну ясно-понятно...

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

95. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (8), 10-Ноя-25, 14:38 
> A file that occurs multiple times shall be counted and written for only one entry
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

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

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

154. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Фнон (-), 10-Ноя-25, 17:27 
> это поведение -- часть стандарта POSIX (см #40)

Поправочка, стандарта POSIX 2024.
Т.е достаточно сказать "нам и 2018 хватит" и можно забить на
> править баг им таки придётся

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

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

85. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  –2 +/
Сообщение от Аноним (81), 10-Ноя-25, 14:10 
Увы, но на раст принципиально невозможно перенести все UB/CVE сишного кода, если только unsafe обмазаться ради совместимости с кривым GNU поделием...
Ответить | Правка | Наверх | Cообщить модератору

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

90. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от Аноним (29), 10-Ноя-25, 14:32 
Ты что-то как-то очень толсто троллишь. Ты реально думаешь, что отличия в поведении du из-за того что в coreutils UB/CVE? Ну ведь вовсе нет, как бы ты ни пытался отмазать этих вебприматов - они просто не смогли переписать.
Ответить | Правка | К родителю #85 | Наверх | Cообщить модератору

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

даже если в оригинале какой-то бред?
Типа копировать хpeновые подходы, главное совместимось?

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

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

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

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

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

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

152. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Фнон (-), 10-Ноя-25, 17:25 
Нет, не попадают.
Производность работы нужно еще доказать.
Что весьма сложно, если в новом коде не будет ни строчки из старого.
Ответить | Правка | К родителю #67 | Наверх | 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ообщить модератору

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

Начнем с того, что в оригинале не 37033 а 37034, закончим тем, что "-m     like --block-size=1M".
Все там соответствует. Особенно если не подменять последние циферки в "цитировании" 🙄.


du -smc /var/log /var
7    /var/log
942    /var
948    total

uu-du -smc /var/log /var
7    /var/log
942    /var
948    total

du -sc /var/log /var  
6708    /var/log
963712    /var
970420    total

calc 6708 + 963712
    970420
calc 970420/1024
    947.67578125


Ай-ай, опять Воены облажались. Так вы никогда не остановите Ржавое Вторжение и не спасете Галактеку!

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

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

78. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Медведь (ok), 10-Ноя-25, 13:57 
Насколько я помню, в целях проекта заявлено, что любое отличие от оригинала есть баг. Ржавуны, как же так, вы не можете даже переписать логику утилит 1:1?
Ответить | Правка | Наверх | Cообщить модератору

79. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (79), 10-Ноя-25, 14:00 
>  В утилите tsort реализация алгоритма обхода DFS переведена с рекурсивного на итеративный метод работы для предотвращения переполнения стека.

Молодцы, только такие вещи сразу нужно делать. К сожалению, в вузах всё ещё учат делать через стековую рекурсию вместо итеративной вместо того, что бы учить *не* делать.

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

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

99. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (81), 10-Ноя-25, 14:54 
Так GNU утилиты сколько лет существуют, естественно там уже много раз оптимизировано. Странно тоже самое требовать от нового проекта.

P.S. хотя CVE до сих под закрывают в GNU utils, что какбы позорно.

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

110. Скрыто модератором  +1 +/
Сообщение от Аноним (115), 10-Ноя-25, 15:24 
Ответить | Правка | Наверх | Cообщить модератору

116. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  –1 +/
Сообщение от Аноним (79), 10-Ноя-25, 15:43 
А с чего ты взял, что в сишной версии переполнения нет? В сишной версии переполнение есть при поиске цикличных зависимостей (detect_loop). В растовской версии это пофиксили.
Ответить | Правка | К родителю #97 | Наверх | Cообщить модератору

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

153. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (-), 10-Ноя-25, 17:26 
>это непричина генерировать кучу CO2

Это формула угоекислого газа. А у амиака который выходит из анального отверстия не такая химическая формула.

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

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

Очевидно же, что total должен быть 35495 (в GNU всё правильно показывается), а не 37034. К чему в расте сделали виртуальных попугаев, не соответствующих действительности?

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

102. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +1 +/
Сообщение от Аноним (115), 10-Ноя-25, 15:12 
за 25 лет никогда даже не пытался складывать эти циферки, типа а зачем, если при копировании на другую фс эти циферки станут другими, да и если удалять эти и записывать чтото на их место не факт что влезет, потому что разное кол-во файлов... du -h и там примерно можно прикинуть.

> К чему в расте сделали виртуальных попугаев

В убунте как всегда придумали свой велосипед и пытаются всех на него пересадить, в этом плане они с растом фактически нашли друг друга, чинить то что никогда не ломалось, и радостно об этом рапортовать

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

101. Скрыто модератором  +/
Сообщение от выбираем сорта (?), 10-Ноя-25, 15:07 
Ответить | Правка | Наверх | Cообщить модератору

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

Фактически это значит, что в любой момент логика gnu может поменяться, и тесты это не отловят.

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

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

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

142. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Анонимусс (-), 10-Ноя-25, 16:36 
> Из одобренных дистров (RYF) не выкинут.

Ты про писульку клованов из FSF?
Боже мой, да всем нacpaть (с)

Они все равно никак не влияют на рынок, что собственно и видно по списку рекомендованны“ дистров - сплошные васяноподелия вроде Hyperbola, Parabola и прочего от непонятных васянов.


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

113. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  –1 +/
Сообщение от Анонимусс (?), 10-Ноя-25, 15:37 
> У утилитах stdbuf и uptime реализована поддержка платформы OpenBSD.
> Улучшена сборка и тестирование на платформе FreeBSD.

А вот это уже интересно.
На бсд конечно есть свои утилиты, но почему бы не перейти на универсальные для всех плаформ и не пачкать руки об гну.

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

121. Скрыто модератором  –2 +/
Сообщение от Аноним (121), 10-Ноя-25, 15:57 
Ответить | Правка | Наверх | Cообщить модератору

127. Скрыто модератором  +/
Сообщение от Аноним (79), 10-Ноя-25, 16:11 
Ответить | Правка | Наверх | Cообщить модератору

137. Скрыто модератором  –2 +/
Сообщение от Медведь (ok), 10-Ноя-25, 16:29 
Ответить | Правка | Наверх | Cообщить модератору

140. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Медведь (ok), 10-Ноя-25, 16:32 
> GNU tsort обрабатывает 100000 элементов за 56 секунд. Растовский за 2 секунды


$ wc -l ./tsort_input.txt
100000 ./tsort_input.txt
$ time tsort ./tsort_input.txt > /dev/null
real    0m0,107s
user    0m0,101s
sys     0m0,005s

Скрипт генерации файла:


import random

def generate_tsort_file(filename, num_nodes=100000, num_edges=100000):
    """
    Генерирует файл для tsort с num_nodes узлами (1..num_nodes)
    и num_edges рёбрами (зависимостями), где каждая зависимость — это пара (a, b), a < b.
    """
    with open(filename, 'w') as f:
        for _ in range(num_edges):
            a = random.randint(1, num_nodes - 1)
            b = random.randint(a + 1, num_nodes)
            f.write(f"{a} {b}\n")

if __name__ == "__main__":
    random.seed(42)  # для воспроизводимости (удалите или измените seed, если нужно)
    generate_tsort_file("tsort_input.txt", num_nodes=100000, num_edges=100000)
    print("Файл 'tsort_input.txt' успешно создан с 100000 случайными парами (a b, где a < b).")

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

146. Скрыто модератором  +/
Сообщение от Аноним (79), 10-Ноя-25, 16:42 
Ответить | Правка | Наверх | Cообщить модератору

148. Скрыто модератором  +/
Сообщение от Медведь (ok), 10-Ноя-25, 16:51 
Ответить | Правка | Наверх | Cообщить модератору

149. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (149), 10-Ноя-25, 16:59 
```
/home/user: cat tsort_input.sh
#!/usr/bin/env bash
# Generate a long cyclic dependency chain (1 -> 2 -> ... -> N -> 1) to stress tsort's recursion
N=${1:-100000}
# Output edges forming a cycle: 1->2, 2->3, ..., (N-1)->N, then N->1
for i in $(seq 1 $((N-1))); do
    printf "%d %d\n" "$i" "$((i+1))"
done
printf "%d %d\n" "$N" "1"  # close the cycle (N -> 1)

/home/user: bash tsort_input.sh | save -f tsort_input

/home/user: timeit { open tsort_input --raw | /bin/tsort }
/bin/tsort: -: input contains a loop:
[...]
56sec 18ms 880µs 110ns

/home/user: /bin/tsort --version
tsort (GNU coreutils) 8.32
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mark Kettenis.
```

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

151. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (151), 10-Ноя-25, 17:21 
... все это хорошо, наверно; только когда в какой-нибудь sort появится возможность сортировать по заданному пользователем шаблону?... или ждать XXII век?
Ответить | Правка | Наверх | Cообщить модератору

155. Скрыто модератором  +/
Сообщение от Аноним (-), 10-Ноя-25, 17:29 
Ответить | Правка | Наверх | Cообщить модератору

157. "Выпуск Rust Coreutils 0.4. Расхождение поведения утилиты du ..."  +/
Сообщение от Аноним (79), 10-Ноя-25, 17:36 
Ну в общем беш с сопутствующими утилитами - это не 22 век и никогда им не станет. Это безнадёжно устаревший подход к скриптам. Юзайте Nushell - там и язык нормальный с типами и структурами данных, и команды команды для скриптов богатые, и поддержка CLI флагов из коробки и параллельная обработка данных и много чего ещё.
Ответить | Правка | К родителю #151 | Наверх | Cообщить модератору

158. Скрыто модератором  +/
Сообщение от Аноним (158), 10-Ноя-25, 17:43 
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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