LINUX.ORG.RU

systemd — новый подход к инициализации системы

 , , smf, ,


2

2

Lennart Poettering, сотрудник компании Red Hat, представил концепцию принципиально нового механизма управления инициализацией системы — systemd (system daemon), которая вобрала в себя достоинства классического System V init и более современных launchd (Mac OS X), SMF (Solaris) и Upstart (Ubuntu, Fedora), но при этом лишена многих их недостатков. В разработке этого проекта ему помогали сотрудники Red Hat, Novell, IBM, Intel и Nokia.

systemd опирается на современные linux-технологии: cgroups, AutoFS, D-Bus, и при этом совместим с исторически устоявшимися механизмами: init-скриптами, стандартными командами shutdown, poweroff и т.п. Предоставляемый systemd функционал позволяет заменить не только систему инициализации, но и ряд других подсистем, в частности, cron, (x)inetd, xdm/kdm/gdm/..., частично даже SELinux.

Основные идеи, использованные при создании systemd:

  • Контроль над сокетами. Многие демоны, запускаемые при инициализации, взаимодействуют с другими демонами через unix domain и сетевые сокеты, и большинство существующих систем инициализации запускают демона-клиента только после того, как демон-сервер запустится и создаст сокет. Вместо этого, systemd создает сокеты, а затем запускает демонов, передавая им эти сокеты. Даже если демон-клиент запустится быстрее и начнет использовать сокет раньше сервера, ничего страшного не произойдет: его запрос будет буферизован и передан серверу, как только тот сможет его обработать. Такой подход уже используется в Mac OS X (launchd), позволяя этой ОС достигать впечатляющей скорости загрузки.

    Аналогичный принцип используется systemd и при запуске служб, использующих шину D-Bus.

    Кроме того, возможен автоматический запуск служб при обращении к заданным сокетам (см. ниже).

  • Фоновое монтирование. Такие операции, как монтирование, проверка и активация квот файловых систем, занимают весьма значительную долю загрузочного времени. В большинстве современных систем они выполняются последовательно, до запуска всех демонов. systemd же предлагает монтировать не-жизненно-важные ФС только тогда, когда они кому-то понадобятся. Для этого используется механизм AutoFS. Например, многие служебные демоны вовсе не обязаны ждать, пока смонтируется огромный и к тому же зашифрованный /home.

    Разумеется, этот подход неприменим к /, /proc, /sys и т.п.

  • Минимизация числа вспомогательных процессов. В настоящее время значительная часть работ по инициализации производится шелл-скриптами, что приводит к колоссальным времязатратам. В частности, Леннарт пишет:

    On my system the scripts in /etc/init.d call grep at least 77 times. awk is called 92 times, cut 23 and sed 74,

    при этом замечая, что почти каждый такой запуск влечет накладные расходы на поиск библиотек, подгрузку данных интернационализации (i18n) и т.п.

    В качестве альтернативы Леннарт предлагает предлагает переписать критичные участки на C, а также вынести часть функционала в самих демонов и в systemd. Сейчас для systemd уже готовы написанные на C подсистемы монтирования и установки имени хоста. До полной победы, отмечает Леннарт, работа предстоит огромная, но результат того стоит.

  • Отслеживание процессов. В ныне используемых системах инициализации в принципе возможна такая ситуация, когда при неправильном форке процесс может «потеряться». Например, так может произойти с некорректно написанным CGI-приложением, и процесс останется работать даже после остановки веб-сервера.

    Для предотвращения таких ситуаций systemd использует интегрированный в ядро Linux механизм контрольных групп (cgroups). Если приложение не имеет доступа к псевдо-ФС, управляющей работой cgroups, то оно не может самостоятельно покинуть свою группу и «потеряться».

    Также к этой группе задач относится и автоматический перезапуск демонов, перенаправление их stdout/stderr на выбранные TTY или в системный журнал, регистрация всех запусков и остановок служб, и многое другое.

  • Ограничение процессов. systemd предоставляет множество возможностей ограничить или расширить полномочия процессов, контролируя такие параметры, как uid, gid, umask, рабочий и корневой каталоги, класс и приоритет CPU и I/O, наличие доступа на чтение и запись к смонтированным файловым системам и отдельным каталогам и т.п. Также можно использовать возможности по ограничению ресурсов, предоставляемые cgroups.

