Jawaban:
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.
/etc/init.d/[servicename]
sebelum menjalankansystemctl reset-failed
systemctl cat [servicename]
.
Anda mungkin mencari reset-failed
:
$ sudo systemctl reset-failed
$
Dari halaman manual systemd:
reset-failed [PATTERN...]
Setel ulang status "gagal" dari unit yang ditentukan, atau jika tidak ada nama unit yang dilewati, setel ulang status semua unit. Ketika suatu unit gagal dalam beberapa cara (yaitu proses keluar dengan kode kesalahan non-nol, berakhir secara tidak normal atau kehabisan waktu), unit akan secara otomatis memasukkan status "gagal" dan kode keluar dan statusnya dicatat untuk introspeksi oleh administrator hingga layanan restart atau reset dengan perintah ini.
Sepertinya Anda menghapus instalannya, tetapi tidak menghapus kait systemd:
# systemctl disable [servicename]
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.
chkconfig
adalah perintah asli untuk mengaktifkan / menonaktifkan layanan SysVinit. Dalam sistem yang menggunakan systemd
, itu mungkin hadir sebagai perintah kompatibilitas mundur; tetapi systemctl
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:
/etc/systemd/system/ (and sub directories)
/usr/local/etc/systemd/system/ (and sub directories)
~/.config/systemd/user/ (and sub directories)
/usr/lib/systemd/ (and sub directories)
/usr/local/lib/systemd/ (and sub directories)
/etc/init.d/ (Converted old service system)
Segarkan sistemd:
systemctl daemon-reload
systemctl reset-failed
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)
/usr/lib/systemd/system
dan juga/etc/systemd/system/
. Untuk referensi lihat: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/…