LINUX.ORG.RU

Состоялся релиз sysvinit 2.89

 , ,


6

3

Почти через 8 лет после релиза sysvinit 2.88 состоялся релиз sysvinit 2.89.

В новой версии:

  • у команды mountpoint теперь новая опция "-p", при которой происходит поиск замкнутых точек монтирования; работает только в GNU/Linux'е;
  • удалены два более ненужных вызова sleep'а, что ускорило время загрузки примерно на 2 секунды;
  • добавлен вывод загрузочных сообщений на несколько консолей разом (что, в частности, позволяет выводить одно и тоже одновременно и на монитор и на терминал, который подключен к COM-порту);
  • разработчик Debian'а пропатчил ioctl для работы в GNU/kFreeBSD;
  • другой разработчик Debian'а пропатчил дефолтное значение переменной окружения TERM для GNU/kFreeBSD на «xterm» вместо «cons25»;
  • разработчик Debian'а пропатчил /run/initctl для использования в качестве именованного конвейера для коммуникации (что позволяет обойти ограничение kFreeBSD, которое запрещает использовать /dev/initctl в качестве конвейера);
  • ifdown теперь работает на FreeBSD;
  • killall5 и init теперь собираются и работают в Hurd'е;
  • pidof теперь на ходу корректирует неправильные аргументы; например, «pidof /wrongpath/sleep» будет выполнена как «pidof sleep»;
  • теперь getty автоматически запускается на ядерных консолях, поскольку такое поведение посчитано весьма полезным если, например, админу внезапно нужно подключить терминал через COM-порт;
  • sulogin теперь пытается определять реальное устройство системной консоли /dev/console; в GNU/Linux'е это может быть больше чем одно устройство, включая терминал подключенный к COM-порту, виртуальный терминал и принтер;
  • sulogin теперь принудительно пересоединяет stdin/stdout/stderr при указании конкретного устройства;
  • runlevel теперь читает текущий и предыдущий runlevel'ы из /var/run/utmp;
  • неопознанные опции теперь тихо игнорируются;
  • при наличии файла /etc/initscript он будет использован для запуска всех программ, которые запускает init (это позволяет применять глобальные umask, ulimit,... и т.д. для всех процессов);
  • sulogin теперь всегда запрашивает пароль root'а перед входом в режим одного пользователя;
  • флаг "-b" init'а запускает оболочку до всех остальных процессов;
  • новым расположением /etc/fastboot теперь является /fastboot;
  • множественные патчи, багфиксы и обновления, включая обновления манов;

>>> Скачать

★★★★★

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

Обновления?
Help Yourself, что называется.
Всё в руках пользователя. Абсолютно всё.
Включая опакечивание софта и собственные репозитории.
Но система управлением этим хозяйством прилагается.

b4rk1n6w0lff
()
Ответ на: комментарий от kirk_johnson

Не делать как? Не поддерживать перезагрузку конфигурации в принципе? Вряд ли ты хочешь сказать именно это. Мотивируй.

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

а делать как ??

Не делать вообще никак. Это странный кусок функциональности, который на самом деле больше мешает, чем помогает.

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

Не делать как? Не поддерживать перезагрузку конфигурации в принципе?

Не требовать этого безумия, кода init файлик поменялся в связи с переустановкой пакета.

kirk_johnson ★☆
()

В случае языка С, есть хорошая метрика говнокода: количество GOTO, делённое на число строк кода. Когда я последний раз делал измерения, эта метрика была (по сравнению с другими свободными проектами) рекордно высокой для systemd.
Изменилось ли хоть что-нибудь с тех времён?

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

В случае языка С, есть хорошая метрика говнокода: количество GOTO, делённое на число строк кода. Когда я последний раз делал измерения, эта метрика была (по сравнению с другими свободными проектами) рекордно высокой для systemd.

В ядро посмотри.

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

Смотрел, там отношение GOTO/SLOC мало. Совсем не как в systemd.

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

В случае языка С, есть хорошая метрика говнокода: количество GOTO, делённое на число строк кода.

В случае именно языка Си, это очень плохая метрика говнокода.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от kirk_johnson

Модули ядра

Речь не о модулях ядра, а о юнитах. Некоторые люди их называют «модулями».

Вот как определить для systemd определённый порядок загрузки? Например, сначал применить настройки консоли, затем поднять прописанные сетевые интерфейсы, а уже затем поднять указанные демоны в строго определённом порядке один за другим?

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

Бвахахаха. Слакварь. Серверная. Жги ещё.

А что не так? Это вообще один из надёжнейших серверных дистров. За 20 лет работы 24х7 ни единой минуты простоя по вине дистра. Вообще.

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

Тогда ты теряешь атомарность. Более того, сейчас ты можешь написать свой личный inotify-watcher, а если бы реконфигурация была автоматической — ты бы не смог это никак обойти в случае необходимости.

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

Речь не о модулях ядра, а о юнитах. Некоторые люди их называют «модулями».

Зачем? Не такие как все?

