= Сообщение: 1817 из 8555 ========================================= RU.LINUX = От : Alexey Vissarionov 2:5020/545 05 Jan 15 18:26:00 Кому : Serguei E. Leontiev 05 Jan 15 18:26:00 Тема : init FGHI : area://RU.LINUX?msgid=2:5020/545+54aaad09 На : area://RU.LINUX?msgid=<1187498587@ddt.demos.su>+74b8b89a = Кодировка сообщения определена как: CP866 ================================== Ответ: area://RU.LINUX?msgid=<1187498601@ddt.demos.su>+7e92400d ============================================================================== Доброго времени суток, Serguei! 04 Jan 2015 20:10:04, ты -> мне:
SL>>> что лучше бы авторы сделали бы GPL клон SMF Solaris или SL>>> launchctl Mac OSX. А не "самопальную" эклектику AV>> Думается мне, что если за много лет так и не сделали - значит, AV>> не было необходимости. SL> Как видим сделали systemd, стало быть необходимость была.
Если бы необходимость... так, шило.
SL> Могли бы сделать нормально, но что вышло, то вышло - эклектичный SL> стиль GNU/Linux во всей красе,
Ааатучаемся говорить за все системы на базе GNU/Linux...
SL> тем не менее "последняя" резервация SVR4 init.d начала исчезать.
Очень надеюсь, что мода на systemd в скором времени пройдет.
RS>>>>> Я как страшный сон вспоминаю сопли /etc/rc.d/init.d AV>>>> Сопли вылезают только там, где эта технология используется AV>>>> не по назначению SL>>> Hа мой взгляд, SVR4 init.d не предназначена: SL>>> - для современных "модульных" ОС с пакетами (нет SL>>> зависимостей); AV>> Зависимости - забота пакетной системы. SL> Вот антиресно, как пакетная система должна выбирать номер nn в SL> "SnnMyDaemon"?
А, вот ты о чем... Это забота или разработчика, или даже сборщика. Второй лучше знает, в каком порядке в их системе должны стартовать демоны.
SL> Как она узнает, что моему демону нужен syslog,
Он стартует одним из первых, так что достаточно не лезть в ^S[01][0-9]
SL> portmap,
Такому демону вообще место в /dev/null
SL> pcscd
А сделать эти SC полноценными HID-устройствами - аллах запрещает?
SL> или что-то ещё этакое, и какие у них были номера (в современных SL> BSD есть хотя бы rcorder, а в SVR4 и этого нет)? SL> В принципе, наверное, можно было бы вести в Linux Standard Base SL> реестр номеров, но в том бардаке, что мы называем Linux это ж не SL> реально.
И не нужно.
Вообще, грамотно написанный демон не отваливается. При запуске он читает собственный конфиг, и если там все хорошо - делает двойной fork() и все последующие события обрабатывает сам.
Получилось соединиться с syslogd? Пишем туда, что мы живы и работаем с такого-то времени.
Примонтировался сетевой каталог? Запустили тред на его чтение и индексацию. Размонтировался? Выкинули соответствующую часть индекса и освободили память.
Понадобилось устройство, которое сейчас недоступно? Выругались в лог, ждем минуту. Если устройство не появляется - раз в 5...10 минут повторяем ругань.
Прилетел SIGTERM? Быстренько и аккуратненько завершаем работу, не дожидаясь последующего SIGKILL.
А если какому-то погромисту это неочевидно - пусть уеб-формочки на PHP рисует: не дорос он до демонописательства.
SL>>> - для машин у которых управление питанием, хотя бы, немного SL>>> сложнее, чем просто включить и выключить; AV>> Переключение между аккумулятором и БП, а когда аккумулятор сдох AV>> - выключение? Это забота отдельного демона (который, кстати, AV>> при загрузке запускается из собственного init-скрипта, а в AV>> процессе работы вполне может вызвать `init 0`). SL> Hапример, когда просыпаемся один образом, то надо повторить SL> S00microcode_ctl, а другим образом то нет.
Это забота ядра.
SL> А вот S20random нужно делать всегда, что бы лохи, которые ему SL> верят, не волновались попусту.
Чем тебе /dev/random не нравится? У него есть замечательная функция add_device_randomness(), которая позволяет домешивать туда данные из дополнительных источников - например, аппаратного ГСЧ наподобие http://pics.rsh.ru/img/usb_device_ne6amlw7.jpg
(рисовал для http://www.openwall.com/lists/oss-security/2014/08/08/10 - соответственно, аналоговая его часть замазюкана, чтобы не провоцировать "железячный" флейм в листе; реально там сдвоенный операционник).
SL>>> - для машин у которых сетевые интерфейсы и устройства могут SL>>> подключаться и отключаться; AV>> Могут. Только к init это не имеет никакого отношения. AV>> Вот [...] жопорезный свисток. Я его втыкаю в УПШ, ядро его опознает AV>> и дергает /sbin/hotplug [...] 12d1:1446 запуск usb_modeswitch. [...] AV>> появилось новое: 12d1:1001 [...] запуск `pppd call gprs` [...] AV>> Появился сетевой интерфейс ppp1 [...] запустить /etc/ppp/ip-up.d/ppp1 SL> Разумно, и если этот подход комплексно реализовать, то SVR4 init.d SL> станет не нужным, делаем все командные файлы с именами P00AnyService SL> и забываем хитрости SVR4 init.d, как страшный сон.
Насколько комплексно? Если я подключаю свисток - это еще не значит, что мне нужен именно жопорез: я могу его использовать для голосового звонка (E1550 весьма неплохо с этим справляется) или для отправки SMS-сообщений.
AV>> Что примечательно, бегемоты наподобие udev для этого не нужны - AV>> достаточно минимального скриптового обвеса, а основную работу AV>> выполняет ядро. SL> Как это сделано в Windows, почему бы и нет?
Спрашивать пользователя по каждому чиху и пуку? Мало нам вантузоидов, которые жмут "Ok" не читая сообщение...
SL> У API, приход которого на замену SVR4 init.d давно уже перезрел, SL> могло бы быть и такое устройство.
API уже есть, и устроено оно не так уж и криво - а вот используют его... впрочем, ненатуралы через это место и сексом ебутся.
SL> Однако, в процессе отрезания хвоста по частям, сначала от X11 SL> пришёл hal, потом udev, потом systemd пожаловал - этот изумительный SL> эклектичный стиль GNU/Linux :)
HAL был внутри, и поэтому особо не напрягал. Когда появился udev, его стали использовать далеко не все, а когда Поттеринг высрал systemd - проняло даже слоупоков-дебилианистов (во всяком случае, дебилиан без systemd существует и называется девиант)...
-- Alexey V. Vissarionov aka Gremlin from Kremlin gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii
... GPG: 8832FE9FA791F7968AC96E4E909DAC45EF3B1FA8 @ hkp://keys.gnupg.net --- /bin/vi * Origin: http://openwall.com/Owl/ru (2:5020/545) |