Arahan lambakan
Sekiranya seseorang meminta anda untuk menunjukkan keseluruhan konfigurasi sistem anda, gunakan arahan dump.
$ systemd --dump-konfigurasi-itemFail merangkumi semua unit yang anda ada di sistem. Setelah pembangun menyediakan fail ini, orang itu akan memeriksa apa yang anda ada dan berusaha mencari masalah yang anda hadapi. Selesai dan selesai. Walau bagaimanapun, anda tidak akan membaca artikel ini sekiranya anda membiarkan orang lain melakukan semuanya. Biarkan kami melihat apa yang dapat anda lakukan dengan perkhidmatan pada satu masa dan pelajari beberapa helah untuk menyaring hasil anda.
Hierarki sistemd
Untuk menjadi cekap, anda perlu menyedari bahawa, dalam systemd, anda mempunyai hierarki dan anda boleh menetapkan setiap perkhidmatan bergantung dan / atau menunggu perkhidmatan lain. Pelbagai cara anda melakukannya jelas dalam fail perkhidmatan. Pernyataan berbeza yang anda ada ialah 'Mahu', 'Wajib', 'Sebelum' dan 'Selepas'. Untuk analisis yang berkesan, anda boleh menggunakannya untuk melihat apakah unit anda tergendala kerana bergantung. Anda kemudian dapat mencari kembali di mana masalah yang mendasari terletak. Inilah contohnya.
$ systemctl-dependencies list - sebelum xpra.perkhidmatanCetakan menunjukkan unit lain yang xpra.perkhidmatan bergantung pada. Dalam kes ini, unit lain aktif, jadi kita perlu memberi tumpuan kepada mengapa unit itu sendiri rosak. Contohnya tiada fail sijil.
Penggunaan yang paling penting adalah untuk menyiasat jika perkhidmatan anda tidak bergantung, gunakan perintah dengan cara ini.
$ systemctl list-dependencies xringdHasilnya adalah senarai panjang, disusun dengan senang di pokok dan menunjukkan semua perkhidmatan berwarna hijau atau merah jika ada yang tidak kena. Anda juga dapat melihat kebergantungan dalam fail perkhidmatan. Buka fail menggunakan editor kegemaran anda atau gunakan systemctl, yang akan membuka fail dengan editor lalai.
Menyenaraikan perkhidmatan aktif
Apabila anda ingin menyiasat sistem, anda perlu mengetahui bagaimana unit-unit itu sesuai. Untuk melakukan ini, anda mempunyai sejumlah pilihan untuk mencetak perinciannya. Anda boleh menyenaraikan sistem mana yang sibuk, gagal dan sebagainya. Lebih penting lagi anda boleh menyenaraikan bagaimana mereka disatukan, unit mana, perkhidmatan dll. unit semasa bergantung pada. Perintah utama untuk melakukan ini adalah systemctl, pilihannya berguna untuk menyempitkan masalah khusus anda.
Untuk mendapatkan penggunaan systemctl yang tepat, perhatikan pilihan perintah dengan teliti. Terdapat pilihan untuk memilih dengan tepat apa yang anda perlukan, terutama mengenai keadaan perkhidmatan apa pun. Di sini kami mencari perkhidmatan yang mempunyai masalah.
$ systemctl list-unit-files - type = serviceSenarai ini juga panjang dan anda perlu meneliti semua perkhidmatan untuk mencari apa yang anda cari. Dengan beberapa parameter lagi, anda boleh menapis parameter tertentu atau yang dilumpuhkan. Perintah di bawah akan menemui semua unit yang bertopeng.
$ systemctl list-unit-files --type = service --state = bertopengPerkhidmatan bertopeng disekat sehingga perkhidmatan lain tidak dapat memulakannya, walaupun perkhidmatan lain memerlukannya. Ini dapat digunakan untuk memastikan bahawa anda tidak menjalankan perkhidmatan yang bertentangan. Lazimnya, banyak perkhidmatan yang disembunyikan oleh pengurus pakej anda semasa anda membuang pakej tersebut. Anda boleh membuang fail perkhidmatan sepenuhnya jika anda mahu setelah membuang perkhidmatan. Ada kemungkinan juga ia merosakkan banyak perkhidmatan yang anda mahukan, jadi pastikan anda tahu jika anda memerlukan perkhidmatan bertopeng.
Sebilangan perkhidmatan disamarkan oleh proses dan anda tidak selalu bermaksud perkhidmatan tersebut akan ditutup. Apabila ini berlaku pada sistem anda, tindakan pertama yang perlu dilakukan adalah membuka bungkusan menggunakan systemctl. Walau bagaimanapun, ini tidak selalu mungkin, jadi anda perlu melepaskan pautan di direktori yang betul. Dalam kebanyakan sistem, ini akan berlaku lib / systemd / sistem. Sebelum melakukannya, periksa bahawa fail itu sebenarnya adalah pautan ke / dev / null.
$ ls -l lib / systemd / system> | grep null
Apabila anda pasti mahu membuang pautan ini, hapus dengan rm atau nyahpaut.
$ rm / lib / systemd / system / udisks2.perkhidmatanSekarang setelah anda mengetahui cara melakukannya, dengar amaran ini: berkali-kali perlu ada pautan ini di sana. Ambil lvm2 sebagai contoh, ia disembunyikan dari operasi sehingga tidak akan mengganggu sistem baru, di mana lvm2 hadir dengan banyak perkhidmatan kecil. Lihat hasilnya:
status $ systemctl lvm2 *Mengeluarkan pautan boleh menyebabkan kekacauan pada sistem anda kerana lvm2 sendiri memerlukannya untuk mengelakkan konflik. Ini hanya satu contoh, jadi berhati-hatilah sebelum anda meneruskannya.
Kesimpulannya
Apabila anda ingin menyenaraikan perkhidmatan dalam systemd, anda mesti terlebih dahulu memikirkan apa yang anda cari dalam pencarian anda. Adakah anda mencari perkhidmatan yang anda perlukan atau adakah anda melihat bahawa anda mempunyai terlalu banyak perkhidmatan. Walau apa pun, anda perlu menyesuaikan pertanyaan anda dengan keperluan tertentu. Systemd pada mulanya kelihatan membingungkan tetapi ketika anda melihat lebih dekat, semuanya menggunakan cara yang mudah untuk menyatukan permulaan sehingga perkhidmatan dapat bermula secara selari di mana sistem memerlukannya sementara dapat meminta setiap layanan menunggu layanan tertentu yang mereka andalkan.