Базовым элементом systemd являются модули (units), которые связаны между собой и имеют определенный тип. Каждый модуль может требовать для своей работы другие модули, конфликтовать с модулями, запускаться только после или до определенного модуля (директивы конфигурации Requires, Conflicts, Before, After, Wants). Из типов модулей определены:

  • service — обычный демон, поддерживающий операции start, stop, restart, reload. Может быть представлен родным (native) файлом конфигурации systemd или System V init-скриптом.
  • socket. При обращении к сокету генерируется событие, для которого можно настроить обработчик. Например, автоматически запускать определенные службы при обращении к заданному сокету. В этом отношении systemd похож на давно известный (x)inetd, однако при этом поддерживает unix domain сокеты и FIFO.
  • device. Отметив нужные устройства в конфигурации udev, впоследствии можно использовать такие события, как появление и удаление устройства, в качестве событий systemd, назначив на них обработчики. Например, при появлении устройства bluetooth будет запущена соответствующая служба.
  • mount. systemd контролирует все точки монтирования файловых систем. В целях обратной совместимости поддерживается сбор информации о точках монтирования из /etc/fstab.
  • automount. Для помеченных таким образом точек монтирования, монтирование выполняется только при обращении к ним.
  • target. Более гибкий аналог уровней исполнения (runlevels), используемых в System V init. Представляет собой группу служб, объединенных по функциональному назначению. Например, multi-user.target идентичен runlevel 5, а bluetooth.target приводит к инициализации подсистемы bluetooth.
  • snapshot — во многом похож на target. Позволяет «запомнить» существующую конфигурацию units (запущенных служб, открытых сокетов, смонтированных ФС) с тем, чтобы в дальнейшем восстановить это состояние. Позволяет, например, перейти в emergency shell (сейчас это init 1), а затем полностью восстановить набор запущенных служб. Другой пример — выход системы из состояния suspend.

Надо заметить, что systemd отличается от SMF, во-первых, тем, что позволяет оперировать не только зависимостями между службами, но и событиями, например, «готовность устройства» или «обращение к сокету». Во-вторых, systemd использует более простой формат файлов конфигурации (.desktop aka .INI против XML в SMF).

От upstart же systemd отличается более высокой степенью параллелизации, и как следствие, более высокой скоростью загрузки. Например, если демон A требует для работы сокет, открытый демоном B, то upstart сначала запустит демона B, а затем демона A, в то время как systemd создаст сокет сам и запустит обоих демонов одновременно, что занимает примерно в два раза меньше времени. Используемый в upstart принцип, когда ключевыми событиями является лишь запуск и остановка демона, Леннарт и его коллеги считают изначально неэффективным.

Well, the point of the part about Upstart above was to show that the core design of Upstart is flawed, in our opinion. Starting completely from scratch suggests itself if the existing solution appears flawed in its core. However, note that we took a lot of inspiration from Upstart's code-base otherwise.

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

★★★★

Проверено: isden ()
Последнее исправление: isden (всего исправлений: 2)

Ответ на: комментарий от no-dashi

> Эти терминальные клиенты стартую с чем-то вроде на init=/bin/busybox, на них не крутится никаких демонов, и сам смысл бредового systemd для них теряется.

У кого какие клиенты...

Нет, они не «нетерпеливые», они просто тупые, не понимающие когда уместно спешить, а когда нет. Так вот - одна минута на загрузку системы, это тот случай, при котором нет нужды спешить.

