= Сообщение: 1816 из 8555 ========================================= RU.LINUX = От : Serguei E. Leontiev 2:5020/400 04 Jan 15 20:10:04 Кому : Alexey Vissarionov 04 Jan 15 20:10:04 Тема : Re: init FGHI : area://RU.LINUX?msgid=<1187498587@ddt.demos.su>+74b8b89a На : area://RU.LINUX?msgid=2:5020/545+54a7c287 = Кодировка сообщения определена как: CP866 ================================== Ответ: area://RU.LINUX?msgid=2:5020/545+54aaad09 ============================================================================== From: "Serguei E. Leontiev" <leo@sai.msu.ru>
Привет Алексей,
От 3 января 2015 г., 12:34:56 в fido7.ru.linux ты писал: SL>> Hе то что бы мне нравился бы systemd, лично мне кажется, SL>> что лучше бы авторы сделали бы GPL клон SMF Solaris или SL>> launchctl Mac OSX. А не "самопальную" эклектику развели бы SL>> на 333 страницы одной только документации. AV> Думается мне, что если за много лет так и не сделали - значит, AV> не было необходимости.
Как видим сделали systemd, стало быть необходимость была. Могли бы сделать нормально, но что вышло, то вышло - эклектичный стиль GNU/Linux во всей красе, тем не менее "последняя" резервация SVR4 init.d начала исчезать.
RS>>>> Я как страшный сон вспоминаю сопли /etc/rc.d/init.d AV>>> Сопли вылезают только там, где эта технология AV>>> используется не по назначению: например, network - это AV>>> не демон, поэтому команда `service start network` не AV>>> имеет смысла и, что вполне закономерно, работает через AV>>> жопу. SL>> А её в XXI веке вообще возможно использовать по назначению? SL>> Hа мой взгляд, SVR4 init.d не предназначена: SL>> - для современных "модульных" ОС с пакетами (нет SL>> зависимостей); AV> Зависимости - забота пакетной системы.
Вот антиресно, как пакетная система должна выбирать номер nn в "SnnMyDaemon"? Как она узнает, что моему демону нужен syslog, portmap, pcscd или что-то ещё этакое, и какие у них были номера (в современных BSD есть хотя бы rcorder, а в SVR4 и этого нет)?
В принципе, наверное, можно было бы вести в Linux Standard Base реестр номеров, но в том бардаке, что мы называем Linux это ж не реально.
AV> Или ты про "нефиг запускать httpd, пока сеть не настроена"? Дык AV> я чуть выше именно про это и написал, начиная со слов "network AV> - это не демон".
Честно говоря, я уж и не помню что там было в оригинальных SVR4 (увы нет уже у меня старых добрых Solaris 8/9 и AIX 4/5, в современных остался только режим совместимости), а у Linux там же почти половина не является запуском демонов (микрокоды, МЭ, случайные числа и т.п.).
SL>> - для современных "демонов", которые падали, падают и будут SL>> падать; AV> Это забота демонописателей. И они про это знают - думаю, тот же AV> mysqld_safe известен всем здешним подписчикам.
Ой, жить то как-то было надо, вот понаделали этих костылей целый вагон и маленькую тележку.
SL>> - для машин у которых управление питанием, хотя бы, немного SL>> сложнее, чем просто включить и выключить; AV> Переключение между аккумулятором и БП, а когда аккумулятор сдох AV> - выключение? Это забота отдельного демона (который, кстати, AV> при загрузке запускается из собственного init-скрипта, а в AV> процессе работы вполне может вызвать `init 0`).
Hапример, когда просыпаемся один образом, то надо повторить S00microcode_ctl, а другим образом то нет. А вот S20random нужно делать всегда, что бы лохи, которые ему верят, не волновались попусту.
SL>> - для машин у которых сетевые интерфейсы и устройства могут SL>> подключаться и отключаться; AV> Могут. Только к init это не имеет никакого отношения. AV> AV> Вот у меня тут прямо на столе лежит хороший пример - жопорезный AV> свисток. Я его втыкаю в УПШ, ядро его опознает и дергает AV> /sbin/hotplug (или у кого что там указано в качестве AV> CONFIG_UEVENT_HELPER_PATH). Что прописано USB-устройству AV> 12d1:1446? Ага, запуск usb_modeswitch. Запускаем - устройство AV> исчезло, вместо него появилось новое: 12d1:1001. Опять смотрим, AV> что ему прописано. Ага, запуск `pppd call gprs`. Запустили. О! AV> Появился сетевой интерфейс ppp1. Что по такому случаю надо AV> сделать? Разумеется, запустить /etc/ppp/ip-up.d/ppp1 Что
Разумно, и если этот подход комплексно реализовать, то SVR4 init.d станет не нужным, делаем все командные файлы с именами P00AnyService и забываем хитрости SVR4 init.d, как страшный сон.
AV> примечательно, бегемоты наподобие udev для этого не нужны - AV> достаточно минимального скриптового обвеса, а основную работу AV> выполняет ядро.
Как это сделано в Windows, почему бы и нет? У API, приход которого на замену SVR4 init.d давно уже перезрел, могло бы быть и такое устройство.
Однако, в процессе отрезания хвоста по частям, сначала от X11 пришёл hal, потом udev, потом systemd пожаловал - этот изумительный эклектичный стиль GNU/Linux :)
-- Успехов, Сергей Леонтьев. E-mail: lse@CryptoPro.ru --- ifmail v.2.15dev5.4 * Origin: ГАИШ МГУ (2:5020/400) |