Наскільки я знаю, systemd з цим не справиться особливо добре. Як я це розумію, ти хочеш змінити поведінку sshd.service
, правда?
На щастя для вас, systemd призначений для подібних речей. Просто введіть визначення служби /etc/systemd/system/ssh.service
, виконайте systemctl daemon-reload
для перезавантаження файлів одиниць, і systemd автоматично використовуватиме цю конфігурацію замість системи ssh.service
.
Хочете мати systemctl enable mysshd.service
роботу теж? Без проблем. У [Install]
розділ вашого одиничного файлу додайте рядок із написанням Alias=mysshd.service
. Потім виконайте, systemctl reenable ssh.service
щоб системно виправити одиницю символьних посилань, і ви золото.
Тепер ви не дали детальної інформації про те, що mysshd.service
потрібно робити. Якщо він зовсім інший від нормального ssh.service
, здорово! Скористайтеся вищевказаним методом. Однак якщо ви просто хочете змінити одну дрібницю, то ви використовуєте неправильний підхід. systemd дозволяє створити "фрагменти" файлів одиниць, які будуть застосовані поверх звичайних файлів одиниці. Це дозволяє додавати або змінювати окремі директиви, дозволяючи решті файлу пристрою отримувати оновлення від менеджера пакунків. Для цього просто створіть /etc/systemd/system/ssh.d/my-custom-config.conf
(ви можете змінити my-custom-config.conf
будь-що, що хочете, а також можете мати кілька файлів перезапису). У цьому файлі розмістіть усі директиви, які ви хочете змінити або додати до звичайних ssh.service
. Ви навіть можете додавати Alias=
директиви, щоб це systemctl start mysshd.service
працювало! Просто не забудьте виконатиsystemctl daemon-reload
після того, як ви зробили (і, якщо ви використовували Alias=
, systemctl reenable ssh.service
).
Як убік, ніколи і ніколи не змінюйте файли системних одиниць у /usr/lib/systemd
. Колись! Стандарт ієрархії файлової системи вимагає, щоб /usr
це трактувалося лише для читання. На практиці це означає, що менеджер пакунків обробляє /usr
(крім /usr/local
), і ви не торкаєтесь того, що обробляє менеджер пакунків - тим більше, що все, що ви зміните, ймовірно, зрештою буде перезаписано. Натомість покладіть свої речі десь на зразок /etc
.