Systemd: Bapak dari semua proses lainnya

Sebuah Linux, dan sistem *nix lainnya, selalu memulai proses yang merupakan bapak dari semua proses lainnya. Saat Anda menggunakan Systemd, proses itu adalah systemd, prosesnya selalu disebut ‘init’ terlepas dari sistem init. Setelah systemd berjalan, itu akan memulai daemon yang menjalankan subsistem. Daemon mengontrol sumber daya apa yang Anda miliki dan sistem apa yang terbuka. Prompt login Anda adalah service yang dikelola oleh systemd. Systemd memulai banyak service lain dan juga memasang semua disk Anda, termasuk pemasangan snap.

Bagaimana Anda mengontrol apa yang dimulai?

Pertama-tama, sistem init paling awal memiliki runlevel yang akan dikenali banyak pembaca. Runlevel 1 adalah cara user tunggal, 2 cara multi-user tanpa jaringan dan 3-5 multi-user dan grafis. Menyetel runlevel ke 0 berarti berhenti dan 6 berarti reboot. Pengembang systemd menemukan level ini tidak jelas sehingga mengubahnya menjadi target. Target tidak persis sama tetapi memiliki fungsi yang serupa. Saat target tertentu sedang berjalan, kumpulan unit tertentu sedang berjalan. Lebih lanjut tentang unit nanti.

Mengatur “runlevel”, yang disebut target.

Anda dapat mengubah target saat menjalankan, misalnya Anda dapat menggunakan terminal untuk menetapkan target Anda ke multi-user. Ini akan menghentikan GUI Anda, X atau Wayland tetapi membiarkan Anda dan orang lain, masuk dengan konsol teks. Gunakan perintah berikut.

$ systemctl isolate multiuser.target

Atau, jika Anda ingin memulai desktop, gunakan perintah berikut sebagai gantinya.

$ systemctl isolate graphical.target

Yang benar-benar Anda minati adalah bagaimana memulai level yang benar, Anda dapat mengetahui apa yang Anda miliki saat ini dengan cara ini.

$ systemctl get-default

Untuk mengubah set defaultnya.

$ systemctl set-default graphical.target

Perintah ini sebenarnya membuat banyak unit dan service dimulai saat Anda mem-boot komputer Anda. Anda mungkin ingin memulai atau menghentikan satu service.

MEMULAI, menghentikan, mengaktifkan dan menonaktifkan service.

Di sinilah Anda memiliki kesempatan untuk mengubah apa yang terjadi saat boot dan selama operasi normal. Berbeda dengan target, unit khusus untuk service tertentu. Untuk menghentikan service Anda menggunakan ‘systemctl stop’, sama-sama Anda dapat menggunakan ‘start’ dan ‘restart’. Untuk membuat service mulai saat boot, Anda menggunakan ‘aktifkan’, untuk menghentikannya ‘nonaktifkan’. Pilih service dan mulai dan hentikan saat sedang berjalan.

$ systemctl status cups.service

Perintah ini menunjukkan status service, juga menunjukkan daftar tindakan yang diambil oleh sistem terkait service. Untuk menghentikan service, gunakan perintah di bawah ini.

$ systemctl stop cups.service

Layanan sekarang dihentikan untuk sesi Anda saat ini. Untuk mengubahnya menjadi tidak memulai pada boot berikutnya gunakan nonaktifkan.

$ systemctl disable cups.service

Perhatikan bahwa Anda hanya dapat menonaktifkan service, ini tidak akan berpengaruh pada situasi Anda saat ini. Layanan terus berjalan. Namun, pada boot berikutnya, itu tidak akan memulai service.

Systemd juga mengontrol tunggangan, perangkat, soket, dan lainnya. Unit lebih rendah dan lebih mudah dipahami, jika Anda pernah berurusan dengan Linux sebelumnya. Anda juga dapat mengaturnya sendiri tetapi efek paling besar pada boot adalah untuk mengontrol service.

Bagaimana Anda menambahkan skrip Anda sendiri?

Anda dapat menambahkan skrip Anda sendiri dengan cukup mudah, detail yang menarik untuk diketahui adalah bagaimana Anda membuat skrip atau service Anda bergantung pada orang lain. Ini ditunjukkan dengan rapi dalam file service resume wifi ini.

[Unit]
Description=Restart networkmanager at resume
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target
 
[Service]
Type=oneshot
ExecStart=/bin/systemctl restart network-manager.service
 
[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target

Kode ini membuat service yang terjadi sekali (oneshot) setelah tiga target yang disebutkan dalam kode. Kode yang dieksekusi dalam hal ini adalah satu perintah. Anda juga dapat mengarahkan ExecStart ke skrip yang Anda pilih.

Kesimpulan

Mengubah sistem Anda, terutama cara boot, Anda dapat melakukannya sendiri, tetapi berhati-hatilah karena ini memiliki banyak konsekuensi untuk setiap service, jadi pastikan kode Anda stabil dan cepat dieksekusi.

Related Posts