LINUX.ORG.RU
ФорумTalks

[systemd] Впечатление

 


0

1

В дебиан наконец попала работающая версия systemd. Я ее установил, при этом на всякий случай сохранив совместимость с SysV.

И знаете, шо я вам таки скажу? Система стала грузиться очень похоже на венду. В смысле, очень быстро появляется getty, потом винчестером колбасит и 12309 во все щели, потом системой можно пользоваться. Где-то за такое же время, как в обычном SysV init.

Для того, чтобы система грузилась как задумывалось (а основная фишка — не столько параллельность, сколько то, что сервисы подымаются по требованию), там надо пилить и пилить.

Итого. Пока что systemd — игрушка для любителей пилить золотые внутри гири, для всех остальных — увы, fail.

★★★★★

Быстро загружается, да?

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

Это не крик души. Это такой намек тем, кто любить что-то поковырять на досуге. А так — оно даже работает. Обещают, что можно автомонтировать флешки даже в консоли, быть вместо cron'а, и все другие няшки, которыми до сих пор хвасталась только макось.

Я думаю перетаскивать сервисы по одному в пару дней из sysv.

shimon ★★★★★
() автор топика

>>Система стала грузиться очень похоже на венду

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

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

Ну паралельная загрузка в OpenRC работает с той же скоростью, но еще умудряется делать страшные вывод на экран

vertexua ★★★★★
()

В смысле, очень быстро появляется getty, потом винчестером колбасит и 12309 во все щели, потом системой можно пользоваться.

Это кстати в чем-то плюс, если системд пойдет в массы, то может кернел-девелоперы таки постараются и что-то решат с 12309 и параллельным чтением. Потому что в теории - оно должно быть быстрее, у ядра больше возможностей по оптимизации чтения, если ему накидать кучу запросов. А на практике - да, пока фейл.

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

> Эм, udev уже отменили?

udev только сообщает, что девайс такой-то появился. Потом какой-то gnome-volume-manager решает, как с этим быть. Писать же правила для голого udev — это ад и погибель.

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

Ну я дословно не могу сказать, но там было Starting, End Starting и эти сообщения мне как-то не очень были. А что, стало быстрее намного? У меня тоже OpenRС, но паралельная загрузка отключена. Я профита не увидел

vertexua ★★★★★
()

Эх, а как расписывали его прелести...

Кстати, такой вопрос: правильно ли я понимаю, что с новой схемой запуска «по требованию» будет невозможно предсказать, в каком порядке поднялись демоны?

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

Нет, неправильно. Все зависимости прописываются. И если надо одно после другого - есть опция After.

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

> но там было Starting, End Starting и эти сообщения мне как-то не очень были.
о_О
оно пишет только(у меня) starting service [ok]
и всё :)

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

> Кстати, такой вопрос: правильно ли я понимаю, что с новой схемой запуска «по требованию» будет невозможно предсказать, в каком порядке поднялись демоны?

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

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

Ну и, зависимости всех мастей есть, их никто не отменял.

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

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

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

Вот бы бенчмарк запилить systemd, init-ng, openrc

openrc сольёт, т.к. там init-скрипты на том же шелле написаны.

Deleted
()

systemd? А upstart, его проскакиваем?

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

>Я думаю перетаскивать сервисы по одному в пару дней из sysv.

Ты, прежде чем перетаскивать, порыскай по багзилле федоры, там есть некоторые сервисы для systemd, которых нет в стандартной поставке. Плюс из самой федоры можно потырить. Я оттуда, например, взял себе сервис для запуска gdm (чтобы не через костыли это делать) и сервисы для plymouth. И ещё, когда будешь портировать sysv'шные, обрати внимание на тонкости, типа того, что демоны должны запускаться с опцией, которая их переводит из background в foreground.

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

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

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

>И если надо одно после другого - есть опция After

Она, кстати, иногда очень хитро срабатывает: в одних случаях (как я понял, если сервисы поднимаются на одном уровне, например graphical) оно отрабатывает как «запустить сервис сразу после того, как поднимется тот, что перечислен в After», а в других (если сервисы разноуровневые) — означает, что сервис будет поднят после того, как завершит свою работу тот, что в After прописан

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

>Какие плюсы?

