Доступен (https://lkml.org/lkml/2011/8/29/133) релиз комплекта стандартных низкоуровневых системных утилит util-linux 2.20, в который входят как тесно связанные с Linux-ядром утилиты, так и утилиты общего назначения. Например, в пакете представлены: mount/umount, fdisk, hwclock, cal, blkid, fsck/cfdisk/sfdisk, blockdev, chrt, mkfs, ionice, renice, kill, setsid, login, shutdown, dmesg, lscpu, logger, losetup, setterm, mkswap, swapon, taskset и т.п.
Основные улучшения:- Команда ddate теперь не собирается по умолчанию (для сборки необходимо указать --enable-ddate);
- Осуществлено слияние agetty и mingetty;
- В утилиты chrt и taskset добавлена опция "--all-tasks", позволяющая установить или получить атрибуты планирования для всех задач (нитей) для указанного PID;
- В dmesg добавлены опции "--clear", "--console-on", "--console-off",
"--ctime", "--decode", "--facility=список", "--level=список", "--show-delta", "--notime", "--kernel" и "--userspace";- В fdisk ре...
URL: https://lkml.org/lkml/2011/8/29/133
Новость: http://www.opennet.me/opennews/art.shtml?num=31623
> В утилиты chrt и taskset добавлена опция "--all-tasks", позволяющая установить или получить атрибуты планирования для всех задач (нитей) для указанного PID;Хм, еще пара лет и linux сможет достичь уровня solaris по манипулированию процессами и нитями :)
> Хм, еще пара лет и linux сможет достичь уровня solaris по манипулированию
> процессами и нитями :)Что-то мне подсказывает, что в ядре это все уже давно сделано, а вот интерфейс к этим функциям из юзерспейса будут неспешно ковырять лет пять минимум.
Ну, кто знает.Навскидку, фичи солярки, аналога которых пока не видно в линуксе: прерывание конкретного треда у процесса (и в общем случае - посылка сигнала конкретному треду) и cpu fencing - защита определенных процессоров от остальных процессов или тредов кроме тех нескольких, которые были поставлены на данные процессоры (эксклюзивное использование процессоров данными тредами).
Все это есть (cpu fencing можно через cgroups организовать).
Да ладно, а как тредами вообще через cgroups управлять? По-моему оно такого не умеет, или во всяком случае очевидного способа не видно. Для данной задачи, к примеру, часть тредов процесса положить в один cgroup, которому разрешено ходить на данный процессор, а часть в другой cgroup - разве это возможно?
cgroups работают именно с тредами (с LWP id), а не с процессами целиком, соответственно через обычный интерфейс к cgroup (VFS) можно работать и с тредами. Другое дело что никакого другого API и usermode утил для этого нет (ну при желании наверное можно написать менеджер под задачу, только не понятно в чем будет профит от такой модели).
>в который входят как тесно связанные с Linux-ядром утилиты, так и утилиты общего назначения. Например, в пакете представлены:...Что интересно: по факту, util-linux (как и многие подобные проекты, например, coreutils или bsd main utils) является bloatware. По сути дела, в один пакет запихнуто множество программ самого разного назначения. Однако поборники буквы юниксвея (презирающие его дух) почему-то старательно упускают из вида этот факт, предпочитая нападать на другие проекты. Получается, блоатварь бывает вредная, а бывает и полезная?
а ты хочешь на каждую по пакету? чтобы гордиться, что ещё сотню пакетов в репозитарий добавили?
>а ты хочешь на каждую по пакету?Юниксвей требует!
> а ты хочешь на каждую по пакету? чтобы гордиться, что ещё
> сотню пакетов в репозитарий добавили?Единственный разумный вариант известный науке где это было сделано иначе - busybox. Но там на это были свои причины. Как то жесткая экономия места любой ценой.
>Получается, блоатварь бывает вредная, а бывает и полезная?Получается - так.
А ещё бывают полезными "закрытые блобы", коммерческий софт, аспирин и женщины (с)КО
Ну уж нет! Если факты не согласуются с идеологией - тем хуже для фактов. Все программы делятся на свободные и плохие. Точка ;)
> Ну уж нет! Если факты не согласуются с идеологией - тем хуже
> для фактов. Все программы делятся на свободные и плохие. Точка ;)Невозможность поменять буквально 2 строки в исходнике программы для исправления тривиальной проблемы - это баг а не фича, как ни крути :P. Разумеется, для тех кто на это способен.
Чем оно bloatware? Был бы это один бинарь с кучей функций - я бы согласился. А так всё логично - набор стандартных утилит, без которых жить нельзя, объединён в один проект. Каждая выполняет свою функцию.
>>Был бы это один бинарь с кучей функцийbusybox :)
Если bloatware разбить на 186 загружаемых модулей, оно от этого не перестанет быть bloatware :)
> Был бы это один бинарь с кучей функций - я бы согласился.То есть изменение правил линковки кода, пусть даже и с оптимизацией по размеру, автоматически превращает "набор стандартных утилит" в блоатварь?
>А так всё логично - набор стандартных утилит, без которых жить нельзя, объединён в один проект. Каждая выполняет свою функцию.
Ничего не логично. Функциональность проекта и соответствующего пакета очень размыта и разнообразна. Борцы за юниксвей просто обязаны требовать выделения каждой программы в отдельный проект и пакет!
Тем, что пользователь хочет, например, утилиты для работы со свопом, а получает в довесок программу для управления realtime-настройками процесса (chrt), программу для управления аппаратными часами (hwclock), клиент для sysogd (logger) и т.п.
Один и тот же пакет решает кучу не связанных между собой задач. Все признаки bloatware налицо.
харэ путать блоатварь и набор утилит. неиспользуемые утилиты не жрут дополнительное время запуска и исполнения, и всё, что ненужно лично тебе, ты из своей системы можешь спокойно удалить, без ущерба для остальной части и без необходимости пересборки пакета.
>харэ путать блоатварь и набор утилитА чего их путать? Искусственно объединенная в один проект/пакет совокупность программ, не связанных одной узкой задачей - уже блоатварь.
>всё, что ненужно лично тебе, ты из своей системы можешь спокойно удалить
Как? Командой rm? Великолепно!
Несколькими легкими движениями напильника блоатварь превращается... превращается блоатварь... в отдельную утилиту с четко определенной функциональностью. Ура!
Продолжая развитие вопроса о "борцунах за юниксвей".
Почему никто не кричит из-за того, что все эти программы написаны на Си, а не на шелле? Ведь возможность быстро внести изменения в программу, ничего не пересобирая, очень важна для этих борцов (если их послушать). А уровень приспособленности шелла к решению таких задач (выполнению сисколлов, например) им совершенно не важен.
а как из шела сделать произвольный системный вызов с заданными параметрами, без проги на Си, имея глибц, и не имея патчей к шелу?
>>в который входят как тесно связанные с Linux-ядром утилиты, так и утилиты общего назначения. Например, в пакете представлены:...
> Что интересно: по факту, util-linux (как и многие подобные проекты, например, coreutils
> или bsd main utils) является bloatware. По сути дела, в один
> пакет запихнуто множество программ самого разного назначения. Однако поборники буквы юниксвея
> (презирающие его дух) почему-то старательно упускают из вида этот факт, предпочитая
> нападать на другие проекты. Получается, блоатварь бывает вредная, а бывает и
> полезная?А в каком собственно месте оно bloatware? В каких местах все эти утилиты объединены? На сколько я понимаю только на стадии распространения исходников (да и то скорее всего можно выкачать сырцы только нужный утилит), а дальше (надо полагать) можно скомпилять только необходимое.
Фанатики UNIX-way может-быть и сочтут это кощунством, а всем остальным как-то пофиг, пока оно не мешает жить напоминая при каждом запуске о том что стоит указать настройки для получения почты (:
> (да и то скорее всего можно выкачать сырцы только нужный утилит)тут не так всё просто таки — там есть библиотечные связи.
ddate зря убрали
тебе ничто не мешает добавить обратно и назвать пакет super-util-linux 2.20