Как уже отмечали другие, теоретически, это не должно влиять на конечного пользователя, не являющегося техническим специалистом, - и в теории нет разницы между теорией и практикой, но на практике есть.
осветление
Я думаю, что несколько вещей, размещенных здесь, нуждаются в пояснениях:
Это система инициализации, а не то, с чем пользователи традиционно взаимодействуют.
Это было в случае с SysV init и Upstart, но это больше не относится к systemd. Он делает много вещей, с которыми пользователи традиционно взаимодействуют:
Он должен полностью заменить функциональность, предоставляемую Upstart, и сделать несколько дополнительных вещей
Две вещи, которые нужно уточнить - сначала о полной замене Upstart:
Нет сценариев инициализации SysV
Одна из проблем, с которой сталкиваются люди с systemd, заключается в том, что он не запускает сценарии инициализации SysV. Так что есть один пример, который не полностью заменяет функциональность, предоставляемую Upstart.
Это то, на что мы могли положиться более 30 лет, и традиционно вы писали сценарии инициализации SysV для максимальной переносимости, не повторяя себя (написав несколько версий одних и тех же сценариев), что уже не так.
Это не должно быть проблемой при использовании только пакетов из официальных репозиториев, потому что, вероятно, для всех пакетов, в которых раньше использовались сценарии SysV init или Upstart, необходимо было бы переписать свои сценарии, прежде чем они будут упакованы.
Это будет проблемой только для тех, кто использует любое стороннее или пользовательское программное обеспечение, для которого сценарии инициализации написаны либо для SysV init, либо для Upstart, и им потребуется переписать сценарии инициализации перед обновлением до системы с помощью systemd (или получить установленный upstart, который также является опцией , или перейдите на систему, которая не использует systemd).
Существует systemd-sysv-generator, который должен автоматически переводить сценарии инициализации SysV в сценарии systemd, но есть некоторые ошибки и длинный список явных несовместимостей .
Теперь второе уточнение - о тех немногих лишних вещах:
Несколько лишних вещей
Те «несколько дополнительных вещей», которые собирается охватить systemd - в соответствии с «Перспективой для systemd - Что было достигнуто» и «Что ждет впереди » Леннарта Поеттеринга в 2014 году на GNOME.asia - следующие:
- система инициализации
- ведение журнала
- управление логином
- управление устройством
- временное и нестабильное управление файлами
- регистрация в двоичном формате
- подсветка сохранить / восстановить
- rfkill сохранить / восстановить
- Bootchart
- Readahead
- настройка зашифрованного хранилища
- Обнаружение раздела EFI / GPT
- регистрация виртуальной машины / контейнера
- управление контейнером
- управление именем хоста
- управление языком
- Тайм-менеджмент
- случайное управление семенами
- управление переменными sysctl
- управление консолью
- интроспекция
- автоматическое обнаружение
- подключи и играй
- управление сетью
- Systemd-networkd
- Кеш DNS
- Ответчик mDNS
- Ответчик LLMNR
- Проверка DNSSEC
- МПК в ядре
- kdbus
- сд-автобус
- синхронизация времени с NTP
- Systemd-timesyncd
- интеграция с контейнерами
- песочница услуг
- песочница приложений
- Формат образа ОС
- Формат изображения контейнера
- Формат изображения приложения
- GPT с авто-обнаружением
- Системы без состояния
- инстанцируемые системы
- сброс к заводским настройкам
- инициализация и обновления узла
- интеграция с облаком
- управление услугами через узлы
- проверяемые образы ОС вплоть до прошивки
- Загрузка загрузки
- Создание ОС следующего поколения в Интернете. Объединение бессмысленных различий между дистрибутивами.
Итак, вернемся к: «Это система инициализации, а не то, с чем пользователи традиционно взаимодействуют». - следует отметить, что система инициализации - это всего лишь один элемент в этом списке.
И, наконец, последнее, что я хотел бы прокомментировать:
[T] он только раз, когда нетехнический пользователь увидит это, когда это пойдет не так.
О, какое облегчение. :)
изменения
Наиболее заметные изменения для конечных пользователей (кроме самих сценариев) - запуск и остановка служб и использование таких команд, как:
который больше не работает, как ожидалось. Например, nohup
это команда POSIX, чтобы убедиться, что процесс продолжает работать после выхода из сеанса. Это больше не работает на systemd. Кроме того, такие программы, как screen
и tmux
должны вызываться особым образом, иначе процессы, которые вы запускаете с ними, будут убиты (хотя не уничтожение этих процессов обычно является основной причиной запуска screen или tmux в первую очередь).
Это не ошибка, это выбор дизайна, поэтому он вряд ли будет исправлен в будущем. Вот что Леннарт Поеттеринг сказал по этому поводу:
На мой взгляд, в UNIX было довольно странно, что по умолчанию произвольный пользовательский код оставался неограниченным после выхода из системы. Многие люди, работающие с ОС, уже давно обсуждают, что это должно быть возможно, но, конечно, не по умолчанию, но никто так и не осмелился щелкнуть переключателем, чтобы превратить его из значения по умолчанию в опцию. Не очистка пользовательских сессий после выхода из системы - это не только уродливо и несколько хакерски, но и проблема безопасности. Теперь systemd 230 наконец-то щелкнул переключателем и, наконец, по умолчанию все корректно очищает, когда пользователь выходит из системы.
Для получения дополнительной информации см .:
Бег screen
- выскочка:
screen
- Systemd:
systemd-run --user --scope screen
(Примечание: поведение "upstart" выше действительно что-то кроме systemd, это не специфично для upstart)
Начало работы 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
(См. Мой ответ на Каковы плюсы / минусы Upstart и systemd? Для более подробной информации, которая выходит за рамки этого вопроса.)
бревна
Существует также большая разница в обработке журналов, поскольку в отличие от традиции Unix журналы systemd хранятся в двоичных файлах в произвольном формате, поэтому вместо:
cat /var/log/upstart/foo.log
tail -f /var/log/upstart/foo.log
вам нужно использовать специальные команды для доступа к вашим журналам:
sudo journalctl -u foo
sudo journalctl -u foo -f
Спорные
Внедрение systemd сначала в Debian, а затем в Ubuntu не обошлось без противоречий и широкого противостояния, как известно любому, кто написал одну из следующих статей:
Официальная позиция Debian на Systemd и в результате полемика привела к декларации Исх в 2014 году и закончилась отставкой Яна Джексона .
Инициативы Инициативы Freedom , Without-Systemd.org и Systemd-Free.org были рождены, и многие обсуждали Hacker News .
дальнейшее чтение