А куда деваться? Не я выбираю пользователей и не они меня. Это данность, и от неё не скроешься :-(.

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

>И кому это надо? Кому нужны куча таких скритов, в которых все команды одинаковые, меняются только имена файлов и переменных окружения?

Одно из «правил» написания фреймворков говрит о том что вся сложность должна быть в ядре - а в реализациях - _регулярная простота_. cut'n'paste не всегда зло. Это во первых.

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

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

Сделаем вывод, что есть множество пользователей, которых парят вопросы оверклокинга. И что если бы ты сказал - «система удобного оверклокинга? да это никого не парит» - ты был бы *немного* не прав. Аналогично и boot time.

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

> Уверен, когда говорят о скорости загрузки ОС, имеют ввиду не end-users

Тут песни поют про десктопы и нервных офисных хомяков. И восхваляют десктопную убунту.

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

>И что если бы ты сказал - «система удобного оверклокинга? да это никого не парит» - ты был бы *немного* не прав.

ты дочитать предложение таки не хочешь?

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

> А в случае пробелмы с серверами и десктопами мне тоже ждать обновления прошивки? НУ как я и говорил ждите сервис пака.

Обычно программы тестируют, прежде чем пихать в дистрибутив, тем более такую серьёзную службу. Если впихнут, значит она работает нормально больше, чем наполовину ;-).

Какой к черту вендекапец - Linux Vista настанет.

Отчего такой пессимистичный настрой? Выбери дистрибутив, где этого не будет, или сделай свой - и оставайся в прошлом веке.

ximeric
()
Ответ на: комментарий от no-dashi

> Сносить не стал, но феерические эпические глюки (блин, даже с постингами на ЛОРе!!!), постоянные «опаньки» и полный интернет рекламы основательно доказали мне, что ФФ лучший.

Ух ты. А у меня в хромиуме имени Рахматуллина (ну, то есть, из Альта) - всё неплохо. AdBlock, кстати, - самое популярное расширение для Chrom(ium), если верить их рейтингу. Да и flashblock работает вполне на уровне FF'ного аналога.

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

AlexM ★★★★★
()

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

awesome
()
Ответ на: комментарий от r

Конкретно что дочитать? «так как хотят преподнести ускорятели?» Это я проигнорировал, ибо - не покажешь, где, кто и что пытается преподнести? Сколько я тред прочитал, речь о том, что это многим нужно, о том же говорю и я. За «всех» юзеров речь не идёт, измерить цифру желающих быстрого бута не представляется возможным. Однако очевидно, что они есть и их немало.

Так что, на мой взгляд - конец предложения ни о чём.

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

> Обычно программы тестируют, прежде чем пихать в дистрибутив,

Передай привет пульсу. :)

Если впихнут, значит она работает нормально больше, чем наполовину ;-).


Тут главное не оказаться во второй половине.

Отчего такой пессимистичный настрой?


Опыт общения с PulseAudio.

r ★★★★★
()
Ответ на: комментарий от no-dashi

> Когнитивный диссонанс.

Ключевой момент - МНОЖЕСТВО СЕРВИСОВ. Системы с одним сервисом сюда не входят.

Solaris10
()
Ответ на: комментарий от Nastishka

>И кто будет переделывать десять-тысяч-и-один демон для того, чтобы они ужились с еще-одной-самой-лучшей-системой-инициализации?

А под апстарт кто переделывал, в всяких убунтах? Ну вот.

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

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

Есть варианты типа monit, есть так же RSCT от IBM. Про штатные не слышал.

Solaris10
()
Ответ на: комментарий от queen3

>Это я проигнорировал,...Так что, на мой взгляд - конец предложения ни о чём.

То есть в фразах типа «во второй мировой у германии не было столько танков, сколько утверждает историк X» ты игнорируешь последнюю фразу, и начитаешь ристалище по поводу «у германии не было танков? вот 20 миллионов страниц по запросу q=танки+германия»! :)??

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

> Тут песни поют про десктопы и нервных офисных хомяков. И восхваляют десктопную убунту

Вероятно, хомячки не умеют пользоваться Убунтой - моя засыпает и просыпается очень быстро. Ноутбук. Аптайм - недели и месяцы.

Solaris10
()
Ответ на: комментарий от r

> cut'n'paste не всегда зло.

В случае bash'а - зло. Bash - хорошая оболочка, сам использую только её, в т.ч для небольших системных скриптов, но сколько внешних команд и сколько раз запускается при старте системы - написано в новости. А вообще, это касается не только старта - и в простом скрипте может быть множество внешних команд.

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

