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)
Ответ на: комментарий от kernelpanic

>А не помешает ли это самостоятельному написанию init-скриптов?

Вообще Леннарт какбэ намекает, что init-скрипты — жуткие тормоза, моветон и не по-пацански. И вообще индусский код.

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

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

> Вообще Леннарт какбэ намекает, что init-скрипты — жуткие тормоза, моветон и не по-пацански.

30 лет init-скрипты работали и всех устраивали, но в 2010 году ВНЕЗАПНО шелл и греп стали тормозить.

И вообще индусский код.

Да, от создателя PulseAudio это звучит особенно убедительно.

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

Я вот одного понять не могу - ну вот накой все сейчас прицепились к скорости загрузки системы и решили срочно всеми силами с рвением и упорством ее уменьшать?

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

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

Я тоже этого не понимаю :)

Но, как видно из описания, это не просто «еще одна ускорялка загрузки». Это, по сути, демон, централизованно управляющий всей системой. Кроме того, там обещают достаточно крутой функционал по части безопасности. И простые конфиги :)

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

>Падает один демон systemd - падают все, или как?

Как раз нет. В описании сказано, что его тоже можно перезапускать, и никто ничего не заметит. Например, при обновлении системы на лету. Насчет конкретно падений не в курсе.
Но это всяко лучше того, что сейчас происходит при kill -9 1 :)

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

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

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

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

Советую почитать «войну и мир» по ссылке. Имхо, оно того стоит.

Лично у меня сложилось такое впечатление, что авторы сией софтины просто хотят навести порядок в том бардаке, который исторически сложился в юниксах и линуксах в данной целевой области (организация загрузки, управление монтированием, контроль служб, etc.) и сделать все это максимально разумно и эффективно. Ускорение загрузки — лишь один из плюсов продуманного подхода к организации запуска служб.

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

Я вот одного понять не могу - ну вот накой все сейчас прицепились к скорости загрузки системы и решили срочно всеми силами с рвением и упорством ее уменьшать?

а что еще делать, когда в Линуксе уже все работает ?

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

>а что еще делать, когда в Линуксе уже все работает ?
писать то, чего не хватает обычным пользователям, не?
ПРОСТОЙ видео редактор, например :)

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

> авторы сией софтины просто хотят навести порядок в том бардаке, который исторически сложился в юниксах и линуксах в данной целевой области (организация загрузки, управление монтированием, контроль служб, etc.) и сделать все это максимально разумно и эффективно.
Было бы замечательно. Еще одним бардаком меньше.

это всяко лучше того, что сейчас происходит при kill -9 1

А можно глупый вопрос - что происходит при убийстве инита? Ни разу не пробовал (:

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

> писать то, чего не хватает обычным пользователям, не?

... ПРОСТОЙ видео редактор, например :)

Да, ещё «обычному пользователю» нужен фотошоп, микрософт ворд...

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

> Но это всяко лучше того, что сейчас происходит при kill -9 1 :)

А что происходит-то? А то я прямо даже не в курсе. Когда-то в исходниках ядра не постеснялся посмотреть, что процесс с номером 1 игнорирует сигнал убийства. Мои сведения устарели?

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

>Да, ещё «обычному пользователю» нужен фотошоп, микрософт ворд...
думай для начала!
и худей!
фотоопа простого пользователя ни разу не улыбает!
а ворд...простому пользователю за глаза хватает abiword-а!

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

> Да, ещё «обычному пользователю» нужен фотошоп, микрософт ворд...

... автокад; а как файнридер простому пользователю нужен - просто не передать словами...

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

воооот - допилить надо, а то лисапедов развели
да и автор сабжа тот ещё велосипедист, да ещё и с «золотыми» руками )

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

> kill -9 1

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

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

Кунейформ ня. А автокад простому пользователю уж точно не нужен, извините (:

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

тренд сейчас такой. Да и меряться этим можно :)

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

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

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

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

Не «если», а «сколько» и «насколько критичных» :)

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

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

Потому что, в отличие от всего остального, системы инициализации независимы от системы. Их можно вырывать и вставлять новые не затрагивая ни одного демона или приложения - в отлчие от тех же X'ов, где нужно обеспечить совместимость по протоколу, совместимость с дарйверами и много чего еще. В общем, «ищем где светло». Писать новые приложения трудозатратно, а написать еще-одну-самую-лучшую-систему-инициализации можно быстро и чуть не в одиночку.

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

> Но это всяко лучше того, что сейчас происходит при kill -9 1

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

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

> Я вот одного понять не могу - ну вот накой все сейчас прицепились к скорости загрузки системы и решили срочно всеми силами с рвением и упорством ее уменьшать

Ноуты и нетбуки? У нас в общаге количество стационарных компов уже точно не 50%. Намного меньше. Ноут нужно бысть включить, поработать и быстро выключить

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

> А можно глупый вопрос - что происходит при убийстве инита? Ни разу не пробовал (:

Убей инит

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

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

Люто плюсану. Хотя я думал, что еще в Upstart начали это дело, когда говорили о том, чтон работу некоторых демонов он возьмет на себя, в перспективе. Зоопарк уменьшать надо наверное уже.

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

>А что происходит-то? А то я прямо даже не в курсе. Когда-то в исходниках ядра не постеснялся посмотреть, что процесс с номером 1 игнорирует сигнал убийства. Мои сведения устарели?

Точно, блин :)

Но когда инит убивает сам себя, ядро начинает паниковать.

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