Быстрый, удобные утилиты, каждое действие описано отдельным файлом (как в SysV).

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

означает, что сервис будет поднят после того, как завершит свою работу тот, что в After прописан

Гм, может тот, после которого запустить, описан как oneshot просто?

Behaviour of oneshot is similar to simple, however it is expected that the process has to exit before systemd starts follow-up units. RemainAfterExit= is particularly useful for this type of service.

Потому что ман по поводу After довольно однозначен, но сами юниты могут быть разнообразными, и факт запуска у них различный.

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

Ну вот у меня такое наблюдалось с gdm как раз (он не oneshot):

[Unit]
Description=Display Manager
After=syslog.target dbus.target

[Service]
ExecStart=/usr/sbin/gdm -nodaemon
Restart=restart-always
RestartSec=0

[Install]
Alias=display-manager.service
WantedBy=graphical.target

При этом, если пробовать некоторые сервисы запускать после него (например, preload), то все получается как я выше написал.

kss ★★★★★
()

> Система стала грузиться очень похоже на венду

<fat>Ну наконец-то этот ваш лайнакс становится похож на нормальную систему</fat>

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

Ну комменты там можно ставить не толкьо через ;, но и православною решеткою)

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

> И ещё, когда будешь портировать sysv'шные, обрати внимание на тонкости, типа того, что демоны должны запускаться с опцией, которая их переводит из background в foreground.

Я об этом как-бы в курсе по launchd.

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

>Есть подозрение, что это не про OpenRC
по-моему про него

Чем же так страшен OpenRC'шный вывод на экран?

Ну я дословно не могу сказать, но там было Starting, End Starting и эти сообщения мне как-то не очень были.

оно пишет только(у меня) starting service [ok]

megabaks ★★★★
()

>>udev только сообщает, что девайс такой-то появился. Потом какой-то gnome-volume-manager решает, как с этим быть. Писать же правила для голого udev — это ад и погибель.

Use automount, Luke.

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

Lockywolf ★★★
()

>>Итого. Пока что systemd — игрушка для любителей пилить золотые внутри гири, для всех остальных — увы, fail.

Чудовищно... Люди, вам что, действительно важно, сколько ваша система грузится?

И что, «условия гонки» никогда при этой «параллельной загрузке» не проявляются?

И все демоны нормально стартуют, при том, что авторы, конечно, друг с другом не советуются и пишут инитскрипты для своей любимой системы запуска (init, init-ng, openrc, upstart, systemd) кто во что горазд.

Да черт возьми, это я-то считал, что в 2004 году было плохо. нет черт возьми, в 2004 было много лучше, чем сейчас.

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

Читай внимательнее — загрузка не столько параллельная (это каждый подзаборный sysv умеет, наверное, с Debian Etch начиная), сколько ленивая. Это действительно хорошо и правильно.

Подумай сам. У тебя допустим, машинка для разработки. Ну там, постгрес, мускуль, редис, то-се по мелочи. Еще какие-то демоны на тестировать. sshd, конечно же. И тебе большую часть времени эта вся-вся-вся кухня не нужна, а только частями. systemd, как и макосовский launchd, позволяет не грузить ни один из этих сервисов, пока он тебе не станет на самом деле нужен: стучишь в порт 22, вот тогда sshd и запустится. Теребишь порт 5432 — подымается постгрес. И так далее.

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

В том, что на ноутбуке некоторые могут оказаться так и не запущенными; кроме того, все ужасы условий гонки и 12309 устраняются на корню (потому что загрузка во времени размазывается неплохо), а это хорошо.

И еще хорошо, что если все юниты правильные (то бишь родные, а не эмуляция SysV init), то пропадает сходство с вендой: мало того, что система быстро передает штурвал пользователю, она сразу же готова к употреблению, а не тупит несколько минут, ожесточенно молотя жестким диском и демонстрируя пренебрежение к хозяину.

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

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

> В том, что на ноутбуке некоторые могут оказаться так и не запущенными

Смешно. Ты не пробовал отключать неиспользуемые сервисы?

все ужасы условий гонки и 12309 устраняются на корню

ЩИТО?

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

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

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

Не, не, хорошая штука. Жаль что пока сырая.. А так, ждем-с.

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