LINUX.ORG.RU

Coreutils 8.26

 ,


1

3

Состоялся релиз GNU Coreutils 8.26 — базового набора утилит для работы с файлами, командной оболочкой и текстом.

Основные улучшения:

  • Добавлена утилита b2sum, реализующая алгоритм BLAKE2 для нахождения и проверки контрольной суммы файла.
  • В программу date добавлена поддержка формата %q для вывода квартала года.
  • В программу comm добавлена опция --total для вывода сводки в конце.
  • Исправлено множество ошибок.

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Последнее исправление: sudopacman (всего исправлений: 4)

Ответ на: комментарий от saahriktu

Архитектурная простота - это простота для машины, а не для человека. Для человека это, как правило, сложнее. И многие предпочитают попроще - пути дополнительных прослоек (иксы, systemd, pulseaudio,.. ) и комбайнов «всё в одном».

Для человека я бы тут разделил «простоту использования» и «простоту понимания». Дополнительные прослойки проще использовать, пока доволен их поведением по умолчанию. Но если хочется их поведение изменить, то приходится все эти прослойки изучать. Вот тут уже архитектурно простая система рулит. А прослойки выкидываются в помойку.

В этом смысле архитектурная простота — она и для человека тоже.

anonymous
()
Ответ на: комментарий от saahriktu

то есть, это конпеляние ради конпеляния?

и повторяю вопрос: нахрена тебе понадобилось отключать это?

Deleted
()
Ответ на: комментарий от saahriktu

Повторяю, есть и source-based дистрибутивы.

И в них тоже быстрее и проще добавить одну строку в один файл, чем приложить патч и пересобрать.

А есть также люди, у которых есть такое хобби как собирание пакетов/пересобирание пакетов со своими опциями в бинарных дистрибутивах.

Говорю как пользователь бинарных дистрибутивов: у нас иногда возникает потребность перебрать тот или дистрибутивный пакет с отличными от дистрибутивных --with или --enable. Да не просто перебрать, а каждую новую версию пакета, с выкладыванием результата в локальный репозиторий и последующей раздачей на несколько машин. И в ситуациях, когда пересборка — не блажь, а необходимость, никому и в голову не придет перебирать то, что можно исправить одной строкой в одном конфиге.

Вывод: твой патч — абсолютно не к месту где бы то ни было, разве что как хобби.

И это все не говоря уже о том, что в данном конкретном случае исправление — сугубо косметическое.

dexpl ★★★★★
()
Последнее исправление: dexpl (всего исправлений: 1)
Ответ на: комментарий от Radjah

Еще бы basename научили stdin читать, а не только параметры.

Для чего? find /foobar -exec basename -a '{}' + хватит всем.

dexpl ★★★★★
()
Ответ на: комментарий от intervent

Это свойство оболочки PowerShell. Портируй PowerShell или напиши функциональный аналог и парси объекты. Кто ж тебе не даёт-то?

anonymous
()
Ответ на: комментарий от makoven

приходится заниматься бессмысленным, склонным к ошибкам парсингом

Пример в студию. За всю жизнь не разу не сталкивался со сложным парсингом.

Ключик -json

И к procfs с sys прикрутить -json, и компилировать с этим флагом ядро.

Не, это не то, как нужно делать вещи. Если тебе нужен конвертов в ясон, напиши себе awk скрипт.

Freyr69 ★★★
()
Ответ на: комментарий от Deleted

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

Я вот хоть и пишу кроссплатформенные программы (java), но четко следую этим принципам. Они уже в крови и меня тошнить начинает когда вижу код, не следующий им (ибо неподдерживаемое вырвиглазное говно получается). Любой нормальный программист, который об этих вещах прочитал в детстве, пишет стабильный, читаемый, расширяемый код.

Ядро линукс, кстати, эталон такого подхода.

unt1tled ★★★★
()
Ответ на: комментарий от saahriktu

Правило модульности: Пишите простые части, соединяемые понятными интерфейсами.

