System Init: Systemd, Systemv and Upstart

By Muhammad Aditiya Rakhman


The init Process

/sbin/init (biasanya hanya disebut init) adalah proses (atau tugas) tingkat pengguna yang pertama kali dijalankan pada sistem dan terus berjalan sampai sistem dimatikan. Secara tradisional, proses ini dianggap sebagai induk dari semua proses pengguna, meskipun secara teknis hal ini tidak benar, karena beberapa proses dimulai secara langsung oleh kernel.

init mengkoordinasikan tahap-tahap selanjutnya dari proses booting, mengkonfigurasi semua aspek lingkungan, dan memulai proses yang diperlukan untuk masuk ke sistem. init juga bekerja sama dengan kernel dalam membersihkan proses setelah proses berakhir.


Startup Alternatives

Untuk mengatasi keterbatasan intrinsik dalam SysVinit, metode baru untuk mengendalikan startup sistem dikembangkan. Meskipun ada yang lain, dua skema utama diadopsi oleh distributor Enterprise, Upstart dan systemd.

Upstart

  • Developed by Ubuntu and first included in 2006.

  • Adopted in Fedora 9 (in 2008) and in RHEL 6 and its clones.

  • Was also used in various embedded and mobile devices.

systemd

  • Fedora was the first major distribution to adopt it in 2011.

  • RHEL and SUSE followed.

  • Ubuntu 16.04 replaced Upstart with systemd.

  • All important Linux distributions are now based on systemd.


systemd Features

Sistem systemd dan manajer sesi untuk Linux sekarang dominan di semua distribusi utama. Fitur-fiturnya meliputi yang berikut ini:

  • Boot lebih cepat dari sistem init sebelumnya

  • Menyediakan kemampuan paralelisasi yang agresif

  • Menggunakan soket dan aktivasi D-Bus untuk memulai layanan

  • Mengganti skrip shell dengan program

  • Menawarkan permulaan daemon sesuai permintaan

  • Melacak proses menggunakan cgroups

  • Mempertahankan titik pemasangan dan pemasangan otomatis

  • Menerapkan logika kontrol layanan berbasis ketergantungan transaksional yang rumit

  • Dapat bekerja sebagai pengganti drop-in untuk SysVinit dan kompatibel dengan skrip SysVinit.


systemd Configuration Files

Meskipun systemd lebih suka menggunakan sekumpulan berkas konfigurasi standar, ia juga dapat menggunakan berkas konfigurasi lama yang bergantung pada distribusi sebagai cadangan.

Contoh berkas konfigurasi baru adalah /etc/hostname, yang akan menggantikan /etc/sysconfig/network pada Red Hat, /etc/hostname pada SUSE, dan /etc/hostname (yang diadopsi sebagai standar) pada Debian.

File lain mungkin termasuk:

  • /etc/vconsole.conf: pemetaan keyboard default dan font konsol.

  • /etc/sysctl.d/*.conf: direktori drop-in untuk parameter sysctl kernel.

  • /etc/os-release: file ID distribusi.


systemctl

systemctl adalah utilitas utama untuk mengelola layanan. Sintaks dasarnya adalah:

$ systemctl [options] command [name]

Perintah-perintah ini tidak benar-benar memulai atau menghentikan layanan; perintah-perintah ini mengontrol apakah layanan tersebut dijalankan atau tidak pada saat boot sistem.

Lengkapnya baca man page.

Last updated

Was this helpful?