А на чём? Я - за питон, т.к. например, реализация nx-сервера на python'е (neatx) даёт намного большую производительность чем на bash'е (freenx), проверял сам.

Упоминаю python потому, что его очень любят как язык для написания системных утилит, в той же Fedora/RedHat.

НО. Кто позволит засовывать питон в процесс инициализации? Т.ч. С - неизбежное малое зло.

ximeric
()

Надеюсь в демьяне этого не будет ибо.

Контроль над сокетами. Тру
Фоновое монтирование. Тру

Минимизация числа вспомогательных процессов. не тру.
Отслеживание процессов. не тру.
Ограничение процессов. не тру.

Итого не надо. Усложнение и гос-во в гос-ве со своими какими-то новыми правилами, в которых надо повторно разбираться, а профита окромя писько-мерной быстрой загрузки нету. Нафига оно ? Тем более в Ред Нат. ИМНО людям делать не фиг.

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

если в его магическом init на C баг ?

> зато init-скрипты поправить можно =) А если в его магическом init на C баг ?

...или «в его магическом init на C» сбой файловой системы? Что произойдёт с загрузкой, если «init на C» отпроавлен «в космос»?

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

> Медленно. Нестардартизованно (глазами в каждый скрипт приходится вчитываться, особенно, когда касается нескольких видов линуксов). Не слишком гибко, т.к. система зависимостей между сервисами достаточно примитивна

Единственная реальная претензия - это зависимости. «Медленно» - это не от того, что bash и coreutils медленные, а оттого, что скрипты ждут чего-то, причем этом запускаются последовательно. Вот нормальную систему зависимостей нужно лепить, но вместо этого у Леннарта какие-то неопределенные наполеоновские планы.

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

>Ищут как заставить компьютер загружаться быстрее несколько тысяч раз в день.

Это много или мало? Если там ввести слова «white blood cells» - будут тоже сотни тысяч запросов в месяц - обозначает ли это что в каждый дистр надо встроить справочник по иммунологии?

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

«сколько утверждает историк Х» я не игнорирую. «сколько утверждают английские учёные» - игнорирую. Ты, в свою очередь, проигнорировал мой вопрос - «не покажешь, где, кто и что пытается преподнести», т.е., кто же этот историк Х?

Ты смотрю любитель фальшивых аналогий. Правильная аналогия тут будет:
ты: «у германии не было столько танков, сколько говорят»
я: «но танки-то у неё точно были, и не мало, а это только и имеет значение. Погугли „германия танки“. И вообще, кто эти „говорят“?
ты: ?

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

>А на чём?

Если проблема только в несколько раз подключаемых функциях которые парсят много раз - то надо решать эту проблему. Не вижу как из этого проистекает С.

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

> Опыт общения с PulseAudio.

Я, конечно, тоже пострадал от этого поделия, но может быть руки автора идеи отодвинут от реализации или не дадут реализовывать её одному? :-) Буду надеяться.

К тому же, PA всё-таки серьёзно зависит от железа и задержек.

ximeric
()
Ответ на: комментарий от queen3

>Ты, в свою очередь, проигнорировал мой вопрос - «не покажешь, где, кто и что пытается преподнести», т.е., кто же этот историк Х?

Посмотри в твои ссылки. Там не сотни отчаявшихся с вопросами «как ускорить». Там лекции «оверклокеров» на тему. Тех самых о которых я говорил.

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

>К тому же, PA всё-таки серьёзно зависит от железа и задержек.

До него все радоботало хорошо. С ним не работало. На одном и том же железе. Точнее то работало то не работало то выпилить нельзя, половину вещей (тот же скайп) переписали в режиме «если пульсаудио детектед - значит перестроиться на другие девайсі нельзя» - кааазлы, а учитывая суперкомбайновость пульсаудио - неработает что-то одно - не работает _все_. И выкосить нормально из системы нельзя.

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

Приходилось написать парочку.

А все эти нововведения не должны мешать имеющейся гибкости.

З.Ы. Вендекапец не нужен.

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

> вообще конечно странно что до этого только сейчас додумались