Вот как определить для systemd определённый порядок загрузки? Например, сначал применить настройки консоли, затем поднять прописанные сетевые интерфейсы, а уже затем поднять указанные демоны в строго определённом порядке один за другим?

Сделать зависимости между всеми этими вещами. А что?

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

Некоторые люди их называют «модулями».

Ты первый такой.

Вот как определить для systemd определённый порядок загрузки?

man systemd.unit

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

Тогда ты теряешь атомарность. Более того, сейчас ты можешь написать свой личный inotify-watcher, а если бы перезагрузка была автоматической — ты бы не смог это никак обойти в случае необходимости.

По-моему, мы сейчас о разных вещах говорим.

kirk_johnson ★☆
()
Ответ на: комментарий от quantum-troll

Имхо, уровень вложенных циклов больше показывает говнокод.

Ехал цикл через цикл

Видит цикл в цикле цикл

Цикл в цикле в цикле цикл

Цикл цикл цикл цикл

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

Я специально переспросил у тебя несколько раз, чтобы удостовериться, о чём ты говоришь. Насколько я смог понять, ты говоришь о том, что автоматическая перезагрузка конфигурации > явная перезагрузка конфигурации.

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

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

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

Я специально переспросил у тебя несколько раз, чтобы удостовериться, о чём ты говоришь. Насколько я смог понять, ты говоришь о том, что автоматическая перезагрузка конфигурации > явная перезагрузка конфигурации.

Я к тому, что если mtime у unit-файла отличается, то systemd не дает тебе ничего сделать, пока daemon-reload не скажешь. Меня это слегка бесит.

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

А мы вынесем каждый вложенный уровень в отдельную функцию, всё по феншую.

На code review тебе по морде дадут за такое.

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

Возможно, ты не знал, но

если mtime у unit-файла отличается, то systemd

...сделает тебе предупреждение и продолжит использовать конфигурацию на момент последнего daemon-reload.

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

Да вообще глубина отступов, не только для циклов.

anonymous
()

Всё равно придётся использовать дефолт поставляемый в дистре, потому что всё под него оптимизировано.

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

Всё вместе это удорожает и усложняет всё, давая и плюсы и минусы. Почти как тойота камри и древние жигули.

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

...сделает тебе предупреждение и продолжает использовать конфигурацию на момент последнего daemon-reload.

Он говорит «сделай daemon-reload упырь» и выходит с единицей. Если это «продолжает использовать конфигурацию на момент последнего daemon-reload», то какое-то оно не очень user friendly.

P.S. CentOS7, мб в новых дистрибутивах поведение поменяли.

P.P.S. Хотя не, гоню, действительно старую использует.

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

Речь не о модулях ядра, а о юнитах. Некоторые люди их называют «модулями».

кто вообще называет юниты/процессы/демоны/сервисы модулями? ты дебил штоле?

anonymous
()

pidof теперь на ходу корректирует неправильные аргументы; например, «pidof /wrongpath/sleep» будет выполнена как «pidof sleep»;

Фу так делать!

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

Все отдельные части одного целого из которых оно и складывается можно называть «модулями».

У вас с квазаром что-ли общие наркотики?

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

Мне, кстати, это реально помогает)) ну, инлайн функции ещё.

Это прописано в linux kernel coding style :)

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

Сделать зависимости между всеми этими вещами. А что?

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

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

ещё бы systemd показывал статус запуска при запуске, а не «ничего», а то приходится всё делать

ручками-ручками...

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

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

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

соответственно всё ломая?

Ломая что? Пруфы, Билли, нам нужны пруфы!

kirk_johnson ★☆
()
Последнее исправление: kirk_johnson (всего исправлений: 1)

pidof теперь на ходу корректирует неправильные аргументы; например, «pidof /wrongpath/sleep» будет выполнена как «pidof sleep»

Какие бы тут были комментарии, если бы это реализовали в systemd? Или вот это, захардкоженное нафиг без каких-либо опций:

теперь getty автоматически запускается на ядерных консолях, поскольку такое поведение посчитано весьма полезным

Еще помню кучу троллей, возмущенных тем что systemd молча игнорирует неизвестные опции в юнитах. И тут внезапно:

неопознанные опции теперь тихо игнорируются;

Бгг. Ждем следующего релиза свинит через 8 лет, с очередной парой фич из systemd и новой порцией говнокода.

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

99% людей, простите, самоудовлетворяются

а оставшийся 1% в этом не признаётся

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

соответственно всё ломая?

Ломая что? Пруфы, Билли, нам нужны пруфы!

Он, вероятно, говорил про сломанную в Debian настройку tty в течение очень долгого времени. Они не хотели отказываться от своего лисапеда console-setup, а его автор/мейнтейнер очень не любит systemd. Потом пофиксили, впрочем.

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

Тем, у кого проблемы с rsyslogd, тоже помогать? Или какое отношение firewalld имеет к systemd?

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

количество GOTO

если они ими реализуют подход похожий на RAII, то что в этом плохого?

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