>это значит на XMLе через гномереестр?

Это в солярисе сейчас так.

В systemd обещают сделать конфиги в старом добром формате INI (или, как они это называют, .desktop).

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

>А можно глупый вопрос - что происходит при убийстве инита? Ни разу не пробовал (:

Если послать SIGKILL — ничего, это я затупил.
А если он сам сдохнет — ядро запаникует.

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

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

Уже лет 5-7 как озаботились. В основном благодаря винде с её быстрой загрузкой.

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

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

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

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

Да? Ну я конечно Ъ, и по ссылкам не читал, но момент когда они сокет передают child-у у вас никаких вопросов не зызвал? Тут, что, только школьники обритают, или у меня ФГМ? Мне показалось, что без переделки демонов ничего у друзей не выйдет. Обычно демону можно только путь передать, как максимум, к UNIX-сокету. Где вы видели демон с указанием номера FD для работы? Через /proc?

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

> 30 лет init-скрипты работали и всех устраивали, но в 2010 году ВНЕЗАПНО

линукс пришёл на десктоп, где аптайм не измеряется годами, а юзеры не пишут индусские init-скрипты.

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

>> 30 лет init-скрипты работали и всех устраивали, но в 2010 году ВНЕЗАПНО

линукс пришёл на десктоп, где аптайм не измеряется годами

Эээ... и что? Где пойнт экономить 20сек, если аптайм хотя бы 8ч?

а юзеры не пишут индусские init-скрипты.

Как пользователь, я вообще не писал init-скриптов. Как разработчик - я рад, что писать их надо на shell, а не на Си.

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

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

Скрипт-киддисы забыли, что исходный код приложения на C элементарно правится в текстовом редакторе?

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

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

Скрипт-киддисы забыли, что исходный код приложения на C элементарно правится в текстовом редакторе?

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

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

>Как разработчик - я рад, что писать их надо на shell, а не на Си.

Скажите, а вам чалма не мешает?

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

>> Как разработчик - я рад, что писать их надо на shell, а не на Си.

Скажите, а вам чалма не мешает?

Нет, а вам?

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

>Да, от создателя PulseAudio это звучит особенно убедительно.

Это тот самый поц из-за которого ото виндовозное изделие появилось? Я после появления пульса начал ощущать виндовозность исстемы - отключить это уродство полностью можно только переустановив сисстему - потому что оно лезет во столько мест что их найти все - это звездец а удаление за собой не убирает.

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

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

Если так как они сделали с глюкомонстропульсом - то спасибо им с кисточкой.

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

> но момент когда они сокет передают child-у у вас никаких вопросов не зызвал?

В тексте новости не написано, что сокет передаётся child'у. И большинство локальных сервисов можно перевести на UNIX-сокеты, на то они и сервисы.

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

>>Да, от создателя PulseAudio это звучит особенно убедительно.

Это тот самый поц из-за которого ото виндовозное изделие появилось?

Тот самый. Ему в комментах писали: «Леннарт, ты сломал нам сеть, потом звук, а сейчас хочешь сломать вообще всё сразу?».

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

>линукс пришёл на десктоп, где аптайм не измеряется годами, а юзеры не пишут индусские init-скрипты.

И что? Тебе минуту подождать тяжело?

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

Как будто сейчас init не на C написан... Вы прям как маленькие дети :) Другое дело, что по мере усложнения /sbin/init, тем более, при встраивании туда более-менее приличного и _полезного_ _новоизобретённого_ DSL'я, увеличиваются шансы проглядеть багу. Но тогда, конечно, да, ждать сервис-пака :)

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

> И что? Тебе минуту подождать тяжело?

Ну представьте картину: в будущем покупаете плазму (например Филлипс), дома врубаете в розетку, жмакаете кнопку включения... и после минуты ожидания делитесь с нами впечатлениями, тяжело ли было ждать эту минуту (и что при этом комментировала жена на покупку телека за 1к баксов).

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

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

Обрати внимание на новости о выходе убунты 10.04, как все радуются ускоренной загрузке. То, что красноглазым хацкерам «не нужно» - оно понятно. Но теперь обычных пользователей стало больше, чем хацкеров.

И да, как пользователю, мне пофиг, чему там рад разработчик. Система запускает лишнуюю 1000 процессов во время загрузки? Fail. Пишем минус линуксу, плюс макоси.

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

>Ну представьте картину: в будущем покупаете плазму (например Филлипс), дома врубаете в розетку, жмакаете кнопку включения... и после минуты ожидания делитесь с нами впечатлениями, тяжело ли было ждать эту минуту (и что при этом комментировала жена на покупку телека за 1к баксов).

Я когда включаю телик - из-за того что это случается редки - мой DVBшник пять минут договаривается с провайдером чтобы его пустили. Плазма загружающяся минуту меня не напряжет. Меня напряжет когда вместо could not mount, или command not found: mount.zfs начнуться unexpected signal 11. Segmentation fault и эту плазму я вообще включить не смогу.

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

> И что? Тебе минуту подождать тяжело?

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

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

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

Я пользуюсь симанкой. Ы?

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

> Я

Да ради бога. А вот миллионы юзеров перешли на хром только потому, что он быстро стартует (пруф в виде «а вот фф долго стартует» здесь в тредах), даже несмотря на его опаньки, урезанную функциональность, и отсутствие аддонов. Всё ещё настаиваешь, что быстрый запуск (компьютера, в том числе) никому не нужен?

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

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