Вот тут, кстати, не очень ясно: понятными кому? Машине или человеку? Концепция высирать plain/text и тут же его парсить десятком велосипедов как-то выбивается из моего представления о прекрасном.

mix_mix ★★★★★
()
Ответ на: комментарий от Oberstserj

Принципиально ничего не хочу знать о быдле.

каг ты жывежь, ничаво не зная о сибе

anonymous
()
Ответ на: комментарий от unt1tled

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

Ну-ну.

Ядро линукс, кстати, эталон такого подхода.

Спасибо, поржал. Ядро монолитное, кстати. Большая, огромная штука, которая делает миллион вещей. Очень в духе юниксвея.

Deleted
()
Ответ на: комментарий от saahriktu

Юзерам бинарных дистрибутивов, которые не собираются ничего патчить в пакетах, ничего другого кроме как редактировать .bashrc и не остаётся.

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

mix_mix ★★★★★
()
Ответ на: комментарий от saahriktu

Потому, что для тех, кто не разделяет эти идеи, юниксы не представляют никакой ценности.

В любом случае, работают с ПО, а не с ОС. Соответственно ценность представляет именно ПО.

Им всё равно где работать. А при таком подходе другие ОС, как правило, удобнее.

И как из этого следует невозможность юзать юниксы? =).

Sectoid ★★★★★
()
Ответ на: комментарий от anonymous

или напиши функциональный аналог и парси объекты

Так есть уже, Emacs называется.

mix_mix ★★★★★
()
Ответ на: комментарий от Deleted

Спасибо, поржал. Ядро монолитное, кстати. Большая, огромная штука, которая делает миллион вещей. Очень в духе юниксвея.

Исходники посмотри, теоретик мамкин. А пока ты о программировании больших и сложных систем читал только на лоре, ржи дальше.

unt1tled ★★★★
()
Ответ на: комментарий от Radjah

Ну ок, аргумент.

Но я таки против усложнения кода basename ради этих отдельных случаев. К тому же, как верно указали выше, «find ... -exec basename -a '{}' +» тоже вполне вариант.

anonymous
()
Ответ на: комментарий от Deleted

то есть, это конпеляние ради конпеляния?

Нет, это компиляние для перфекционистов.

нахрена тебе понадобилось отключать это?

Затем, что классическое поведение в tty рулит, а эти одинарные кавычки только лишние символы на экране жрут.

saahriktu ★★★★★
()
Ответ на: комментарий от mix_mix

соединяемые понятными интерфейсами.
понятными кому? Машине или человеку?

Вообще-то здесь речь в т.ч. про теже пайпы, которые понятны всем.

saahriktu ★★★★★
()
Ответ на: комментарий от Deleted

Ядро монолитное, кстати. Большая, огромная штука, которая делает миллион вещей.

И? Что дальше? Что плохого? Или у тебя есть результаты объективного теста-сравнения? Ну так поделись ими. И кстати, ядро-то монолитное, но как оно работает в курсе, не? Как прерывания обрабатываются догадываешься? В курсе вообще, что аппаратно при микроядерной структуре ос прерываний в разы больше, чем при монолитке? Может сначала матчастью проникнешься, а потом ржать будешь?

Oberstserj ★★
()
Ответ на: комментарий от Sectoid

В любом случае, работают с ПО, а не с ОС. Соответственно ценность представляет именно ПО.
И как из этого следует невозможность юзать юниксы? =).

Ну, есть, конечно, и такой подход. Особенно учитывая бесплатность дистрибутивов GNU/Linux.

А можно работать на более системном уровне, в т.ч. через написание софта с системными вещами.

saahriktu ★★★★★
()
Ответ на: комментарий от saahriktu

эти одинарные кавычки только лишние символы на экране жрут

ты ресурс монитора бережёшь, что ли?

Deleted
()
Ответ на: комментарий от Sectoid

В любом случае, работают с ПО, а не с ОС. Соответственно ценность представляет именно ПО.

