Каковы плюсы / минусы Upstart и systemd?


183

Похоже, systemd - это новая горячая система инициализации в блоке, такая же, как Upstart несколько лет назад. Каковы плюсы / минусы для каждого? Кроме того, как каждая из них сравнивается с другими системами инициализации?


4
@keith iirc openrc просто использует SysV, преимуществом является хорошо спроектированная коллекция сценариев запуска, которые используют общие компоненты и являются переносимыми (то есть работают на любой оболочке). Это хорошая очистка, но на самом деле это не новый initd
xenoterracide

@ xeno Да, но ты не можешь сказать. нет никаких ссылок rcX.d или [KS] вообще. На самом деле сам sysv init довольно гибок, и уровни запуска на самом деле не используются обычным способом.
Кит

Хотя автор этого блога против systemd, я предлагаю прочитать его. Здесь рассказывается о плюсах и минусах systemd и BSD init. textplain.net/blog/2015/…
Пешке

1
Пожалуйста, пройдите также обновление 2016 года на unix.stackexchange.com/a/287282/49091 .
igaurav

Любые предполагаемые преимущества systemd через 100 лет не компенсируют затраты, уже понесенные в мире для его реализации. Каждая минута, час или день, потраченные администратором Unix на решение этой проблемы, уже должны составлять миллиарды, и что за реальная выгода, кроме пары наворотов?
Waslap

Ответы:


90

Обновление 2016

Большинство ответов здесь пять лет, поэтому пришло время для некоторых обновлений.

Ubuntu по умолчанию использовал upstart, но отказался от него в прошлом году в пользу systemd - смотрите:

По этой причине в Wiki Ubuntu есть хорошая статья Systemd для пользователей Upstart - очень подробное сравнение между upstart и systemd и руководство по переходу от upstart к systemd.

(Обратите внимание, что согласно вики Ubuntu, вы по-прежнему можете запускать upstart в текущих версиях Ubuntu по умолчанию, установив upstart-sysvи запустив, sudo update-initramfs -uно учитывая масштабы проекта systemd, я не знаю, как он работает на практике, или нет systemd можно удалить.)

Большая часть информации в разделах «Команды и сценарии» ниже взята из некоторых примеров, использованных в этой статье (она удобно лицензируется, как и вклады пользователей Stack Exchange в рамках лицензии Creative Commons Attribution-ShareAlike 3.0 ).

Вот быстрое сравнение общих команд и простых скриптов, подробное объяснение смотрите в разделах ниже. Этот ответ сравнивает старое поведение систем на основе Upstart с новым поведением систем на основе systemd, как было задано в вопросе, но обратите внимание, что команды, помеченные как «Upstart», не обязательно зависят от Upstart - они часто являются командами, которые являются общими для любой не системной системы Linux и Unix.

команды

Запуск su:

  • выскочка: su
  • Systemd: machinectl shell

(см. раздел «Замена команды su» ниже)

Рабочий экран:

  • выскочка: screen
  • Systemd: systemd-run --user --scope screen

(см. раздел «Неожиданное уничтожение фоновых процессов» ниже)

Запуск tmux:

  • выскочка: tmux
  • Systemd: systemd-run --user --scope tmux

(см. раздел «Неожиданное уничтожение фоновых процессов» ниже)

Начало работы foo:

  • выскочка: start foo
  • Systemd: systemctl start foo

Остановка работы foo:

  • выскочка: stop foo
  • Systemd: systemctl stop foo

Возобновление работы foo:

  • выскочка: restart foo
  • Systemd: systemctl restart foo

Список рабочих мест:

  • выскочка: initctl list
  • Systemd: systemctl status

Проверка конфигурации задания foo:

  • выскочка: init-checkconf /etc/init/foo.conf
  • Systemd: systemd-analyze verify /lib/systemd/system/foo.service

Перечисление переменных окружения задания:

  • выскочка: initctl list-env
  • Systemd: systemctl show-environment

Установка переменной среды задания:

  • выскочка: initctl set-env foo=bar
  • Systemd: systemctl set-environment foo=bar

Удаление переменной среды задания:

  • выскочка: initctl unset-env foo
  • Systemd: systemctl unset-environment foo

