Jawaban:
Perintah yang Anda gunakan sama - sama benar . Lihat juga manual .
Tampaknya unmask
perintah gagal ketika tidak ada file unit yang ada di sistem selain symlink ke /dev/null
. Jika Anda mask
seorang layanan, maka itu menciptakan symlink baru /dev/null
di /etc/systemd/system
mana systemd mencari file unit untuk memuat saat boot. Dalam hal ini, tidak ada file unit nyata.
Yang lain tampaknya memiliki masalah serupa
x11-common.service
juga tertutup di sistem saya. Anda dapat memperbaikinya seperti ini:
Pertama periksa apakah file unit tersebut adalah symlink ke /dev/null
file /lib/systemd/system/x11-common.service
itu harus kembali:
/lib/systemd/system/x11-common.service: symbolic link to /dev/null
dalam hal ini, hapus
sudo rm /lib/systemd/system/x11-common.service
Karena Anda mengubah file unit, Anda perlu menjalankan ini:
sudo systemctl daemon-reload
sekarang periksa statusnya:
systemctl status x11-common
jika tidak dikatakan dimuat dan berjalan (jika lingkaran masih merah), instal ulang paket:
sudo apt-get install --reinstall x11-common
dan memuat kembali daemon lagi
sudo systemctl daemon-reload
dan periksa status sekali lagi
systemctl status x11-common
Sekarang berwarna hijau dan sedang berjalan :) Layanan tidak memiliki file unit systemd, tetapi systemd dengan senang hati menggunakan script untuk itu /etc/init.d
sebagai gantinya.
/etc/init/
...). Anda mungkin ingin mengajukan pertanyaan baru. Apa yang saya lakukan tidak membuat perbedaan yang nyata, hanya layanan yang ditampilkan sebagai yang dimuat, diaktifkan, berhenti (aktif saat startup) (hijau) alih-alih mati yang di-masked (merah). Saya harus membaca log saya ...
/dev/null
? Anda benar tentang jawaban saya. Saya akan menyebut solusi ini sebagai solusi untuk ... perilaku yang membingungkan ... dari systemd
Bisa jadi layanan Anda memiliki file override kosong, seperti ini:
● redis-server.service - Toko nilai kunci lanjutan Dimuat: dimuat (/lib/systemd/system/redis-server.service; masked; preset vendor: diaktifkan) Drop-In: / etc / systemd / system / redis-server .service.d └─limit.conf
Periksa apakah limit.conf adalah file kosong. Jika ya, harap hapus. Maka layanan harus terbuka kedoknya.
Ikuti langkah-langkah di bawah ini:
systemctl edit systemd-hostnamed
Tambahkan 2 baris di bawah ini kemudian keluar dari editor (jangan lupa untuk menyimpan ketika diminta):
[Service]
PrivateNetwork=no
Ini akan membuat file override.conf dengan 2 baris di atas dalam direktori:
/etc/systemd/system/systemd-hostnamed.service.d/
Sistem pembaruan d:
systemctl daemon-reload
Kemudian mulai kembali layanan:
systemctl restart systemd-hostnamed
Anda sekarang seharusnya bisa berlari hostnamectl
tanpa menggantung.