Ну да, большинство тех, кто называет себя линуксоидами, но при этом знают о лине только то, что софт бесплатный (хотя нет) именно так к делу и подходят. А есть те Ъ-пользователи, для которых сама система - это главное ПО.

Oberstserj ★★
()
Ответ на: комментарий от Deleted

Нет, ресурс строк tty. У меня в строке всего 120 символов. Раньше у меня не было широкоформатного монитора и в строке было ещё меньше символов - всего 80.

saahriktu ★★★★★
()
Ответ на: комментарий от Deleted

ты ресурс монитора бережёшь, что ли?

Причем тут монитор? Это просто масло-маслянное. Изменяют и без того вменяемый инструмент, добавляя никчемный функционал. Да и функционалом-то это не назовешь.

Oberstserj ★★
()
Ответ на: комментарий от Freyr69

Пример в студию

Есть замечательная команда ip. Как с помошью нее без утомительного парсинга получить удобный для обработки список интерфейсов в виде [[interface_name, ip_address, netmask], ...]?

Если тебе нужен конвертов в ясон, напиши себе awk скрипт

С какой стати я должен заниматья это бессмысленной ***той?

makoven ★★★★★
()
Последнее исправление: makoven (всего исправлений: 1)
Ответ на: комментарий от saahriktu

Пайпы это лишь транспорт, а не интерфейс, а интерфейса-то как такового нет, т.к. нет банально схемы. Даже в json гонять уже достижение. На дворе почти 2017 год, а у нас до сих пор пайпы с cut/sed/awk через один.

mix_mix ★★★★★
()
Ответ на: комментарий от mix_mix

В этой плоскости интерфейсом является файловый ввод-вывод. Этот подход, что всё есть файл, даже stdout и stdin, очень удобен, и тоже является частью unixway'я.

saahriktu ★★★★★
()
Ответ на: комментарий от Oberstserj

Изменяют и без того вменяемый инструмент, добавляя никчемный функционал. Да и функционалом-то это не назовешь.

Во-первых, не "функционал", а "функциональность". Во-вторых, никто ничего не добавляет — несколько вариантов экранирования вывода, оно же "quoting style", было у ls(1) с незапамятных времен, в прошлой версии всего лишь дефолт поменялся. В-третьих, см. man ls (точнее, info ls) насчет того, как задавать этот quoting style безо всяких малонужных патчей. В-четвертых, словосочетание "масло масляное" пишется так, как написал его я.

dexpl ★★★★★
()
Ответ на: комментарий от Radjah

Всё тебе правильно сказали, пойми уже как работает xargs.

cat list.txt | xargs basename -a

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

surefire ★★★
()
Ответ на: комментарий от unt1tled

Юниксвей — миф.

ты о программировании больших и сложных систем читал только на лоре

Я тебя читаю на ЛОРе.

Deleted
()
Ответ на: комментарий от Oberstserj

И? Что дальше? Что плохого?

Ничего. Только то, что юниксвея не существует и не существовало. Это только влажные фантазии возвышенных, свободных линуксоидов.

Может сначала матчастью проникнешься, а потом ржать будешь?

У меня нет претензий к архитектуре ядра.

А ты в курсе как работает systemd? Вдруг там внутри юниксвей, а мужики-то и не знают, истерят уже несколько лет?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

не существует и не существовало.

У меня жир с экрана потек. Прекрати!

Oberstserj ★★
()
Ответ на: комментарий от saahriktu

В этой плоскости интерфейсом является файловый ввод-вывод.

И апостолы его

ssize_t read(int fd, void *buf, size_t count);
ssize_t write(int fd, const void *buf, size_t count);

и тоже является частью unixway'я

А, напомни, сколько там в линуксе сотен ioctl и fnctl? Очень в духе unixway, да.

mix_mix ★★★★★
()
Ответ на: комментарий от Deleted

А ты в курсе как работает systemd?

В курсе. Я кстати проникся им и его поддерживаю. Ничего НЕ юниксвейного пока не замечаю.

Oberstserj ★★
()
Ответ на: комментарий от mix_mix