Какой ужас! Поставить компилятор, это же так сложно! Это же за гранью понимания скриптодеток!

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

>Всё ещё настаиваешь, что быстрый запуск (компьютера, в том числе) никому не нужен?

Что такое быстрый? Быстрее чего?

Я настаиваю на том что никого это не парит так как хотят преподнести ускорятели.

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

> Поставить компилятор, это же так сложно! Это же за гранью понимания скриптодеток!

Это может быть за гранью дозволенного. Гентушнеги, впрочем, этого могут и не знать %)

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

> Я когда включаю телик - из-за того что это случается редки - мой DVBшник пять минут договаривается с провайдером чтобы его пустили.

Проблема DVB и провайдера.

Меня напряжет когда вместо could not mount, или command not found: mount.zfs начнуться unexpected signal 11. Segmentation fault и эту плазму я вообще включить не смогу.

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

Кроме дома Linux-системы работают и в терминальных клиентах (сюрприз!), а «офисные» работники далеко не терпеливые.

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

> Что такое быстрый? Быстрее чего?

В идеале - мгновенный. Чем быстрее, тем лучше. Быстрее винды, быстрее макоси, быстрее предыдущего релиза. X грузится быстрее Y => X лучше Y как минимум в этом аспекте.

Я настаиваю на том что никого это не парит так как хотят преподнести ускорятели.


А я не настаиваю, я привожу пруфлинки:

http://www.google.com/search?hl=en&q=ubuntu+startup+time
http://www.google.com/search?hl=en&q=ubuntu+boot+time

Убунта - посколько речь идёт за десктоп.

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

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

> И да, как пользователю, мне пофиг, чему там рад разработчик. Система запускает лишнуюю 1000 процессов во время загрузки? Fail. Пишем минус линуксу, плюс макоси.

По большому счёту пользователю пофиг на процессы. Важны субъективные ощущения. Но 10.04 грузится и ведёт себя няшно :) Если бы у меня ТВТайм/Aver507 заработали сразу, я бы не нашёл в себе силы поставить F-13B :) А вот Федора, надо сказать, разочаровала. «Здравствуй, XXI век!»:

* Эта тема окошек была, кажется, ещё когда я слазил cо свежевышедшего GNOME2.
* Молчаливое, ни слова, ни пол-слова про кодеки, неиграние DVD в тотеме.
* Лаконичное «десктоп-эффекты не доступны, так как видеодрайвер не поддерживает 3D»

таким подходом в 2010 году можно только испугать.

P.S. Но только прошу, не надо учить меня жизни. Я _ЗНАЮ_, почему кодеки не включены в базовую поставку, _ЗНАЮ_ про rpmfusion с кодеками и VLC, знаю, как в федоре поставить и настроить нвидиевские драйвера. Чёрт, из-а глюкнувшего инсталлятора я ставил KSI из второй консольки ещё когда был свободным мужчиной в расцвете лет! Но, честно, все эти битвы со злым тараканом со временем утомляют, и поэтому то, что делает команда Убунту - это хорошо :) Хоть у меня и не убунту ;)

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

>Если не будешь лазить в телевизор, то должно работать так, как сделал разработчик.

А разработчик это такой ахрененный чудак который ошибок не делает да?

а «офисные» работники далеко не терпеливые.


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

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

> Что такое быстрый? Быстрее чего?

Быстрый - это чтобы человек не успевал соскучиться. В наше неспокойное время скука начинается где-то с 15-20 секунды.

Я настаиваю на том что никого это не парит так как хотят преподнести ускорятели.

Меня парит. Ещё меня парит, вернее, парил шум компьютера, поэтому я предпочёл, чтобы мне привезли тихие железки, хоть и за бОльшие деньги.

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

>X грузится быстрее Y => X лучше Y как минимум в этом аспекте.

Умножаем на коээффициент релевантности k=0.01 и видим что ааа - фигня.

А я не настаиваю, я привожу пруфлинки:


И что по этим линкам? Горы недовольных пользователей или горы красноглазых оверклокеров?

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


Да. Мне фанатично не нравится когда народ забывает основные принципы и исходные посылы, а вместо этого как настоящий профессионал сосредотачивается на решении локально проблемы продвигаясь к глобальной катастрофе. Пульсаудио - показатель. Как я вижу из текста systemd еще один комбайн по сходным принципам. Результат предсказываю тот же.

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

> я ставил KSI из второй консольки ещё когда был свободным мужчиной в расцвете лет! Но, честно, все эти битвы со злым тараканом со временем утомляют

Не флейма ради, просто вы сейчас озвучили именно ту причину, по которой ни один даже продвинутый виндузятник не полезет в Пингвинукс - это борьба с ветряными мельницами. Вроде бы что-то делаешь, затачиваешь, компилируешь, а в итоге ты всего лишь настроил цветной терминал с зелёным промптом. :) Жалко усилия десятков тысяч пингвофилов, которые уходят на борьбу с неудобством, порождённым ленью единственного прогера. К счастью, хоть и поздно, но благодаря коммерции Линукс обретает человеческое лицо.

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

Не понял к чему это, в смысле, почему ко мне, т.к. у меня у самого - убунта, и именно по вышеописанным причинам (включая «когда был свободным мужчиной» ;-).

Про Fail я писал, потому что пользователя не интересует, насколько удобно разработчику писать код. Это нормально, если разработчик облегчил _себе_ жизнь shell-скриптами, но только если он одновременно признаёт, что усложнил жизнь юзерам на лишнее время загрузки * количество юзеров * количество загрузок.

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