бревна

В upstart журналы - это обычные текстовые файлы в каталоге / var / log / upstart, поэтому вы можете обрабатывать их как обычно:

cat /var/log/upstart/foo.log
tail -f /var/log/upstart/foo.log

В systemd логи хранятся во внутреннем двоичном формате (не в виде текстовых файлов), поэтому вам необходимо использовать journalctlкоманду для доступа к ним:

sudo journalctl -u foo
sudo journalctl -u foo -f

Сценарии

Пример сценария upstart, написанный на /etc/init/foo.conf:

description "Job that runs the foo daemon"
start on runlevel [2345]
stop on runlevel [016]
env statedir=/var/cache/foo
pre-start exec mkdir -p $statedir
exec /usr/bin/foo-daemon --arg1 "hello world" --statedir $statedir

Пример сценария systemd, написанный на /lib/systemd/system/foo.service:

[Unit]
Description=Job that runs the foo daemon
Documentation=man:foo(1)
[Service]
Type=forking
Environment=statedir=/var/cache/foo
ExecStartPre=/usr/bin/mkdir -p ${statedir}
ExecStart=/usr/bin/foo-daemon --arg1 "hello world" --statedir ${statedir}
[Install]
WantedBy=multi-user.target

замена команды su

suЗамена команды была объединена в Systemd в запросе тянуть # 1022:

потому что, по словам Леннарта Поеттеринга, «су - действительно сломанная концепция» .

Он объясняет, что «вы можете использовать su и sudo, как и раньше, но не ожидайте, что он будет работать в полном объеме » .

Официальный способ достижения suподобного поведения теперь:

machinectl shell

Это было объяснено Леннартом Поеттерингом в дискуссии по вопросу № 825:

«Ну, были долгие дискуссии по этому поводу, но проблема в том, что то, что должен делать su, очень непонятно. [...] Короче говоря, su - действительно сломанная концепция. Это даст вам вид оболочки , и это хорошо, чтобы использовать это для этого, но это не полный вход в систему, и не должен быть принят за один. " - Леннарт Поэттеринг

Смотрите также:

Неожиданное уничтожение фоновых процессов

Команды как:

больше не работает, как ожидалось . Например, nohupэто команда POSIX, чтобы убедиться, что процесс продолжает работать после выхода из сеанса. Это больше не работает на systemd. Также такие программы, как screenи tmuxдолжны вызываться особым образом, иначе процессы, которые вы запускаете с ними, будут убиты (в то время как не уничтожение этих процессов обычно является основной причиной запуска screen или tmux в первую очередь).

Это не ошибка, это осознанное решение, поэтому вряд ли оно будет исправлено в будущем. Вот что Леннарт Поеттеринг сказал по этому поводу:

На мой взгляд, в UNIX было довольно странно, что по умолчанию произвольный пользовательский код оставался неограниченным после выхода из системы. Многие люди, работающие с ОС, уже давно обсуждают, что это должно быть возможно, но, конечно, не по умолчанию, но никто так и не осмелился щелкнуть переключателем, чтобы превратить его из значения по умолчанию в опцию. Не очистка пользовательских сессий после выхода из системы - это не только уродливо и несколько хакерски, но и проблема безопасности. Теперь systemd 230 наконец-то щелкнул переключателем и, наконец, по умолчанию все корректно очищает, когда пользователь выходит из системы.

Для получения дополнительной информации см .:

Концепция стартапа высокого уровня

Таким образом, systemd работает задом наперед - в upstart-заданиях запускаются как можно быстрее, а в systemd-заданиях запускаются тогда, когда это необходимо. В конце дня обе системы могут запускать одинаковые задания в одном и том же порядке, но вы думаете об этом, глядя, так сказать, с противоположной стороны.

Вот как это объясняет Systemd для пользователей Upstart :

Модель Upstart для запуска процессов (заданий) «основана на жадных событиях», т.е. все доступные задания, события запуска которых запускаются, запускаются как можно раньше. Во время загрузки программа upstart синтезирует некоторые начальные события, такие как запуск или rcS, в качестве «корня дерева», ранние службы запускаются на них, а более поздние службы запускаются при запуске первых. Новая работа просто должна установить свой файл конфигурации в / etc / init /, чтобы стать активной.