ДОРОСЛИ только сейчас.

Solaris10
()
Ответ на: комментарий от r

> Если проблема только в несколько раз подключаемых функциях которые парсят много раз - то надо решать эту проблему. Не вижу как из этого проистекает С.

Я так и не увидел ответа на мой вопрос «А на чём?». Так же как не увидел того, что препятствует написанию на C. Может, ни ядро, ни *libc не нужно было на C писать, ведь это более низкоуровневые и серьёзные проекты... А на чём?

ximeric
()

Кстати, сколько раз у меня случалось, что init-script для какой-нибудь софтины ищет не то и не там (спасибо разработчикам за наше весёлое детство), так подправил скрипт ручками в первом попавшемся редакторе и — вуаля! — работает, а если будут бинарники, что делать?

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

>Я так и не увидел ответа на мой вопрос «А на чём?»

DSL вроде расширенного баша с абстракциями зависимостей, приоритетов.

Так же как не увидел того, что препятствует написанию на C.


Мало что препятствует куче идиотских решений. Хочешь BSOD во время загрузки? Знаю одну OS где это входит в поставку.

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

Хм, а вот это уже логично, в отличие от.

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

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

> Посмотри сюда - http://www.ohloh.net/accounts/mezcalero

Ну они приписывают много чего. Вот я решил на свой вклад посмотреть:

http://www.ohloh.net/people?page=1&q=patrakov

Из этого списка могу припомнить патчи только в ядро и ALSA. С другой стороны, ImageMagick они пропустили.

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

Кстати, сколько раз у меня случалось, что init-script для какой-нибудь софтины ищет не то и не там (спасибо разработчикам за наше весёлое детство), так подправил скрипт ручками в первом попавшемся редакторе и — вуаля! — работает, а если будут бинарники, что делать?

Читая новость можно заметить фразу

... systemd использует более простой формат файлов конфигурации (.desktop aka .INI...)

Т.ч. делать нужно будет скорее всего очевидное-невероятное - исправлять файл конфигурации конкретного сервиса.

ximeric
()
Ответ на: комментарий от Pavval

>Круто. Ждем в Дебиане... (плача)...

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

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

> У меня на домашнем ноуте аптайм - утром полчаса, вечером пару часов. Не все приходят со школы и 8 часов дро^чатяцца до ночи.

А S3/S4 на что? Захлопнул крышку и пошёл по делам.

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

>> ... systemd использует более простой формат файлов конфигурации (.desktop aka .INI...)

Т.ч. делать нужно будет скорее всего очевидное-невероятное - исправлять файл конфигурации конкретного сервиса.

Вот, смотри конкретный недавний пример: YOTA и OpenSuSE. Случилось так, что после установки не стартует. Раздельный запуск скриптов выявил, что получение и настройка по DHCP-клиенту не отрабатывает нормально. Выяснилось, что установленному клиенту передаётся «левая» опция. Подправил — работает.

Что и как нужно оформить разработчику в виде файла конфигурации, чтоб исправить подобную проблему? Будет ли разработчик это делать и как?

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

> Простая замена grep+sed на билт-ин башизмы давала заметный прирост скорости.

awk?

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

>Т.ч. делать нужно будет скорее всего очевидное-невероятное - исправлять файл конфигурации конкретного сервиса.

Ты уверен? Init-script обычно падал с сообщением вида «file not found» или подобным. Для того чтобы работало очевиджное невероятное - надо чтобы была _полная_ превалидация кодфига, чтобы не вылетел какой нить банальный atoi, чего не надо было делать для скриптов с интерполяцией переменных и подобными вещами. А учитывая что это таки ошибка, а не так задумано - то очевидным невероятным результатом скорее всего станет segfault. Или огромная работа в написании «инициализаторов» чтобы от сегфаултов защищаться. то есть банально вместо cp $src $dst надо будет написать это на С.

А вообще лично я сомневаюсь что переписывание на С разгонит хоть что-то. Для этого надо доказать что именно интерпретация bash тормоз системы. Пока это не доказано ниразу.


r ★★★★★
()

новость позитивна тем что узнал об существовании Upstart!

