| |
| |
| 3.8, Аноним (8), 11:21, 10/11/2025 [^] [^^] [^^^] [ответить]
| +5 +/– | |
> показывает размеры каждого каталога с вычетом вложенных каталогов, из-за чего их размер получается меньше фактического
Учитывая, что ещё и работает неправильно.
| | |
| |
| |
| |
| 6.46, Аноним (46), 12:40, 10/11/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Ты чем читал?
> В uutils: total # больше фактического
GNU Utils
>> 33955 /var # меньше фактического
[CODE]
-s, --summarize
display only a total for each argument
-c, --total
produce a grand total
[/CODE]
Ну и бсдшный du :
[CODE]
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
[/CODE]
а так - все хорошо, прекрасная маркиза!
| | |
| |
| 7.80, Аноним (8), 14:03, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– | |
Ты это хотел увидеть?
> соответствует сумме
НЕ соответствует. Раст: 1540 + 35495 = 37035 != 37033
| | |
|
|
|
|
|
|
| 1.2, Аноним (2), 11:07, 10/11/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– | |
>Дополнительно можно отметить расхождение в поведении утилиты "du" из наборов uutils и GNU Coreutils, всплывшее после перехода Ubuntu 25.10 на uutils. Разработчики ещё не решили трактовать ли данное расхождение как ошибку, так как с одной стороны в поведении uutils есть логика и тестовый набор GNU Coreutils не выявляет проблем
Проблема в том, что переписанные тесты переписаны также качественно, как и все остальное. Почему язык, который должен был облегчить программирование только усложнил его?
| | |
| |
| 2.5, Аноним (3), 11:10, 10/11/2025 [^] [^^] [^^^] [ответить]
| +5 +/– |
Не совсем понятно как это чудовище вообще могло что-то облегчить
| | |
| |
| 3.66, ZloySergant (ok), 13:38, 10/11/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
>Не совсем понятно как это чудовище вообще могло что-то облегчить
Раст-то? Пыталось мой желудок, когда я синтаксис увидел.
| | |
|
| 2.27, User (??), 11:44, 10/11/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Э! Тесты же ж от пакета GNU Coreutil используются - никто их вроде бы на rust переписывать не собирался. Вот что по ходу могут правочки появиться - это да - но на стороне _тестов_ (Читай - GNU) а не уот тут уот.
| | |
| |
| 3.33, Аноним (2), 11:51, 10/11/2025 [^] [^^] [^^^] [ответить]
| +5 +/– |
Мне казалось, что шутки про весь мир неподходящий для Rust всего лишь шутки...
| | |
| |
| 4.36, User (??), 12:08, 10/11/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
Новость-не-читай-комментарий-оставляй? Тест - GNU'тый - ПРОХОДИТСЯ.
| | |
| |
| |
| 6.69, Аноним (46), 13:45, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Тесты проходят, а программа правильно не работает. Чудеса.
Ну-ну.
[CODE]
# гну
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
[/CODE]
| | |
| 6.81, Аноним (81), 14:03, 10/11/2025 [^] [^^] [^^^] [ответить]
| –3 +/– |
Ну так все вопросы к сишникам, что такие кривые тесты написали.
| | |
| |
| 7.87, Медведь (ok), 14:27, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Ну так все вопросы к сишникам, что такие кривые тесты написали
Плохому ржавуну всегда сишники мешают, ага... Так напишите свои тесты, правильные. Только что-то мне подсказывает, что ржа и тут облажается.
| | |
| 7.91, Аноним (8), 14:34, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– |
Опять сишники в штаны Расту ... Надо же было умудриться, что у раста total не соответствует ни фактически занимаемому месту, ни сумме элементов из-за округлений при целочисленном сложении.
| | |
|
|
|
|
| |
| 4.94, Аноним (8), 14:36, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– | |
Где-то тут:
В uutils: ... total # больше фактического
причём НЕ соответствует сумме. Растманы объясняют ошибку целочисленного сложения "округлением".
| | |
|
| 3.62, Аноним (62), 13:23, 10/11/2025 [^] [^^] [^^^] [ответить]
| +1 +/– | |
Много раз здесь повторяли. Это просто тесты. Это не тесты на совместимость. Их никто так не писал.
Поэтому упоминание этих тестов в новостях, без оговаривания данного факта, является обманом.
| | |
|
|
| 1.4, Мурзин (?), 11:09, 10/11/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Я правильно понимаю, что Столман и компания не правильно считали байты? И им показали как нужно.
| | |
| |
| 2.7, Stanislavvv (ok), 11:16, 10/11/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Скорее, это совместимость с чем-то более ранним.
Факт в том, что uutils ломают совместимость между системами. Даже если это на самом деле баг, на это может быть что-то завязано.
| | |
| |
| 3.65, bdrbt (ok), 13:32, 10/11/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Они ничего не ломают, они изначально не заявляли 100% совместимость, но благодаря убуинам которые потащили их в прод не провери, все вопят о "сломанности".
| | |
| |
| 4.68, Аноним (62), 13:41, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– |
Вообще то заявлено целью. Не сломано - да. Но, как обычно, не дописано.
| | |
| 4.72, User (??), 13:48, 10/11/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Они ничего не ломают, они изначально не заявляли 100% совместимость, но благодаря
> убуинам которые потащили их в прод не провери, все вопят о
> "сломанности".
Вообще-то - 100% совместимость с GNU Coreutils там на github'е в project goals заявлена.
| | |
| 4.75, Аноним (2), 13:51, 10/11/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Заявлена полная совместимость, а любая несовместимость считается ошибкой.
| | |
|
|
| 2.10, freehck (ok), 11:22, 10/11/2025 [^] [^^] [^^^] [ответить]
| +5 +/– |
> Я правильно понимаю, что Столман и компания не правильно считали байты? И им показали как нужно.
Ну вообще-то, если строго посмотреть на цифры, то в GNU Coreutils подсчёт как раз верен: если сначала считается подкаталог, а потом топ-каталог, то в топ-каталоге не учитываются файлы, уже подсчитанные в подкаталоге. А если сначала считается топ-каталог, то подкаталоги уже не считаются.
Честно говоря, я об этом не знал. Но если хорошенько подумать, это вполне логично. А вот то, что uutils выводит неверный total -- это неудобно совсем и 100% является ошибкой.
upd: выяснил, что это поведение -- часть стандарта POSIX. См #40
| | |
| 2.13, Аноним (8), 11:28, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– | |
> Я правильно понимаю
Нет. Раст не умеет считать: "total # больше фактического"
| | |
| |
| 3.42, Аноним (46), 12:29, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– |
>> Я правильно понимаю
> Нет. Раст не умеет считать: "total # больше фактического"
А /var # меньше фактического
этодругоепониматьнадо?
| | |
| |
| 4.45, Аноним (8), 12:37, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– |
Раст, в uutils: 1540 + 35495 = 37035 != 37033!
Это как?! Даже сложение на расте неправильное.
| | |
| |
| 5.50, Аноним (46), 12:48, 10/11/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Раст, в 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
--
| | |
| |
| 6.76, Аноним (8), 13:52, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– |
О, не знал, что раст даже целочисленные количества складывать не умеет, но растманы заявляют, что "соответствует сумме", хотя не соответствует по факту. Вы уж определитесь сначала.
| | |
|
|
| 4.73, Аноним (8), 13:50, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– | |
> A file that occurs multiple times shall be counted and written for only one entry
Но раст не знает, что такое стандарты.
| | |
|
|
| 2.74, Мурзин (?), 13:50, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– |
Спасибо всем, кто растолковал, кто не прав Столман или Растобои. А я подумал, что ну вот, наконец, получили все профит. Ан, нет. Ну и нарушать стандарты, это конечно не правильно. Эх, ну как здесь не сказать, читайте матчасть...
| | |
|
| 1.9, Шарп (ok), 11:21, 10/11/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
>для предотвращения переполнения стека
>В утилите mkdir устранено переполнение стека
Я правильно понял, что если в случае сишки бичом являлся выход за пределы массива, то растеры рвут стек, потому что создают огромные объекты на нём и лепят рекурсию куда не попадя?
Рекламные буклеты про безопасность начали разваливаться, как только пошло реальное использование.
| | |
| |
| |
| |
| 4.57, Жироватт (ok), 13:07, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– |
Валг.
Ну не верю я, что уже года два как однотипные, буквально тасуемые на уровне фраз и предложений посты пишут реальные живые люди, а не мясные/программные боты с весами или методичкой.
| | |
|
|
| 2.15, Аноним (8), 11:31, 10/11/2025 [^] [^^] [^^^] [ответить]
| +2 +/– | |
> переполнение стека
Это шедевр раста! Умудриться завалить стёк на 64-битной платформе при создании каталогов...
| | |
| 2.17, Аноним (2), 11:36, 10/11/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Программировать на Rust нормально не получается, приходится клонировать все объекты.
| | |
| |
| 3.19, Аноним (8), 11:38, 10/11/2025 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> приходится клонировать все объекты.
Дак вот почему они не смогли браузер переписать, и за что их выгнали из Мозилы.
| | |
|
| |
| |
| 4.32, 12yoexpert (ok), 11:50, 10/11/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
ну, с учётом того, что на расте пишут исключительно и только веб-синьоры, - да
| | |
| |
| 5.55, Аноним (81), 13:02, 10/11/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Они плохие прораммисты, потому что код без CVE получается? Ясно-понятно...
| | |
| |
| |
| 7.83, Аноним (81), 14:07, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ссылки будут, и как обычно сишник вызвал переполенение в комментариях?
| | |
|
|
|
|
| 3.63, iPony128052 (?), 13:25, 10/11/2025 [^] [^^] [^^^] [ответить]
| +1 +/– | |
> Из-за простоты Rust
Больше Hello World на нём написал?
Я при написании небольшого проекта на Rust после многолетнего опыта на C++ не заметил чего-то простого (относительно).
| | |
|
|
| 1.12, Vadim (??), 11:27, 10/11/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
‘-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.
вот очень похоже на (неявное) использование этого параметра
| | |
| 1.18, Аноним (8), 11:36, 10/11/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– | |
> total # больше фактического
Да... Раст ещё и в арифметике не силён. Ожидаешь "disk usage" - а там ошибка.
| | |
| |
| 2.58, Аноним (81), 13:10, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– | |
> GNU Coreutils показывает в итоговой строке фактический размер, который указанные каталоги занимают на диске, но в раздельном списке показывает размеры каждого каталога с вычетом вложенных каталогов, из-за чего их размер получается меньше фактического. Кроме того, значения, выводимые в GNU Coreutils и Busybox, меняются в зависимости от порядка указания каталогов.
Точно именно у раста в арифметике проблема? Текст новости не читаем?
| | |
| |
| 3.77, Аноним (8), 13:55, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– | |
> 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 # больше фактического, и НЕ соответствует сумме.
| | |
| |
| 4.84, Аноним (81), 14:09, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– | |
Тем временем GNU:
> размер получается меньше фактического
Ну ясно-понятно...
| | |
| |
| 5.95, Аноним (8), 14:38, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– | |
> A file that occurs multiple times shall be counted and written for only one entry | | |
|
|
|
|
| 1.21, freehck (ok), 11:39, 10/11/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
> Разработчики ещё не решили трактовать ли данное расхождение как ошибку, так как с одной стороны в поведении uutils есть логика и тестовый набор GNU Coreutils не выявляет проблем, но с другой стороны несовместимости с GNU Coreutils предписано обрабатывать как ошибки и поведение Busybox соответствует GNU Coreutils.
Ну понятное дело, что они "ещё думают". Они ведь радостно рапортуют о том, что "обеспечили совместимость на более, чем 80%". А тут происходит столкновение с реальностью, и выясняется, что удовлетворить оригинальному тестовому набору -- это не то же самое, что и обеспечить 100%-ю совместимость с исходным продуктом.
| | |
| |
| 2.31, User (??), 11:49, 10/11/2025 [^] [^^] [^^^] [ответить]
| +1 +/– | |
Ну в общем определенная логика даже есть. Как проводится сертификация на соответствие требованиям? Ну вот прогоняется тест сьют - все зеленое - на бамажка "соответствует". Ах, тест не все покрывает? Все равно, "соответствует" - вот внесете изменение в тесты, будет несоответствовать - исправим, а пока так.
Логика конечно кривая и гниловатая - но определенно, есть.
| | |
| |
| 3.52, freehck (ok), 12:56, 10/11/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Гниловатая или нет, но с учётом того, что как выяснилось, это поведение -- часть стандарта POSIX (см #40), судя по всему править баг им таки придётся.
| | |
|
|
| 1.23, Аноним (29), 11:40, 10/11/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Растаманы опять не смогли нормально переписать. На этот раз du - блин, просто возьмите и перепишите чтоб не было расхождения в поведении, для этого же язык и создавался.
| | |
| |
| 2.85, Аноним (81), 14:10, 10/11/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Увы, но на раст принципиально невозможно перенести все UB/CVE сишного кода, если только unsafe обмазаться ради совместимости с кривым GNU поделием...
| | |
| |
| 3.90, Аноним (29), 14:32, 10/11/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ты что-то как-то очень толсто троллишь. Ты реально думаешь, что отличия в поведении du из-за того что в coreutils UB/CVE? Ну ведь вовсе нет, как бы ты ни пытался отмазать этих вебприматов - они просто не смогли переписать.
| | |
|
|
| 1.28, 12yoexpert (ok), 11:47, 10/11/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
сколько лет они уже это переписывают и всё никак не перепишут?
есть же готовый код перед глазами, что сложного?
| | |
| |
| 2.59, name_not_found (??), 13:13, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– |
В код смотреть нельзя - нарушение gpl. А uutils на gpl переводить нельзя, иначе потом ЕЕЕшить будет дорого.
| | |
| |
| 3.67, Аноним (2), 13:39, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– |
Разве переписанные программы на другой язык подпадают под действие лицензии GPL?
| | |
|
|
| 1.38, Аноним (-), 12:11, 10/11/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– | |
> Заявлен уровень совместимости 85.80% (было 83.91%).
Немножечко беременна. Теперь у вас будет валиться 15 задач из сотни. Подумаешь мелочи какие. Чочо, почти 90 тестов не работают? Notabug, релизить надо - фонд отчеты KPI ждет, а то вообще грантов за безопасное переписывание не насыпят.
| | |
| 1.43, Аноним (8), 12:31, 10/11/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
1540 /var/log
35495 /var
37033 total # больше фактического, но соответствует сумме /var и /var/log
Не соответствует! 1540 + 35495 = 37035, а не 37033!
| | |
| 1.78, Медведь (ok), 13:57, 10/11/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Насколько я помню, в целях проекта заявлено, что любое отличие от оригинала есть баг. Ржавуны, как же так, вы не можете даже переписать логику утилит 1:1?
| | |
| 1.79, Аноним (79), 14:00, 10/11/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– | |
> В утилите tsort реализация алгоритма обхода DFS переведена с рекурсивного на итеративный метод работы для предотвращения переполнения стека.
Молодцы, только такие вещи сразу нужно делать. К сожалению, в вузах всё ещё учат делать через стековую рекурсию вместо итеративной вместо того, что бы учить *не* делать.
| | |
| |
| 2.97, Аноним (8), 14:41, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– |
В си почему-то не было переполнения стёка, а в расте - переполнение... Программисты на расте как-то по особенному пишут - намного кривее, чем на си?
| | |
| |
| 3.99, Аноним (81), 14:54, 10/11/2025 [^] [^^] [^^^] [ответить]
| +/– | |
Так GNU утилиты сколько лет существуют, естественно там уже много раз оптимизировано. Странно тоже самое требовать от нового проекта.
P.S. хотя CVE до сих под закрывают в GNU utils, что какбы позорно.
| | |
|
|
| 1.98, Аноним (8), 14:44, 10/11/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
В uutils:
35495 /var
37034 total # больше фактического
Очевидно же, что total должен быть 35495 (в GNU всё правильно показывается), а не 37034. К чему в расте сделали виртуальных попугаев, не соответствующих действительности?
| | |
|