Для плазм пусть пишут свой init. И пишут.

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

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

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

> А разработчик это такой ахрененный чудак который ошибок не делает да?

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

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

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

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

> Кроме дома Linux-системы работают и в терминальных клиентах

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

а «офисные» работники далеко не терпеливые.

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

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

>Эти ссылки показывают, что количество людей, для которых время загрузки имеет значение

RLY? А количество людей которые лезут в оверклокинг ты по слову оверклокинг вычислять в гугле не пробовал?

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

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

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

Не 15-20, а 60-90


Экономии.

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

> ни один даже продвинутый виндузятник не полезет в Пингвинукс - это борьба с ветряными мельницами.

Это не соответствует действительности. Во-первых, в винде точно так же можно задро^W настраивать систему под свои нужды, с перспективой потерять все наработки с выходом очередной версии. И находятся люди, которым это интересно :)

Во-вторых, я сейчас наблюдал, как волею нашего директора, да продлит Всемилостивый его счастливые земные дни, несколько человек с достаточным опытом работы и программирования под Windows были пересажены под Linux. Ну, людей сколько-то времени поколбасило, их возмущённые и обиженные стоны заставляли обливаться сердце кровью, но сейчас, спустя пару месяцев, им уже, можно сказать, нравится...

А непродвинутым - честно слово, пофиг, они всё воспринимают как данность, пусть и не всегда приятную для себя. Я сейчас маму обучаю премудростям работы с компьютером и интернетом. Обучаю по телефону, GTalk'у и вот до скайпа добрались. Должен сказать, что миф об интуитивной понятности и безглючности виндового интерфейса - не более чем миф.

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

> оверклокинг

Может ещё про жигули с КГБ-шным движком расскажешь? При чём тут оверклокинг? Не находишь, что фраза

Я настаиваю на том что никого это не парит


*несколько* опровергается наличием двух с половиной миллионов страниц по запросу «ubuntu boot time»? Или, может, приведёшь какие-то свои факты, кроме голословных «я настаиваю»?

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

> Мне показалось, что без переделки демонов ничего у друзей не выйдет

И кто будет переделывать десять-тысяч-и-один демон для того, чтобы они ужились с еще-одной-самой-лучшей-системой-инициализации? Так что закончится все написанием враппера над типовым демоном (привет instsrv.exe и srvany.exe) и еще-одной-самой-правильной-...

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

Только-что проверил у себя.

OpenSUSE 11.2:

С момента удара по вводу в грубе:
21сек до kdm,
43сек до работающего KDE4 из них 3-4 сек оторвать руки от часов и ввести пароль.

Сколько он хочет отрезать от этого времени переписыванием на С? 5 секунд? А сможет?

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

> В тексте новости не написано, что сокет передаётся child'у. И большинство локальных сервисов можно перевести на UNIX-сокеты, на то они и сервисы.

Ну не знаю. Перечетайте, что ли, ещё раз. Там где про: ничего они не трогают и всё будет работать просто и без переделок. А потом почитайте про xinetd и standalone в демонах и т.п. И ответьте: как? Я потому и интересуюсь, что не пойму.

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

> Сколько он хочет отрезать от этого времени переписыванием на С? 5 секунд? А сможет?

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

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

>Должен сказать, что миф об интуитивной понятности и безглючности виндового интерфейса - не более чем миф. не более чем привычка, fxd

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

>*несколько* опровергается наличием двух с половиной миллионов страниц по запросу «ubuntu boot time»?

Ты слово «кроме» принципиально не дочитал? Эти два миллиона страниц - вот от этих кроме.

http://www.google.com/search?q=cpu+overclocking - возвращает 10 «миллионов страниц». Сделаем вывод что десктопного пользователя очень парят вопросы оверклокинга процессора? Или что?

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

> перешли на хром [...] даже несмотря на его опаньки, урезанную функциональность, и отсутствие аддонов.

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

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

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

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

> тяжело нагруженные системы с множеством сервисов.

Когнитивный диссонанс.
1. Тяжело нагруженные системы это «системы одного сервиса». Ящик под оракел. Ящик под САП. Ящик под почту. Ящик под жабосервис
2. Как известно, параллельный старт системы с одним сервисом примерно равен временти последовательного старта одного сервиса :-)
3. Тяжелонагруженные системы не перезагружаются с частотой, при которой время загрузки становится важным

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

> Не понял к чему это, в смысле, почему ко мне

Не, пункт про «учить жизни» был «в пространство» :) Меня тут в соседнем треде к виндовым пионерам записали :) причём, судя по речевым оборотам и общей безапелляционности, записывавший, ну, лишь немного постарше моего старшего :)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Lothlorien ★★★
()
Ответ на: комментарий от 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

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

А как же Slackware? O_o

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

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

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

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

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

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

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

> У нас в общаге количество стационарных компов уже точно не 50%. Намного меньше. Ноут нужно бысть включить, поработать и быстро выключить

Вы выклюбчаете ноут? Suspend/Hibernate опять сломан? >_<

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

> моя засыпает и просыпается очень быстро.

Ну, когда она засыпает - это здорово. А вот мой свежесобранный домашний десктоп в s2m уходить не желает, видимо, набортный USB3.0 контроллер ещё не поддерживается (Device usb8 failed to suspend при отсутствующих USB-дивайсах). Так что, либо s2d (что уже совсем, совсем другие времена), либо полное выключение. И когда комп используется как эдакий домашний «центр развлечений», то время загрузки становится важной составляющей мягких и шелковистых волос... И, кстати, сразу после установки 10.04 s2d в списке отсутствовал...

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

