Jika saya menginstal layanan baru maka memutuskan saya tidak ingin aplikasi itu lagi dan menghapusnya, layanan masih terdaftar dalam output dari systemctl
sebagai kesalahan .
Dari mana ini berasal dan bagaimana cara menghapusnya secara menyeluruh?
Resep saya untuk penghapusan layanan (hati-hati dengan rm
pernyataan!)
systemctl stop [servicename]
systemctl disable [servicename]
rm /etc/systemd/system/[servicename]
rm /etc/systemd/system/[servicename] symlinks that might be related
systemctl daemon-reload
systemctl reset-failed
Mungkin saja layanan systemd 'membungkus' skrip gaya lama di /etc/init.d, jadi Anda mungkin ingin membersihkannya juga, tapi itu bukan tempat layanan systemd tinggal.
/usr/lib/systemd/system
dan juga/etc/systemd/system/
. Untuk referensi lihat: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…/etc/init.d/[servicename]
sebelum menjalankansystemctl reset-failed
systemctl cat [servicename]
.Anda mungkin mencari
reset-failed
:Dari halaman manual systemd:
sumber
Sepertinya Anda menghapus instalannya, tetapi tidak menghapus kait systemd:
# systemctl disable [servicename]
sumber
Menambahkan jawaban @ mark-lakata dan mengingat perhatian yang dibutuhkan untuk
rm
perintah.[chkconfig]
dapat menyederhanakan proses! ( klik di sini untuk membaca tentang chkconfig )Untuk mengulangi daftar perintah:
systemctl stop [servicename]
chkconfig [servicename] off
systemctl daemon-reload
systemctl reset-failed
Catatan: Perintah 1 bersifat opsional tergantung pada apakah Anda ingin agar layanan tetap berjalan di sesi ini atau tidak (seperti untuk pertanyaan ini, perintah harus digunakan).
Perintah ke-2 menangani penonaktifan dan penghapusan (mengikuti symlinks) layanan.
sumber
chkconfig
adalah perintah asli untuk mengaktifkan / menonaktifkan layanan SysVinit. Dalam sistem yang menggunakansystemd
, itu mungkin hadir sebagai perintah kompatibilitas mundur; tetapisystemctl
perintah asli sama sederhana:systemctl disable [servicename]
Menghapus layanan dari systemd:
Systemd menggunakan unit (file untuk mendefinisikan layanan) untuk menghapus layanan yang harus dihapus unit ... berikut adalah daftar lokasi unit:
Segarkan sistemd:
Layanan hantu (tidak ditemukan):
Systemd dapat mendaftar layanan ghost (tidak ditemukan) bahkan jika unit dihapus karena berbagai alasan
(*) jika suatu layanan disebutkan dalam unit lain tetapi tidak ada systemd akan tetap mendaftar layanan itu dengan status tidak ditemukan bahkan jika tidak ada file unit ... Anda dapat mencari unit apa yang menggunakan layanan itu dengan pencarian teks dan edit unit-unit tersebut (tidak disarankan jika Anda berencana untuk menginstal layanan itu nanti)
sumber