Як вже зазначали інші, теоретично це не повинно впливати на нетехнічного кінцевого споживача - і в теорії немає різниці між теорією та практикою, але на практиці існує.
Уточнення
Я думаю, що деякі речі, розміщені тут, потребують уточнення:
Це система init, а не те, з чим традиційно взаємодіють користувачі.
Так було і з SysV init, і з Upstart, але це вже не з системою. Він робить багато речей, з якими користувачі традиційно взаємодіють:
Він повинен повністю замінити функціонал, який надає Upstart, і зробити кілька додаткових речей
Слід уточнити дві речі - спочатку про повну заміну Upstart:
Немає сценаріїв init SysV
Однією з проблем, з якою люди стикаються з системою, є те, що він не запускає сценарії SysV init. Отож є один приклад того, що він не повністю замінює функціонал, наданий Upstart.
Це те, на що ми могли покластися більше 30 років, і традиційно ви писали сценарії SysV init для максимальної переносимості, не повторюючи себе (написавши кілька версій одних і тих самих сценаріїв), що вже не так.
Це не повинно бути проблемою при використанні лише пакетів з офіційних сховищ, оскільки, імовірно, всі пакети, в яких раніше були або SysV init, або Upstart сценарії, повинні були переписати свої сценарії, перш ніж вони будуть упаковані.
Це буде лише проблемою для людей, які випадково використовують будь-яке стороннє або користувальницьке програмне забезпечення, яке має свої сценарії init, написані або для SysV init, або для Upstart, і тим, хто потребує сценаріїв init, буде переписано перед оновленням до системи з systemd (або отримати встановлений на початку, що також є опцією , або перейти до системи, яка не використовує systemd).
Існує systemd-sysv-генератор, який повинен автоматично переводити сценарії init SysV в системні сценарії, але є деякі помилки та довгий список явних несумісностей .
Тепер, друге уточнення - про ці кілька зайвих речей:
Трохи зайвих речей
Ці "кілька зайвих речей", які охоплює systemd - згідно з "Перспективою для системного" - що було досягнуто, а що - перед собою презентація Lennart Poettering в 2014 році на GNOME.asia - такі:
- система init
- ведення журналів
- управління логіном
- управління пристроєм
- тимчасове та мінливе управління файлами
- реєстрація бінарного формату
- збереження / відновлення підсвітки
- rfkill зберегти / відновити
- завантажувальна схема
- читати
- зашифровані настройки зберігання
- Відкриття розділів EFI / GPT
- реєстрація віртуальної машини / контейнера
- управління контейнерами
- управління іменем хоста
- управління локальними ресурсами
- управління часом
- випадкове управління насінням
- управління змінною sysctl
- консольне управління
- самоаналіз
- автоматичне відкриття
- підключи і грай
- управління мережею
- systemd-networkd
- DNS-кеш
- mDNS-відповідь
- LLMNR відповідь
- Перевірка DNSSEC
- IPC в ядрі
- kdbus
- sd-шина
- синхронізація часу з NTP
- systemd-timesyncd
- інтеграція з контейнерами
- пісочниця послуг
- пісочниця програм
- Формат зображення ОС
- Формат зображення контейнера
- Формат зображення програми
- GPT з автоматичним відкриттям
- Системи без громадянства
- систематизовані системи
- заводські налаштування
- ініціалізація вузла та оновлення
- інтеграція з хмарою
- управління сервісом через вузли
- перевіряються образи ОС, аж до прошивки
- Завантаження завантаження
- Побудова в Інтернеті ОС нового покоління Об'єднує безглузді відмінності між дистрибутивами
Тож повертаємось до: "Це система init, а не те, що користувачі традиційно взаємодіють". - слід зазначити, що система init - це лише один пункт у цьому списку.
І нарешті, останнє, що я хотів би прокоментувати:
[T] він лише раз, коли нетехнічний користувач побачить це, коли йде не так.
О, яке полегшення. :)
Зміни
Найбільш помітні зміни для кінцевих користувачів (крім самих сценаріїв) - це запуск та зупинка послуг та використання команд, таких як:
які більше не працюють, як очікувалося. Наприклад, nohup
це команда POSIX, щоб переконатися, що процес продовжує працювати після виходу з сеансу. Він більше не працює на systemd. Також такі програми, як screen
і tmux
потрібно викликати по-особливому, або в іншому випадку процеси, які ви запускаєте з ними, загинуть (хоча не отримувати цих процесів вбиті, як правило, головна причина запуску екрана або tmux в першу чергу).
Це не помилка, це вибір дизайну, тому вона, ймовірно, не виправиться в майбутньому. Ось що сказав Леннарт Поетрінг з цього приводу:
На мою думку, UNIX насправді був досить дивним, що він за замовчуванням дозволяв довільному коду користувача залишатись без обмежень після виходу з системи. Зараз багато людей ОС обговорювали, що це може бути можливим, але, звичайно, не за замовчуванням, але поки що ніхто не наважувався перевести комутатор, щоб перетворити його з замовчування на опцію. Не прибирати користувальницькі сеанси після виходу з мережі - це не тільки некрасиво і дещо шалено, але й проблема безпеки. systemd 230 тепер остаточно переключив перемикач і, нарешті, за замовчуванням все очистить правильно, коли користувач вийде з системи.
Для отримання додаткової інформації див:
Біг screen
- на початку:
screen
- systemd:
systemd-run --user --scope screen
(Примітка: поведінка "upstart" вище - це справді все, крім систематизованого, це не конкретно для початку)
Початок роботи:
- на початку:
start foo
- systemd:
systemctl start foo
Припинення роботи foo:
- на початку:
stop foo
- systemd:
systemctl stop 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 .
Подальше читання