Доступна (http://savannah.gnu.org/forum/forum.php?forum_id=9394) стабильная версия набора базовых системных утилит GNU Coreutils 8.31 (http://gnu.org/software/coreutils/), в состав которого входят такие программы, как sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls и т.д.Основные новшества:
- В утилиту "id" добавлена возможность отображения идентификаторов сразу для нескольких пользователей;- В утилиту "date" добавлен флаг '+' для преобразования формата времени в соответствии с POSIX.1-2017;
- В утилитах printf, seq, sleep, tail и timeout появилась возможность указания чисел с плавающей точкой в соответствии с форматом, определённым как текущей локалью, так и локалью "C". Например, теперь можно указывать как 'sleep 0,1', так и 'sleep 0.1';
- В утилиту "test" добавлен унарный оператор '-N FILE', позволяющий определить, что файл существует и был изменён с момента последнего чтения. Прекращена поддержка недокументированного оператора 'test -a FILE' (аналог 'test -e FILE'), который можно было спутать с бинарным оператором "-a" (логическое "and");
- В утилите "env" появилась возможность настройки обработчиков сигналов для запускаемого приложения: '--default-signal[=SIG]', '--ignore-signal[=SIG]', '--block-signal[=SIG], а также добавлена опция '--list-signal-handling' для проверки использования обработчиков сигналов, отличных от применяемых по умолчанию;- Добавлена новая утилита basenc, которая дополнила команды base64 и base32 возможностью кодирования и раскодирования текста в различных типовых кодировках (base64, base64url, base32, base32hex, base16, base2, z85);
- В утилиты "stat" и "tail" (tail -f) добавлена поддержка файловой системы "sdcardfs", используемой в платформе Android. В "stat" также добавлен вывод времени создания файла, если данный атрибут поддерживается в ФС, glibc (2.28+) и ядре Linux (4.11+).
URL: http://savannah.gnu.org/forum/forum.php?forum_id=9394
Новость: https://www.opennet.dev/opennews/art.shtml?num=50293
Например, теперь можно указывать как 'sleep 0,1', так и 'sleep 0.1'ну наконец-то
Извращение какое-то.
Мне вот интересно, а кто правда на серьёзных щщах использует дробные аргументы к sleep? И зачем? Ведь поддержку зачем-то добавили - значит, вероятно, есть и пользователи "фичи"?
Я заинтригован, короче.
> Мне вот интересно, а кто правда на серьёзных щщах использует дробные аргументы к sleep? И зачем?затем, что пауза нужна, но при 40conn/s на целую секунду "заснуть" - получить "массовый инцидент". Минус премия.
А достаточно, чаще всего, и 0.1
> 40conn/s
> /bin/sleepТак, конечно, можно, и даже иногда оправдано, но в целом..
Ну и может я не так тебя понял - не понятно, зачем нужна пауза вообще, например.(я про sleep(1) высказывался, и новость про неё, а не про sleep(3), если что)
> Ну и может я не так тебя понял - не понятно, зачем нужна пауза вообщеслучаи разные бывают, в сложном софте из многих компонент - вроде вот оно и завершило действие (если вообще умеет об этом сообщить) - а по факту где-то что-то еще держит.
Процессоры нынче не те что в 84м году, поэтому секунду ждать незачем - и 0.1-то много.но вот зачем и кому в этом месте сдалась локаль и нельзя ли наоборот в подобных вещах ее удавить намертво - вопрос, увы, безответный.
вот и получаем кодогенератор, в зависимости от локали пихающий в код запятые вместо точек.
Ну т.е. речь о странных костылях. Ок.
На крепко-крепко нагруженной системе fork+exec может выполняться дольше, чем 0.1 секунда)
Пример из жизни.
Переезжает, к примеру, ip-адрес из точки "А" в точку "Б".
Ну вот совсем уже́ собрал вещи и поехал.
В точке "Б" параноик со стажем кидает что-то вроде "arping -D" чтобы убедиться, что из точки "А" жилец таки съехал (потому что всякое бывает). А он возьми да и ответь (ещё не успел убраться). Надо подождать, да? А сколько?
иногда надо запустить какую-то операцию в бесконечном цикле, но при этом, если это делать без паузы, а операция интенсивная, но при этом короткая, то машина загрузится "в полку", что зачастую не требуется (хорошим примером такой операции является простая аналитика системных метрик, выводимая в реальном времени).
И вот в этом случае, если вместо while true; do ... написать while sleep 0.05, то лишнего потребления ресурсов будет минимум, но при этом операция будет выполняться с достаточной интенсивностью (а не раз в секунду).
Имхо, 1 секунда - это достаточно хорошо в 99% случаев. Если хочется по-настоящему не мешать никому, стоит подумать о лимитировании и гарантировании ресурсов и о прочих nice. Или можно ещё вставлять sleep внутри самой программы, которую запускают в бесконечном цикле - гранулярность повысится, планировщик сможет эффективнее распределять процессорное время между процессами.
"sleep 0.1" можно было использовать давно, новость в том что теперь можно писать "sleep 0,1"
> "sleep 0.1" можно было использовать давно, новость в том что теперь можно писать "sleep 0,1"Да, я в курсе. Но в начале ветки я спросил именно про дробные аргументы и их востребованность, а не про изменения из новости.
Да ладно, теперь можно указать 1.5m не пытаясь в уме умножить 60 на 3/2. Я ненавижу арифметику с начальной школы, а сегодня я ещё и не понимаю, почему я ею должен заниматься, сидя перед компьютером.
Мне стоило уточнить, что я про доли секунды, да. 1.5m выглядит как что-то однозначно полезное.
мне вот интересно, скоро ли они повторят древний-древний баг с генерацией "postscript" документов с запятыми вместо точек (совершенно неполиткорректный и ни разу не locale'зированный принтер, почему-то, такое не печатал)явно в незамутненных сознаниях к этому все и идет.
Numbers
...
A real number consists of an optional sign and one or more decimal digits, with
an embedded period (decimal point), a trailing exponent, or both. The exponent,
if present, consists of the letter E or e followed by an optional sign and one or
more decimal digits. The number is interpreted as a real number and is converted
to a real (floating-point) object. If it exceeds the implementation limit for real
numbers, a limitcheck error occurs.(PostScript LANGUAGE REFERENCE).
Смотря что там внутри было, вообще-то.
> Смотря что там внутри было, вообще-то.это какой-нибудь 97й, я уже не вспомню деталей - самое начало нашествия локализаций и интернационализаций. Тогда поржали и разошлись, поскольку не посчитали серьезной проблемой. А теперь вот оно - "как в винде!". Где даже csv не csv.
> В утилиты "stat" и "tail" (tail -f) добавлена поддержка файловой системы "sdcardfs", используемой в платформе Android.Разве tail не должно быть фиолетово, какая ФС ? Интересно, зачем эти костыли. Хотя может из гулага кто-то свою NIH-поделку вмержил.
Интересно -- почитайте код.
> Разве tail не должно быть фиолетово, какая ФС ?ну, если ты хочешь, чтобы он работал по методу "прочитать весь трехтерабайтный файл, выбросить содержимое, напечатать последние строчки" - то фиолетово.
А если нет, начинаются проблемы и код перестает быть тривиальным.особенно если вспомнить, что он вообще-то - gnu, а не "ваш новый стандарт", поэтому надеяться, например, на работающий inotify можно только в крайнем случае.
Написано же что речь о флаге -f. С ним tail выводит файл по мере его аппендинга, нужен inotify
Простите, был невнимателен.
> В утилиту "id" добавлена возможность отображения идентификаторов сразу для нескольких пользователей;Эпохальное нововведение, чо. Я так понимаю, тривиальные шеловые скрипты - это уже не модно?
Что-то в сферически свободно-открытом сделали удобнее. Мелочь, но приятно. Олдфаг-старпёр ожидаемо: "фууу..."
Это не "фу", а "почему только щяс???7"
>> Это не "фу", а "почему только щяс???7""Джва года ждали!" :=)
Это не фу, это недоумение. Я не понимаю, какую проблему (не решённую тривиально ранее) это решает?
Вроде бы и ничего плохого, но и хорошего (полезного) тоже ничего.
Видимость прогресса - это кажется так называется.
> какую проблему (не решённую тривиально ранее) это решает?проблему, нет, удобство
> Вроде бы и ничего плохого, но и хорошего (полезного) тоже ничего.
Зря, это оптимизация кода, раньше в цикле разбора нужен был флаг, что имя юзера указанно, раньше нужна была обработка ошибки лишних параметров, теперь нет. Код стал проще, памяти жрет меньше, функционал лучше, чем не прогресс
>> какую проблему (не решённую тривиально ранее) это решает?
> проблему, нет, удобствоЭто можно было сделать тривиальной функцией в .yourshittyshellrc.
> Зря, это оптимизация кода
> Код стал проще, памяти жрет меньше, функционал лучшеЭто оптимизация того, что никогда не тормозило. А следовательно - бесполезное излишество.
> чем не прогресс
Тем, что практической пользы никакой. Сделали то, что и так у всех прекрасно работало. Кто-то очень захотел, чтобы его коммит остался в логах coreutils, не иначе. Это изменение ради изменения, в нём нет вообще никакой нужды.
это называется вылизывание кода, почему так не сделали сразу не понятно, но это тривиальнейший алгоритм.> Кто-то очень захотел, чтобы его коммит остался в логах coreutils
Кто-то не поленился и сделал красиво
> Это оптимизация того, что никогда не тормозило. А следовательно - бесполезное излишество.
очевидно, когдингом вы никогда не занимались.
Когда первые "рыбы" выползли на сушу, их сородичи, наверняка, тоже "думали", что ползти мягким брюхом по острым камням, это полный бред и ненужно, и теперь, когда, потомки тех "сумасшедших" возглавили пищевую пирамиду, вопрос кто прав, очевидно, не стоит.
> это называется вылизывание кода, почему так не сделали сразу не понятно, но это тривиальнейший алгоритм.Не буду писать, как это называется, а то меня опять потрут. Но то, что это не сделали сразу, хотя это тривиально - главный аргумент в пользу того, что это не нужно.
> Кто-то не поленился и сделал красиво
Да не красиво, а избыточно. Кусок шела, запускаемый 1/1000 раз (как часто вы делаете id для пачки юзеров?) переехал в код id.
> очевидно, когдингом вы никогда не занимались.
Очевидно занимался. И вынес из этого для себя ценное, но чрезвычайно непопулярное в наше время знание: программы бывают законченными. Когда-то можно или нужно остановиться. А не имитировать прогресс, впихивая в код все фичи, которые только придумать получится.
С твоей логикой, неплохо бы id и опечатки в именах юзеров исправлять научится, а что, удобно же! А по мне - это ад и изнасилование простоты и unixway.
> как часто вы делаете id для пачки юзеровВообще никогда не пользовался, тузлой
> Но то, что это не сделали сразу
Раньше парадигма программирования была другая
> не красиво, а избыточно
у Михалкова есть фильм "12", стыренный подкопирку у америкосов, но стыренный хорошо, и там есть момент, где они уже много часов сидят в комнате обсуждают одно и тоже и все уже готовы согласится с чем угодно, лишь бы это закончилось, и соглашаются, но герой михалкова произносит спич о водопроводной трубе, которая совершенно по уродски идет под потолком не прикрытая, грязная, но никому не мешает и поэтому всем по...й,... - очень рекомендую посмотреть, вот это оно и есть, комуто и так сойдет, а комуто хочется большего, упрекать людей, что им хочется ферари, хотя запорожец тоже едет, ну это бред, и именно потому, что ферари вылизан, и каждый изгиб обсосан и каждый болт.
> А по мне - это ад и изнасилование простоты и unixway.
А вот, как раз наоборот, все тузлы - cat, awk, и тд работают так, и это и есть упрощение и приведение к общему знаменателю, в больших проектах есть патчи, которые просто отступы выравнивают, ну глупо прикручивать крышку корпуса на 3 болта и четвертый угол забивать гвоздем, это вызывает когнитивный диссонанс у перфекционистов, каждый кодер должен быть перфекционистом в отношении кода, иначе он говнокодер, третьего не дано.
> unixway
Книгу Линуса читали, там как раз говорится как приходилось изворачиваться в ядре чтобы обеспечить внешнюю простоту для программистов юзерспейса.
> программы бывают законченными
Спорный вопрос, если допустить, что ОС будет видоизменяться, через 30 лет для такой "законченной" программы придется поддерживать несколько протухших подсистем ядра.
>> как часто вы делаете id для пачки юзеров
> Вообще никогда не пользовался, тузлойЭто многое объясняет :)
>> Но то, что это не сделали сразу
> Раньше парадигма программирования была другаяКакая? Какая была, какая сейчас?
>[оверквотинг удален]
> у Михалкова есть фильм "12", стыренный подкопирку у америкосов, но стыренный хорошо,
> и там есть момент, где они уже много часов сидят в
> комнате обсуждают одно и тоже и все уже готовы согласится с
> чем угодно, лишь бы это закончилось, и соглашаются, но герой михалкова
> произносит спич о водопроводной трубе, которая совершенно по уродски идет под
> потолком не прикрытая, грязная, но никому не мешает и поэтому всем
> по...й,... - очень рекомендую посмотреть, вот это оно и есть, комуто
> и так сойдет, а комуто хочется большего, упрекать людей, что им
> хочется ферари, хотя запорожец тоже едет, ну это бред, и именно
> потому, что ферари вылизан, и каждый изгиб обсосан и каждый болт.Я тоже умею в аналогии! Id с новым функционалом - это как ферари, в котором в каждое сиденье интегрирован туалет со сбросом на дорогу результатов. Хотя казалось бы и раньше можно было гадить на дорогу, например, через окно. Стало лишь немного удобнее. И пользу ощутят лишь единицы-гурманы, которым правда нужен такой функционал, все остальные ничего не заметят, ибо справляют нужду в туалете или хотя бы в кустах.
Ну как тебе моя аналогия?
>> А по мне - это ад и изнасилование простоты и unixway.
> А вот, как раз наоборот, все тузлы - cat, awk, и тд
> работают так, и это и есть упрощение и приведение к общему
> знаменателю, в больших проектах есть патчи, которые просто отступы выравнивают, ну
> глупо прикручивать крышку корпуса на 3 болта и четвертый угол забивать
> гвоздем, это вызывает когнитивный диссонанс у перфекционистов, каждый кодер должен быть
> перфекционистом в отношении кода, иначе он говнокодер, третьего не дано.ЯННП.
>> unixway
> Книгу Линуса читали, там как раз говорится как приходилось изворачиваться в ядре
> чтобы обеспечить внешнюю простоту для программистов юзерспейса.1) нет 2) ну и что? изворачивались и?
>> программы бывают законченными
> Спорный вопрос, если допустить, что ОС будет видоизменяться, через 30 лет для
> такой "законченной" программы придется поддерживать несколько протухших подсистем ядра.Я не пишу, что все программы должны заканчивать своё развитие. Я пишу, что бывают программы, которые закончены. Максимум - фиксить уязвимости и баги, если они ещё остались и всё. id - пример того, что не понятно зачем было трогать. Хотя, что уж точно, это изменение явно не стоит той драммы, которую мы тут развели. Сделали - и ... с ними.
> И пользу ощутят лишь единицы-гурманы, которым правда нужен такой функционал, все остальные ничего не заметят, ибо справляют нужду в туалете или хотя бы в кустах.Вы это расскажите тем, кто ходит через жд за пределами санитарных зон, в европе почемуто заморочились и оборудовали 100% составов сортирами со сборниками, а не дырой на пути как у нас.
> ну и что? изворачивались и?
Вот именно поэтому все хотят свалить из рашки, туда, где люди заморачиваются и делают мельчайшие улучшения..(А вас все устраивает?)
> id - пример того
Что нет ничего постоянного, что нет предела совершенству, что путин призиденд мира..
--сами выбирайте> Хотя, что уж точно, это изменение явно не стоит
Совершенно согласен, но если уж ученые число пи вычисляют все с большей точность, а инженеры строгают шары круглее и круглее, то чем программисты хуже, следующим шагом я бы реализовал работу программы без выделения памяти в процессе работы, и нормализации таймингов возврата ошибок и результатов, конечно по приоритетам после чесания яиц, такие вещи просто преступно делать с чемто чешущимся.
> Вы это расскажите тем, кто ходит через жд за пределами санитарных зон,
> в европе почемуто заморочились и оборудовали 100% составов сортирами со сборниками,
> а не дырой на пути как у нас.А вы это вообще к чему? Перешли от аналогии к реальному миру? По теме сказать нечего?
С ума сойти, куда может завести обсуждение минорной функции id.>> ну и что? изворачивались и?
> Вот именно поэтому все хотят свалить из рашки, туда, где люди заморачиваются
> и делают мельчайшие улучшения..(А вас все устраивает?)К чему это всё? Пытаешься скатить обсуждение в политоту? Не выйдет. На твои набросы отвечать не буду.
>> id - пример того
> Что нет ничего постоянного, что нет предела совершенству, что путин призиденд мира..
> --сами выбирайтеЯ всё уже написал выше, добавить нечего. Кроме того, что в обсуждении id уже появился путин. На очереди, вероятно, обама, который баги в код сажает, ага.
>> Хотя, что уж точно, это изменение явно не стоит
> Совершенно согласен, но если уж ученые число пи вычисляют все с большей
> точность, а инженеры строгают шары круглее и круглее, то чем программисты
> хуже, следующим шагом я бы реализовал работу программы без выделения памяти
> в процессе работы, и нормализации таймингов возврата ошибок и результатов, конечно
> по приоритетам после чесания яиц, такие вещи просто преступно делать с
> чемто чешущимся....
> А вы это вообще к чему? Перешли от аналогии к реальному миру? По теме сказать нечего?Это тоже аналогия, уже которая по счету на тему, быть или не быть
> уже появился утин
Да ладно, впереди еще рептилоиды и жидомасонский заговор, че ты начиначинаешь.
> На твои набросы отвечать не буду.
Да ради бога, разговор-то ниачем
> Это оптимизация того, что никогда не тормозило. А следовательно - бесполезное излишество.Так а вам о того чем плохо? Это опенсорс, тут человекочасы и бабки компании не тратятся, кто-то просто захотел сделать покрасивее, поидеальнее - ну и супер. До того - кто-то не захотел, а тут - захотел. Вам это бесполезное излишество? Ну так вы же за него не доплатили X долларов YZ центов (только сегодня скидка в 20%!), вам его просто так дали. Пользуйтесь себе. Это и есть СВОБОДНЫЙ СОФТ и его преимущества в хорошем смысле этого слова. Вот если бы хуже сделали, тормозить начало - тогда недовольство понятно. А так вы просто бухтите по поводу того, что кто-то потратил свое собственное время так, как будто он это время у вас украл и вас заставил делать это "бесполезное".
> А так вы просто бухтите по поводу того, что кто-то потратил свое собственное времяА что, нельзя? Если кто-то что-то делает забесплатно, я что, должен только за это ему в ноги кланяться? Если я считаю, что изменения бессмысленны, я буду, при нужде, говорить об этом, стоимость труда автора мне не интересна в любом случае, не о ней вообще речь.
Не то, чтобы прямо в ноги - но элементарное чувство благодарности не помешает.>я буду, при нужде, говорить об этом
Какой такой нужде? Нужда - это когда изменения вам что-то поломали. Не поломали - иди мимо.
> Не то, чтобы прямо в ноги - но элементарное чувство благодарности не помешает.Но и не поможет. Это демагогия.
Я сделал утверждение об отсутствии полезности, мне в ответ не доказывают полезность, а апеллируют к этике и прочей не формализуемой *йне. Куда катится мир?>>я буду, при нужде, говорить об этом
> Какой такой нужде? Нужда - это когда изменения вам что-то поломали.Объясняю: нужда, в данном контексте, это когда я хочу высказаться или когда имею причины высказываться вне зависимости от моего желания. В данном случае, речь о первом варианте.
> Не поломали - иди мимо.
Без тебя разберусь. Так понятнее, что я имел ввиду?
>имею причины высказываться вне зависимости от моего желанияТ.е. - словесный понос, что и требовалось доказать.
>>имею причины высказываться вне зависимости от моего желания
> Т.е. - словесный понос, что и требовалось доказать.Ты уймёшься уже или нет? И научись, кстати, читать, я вполне явно написал, что в данном случае причина иная.
> причина инаяЭто тебе так кажется.
Ой всё.
Мелкое удобство. В каких-то утилитах улучшений больше, в каких-то меньше. В чём проблема? И, кстати, насчёт "видимости прогресса" - новомодные патчи/релизы "каждый день" с наворачиванием мегафич здесь просто не нужны. Coreutils есть, они just работают, им не нужно куда-то особенно прогрессировать. И это очень хорошо.
> новомодные патчи/релизы "каждый день" с наворачиванием мегафич здесь просто не нужныИстинно так! Вот бы и не пилили не пойми что не пойми зачем.
Хотя я конкретно в этих изменениях и трагедии не вижу, повторюсь.
Я понял... Дяденька, вы просто тупы, вам бесполезно объяснять, что ваши претензии глупы и нафиг никому не упали.
> Я понял... Дяденька, вы просто тупы, вам бесполезно объяснять, что ваши претензии
> глупы и нафиг никому не упали.Только заметил сей глубокомысленный ответ. Был бы умным - промолчал бы, но т.к. я тупой...