>30 лет init-скрипты работали и всех устраивали, но в 2010 году ВНЕЗАПНО шелл и греп стали тормозить.

для кого внезапно, а для кого инит-скрипты всегда были слабоконтролируемой свалкой непроверенного кода.

Да, от создателя PulseAudio это звучит особенно убедительно.

а вот это настораживает...

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

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

А под апстарт ничего, кроме init-скрипта переделывать не надо.

Есть еще такой момент, что не со всеми демонами можно использовать upstart-скрипты. И еще то, что неправильно написанный upstart-скрипт (например, expect daemon вместо expect fork) может доставить кучу головной боли.

Я не знаю, как обстоят дела с systemd, но upstart пока еще очень сырой, чтобы полностью отказываться от init-скриптов. Что в конечном итоге добавляет головную боль системному администратору - одна половина скриптов на upstart, другая - традиционные init.d

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

> По топику: наверное, систем инициализаций должно быть несколько и должна быть возможность их выбора.

В данном случае «свобода выбора» - это головня боль мейнтэйнерам - им придется писать/тестировать скрипты подо все системы инициализации. Что не есть удобно.

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

>Это может быть за гранью дозволенного.

Всегда есть машина, на которой делают ./configure && make. Это прямо следует из куцести и убогости так называемых «энтерпрайзных» дистрибутивов, где стоит вылезти за рамки песочницы, называемой LAMP, как ощущается сильная нехватка софта в репозиториях.

А уж если init-скрипты правят на одной машине, а потом разносят правки на все, то тут абсолютно пофиг, текстовые ли это скрипты или ELF'ы.

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

>>30 лет init-скрипты работали и всех устраивали, но в 2010 году ВНЕЗАПНО шелл и греп стали тормозить.

для кого внезапно, а для кого инит-скрипты всегда были слабоконтролируемой свалкой

Да-да, конечно. Как вообще определяется «контролируемость»?

непроверенного кода.

Ага, очень редко запускаемого к тому же.

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

>> Это может быть за гранью дозволенного.

Всегда есть машина, на которой делают ./configure && make. Это прямо следует из куцести и убогости так называемых «энтерпрайзных» дистрибутивов

О чем ты вообще? O_o

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

>О чем ты вообще? O_o

Я о том, что gcc присутствует в обязательном порядке. Иногда на соседней машине, но он есть и нет причин, которые бы помешали им воспользоваться.

Более того, интерпретатор перла, питона или что там еще сейчас модно, на машине, соприкасающейся с внешним миром, гораздо более опасная вещь, чем gcc. Я же правильно понял, что под «интерпретатором, который есть везде», ты не /bin/sh понимаешь?

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

> Я о том, что gcc присутствует в обязательном порядке. Иногда на соседней машине, но он есть и нет причин, которые бы помешали им воспользоваться.

То есть тактика такова: вытаскиваем из сырцового пакета исходники init-скрипта, компилируем их на соседней машине, и подбрасываем бинарь на машину, где возникла проблема? Очень удобно,да..

Я же правильно понял, что под «интерпретатором, который есть везде», ты не /bin/sh понимаешь?

Неправильно. Я подразумеваю именно /bin/sh (или /bin/bash), на котором и пишутся сейчас init-скрипты.

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

>пульсаудио <...> И выкосить нормально из системы нельзя.

Выкинь свой дистр на помойку. Я из федоры с лёгкостью удалял пульсаудио и всё начинало работать по-старому, т.к. в режиме войны между alsa, oss и esd.

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

>Неправильно. Я подразумеваю именно /bin/sh (или /bin/bash), на котором и пишутся сейчас init-скрипты.

Ой, эти скрипты без sed'ов и прочих coreutils работать не будут. Авторы, кстати, правильно замечают, что на сторонние процессы тратися довольно-таки много времени. И мосье, видимо, давно не писал скриптов для /bin/sh — мягко говоря, не самое приятное занятие.

То есть тактика такова: вытаскиваем из сырцового пакета исходники init-скрипта, компилируем их на соседней машине, и подбрасываем бинарь на машину, где возникла проблема? Очень удобно,да..

Пользуюсь линуксом уже лет 6-7 и ни разу не было необходимости править что-то кроме rc.local. Проблема высосана из пальца, а корни ее следует искать в твоей боязни нативного кода.

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

>> Я подразумеваю именно /bin/sh (или /bin/bash), на котором и пишутся сейчас init-скрипты.

Ой, эти скрипты без sed'ов и прочих coreutils работать не будут.

Без sed и прочих coreutils много чего работать не будет.

Авторы, кстати, правильно замечают, что на сторонние процессы тратися довольно-таки много времени

Нет веры этим авторам.

Пользуюсь линуксом уже лет 6-7 и ни разу не было необходимости править что-то кроме rc.local.

И даже --noscripts ни разу не поставил? «Не верю» (с)

И мосье, видимо, давно не писал скриптов для /bin/sh — мягко говоря, не самое приятное занятие.

в твоей боязни нативного кода.

Доктор, вы, походу, не доктор :)

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

>И мосье, видимо, давно не писал скриптов для /bin/sh — мягко говоря, не самое приятное занятие.

+1. Я недавно пытался хитрым способом 4ре процесса пускать, но плюнул, ибо возни много, надёжность никакая.

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