Модель systemd для запуска процессов (модулей) основана на «отложенной зависимости», то есть модуль будет запускаться только в том случае, если от него зависит какой-либо другой начальный модуль. Во время загрузки systemd запускает «корневой модуль» (default.target, может быть переопределен в grub), который затем транзитивно расширяется и запускает свои зависимости. Новый модуль должен добавить себя в качестве зависимости модуля загрузочной последовательности (обычно multi-user.target), чтобы стать активным.

Использование в дистрибутивах

Теперь некоторые последние данные по Википедии:

По умолчанию дистрибутивы используют upstart:

По умолчанию дистрибутивы используют systemd:

  • Arch Linux - с октября 2012 года
  • CentOS - с апреля 2014 года (7.14.04)
  • CoreOS - октябрь 2013 г. (версия 94.0.0)
  • Debian - с апреля 2015 года (версия 8)
  • Fedora - с мая 2011 года (версия 15)
  • Mageia - с мая 2012 года (версия 2.0)
  • openSUSE - с сентября 2012 г. (версия 12.2)
  • Red Hat Enterprise Linux - с июня 2014 г. (версия 7.0)
  • SUSE Linux Enterprise Server - с октября 2014 г. (версия 12)
  • Ubuntu - с апреля 2015 г. (версия 15.04)

(Смотрите Википедию для получения актуальной информации)

Дистрибутивы, не использующие ни Upstart, ни systemd:

полемика

В прошлом был предложен форк Debian, чтобы избежать systemd . Devuan GNU + Linux был создан - форк Debian без Systemd (благодаря fpmurphy1 для указания его в комментариях).

Для получения дополнительной информации об этом противоречии, см .:

Как многие из вас уже могут знать, голосование по Debian Init GR, проводимое Иэном Джексоном, было бесполезным для защиты наследия Debian и его пользователей от лавины systemd.

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

CTTE удалось поменять зависимость и выиграть время на тонкую установку systemd поверх sysvinit, но даже этот процесс был утомительным и полным драмы. В конце концов, неделю назад Ян Джексон подал в отставку. [...]

Я ухожу из Технического комитета с немедленным вступлением в силу.

Хотя важно, чтобы мнения 30-40% участников проекта, которые согласны со мной, и впредь были представлены в ТС, я сам явно слишком противоречив в этом вопросе, чтобы делать это. Я должен отойти в сторону, чтобы попытаться уменьшить степень персонализации разговоров об управлении проектом. [...]

Devuan был рожден из-за спора по поводу решения использовать Debian как систему инициализации по умолчанию. Официальная позиция Debian на Systemd полна претензий , что другие развенчали . Заинтересованные читатели могут продолжить обсуждение этой горячей темы в споре Systemd . Тем не менее, мы рекомендуем вам сохранять спокойствие и спокойный голос. В Devuan нам больше интересно программировать их неправильно, чем оглядываться назад. [...]

Некоторые веб-сайты и статьи, посвященные противоречиям в systemd, были созданы:

В Hacker News много интересных дискуссий:

Аналогичные тенденции наблюдаются и в других дистрибутивах:

философия

Выскочка следует философии Unix DOTADIW - «Делай одно и делай хорошо». Это замена традиционного демона init. Он не делает ничего, кроме запуска и остановки служб. Другие задачи делегируются другим специализированным подсистемам.

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

Планы расширения

В соответствии с презентацией Lennart Poettering в 2014 году на GNOME.asia, озаглавленной « Перспектива для systemd« Что было достигнуто »» и «Что ждет впереди», вот основные цели systemd, области, которые уже были охвачены, и те, которые еще продолжались:

системные задачи:

Наши цели

  • Превращение Linux из пакета с битами в конкурентоспособную операционную систему общего назначения.
  • Создание ОС следующего поколения в Интернете. Объединение бессмысленных различий между дистрибутивами.
  • Вернуть инновации в основную ОС

  • Рабочий стол, Сервер, Контейнер, Встроенный, Мобильный, Облако, Кластер,. , , Эти области ближе друг к другу, чем вы думаете

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

Области уже охвачены:

Что мы уже покрываем:

система инициализации, ведение журнала, управление входом в систему, управление устройством, управление временными и нестабильными файлами, регистрация двоичного формата, сохранение / восстановление подсветки, сохранение / восстановление rfkill, загрузочная диаграмма, чтение с головы, настройка зашифрованного хранилища, обнаружение раздела EFI / GPT, виртуальная машина / контейнер регистрация, управление минимальными контейнерами, управление именами хостов, управление локалями, управление временем, управление случайным начальным числом, управление переменными sysctl, управление консолью,. , ,

Работа в процессе:

Над чем мы работаем:

  • управление сетью
  • Systemd-networkd
  • Локальный кэш DNS, ответчик mDNS, ответчик LLMNR, проверка DNSSEC
  • МПК в ядре
  • kdbus, sd-bus
  • Синхронизация времени с NTP
  • Systemd-timesyncd
  • Больше интеграции с контейнерами
  • Песочница Сервисов
  • Песочница приложений
  • Формат образа ОС
  • Формат изображения контейнера
  • Формат изображения приложения
  • GPT с авто-обнаружением
  • Системы без состояния, инстанцируемые системы, сброс настроек к заводским
  • / usr это ОС
  • / etc - это (необязательно) конфигурация
  • / var это (необязательно) состояние
  • Инициализация и обновления атомарного узла
  • Интеграция с облаком
  • Управление услугами через узлы
  • Проверяемые образы ОС
  • Весь путь до прошивки
  • Загрузка загрузки

Сфера этого ответа

Как отмечает fpmurphy1 в комментариях: «Следует отметить, что systemd за годы расширила сферу своей деятельности, намного превосходя просто запуск системы».

Я попытался включить большую часть соответствующей информации здесь. Здесь я сравниваю общие функции Upstart и systemd при использовании в качестве систем инициализации, как это было задано в вопросе, и я упоминаю только те особенности systemd, которые выходят за рамки системы init, поскольку их нельзя сравнивать с Startup, но их присутствие важно чтобы понять разницу между этими двумя проектами. Соответствующая документация должна быть проверена для получения дополнительной информации.

Больше информации

Более подробную информацию можно найти по адресу:

Дополнительно

Команда LinOxide создала системную таблицу Systemd vs SysV Init Linux .


4
... и такая развилка Debian произошла. Devuan GNU + Linux - это форк Debian без systemd.
fpmurphy

2
Следует отметить, что systemd расширила сферу своей деятельности за годы, намного превосходящие просто запуск системы.
fpmurphy

1
Выдающийся пост и чрезвычайно полезный для Цент парня. Спасибо, что нашли время, сэр!
origin1tech

4
@ronsmith service <foo> start/stop/restart/statusвсе еще работает просто отлично. Как и большинство программ Unix, systemd обеспечивает совместимость команд с хорошо известными настройками по умолчанию.
Шадур

2
Очень хороший ответ Одно замечание: операционные системы BSD не являются дистрибутивами Linux: это разные операционные системы Unix со своим собственным ядром.
Джорджио

68

И upstart, и systemd являются попытками решить некоторые проблемы с ограничениями традиционной системы инициализации SysV. Например, некоторые службы должны запускаться после других служб (например, вы не можете монтировать файловые системы NFS до тех пор, пока не будет запущена сеть), но единственный способ в SysV - это установить ссылки в каталоге rc # .d. такой, что один перед другим. Добавьте к этому, вам может понадобиться изменить нумерацию позже, когда зависимости будут добавлены или изменены. Upstart и Systemd имеют более интеллектуальные настройки для определения требований. Кроме того, существует проблема с тем, что все является своего рода сценарием оболочки, и не все пишут лучшие сценарии инициализации. Это также влияет на скорость запуска.

Некоторые из преимуществ systemd я вижу:

  • Каждый запущенный процесс получает свою собственную группу или определенную группу.
  • Предварительное создание сокетов и файловых дескрипторов для сервисов, аналогично тому, как xinetd делает для своих сервисов, позволяя зависимым сервисам запускаться быстрее. Например, systemd будет держать дескриптор файла для / dev / log для syslog, а последующим службам, которые отправляют в / dev / log, будут буферизироваться их сообщения до тех пор, пока syslogd не будет готов вступить во владение.
  • Меньше процессов запускается для запуска службы. Это означает, что вы не пишете сценарий оболочки для запуска службы. Это может быть улучшение скорости, и (IMO) что-то проще настроить в первую очередь.

