Perintah pembuangan
Jika seseorang meminta Anda untuk menunjukkan seluruh konfigurasi sistem Anda, gunakan perintah dump.
$ systemd --dump-configuration-itemsFile mencakup semua unit yang Anda miliki di sistem. Setelah pengembang memiliki file ini tersedia, orang tersebut akan memeriksa apa yang Anda miliki dan mencoba menemukan masalah yang Anda hadapi. Selesai dan selesai. Namun, Anda tidak akan membaca artikel ini jika Anda akan membiarkan orang lain melakukan segalanya. Mari kita lihat apa yang dapat Anda lakukan dengan layanan sekaligus dan pelajari beberapa trik untuk memfilter hasil Anda.
Hirarki systemd
Untuk menjadi efisien, Anda perlu menyadari bahwa, di dalam systemd, Anda memiliki hierarki dan Anda dapat mengatur setiap layanan untuk bergantung dan/atau menunggu layanan lain. Berbagai cara Anda melakukan ini terbukti dalam file layanan. Pernyataan berbeda yang Anda miliki adalah 'Ingin', 'Diperlukan', 'Sebelum' dan 'Setelah'. Untuk analisis yang efektif, Anda dapat menggunakan ini untuk melihat apakah unit Anda sedang down karena ketergantungan. Anda kemudian dapat melacak kembali ke tempat masalah yang mendasarinya terletak. Berikut adalah contoh dari ini.
$ systemctl list-dependencies --before xpra.layananHasil cetak menunjukkan unit lain yang xpra.layanan mengandalkan. Dalam hal ini unit lain aktif, jadi kita perlu fokus pada mengapa unit itu sendiri rusak. Contohnya tidak ada file sertifikat.
Penggunaan paling penting dari ini adalah untuk menyelidiki apakah layanan Anda kehilangan dependensi, gunakan perintah dengan cara ini.
$ systemctl daftar-dependensi xringdHasilnya adalah daftar panjang, tersusun rapi di pohon dan menampilkan semua layanan sebagai hijau atau merah jika ada yang salah. Anda juga dapat melihat dependensi dalam file layanan. Buka file menggunakan editor favorit Anda atau gunakan systemctl, yang akan membuka file dengan editor default.
Mencantumkan layanan aktif
Saat Anda ingin menyelidiki suatu sistem, Anda perlu mengetahui bagaimana unit-unit itu cocok bersama. Untuk melakukan ini, Anda memiliki sejumlah opsi untuk mencetak detailnya. Anda dapat membuat daftar sistem mana yang sibuk, gagal, dan sebagainya. Lebih penting lagi Anda dapat membuat daftar bagaimana mereka disatukan, unit mana, layanan, dll. unit saat ini tergantung pada. Perintah utama untuk melakukan ini adalah systemctl, opsinya berguna untuk mempersempit masalah spesifik Anda.
Untuk mendapatkan penggunaan systemctl yang tepat, perhatikan dengan cermat opsi untuk perintah. Ada opsi untuk memilih dengan tepat apa yang Anda butuhkan, terutama mengenai status layanan apa pun. Di sini kami mencari layanan yang bermasalah.
$ systemctl list-unit-files --type=serviceDaftar ini juga panjang dan Anda harus menelusuri semua layanan untuk menemukan apa yang Anda cari. Dengan beberapa parameter lagi, Anda dapat memfilter untuk parameter tertentu atau yang dinonaktifkan. Perintah di bawah ini akan menemukan semua unit yang bertopeng.
$ systemctl list-unit-files --type=service --state=maskedLayanan bertopeng diblokir sehingga layanan lain tidak dapat memulainya, bahkan jika layanan lain membutuhkannya. Ini dapat digunakan untuk mengamankan bahwa Anda tidak menjalankan layanan yang bertentangan. Biasanya, banyak layanan yang disembunyikan oleh manajer paket Anda saat Anda menghapus paket. Anda dapat menghapus file layanan sepenuhnya jika Anda mau setelah menghapus layanan. Mungkin juga merusak banyak layanan yang Anda inginkan, jadi pastikan Anda tahu jika Anda memerlukan layanan bertopeng.
Beberapa layanan ditutupi oleh proses dan Anda tidak selalu bermaksud agar layanan ditutupi. Ketika ini terjadi pada sistem Anda, tindakan pertama yang harus diambil adalah membuka kedok menggunakan systemctl. Namun, ini tidak selalu memungkinkan sehingga Anda perlu menghapus tautan di direktori yang tepat. Di sebagian besar sistem, ini akan menjadi lib/systemd/sistem. Sebelum Anda melakukannya, periksa apakah file tersebut benar-benar tautan ke /dev/null.
$ ls -l lib/systemd/system> |grep null
Ketika Anda yakin ingin menghapus tautan ini, hapus dengan rm atau batalkan tautan.
$rm /lib/systemd/system/udisks2.layananSekarang Anda tahu bagaimana melakukannya, dengarkan peringatan ini: berkali-kali Anda perlu memiliki tautan ini di sana. Ambil lvm2 sebagai contoh, itu ditutupi dari operasi sehingga tidak akan mengganggu sistem baru, di mana lvm2 datang sebagai banyak layanan kecil. Lihat hasil dari:
$ systemctl status lvm2*Menghapus tautan dapat menyebabkan kerusakan pada sistem Anda karena lvm2 sendiri membutuhkannya untuk menghindari konflik. Ini hanya sebuah contoh, jadi berhati-hatilah sebelum Anda melanjutkan.
Kesimpulan
Saat Anda ingin membuat daftar layanan di systemd, Anda harus terlebih dahulu merenungkan apa yang Anda cari dalam pencarian Anda. Apakah Anda mencari layanan yang Anda butuhkan atau apakah Anda melihat bahwa Anda memiliki terlalu banyak layanan?. Bagaimanapun, Anda perlu menyesuaikan kueri Anda dengan kebutuhan khusus Anda. Systemd terlihat membingungkan pada awalnya tetapi ketika Anda melihat lebih dekat, semuanya menggunakan cara langsung untuk menyatukan start-up sehingga layanan dapat dimulai secara paralel di mana sistem membutuhkannya sambil dapat membuat setiap layanan menunggu layanan spesifik yang mereka andalkan.