>Проблема высосана из пальца, а корни ее следует искать в твоей боязни нативного кода.

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

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

> плюнул, ибо возни много

Этому может быть много причин... «Ну ты понел» (с)

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

>Нет веры этим авторам.

Ну так проверь самостоятельно: делаешь директорию с миллионом файлов и сравниваешь время выполнения find $DIR -print0 | xargs -0n1 rm -f и find $DIR -delete. Разница будет как раз в создании миллиона процессов.

И даже --noscripts ни разу не поставил? «Не верю» (с)

Может и было пару раз — не помню, давно с rpm и бинарными дистрибутивами завязал.

Доктор, вы, походу, не доктор :)

Ну я не знаю, чем можно объяснить паническую боязнь gcc и сегфолтов нативного кода кроме внутреннего психологического барьера, вызванного какой-нибудь травмой падения helloworld'а в фидоре от сырости тамошнего gcc.

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

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

Честно говоря, за такой подход к делу, я бы бил кедой по морде и выгонял из профессии. Понаписали скриптового говна, так что теперь нужно минимум 2Gb оперативной памяти, чтоб современный линукс не свопился от комбинации браузер + почтовый клиент + эмелятор терминала + аудиоплеер.

Кстати, аргументация, почему не надо нативного кода будет? Нативный код, как правило, пишут более квалифицированные люди и чуть более аккуратно, чем быдлоадмины ваяют быдлоскрипты. Приходилось мне видеть образчики скриптового полета перловой мысли. На C так написать нельзя.

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

>Честно говоря, за такой подход к делу, я бы бил кедой по морде и выгонял из профессии.

Я только не понял почему ты предложил выше по треду чтобы хвостострелок пускал find - а не привел код на С. Найди себе кед и по морде себе по морде.

2Gb оперативной памяти, чтоб современный линукс не свопился от комбинации браузер + почтовый клиент + эмелятор терминала + аудиоплеер.


Современныый бинарный виндовс требует много меньше. Дада.

Кстати, аргументация, почему не надо нативного кода будет?


Ты лучше найди аргументацию на кой черт он нужен.

В идеальном мире идеальная опенсорсная ОС как и любая программа выглядела бы в виде запускаемых исходных кодов. Что-то не понравилось? Поменял и работаешь.

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




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

> Ну так проверь самостоятельно: делаешь директорию с миллионом файлов и сравниваешь время выполнения find $DIR -print0 | xargs -0n1 rm -f и find $DIR -delete. Разница будет как раз в создании миллиона процессов.

Эээ... а зачем? Миллион файлов в одном каталоге - это характерно для загрузки системы? Кстати, у ext3 ограничение на ~32k фалов в каталоге.

И даже --noscripts ни разу не поставил? «Не верю» (с)

Может и было пару раз — не помню, давно с rpm и бинарными дистрибутивами завязал.

А, гентушнег... пользуешься portage и что-то имеешь против скриптовых языков?

Ну я не знаю, чем можно объяснить паническую боязнь gcc и сегфолтов нативного кода кроме внутреннего психологического барьера

Да я и сам бы затруднился такое диагностировать... но никогда не встречал такого.

Понаписали скриптового говна, так что теперь нужно минимум 2Gb оперативной памяти, чтоб современный линукс не свопился от комбинации браузер + почтовый клиент + эмелятор терминала + аудиоплеер.

Не преувеличивай:

Mem: 1962516k total, 1910356k used, 52160k free, 24704k buffers

Swap: 2650684k total, 68k used, 2650616k free, 1224340k cached

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

Не, насчет ограничения соврал - 32k подкаталогов в каталоге.

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

> максимально разумно это сделано как ни странно во фре.

Непараллельно, нету запа, все через rc.conf, преапы/предауны постапы/постдауны через одно место --> на свалку.

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

> В данном случае «свобода выбора» - это головня боль мейнтэйнерам - им придется писать/тестировать скрипты подо все системы инициализации. Что не есть удобно.

Отсюда вывод, что должен быть некое атомарное нечто (скрипт, скажем), запускающее и останавливающее демоны, на базе которого и должны строиться системы инициализации.

Захотел последовательно — sysvinit/bsdinit, захотел параллельно — upstart, захотел контролировать каждый чих — systemd тебе в руки.

Хотя в пределах одного дистрибутива маловероятно, что это будет реализовано.

Существующий sysvinit хорош тем, что все его знают. А так начинаем плодить зоопарк решений для запуска демонов, в результате чего уже их разработчики плюнут на всё и будут писать конструкции управления в стиле apachectl, предлагая запихивать старт сервиса в /etc/rc.local

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

>Я о том, что gcc присутствует в обязательном порядке. Иногда на соседней машине, но он есть

Профессиональные искажения восприятия, что ли? Или гента?

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

>Профессиональные искажения восприятия, что ли? Или гента?

Это называется суровая правда жизни.

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

Ага. И ODM-реестр еще впридачу. Нет уж, спасибо.

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

>А, гентушнег... пользуешься portage и что-то имеешь против скриптовых языков?

libastral.so? Может, у него paludis?

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

> 30 лет init-скрипты работали и всех устраивали,

они и дальше будут работать, но это не отменяет того, что система цифровых префиксов — уродская;

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

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

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

> 30 лет init-скрипты работали и всех устраивали,

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

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

>Обоснуешь, или так, дело вкуса

Отвечу я: это мудачество - костыльная замена автоматических зависимостей, давно требующая, чтобы ее похоронили.

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