Я знаю один недостаток, заключающийся в том, что для использования преимуществ предварительного выделения сокетов / FH в systemd нужно будет пропатчить многие демоны, чтобы SystemH передавал им FH.


13
PulseAudio - это многокачественная звуковая система ( pulseaudio.org ), изначально написанная Леннартом Поеттерингом, автором systemd. Я в основном шутил здесь, потому что я знаю нескольких людей, которые любят жаловаться на pulseaudio, и я уверен, что они тоже будут жаловаться на systemd. Честно говоря, у меня не было проблем ни с systemd, ни с pulaudio.
Jsbillings

4
Делает одну почти сосну для обильных фьордов Plan9 ... все это файл.
Дххдхд

4
Честно говоря, pulseaudio был решением несуществующей проблемы. PA ничего не может сделать, чего не может ALSA, и я слышал МНОЖЕСТВО людей, имеющих проблемы с PA, снова и снова.
WhyNotHugo

3
Два системных недостатка, которые вы пропустили: (1) все сценарии запуска необходимо переписать. (2) гораздо меньше совместимости с ОС не Linux (например, с BSD).
WhyNotHugo

8
Просто прекрасно. Пожалуйста, посмотрите на 0pointer.de/blog/projects/the-biggest-myths . Я был свидетелем роста systemd и могу засвидетельствовать, что большая часть критических замечаний, приведенных здесь, совершенно беспочвенна. По ссылке вы найдете удар за ударом, аргументированное опровержение.
vonbrand

30

Увидел systemdупомянутое сегодня на Arch General ML . Так что читайте об этом. H Online, как всегда, является отличным источником для технологии Linux, и я нашел свое место, чтобы начать исследование Systemd как альтернативы SysV Init и Upstart . Однако статья H Online (в данном случае) не очень полезна для чтения, реальная польза от нее в том, что она дает ссылки на полезные материалы.

Реальный ответ в объявлении systemd . Что дает некоторые важные моменты о том, что не так с SysV initd, и что нужно делать новым системам

  • Чтобы начать меньше.
  • И начать больше параллельно.

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

Другая часть плана, по-видимому, заключается в том, чтобы не сериализовать файловые системы, а вместо этого монтировать их по требованию, чтобы вы не ожидали монтирования своей /home/и т. Д. (Не путать с /etc), и / или fsckкогда вы можете стартовые демоны как /и /var/т. д. уже смонтированы. Он сказал, что собирается использовать autofs для этой цели.

Он также имеет целью создание .desktopдескрипторов инициализации стиля в качестве замены для сценариев. Это предотвратит тонны медленных shпроцессов и даже больше вил процессов от таких вещей , как sedи grepчто часто используется в сценариях оболочки.

Они также планируют не запускать некоторые службы до тех пор, пока их не попросят, и, возможно, даже отключить их, если они больше не нужны, модуль Bluetooth и демон нужны только при использовании устройства Bluetooth, например. Другой приведенный пример - демон ssh. Это то, на что способен inetd. Лично я не уверен, что мне это нравится, поскольку это может означать задержку, когда они мне нужны, а в случае с ssh я думаю, что это означает возможную уязвимость безопасности, если бы мой inetd был скомпрометирован, то была бы вся система. Однако мне сообщили, что использовать это для взлома этой системы невозможно, и если я захочу, я могу отключить эту функцию для каждой службы и другими способами.

Другой особенностью, очевидно, будет возможность запуска на основе временных событий, либо через регулярно запланированный интервал, либо в определенное время. Это похоже на то, что crondи atdделают сейчас. Хотя мне сказали, что он не будет поддерживать пользователя "cron". Лично это звучит как самая бессмысленная вещь. Я думаю, что это было написано / придумано людьми, которые не работают в многопользовательских средах, для пользователя cron нет особой цели, если вы единственный пользователь в системе, кроме того, что он не работает от имени пользователя root. Я работаю на многопользовательских системах ежедневно, и правило всегда заключается в запуске пользовательских сценариев от имени пользователя. Но, может быть, у меня нет предвидения, которое у них есть, и оно никоим образом не сделает так, чтобы я не мог бежать crondили atd, таким образом, это никому не мешало, кроме разработчиков, я полагаю.

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

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