...теперь в скором времени начну его изучать...

......а скорость загрузки кстате не критична! зато надёжность системы — очень даже критична!

mkfifo
()
Ответ на: комментарий от ximeric

>Не 15-20, а 60-90. За это время они вспоминают домашнюю винду, которая показывает рабочий стол намного быстрее,

Дома можно заниматься чем угодно, а на работе — работать. И без разницы, кто и что вспоминает. Если подстраиваться под офисных хомячков, то вместо тонких клиентов надо будет покупать какие-нибудь Core Quad'ы с распоследней графикой, а то в Crysis в обед играть неудобно.

По топику: наверное, систем инициализаций должно быть несколько и должна быть возможность их выбора. Хотя бы для того, чтобы не усложнять. Плюсы у предлагаемой системы есть, но вся эта архитектура начинает напоминать Windows и концепцию работы Minix 3 с драйверами.

P.S. И всё равно, BSD Init самый вменяемый. Жалко, что кроме Arch он нигде серьёзно не используется.

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

> И всё равно, BSD Init самый вменяемый. Жалко, что кроме Arch он нигде серьёзно не используется.

А как же Slackware? O_o

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

>>Не разочаровывайте меня. Мы ведь прекрасно знаем, что последствия при падении init например по segfault ничем не отличаются от падения systemd от того же sigfault...

Да, требования к качеству кода PID 1 в любом случае предъявляются жесткие. И тестировать systemd перед включением в промышленные дистры (если он доживет) будут очень жестко.


И тем не менее встречаются :)
сам постил баг - init в бсд после перечитывания inittab не закрывал хандлер,

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

> Выяснилось, что установленному клиенту передаётся «левая» опция. Подправил — работает. Что и как нужно оформить разработчику в виде файла конфигурации, чтоб исправить подобную проблему? Будет ли разработчик это делать и как?

По этой конкретной проблеме: посмотри, зачем и как уже сейчас почти во всех скриптах из /etc/init.d/ используется каталог /etc/sysconfig.

ximeric
()

Интересная разработка.

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

Фоновое монтирование.


То есть HAL становится нафиг ненужным для автоматического монтирования сменных носителей?

В качестве альтернативы Леннарт предлагает предлагает переписать критичные участки на C, а также вынести часть функционала в самих демонов и в systemd.


А вот это очень даже зря. Куда менее костыльно было бы при запуске скриптов инициализации сливать их в один файл, который будет исполняться одним процессом.

Ограничение процессов.


Эта возможность очень удобна.

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

>> И всё равно, BSD Init самый вменяемый. Жалко, что кроме Arch он нигде серьёзно не используется.

А как же Slackware? O_o

А в Slackware он работает ;)

P.S. Если честно — забыл.

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

> Если подстраиваться под офисных хомячков,

А я и не говорил, что нужно подстраиваться. И сам далеко не подстраиваюсь - у меня 90% администрации, включая директора, работают через терминальных клиентов. Потому, что этим проще и эффективнее управлять. А все запросы на отдельный компьютер натыкаются на встречный вопрос о задачах, которые будут решаться на этом компьютере.

А вот то, что на работе Linux-система будет грузиться быстрее, чем любая домашняя винда - большой плюс и работе, и Linux'у :-). «Всё познаётся в сравнении».

ximeric
()

Кстати, а не лучше bash JIT комплитятор какой написать, чем на C все скрипты переписывать?

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

> По этой конкретной проблеме: посмотри, зачем и как уже сейчас почти во всех скриптах из /etc/init.d/ используется каталог /etc/sysconfig.

Если про YOTA (http://code.google.com/p/madwimax/ ), то там запуск через /etc/udev/rules.d (можешь посмотреть http://madwimax.googlecode.com/files/madwimax-0.1.1.tar.gz правила в /scripts ). Тем не менее, это полноценный сервис предоставления wimax-соединения. Использование /etc/init.d/ и /etc/sysconfig будет... э-э... IMHO не совсем удобным для пользователя. :) Сейчас: вставил USB-устройство — всё настроилось и работает, вытащил — корректно выписалось из настроек (включая сетевые).

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