> это мудачество - костыльная замена

Откуда вы такие экспрессивные беретесь...

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

Обоснуешь, или так, дело вкуса?

обосную;

1. для кого создавалась эта система? я предполагаю, что для человека

2. почему человек должен помнить, что <сколько-то там> означает что все интерфейсы подняты, еще <сколько-то там> означает, что БД запущены (и да, я не помню этих цифр) ? это примерно как ЯП, где нельзя определить или задефайнить константу

3. хорошо, пусть префиксы — можно было бы дать на них по одной букве (это если нужна совместимость с говном мамонта, где имена файлов короткие) и писать префиксы в виде --n-d--xyz-apache, что означает, что апачу нужна сеть (n), база данных (d) и еще че-то (xyz)уже апущенной; префиксы сортируются как и раньше, и даже можно и цифирку одну добавить в префикс

кстати в дебиане ленни не только префиксы, вот например

$ head /etc/init.d/hal
#! /bin/sh
### BEGIN INIT INFO
# Provides:          hal
# Required-Start:    $remote_fs dbus
# Required-Stop:     $remote_fs dbus
# Should-Start:      $syslog acpid
# Should-Stop:       $syslog acpid
# Default-Start:     2 3 4 5
# Default-Stop:      1
# Short-Description: Hardware abstraction layer

это я к тому, что уродство цифровых префиксов не означает автоматической хорошести системд

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

* для определения порядка запуска префиксы сортируются как и раньше,

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

> Обоснуешь, или так, дело вкуса?

если кратко: а давай мы ключи всех команд *тоже* сделаем чисто цифровыми?

wget -37 -23 -45 http://example.com

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

1. для кого создавалась эта система? я предполагаю, что для человека

Для человека и для скрипта.

2. почему человек должен помнить, что <сколько-то там> означает что все интерфейсы подняты, еще <сколько-то там> означает, что БД запущены

Ы? Цифры ничего такого не значат:

$ ls /etc/rc2.d/
README           S20distcc             S25nfs-user-server
S05loadcpufreq   S20exim4              S26network-manager
S05vbesave       S20kerneloops         S26network-manager-dispatcher
S10rsyslog       S20kvm                S30gdm
S12acpid         S20nfs-common         S30system-tools-backends
S12dbus          S20nfs-kernel-server  S89anacron
S14avahi-daemon  S20openbsd-inetd      S89atd
S16ssh           S20rsync              S89cron
S19autofs        S20vsftpd             S99acpi-support
S19cpufrequtils  S24dhcdbd             S99rc.local
S20apmd          S24hal                S99rmnologin
S20cups          S25bluetooth          S99stop-bootlogd

имя службы и ее порядковое место в запуске. Без затей, но зато работает. Как ты одной командой посмотришь порядок запуска служб в upstart?

префиксы в виде --n-d--xyz-apache, что означает, что апачу нужна сеть (n), база данных (d) и еще че-то (xyz)уже апущенной

А вот это уже уродство.

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

>> 2. почему человек должен помнить, что <сколько-то там> означает что все интерфейсы подняты, еще <сколько-то там> означает, что БД запущены

Ы? Цифры ничего такого не значат:

детский сад какой-то (или я чего-то совсем не понимаю)

1. цифры назначаются (в дебиане) в пакете (допустим, в postinstall скрипте) и *едины* для всего дистрибутива

2. допустим ты пакуешь в пакет какую-то свою прогу (например, no-sql хранилку данных; она может слушать как на наружных сетевых интерфейсах, так и на 127.0.0.1 и юзаться апачем/лайти/...); ты понимаешь, что не можешь ей присвоить от балды номер? ты понимаешь, что тебе придется узнавать номера тех фич, которые она юзает (интерфейсы) и тех, которые ее юзают (апач) ?

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

> Как ты одной командой посмотришь порядок запуска служб в upstart?

апстарт не юзал, но думаю там вывести порядок проблем нет — что-нить типа --dry-run

если что — утилитка для топологической сортировки уже сто лет в дебиане

а порядок загрузки с моими префиксами будет выводится той же командой, что с твоими

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

> Обоснуешь, или так, дело вкуса?

кстати, я не считаю чем-то плохим ручное указание зависимостей — но текстовое выражение их в виде цифры... это феерично!

такое было только в древних бейсиках, где для указания порядка исполнения в начале строки ставился ее номер, да еще в добавок между допустим 31 и 32 было нереально вставить новую строку — ровно то же, что в «современном» дебиане!!!

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

>такое было только в древних бейсиках, где для указания порядка исполнения в начале строки ставился ее номер, да еще в добавок между допустим 31 и 32 было нереально вставить новую строку — ровно то же, что в «современном» дебиане!!!

Там была же какая-то команда для перенумерации строк :D

Чёрт, позабыл основы!

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

>> Как ты одной командой посмотришь порядок запуска служб в upstart?

апстарт не юзал, но думаю там вывести порядок проблем нет — что-нить типа --dry-run

Насколько я понял из его Вики документации, upstart сам не знает, в каком порядке будут запущены сервисы. Ну и ссылку на блог об upstart я уже давал.

А вот это уже уродство.

почему-то в LSB решили стандартизировать эти facilies

Я знаю. Но, в отличие от тебя, они не предлагают включать facilities в имена скриптов - именно такое включение я назвал уродством.

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

> 3. эти цифры еще и от дистра зависят

И что? В Debian и пакеты по-другому называются, и даже пакетный менеджер другой.

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