Или, проще говоря: тот факт, что пользователь только что запустил D-Bus, никоим образом не является признаком того, что NetworkManager тоже нужно запускать (но именно это и сделал бы Upstart). С другой стороны, все верно: когда пользователь запрашивает NetworkManager, это определенно указывает на то, что D-Bus также должен быть запущен (что, безусловно, ожидают большинство пользователей, верно?).
Хорошая система инициализации должна запускать только то, что нужно, и то, что по требованию. Лениво или распараллелено и заранее. Однако он не должен запускаться больше, чем необходимо, особенно не все установлено, что может использовать эту службу.

Как я уже сказал, это обсуждается гораздо более подробно в объявлении systemd .


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

2
Как это лучше, чем ответ @ Джона? Это заполнитель? А промо от H Online ?
чепанг

1
@tshepang ну, на самом деле это ссылки на анонс системы d, а в онлайн-материале h есть ссылки на эту и другие интересные ссылки. это длинное утомительное чтение. Я мог бы добавить еще, как только у меня получится ... это не простая тема. когда я написал это, я подумал, что вы можете начать читать раньше, чем позже. но не стесняйтесь мод меня вниз. конечно ответ @jsbillings приличный, и лучше чем мой пока. но не так хорошо, как чтение самого объявления
xenoterracide

@tshepang Я, наверное, добавлю еще завтра, после сна. В Интернете я просто был хорошим журналистом и ссылался на свои источники.
ксенотеррацид

@tshepang. Я обновил свой ответ. Я почти уверен, что все готово, если только люди из irc: //frenode.net/systemd не решат, что они хотят предложить какое-то исправление.
ксенотеррацид

11

Одна вещь, которую большинство из вас забыло, это организация процессов в cgroups .

Таким образом, если systemd что-то запустил, он поместит эту вещь в свою собственную cgroup, и нет никакого (непривилегированного) средства для выхода процесса из этой cgroup. Вот последствия этого:

  • Администратор большой системы со многими пользователями имеет эффективные новые способы выявления злонамеренных пользователей / процессов.
  • Приоритеты для планирования ЦП могут быть определены лучше, как это делается с помощью «патча Wonder autocgroup» .

8

Чтобы очень подробно взглянуть на systemd, начиная с первых черновиков проекта (и детальной критики существующих систем инициализации, включая upstart, и того, как systemd предлагает их исправить), перейдите на его домашнюю страницу . Со временем в LWN было опубликовано несколько статей о стартапах . Просто имейте в виду, что любое упоминание о systemd (или pulseaudio) вызывает бесконечные пламенные войны.

IMVHO (и как пользователь Fedora) я очень доволен этим. Что-то в этой линии давно пора было справиться со сложностью современных систем Linux. Некоторое время Fedora использовала upstart, но никогда не выходила за рамки того, чтобы быть изумительной заменой sysvinit, выполняя в основном неизмененные сценарии инициализации. Его обещание упрощения конфигурации загрузки происходит за счет вновьручная настройка взаимозависимостей, и это просто не работает. systemd вычисляет зависимости самостоятельно (или просто позволяет запускать вещи независимо от зависимостей, они сами разбираются). Другое большое преимущество (некоторые говорят, что это серьезный недостаток) заключается в том, что он использует специфичные для Linux функции для защиты (в частности, cgroups позволяет изолировать демона и всех его потомков, что позволяет легко отслеживать, ограничивать ресурсы или уничтожать их по мере необходимости). группа, есть много других).


3

Журналирование - Systemd буквально напоминает папку WinSXS, когда дело доходит до ведения журналов, она создает копии копий, если вы вручную не удалите или не уменьшите размер файла, который он будет постоянно уничтожать на вашем диске. Я называю это печенье загрузчика.


неправильно. это не копии, и он имеет настраиваемый лимит freedesktop.org/software/systemd/man/journald.conf.html
приятель
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.