А, напомни, сколько там в линуксе сотен ioctl и fnctl?

Я тут из аппаратчиков. И знаешь, уж лучше еще пару тысяч ioctl и fnctl обработать, чем ждать каждый раз прерывание от микроядря, записывать флаг этого прерывания, ждать пока освободится конвеер, параллельно высчитывая минимальный объем памяти для этой задачи. Ну нафиг!

Oberstserj ★★
()
Ответ на: комментарий от Deleted

ты ресурс монитора бережёшь, что ли?

Знаешь, его хобби — еще не самый тяжелый случай: мелькал тут в свое время один персонаж, хакавший бинарники только потому, что добавлять юзеров в разные группы не хотел, видите ли. А людям с таким работать…

dexpl ★★★★★
()
Ответ на: комментарий от Deleted

На мой взгляд? О херне какой-то... Ни о том, о чем надо было бы. Вернее не надо было бы.

Oberstserj ★★
()

Охренеть

Новость о coreutils, регистранты вместо сабжа вторую страницу НА ПОЛНОМ СЕРЬЁЗЕ обсуждают безграмотный высер первонаха-анонимуса. Всем ответившим надо по -7.

cast tailgunner

Капча LAINE Benzina. Да-да, именно бензином, и поджечь.

anonymous
()
Ответ на: комментарий от makoven

Есть замечательная команда ip. Как с помошью нее без утомительного парсинга получить удобный для обработки список интерфейсов

ip не знаю, из ifconfig элементарно:

for i in `ls /sys/class/net`;do 
    printf "[%s, %s, %s]\n" $i `ifconfig $i | grep "inet [0-9]" |  awk '{ print $2 "\t" $4 }'`; 
done

С какой стати я должен заниматья это бессмысленной ***той?

Потому что кроме тебя это никому не нужно, очевидно же.

Кому надо, пишет себе сериализатор в ясон, с-выражения и что там еще. Кому не надо, ноет и ждет, когда же ему procfs начнет выдавать json.

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

Но пацаны из plan9 же все осилили. Вывод: linux с bsd — говно, сломали юниксвэй (особенно гну с их упоротыми утилзами).

Freyr69 ★★★
()
Ответ на: Охренеть от anonymous

Новость о coreutils, регистранты вместо сабжа вторую страницу НА ПОЛНОМ СЕРЬЁЗЕ обсуждают безграмотный высер первонаха-анонимуса.

А чего обсуждать-то? Сами coreutils? Так там всё в порядке — предмета собственно нет для каких-то обсуждений.

DeVliegendeHollander ★★
()
Ответ на: комментарий от makoven

Есть замечательная команда ip. Как с помошью нее без утомительного парсинга получить удобный для обработки список интерфейсов в виде [[interface_name, ip_address, netmask], ...]?

Легче легкого: ip -o a sh | awk '{ print($2, $4) }'. Список из двух столбцов, разделенных пробелами, заверни в json сам, если уж тебе зачем-то нужен непременно json; jq(1) в помощь.

dexpl ★★★★★
()
Ответ на: комментарий от mandala

Ну тут уж извини — чего нету, того нету.

Папка есть, мамка есть (внутри компа проживает), скрепка есть (в ворде), даже собака есть (в венде поиском заведует), а вот до концепции «няньки» так никто и не додумался. Так что придётся тебе самому.

PS: А опыт «Вовки в тридевятом царстве» аж с двумя «няньками» тебя не смущает? :-)

DeVliegendeHollander ★★
()
Ответ на: комментарий от makoven

Я не против JSON, даже за, но man ip говорит

-o, -oneline
output each record on a single line, replacing line feeds with the '\' character. This is convenient when you want to count records with wc(1) or to grep(1) the output.

ip -o addr show up | awk '{ printf("%s\t%s\n", $2, $4); }'

Разве, что маска приклеена к адресу.

surefire ★★★
()
Ответ на: комментарий от saahriktu

Мой патч для ls всё ещё актуален.

Что делает сей патч и почему его не приняли в апстрим?

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.