>Там была же какая-то команда для перенумерации строк :D

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

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

> Там была же какая-то команда для перенумерации строк :D Чёрт, позабыл основы!

была, но не во всех бейсиках; а еще у нас в школе был фокал, так там тоже номера строк и не было команды перенумерации (1988 год если что)

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

>> почему-то в LSB решили стандартизировать эти facilies

Я знаю. Но, в отличие от тебя, они не предлагают включать facilities в имена скриптов - именно такое включение я назвал уродством.

мысль с самого начала была выражена условно:

ЕСЛИ_УЖ включать что-то в имена скриптов

ТО_РАЗВЕ_ЧТО стандартизированные LSB facilies + локальные свои

НО_НЕ_В_КОЕМ_СЛУЧАЕ не двузначные числа

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

>> 3. эти цифры еще и от дистра зависят

И что?

и то, что тебе, как пакетостроителю, придется помнить не одно цифровое значаение константы NETWORK_IS_UP, а несколько для разных дистров — это и называется зоопарк.

В Debian и пакеты по-другому называются, и даже пакетный менеджер другой.

гы. это не мешает иметь FHS и класть многие файлы в одно и то же место.

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

>> Я знаю. Но, в отличие от тебя, они не предлагают включать facilities в имена скриптов - именно такое включение я назвал уродством.

мысль с самого начала была выражена условно:

ЕСЛИ_УЖ включать что-то в имена скриптов

ТО_РАЗВЕ_ЧТО стандартизированные LSB facilies + локальные свои

Имя всё равно будет уродливым.

В Debian и пакеты по-другому называются, и даже пакетный менеджер другой.

и то, что тебе, как пакетостроителю, придется помнить не одно цифровое значаение константы NETWORK_IS_UP, а несколько для разных дистров

Отчасти для этого придуманы facilities, и см. ниже.

гы. это не мешает иметь FHS и класть многие файлы в одно и то же место.

Как человек, перешедший с RH на Debian, могу сказать, что приоритеты служб - наименьшая из проблем :)

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

> Имя всё равно будет уродливым.

как раз таки уродливо или нет имя — это дело вкуса, а вот архитектурное решение «упорядочивать по цифровому префиксу» уродливо гораздо более объективно, и именно про него я с самого начала говорил, а не про имена

кстати, бывает я делаю

./generate | sort -u > new
./new

и в new получается не плоский порядок, а циклы, условные операторы, но блин предложить аналогичное (сортировка по префиксам) для масштаба целой юникс-системы/дистрибутива — это феерично!

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

> Как человек, перешедший с RH на Debian, могу сказать, что приоритеты служб - наименьшая из проблем :)

«наименьшая» должна определяться в рамках нынешней дискуссии, т.е. init-системы; и я вообще не представляю, что в рамках инит-системы может быть важнее порядка запуска

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

> а вот архитектурное решение «упорядочивать по цифровому префиксу» уродливо гораздо более объективно

Ерунда. Тебе просто нужно вставить узел в уплощенный граф зависимостей в уме (этот граф не зависит от дистрибутива, и уплощен до тебя).

Как человек, перешедший с RH на Debian, могу сказать, что приоритеты служб - наименьшая из проблем :)

«наименьшая» должна определяться в рамках нынешней дискуссии

Как раз нет. Цена миграции - это время и усилия на то, чтобы научиться эффективно работать в новой системе. По своему опыту скажу - init-система освоения не требует.

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

> (этот граф не зависит от дистрибутива, и уплощен до тебя).

«уплощенный до меня» граф — это уродство (оно приемлемо только если я сам сделал этот граф плоским, и выброшу скрипт, юзающий его, на следующей неделе)

этот граф не зависит от дистрибутива

ты уверен?

в дебиане дефолтный приоритет 20 и ssh имеет приоритет 15, в редхате ssh имеет приоритет 55, и какой там дефолтный приоритет?

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

> Цена миграции - это время и усилия на то, чтобы научиться эффективно работать в новой системе. По своему опыту скажу - init-система освоения не требует.

«работать в» можно сразу почти везде в unix-like и даже иногда на винде

время требуется на то, чтобы освоить самостоятельное расширение системы — так что твои слова могут фактически означать «мне не пришлось бодаться с инит-системой» и кстати да, часто вполне можно обойтить S99my_thing, но это не означает что инит-система спроектирована удачно

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

> этот граф не зависит от дистрибутива

кстати, как там в RH с криптованными дисками и на каком приоритете служб они подключаются?

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

> «уплощенный до меня» граф — это уродство

Это приемлемое упрощение.

этот граф не зависит от дистрибутива

ты уверен?

Да.

в дебиане дефолтный приоритет 20 и ssh имеет приоритет 15

Дефолтный приоритет чего?

Цена миграции - это время и усилия на то, чтобы научиться эффективно работать в новой системе. По своему опыту скажу - init-система освоения не требует.

«работать в» можно сразу

Я сказал «эффективно работать».

почти везде в unix-like и даже иногда на винде

Возможно есть такие люди, но я не настолько крут - мне нужно учиться. Да и Unix-like бывают разные - посмотрел бы я на новичка за консолью SPARC/Solaris v2.5

как там в RH с криптованными дисками и на каком приоритете служб они подключаются?

Не сталкивался. Думаю, они монтируются, как обычные локальные ФС.

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

> Дефолтный приоритет чего?

приоритет, который по дефолту проставляет update-rc.d

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