File layanan memiliki .melayani ekstensi dan berisi instruksi yang diperlukan oleh sistemd untuk mengelola suatu layanan.
Itu sistemd sistem init mengelola inisialisasi sistem menggunakan Satuan . Unit adalah objek yang melakukan tugas atau tindakan, seperti mengelola layanan, yang melibatkan pengendalian dan pemantauannya. Unit-unit ini pada dasarnya adalah file yang disebut file layanan yang mencakup dependensi dan perintah unit. File-file ini sangat penting untuk mengontrol proses latar belakang secara efisien, dan mengelola sumber daya.
Dalam panduan ini, saya akan menjelajahi file layanan systemd, strukturnya, dan arahan utama yang mengontrol layanan.
Saat bekerja dengan systemd, ketentuannya file layanan systemd Dan file unit sistemd sering digunakan secara bergantian karena secara teknis keduanya merujuk pada hal yang sama.
Apa itu File Layanan Systemd
Di Linux, systemd mengelola layanan menggunakan file layanan yang berisi instruksi konfigurasi sehingga systemd dapat memahami dan mengeksekusi.
Untuk membuat daftar unit, gunakan systemctl dengan –daftar-unit memerintah.
sistemctl --daftar-unit
Untuk membaca file layanan dari layanan apa pun, gunakan kucing perintah dengan jalur file.
kucing [ / jalur file layanan ]Misalnya, untuk melihat file layanan ssh.service gunakan perintah yang diberikan.
kucing / lib / sistemd / sistem / ssh.service
Anatomi File Layanan Systemd
Umumnya, file unit layanan systemd berisi tiga bagian.
- Satuan
- Melayani
- Install
File unit khusus layanan akan memiliki bagian khusus yang disebut Melayani bagian.
Perhatikan bahwa layanan ini hanyalah jenis unit. Sebuah unit dapat memiliki tipe berbeda seperti soket, perangkat, mount, automount, swap, target, timer, slice, dan scope. Bagian ini ditempatkan di antara bagian Unit dan Instalasi. Ekstensi file juga akan diganti dengan tipe unit masing-masing, misalnya tipe unit soket akan memiliki a .stopkontak ekstensi file.
Catatan: Dalam panduan ini, saya akan fokus pada jenis unit layanan karena penggunaannya yang luas oleh administrator dan pengembang.
Bagian-bagian ini diapit tanda kurung siku ([]). Setiap bagian berisi set instruksi yang relevan. Struktur umum file layanan diberikan di bawah ini.
[ Satuan ]Petunjuk1 =Instruksi 1
Petunjuk2 =Instruksi 2
[ Melayani ]
Petunjuk1 =Instruksi 1
Petunjuk2 =Instruksi 2
[ Install ]
Petunjuk1 =Instruksi 1
Petunjuk2 =Instruksi 2
Urutan bagian dapat diubah; namun, urutan yang disebutkan di atas umumnya diikuti.
[Satuan] Bagian
Bagian unit berisi deskripsi unit dan dependensi unit. Bagian ini, menurut konvensi, ditempatkan di bagian atas file layanan. Petunjuk yang umum digunakan tercantum di bawah ini:
Pengarahan | Keterangan |
Keterangan | Direktif ini digunakan untuk menyebutkan nama layanan. Panjang deskripsi tidak boleh melebihi 80 karakter. |
Dokumentasi | Arahan ini berisi halaman manual atau URL layanan. |
Memerlukan | Arahan ini digunakan untuk menyebutkan ketergantungan pada layanan saat ini. Jika aktivasi layanan ketergantungan ini tidak dilakukan, layanan saat ini tidak akan dimulai. |
ingin | Arahan ini digunakan untuk menyebutkan ketergantungan pada layanan saat ini. Namun, layanan ketergantungan ini tidak perlu diaktifkan untuk menjalankan layanan saat ini. |
Sebelum | Setelah unit saat ini diaktifkan, layanan yang disebutkan dalam arahan ini akan dimulai. |
Setelah | Sebelum unit saat ini diaktifkan, layanan yang disebutkan dalam arahan ini akan dimulai. |
Terikat pada | Arahan ini menghubungkan layanan saat ini ke layanan yang disebutkan. Jika layanan tertaut dimulai ulang, layanan saat ini juga akan dimulai ulang. |
Selain arahan tersebut, ada dua arahan lagi; Kondisi Dan Menegaskan. Banyak layanan memerlukan kondisi sistem tertentu agar berhasil dijalankan, dan arahan ini digunakan untuk menyebutkan kondisi tersebut.
[Instal] Bagian
Bagian ini tidak wajib dan hanya diperlukan ketika suatu layanan memerlukan aktivasi atau penonaktifan saat boot. Apalagi disebutkan juga layanan aliasnya. Petunjuk yang umum digunakan untuk bagian Instal tercantum di bawah ini:
Pengarahan | Keterangan |
Dicari Oleh | Arahan ini menetapkan run-level * sasaran layanan. Jika target ditetapkan ke multi-pengguna.target maka layanan akan diaktifkan pada run-level ini. |
DiperlukanOleh | Direktif ini memiliki kemiripan dengan WantedBy, namun, meskipun tanpa ketergantungan yang disebutkan dalam direktif, layanan akan diaktifkan. |
Alias | Arahan ini digunakan untuk mengaktifkan layanan dengan nama lain. Symlink dibuat dengan nama ini ketika layanan diaktifkan. |
Kebanyakan, itu multi-pengguna.target digunakan sebagai Dicari Oleh parameter. Tapi apa itu multi-pengguna.target?
multi-user.target mewakili status sistem yang siap menerima sesi multi-pengguna non-grafis. Ini adalah keadaan sebelum meluncurkan GUI.
Ada beberapa level proses yang berbeda pada sistem, mari kita pelajari fungsi dari level proses tersebut.
Di systemd, layanan dikelompokkan berdasarkan level proses, yang disebut target . Setiap run-level memiliki file dengan .target ekstensi di /etc/systemd/system direktori. Layanan akan berjalan berdasarkan status run level.
Tingkat Jalankan | Target | Negara | File |
0 | matikan | Matikan & matikan | poweroff.target |
1 | menyelamatkan | Memulai shell penyelamat | penyelamatan.target |
2,3,4 | multi-pengguna | Memulai shell non-GUI multi-pengguna | multi-pengguna.target |
5 | grafis | Membuat shell GUI multi-pengguna | grafis.target |
6 | menyalakan ulang | Matikan & mulai ulang | reboot.target |
Bagian [Layanan].
Bagian ini berisi pengaturan konfigurasi untuk layanan. Konfigurasi utama bagian ini menentukan tipe dan perintah yang akan dijalankan pada awal layanan. Jenis Dan Mulai Eksekutif adalah arahan utama yang digunakan untuk menyiapkan layanan.
Berbagai jenis layanan tercantum dalam tabel berikut.
Jenis Layanan | Keterangan |
sederhana | Ini adalah tipe default ketika tipe atau Nama Bus tidak disebutkan dan hanya ExecStart yang disebutkan. Systemd menjalankan proses utama terlebih dahulu dan kemudian unit tindak lanjut. |
garpu | Tipe ini digunakan untuk menjaga layanan tetap berjalan meskipun layanan induk ditutup. Ini membagi proses anak setelah penutupan proses induk. |
satu tembakan | Systemd menjalankan proses utama terlebih dahulu dan ketika proses utama keluar, unit tindak lanjut akan dimulai. |
dbus | Layanan dengan dbus digunakan untuk berkomunikasi dengan proses lain di bus. Jika nama bus disebutkan, maka proses akan diaktifkan setelah nama bus diperoleh. |
memberitahu | Layanan akan memberi tahu Anda saat memulai proses. Systemd akan melanjutkan ke unit tindak lanjut setelah pemberitahuan dikeluarkan. |
menganggur | Ini menahan layanan sampai semua pekerjaan aktif dikirim; terutama berguna untuk meningkatkan keluaran konsol. |
Arahan yang umum digunakan di bagian Layanan disebutkan di bawah ini:
Pengarahan | Keterangan |
Mulai Eksekutif | Itu menyimpan jalur lengkap dari perintah yang akan dieksekusi untuk memulai proses. |
ExecStartPra | Itu menyimpan perintah yang harus dijalankan sebelum proses utama dimulai. |
ExecStartPost | Itu menyimpan perintah yang harus dijalankan setelah proses utama dimulai. |
ExecReload | Itu menyimpan perintah untuk memuat ulang konfigurasi layanan. |
Mengulang kembali | Untuk memulai ulang layanan secara otomatis dalam keadaan seperti saat gagal, saat berhasil, saat tidak normal, saat dibatalkan, dan saat diawasi. |
Mulai UlangSec | Untuk menjaga jumlah detik setelah itu layanan akan dimulai ulang secara otomatis. |
Itu Mulai Eksekutif adalah salah satu arahan penting yang digunakan di bagian Layanan. Ini berisi path lengkap dari executable bahwa layanan akan dijalankan saat pemanggilan.
Kesimpulan
File layanan systemd adalah file konfigurasi yang disusun dengan arahan dan perintah sehingga dapat dikelola oleh systemd. File-file ini berisi instruksi yang menunjukkan bagaimana suatu layanan dikelola oleh systemd. Dalam panduan ini, saya membahas cara mengakses file layanan systemd, bagian-bagiannya, dan arahan yang mengelola layanan. Untuk mempelajari lebih lanjut tentang instruksi file layanan, silakan baca panduan dokumentasi resmi yang ada Di Sini .