Sejauh yang saya tahu, systemd tidak akan menangani hal ini dengan baik. Seperti yang saya pahami, Anda ingin mengesampingkan perilaku sshd.service
, kan?
Beruntung bagi Anda, systemd dirancang untuk hal semacam ini. Cukup masukkan definisi layanan Anda /etc/systemd/system/ssh.service
, jalankan systemctl daemon-reload
untuk memuat kembali file unit, dan systemd akan secara otomatis menggunakan konfigurasi itu daripada sistem ssh.service
.
Ingin punya systemctl enable mysshd.service
pekerjaan juga? Tidak masalah. Di [Install]
bagian file unit Anda, tambahkan baris yang mengatakan Alias=mysshd.service
. Kemudian jalankan systemctl reenable ssh.service
untuk memiliki systemd memperbaiki unit symlink, dan Anda emas.
Sekarang, Anda belum memberikan perincian tentang apa mysshd.service
yang seharusnya dilakukan. Jika itu sama sekali berbeda dari normal ssh.service
, bagus! Gunakan metode di atas. Namun, jika Anda hanya ingin mengubah satu hal kecil, maka Anda menggunakan pendekatan yang salah. systemd memungkinkan Anda membuat "potongan" file unit yang akan diterapkan di atas file unit normal. Ini memungkinkan Anda menambah atau mengabaikan arahan individu sambil memungkinkan sisa file unit menerima pembaruan dari manajer paket. Untuk melakukan ini, cukup buat /etc/systemd/system/ssh.d/my-custom-config.conf
(Anda dapat mengubahnya my-custom-config.conf
menjadi apa pun yang Anda inginkan, dan Anda juga dapat memiliki beberapa file override). Dalam file itu, tempatkan arahan apa pun yang ingin Anda ubah atau tambahkan ke yang biasa ssh.service
. Anda bahkan dapat menambahkan Alias=
arahan, sehingga systemctl start mysshd.service
berhasil! Ingatlah untuk mengeksekusisystemctl daemon-reload
setelah Anda selesai (dan, jika Anda gunakan Alias=
, systemctl reenable ssh.service
).
Selain itu, jangan pernah mengubah file unit systemd di /usr/lib/systemd
. Pernah! Standar Hierarki Filesystem mengharuskan yang /usr
diperlakukan sebagai hanya-baca. Dalam praktiknya, ini berarti bahwa manajer paket menangani /usr
(kecuali untuk /usr/local
), dan Anda tidak menyentuh apa yang ditangani manajer paket - terutama karena apa pun yang Anda ubah mungkin pada akhirnya akan ditimpa. Sebaliknya, letakkan barang-barang Anda di suatu tempat seperti /etc
.