MODUL 18 System Init: Systemd, Systemv and Upstart (ADINUSA)

Isi Modul 18: System Init – Systemd, SystemV, dan Upstart
-
Pentingnya Proses Init
- Proses init adalah proses pertama yang berjalan setelah kernel Linux dimuat.
- Bertanggung jawab untuk menginisialisasi sistem dan menjalankan layanan yang dibutuhkan.
-
Evolusi System Init
- SystemV Init: Sistem init tradisional berbasis skrip yang berjalan secara berurutan.
- Upstart: Pengganti SystemV yang mendukung event-driven startup, tetapi masih memiliki keterbatasan.
- Systemd: Sistem init modern yang lebih efisien dengan fitur paralelisasi dan manajemen layanan yang lebih baik.
-
Konfigurasi dan Penggunaan Systemd
- Menggunakan perintah systemctl untuk mengontrol layanan.
- Mengelola unit layanan untuk meningkatkan kecepatan booting dan efisiensi sistem.
Modul ini bertujuan agar pengguna memahami peran proses init, evolusi dari SystemV ke Systemd, serta cara mengelola layanan dalam Systemd.
The Init Process
-
Apa itu Init?
init(terletak di/sbin/init) adalah proses pertama yang berjalan setelah sistem di-boot dan akan terus berjalan hingga sistem dimatikan.- Bertindak sebagai "induk" dari semua proses pengguna, meskipun beberapa proses dapat dijalankan langsung oleh kernel.
- Mengkoordinasikan tahap akhir proses booting, mengatur lingkungan sistem, dan menjalankan layanan yang diperlukan.
-
Sejarah Implementasi Init
- Dulu, distribusi Linux menggunakan SysVinit, yang dikembangkan untuk kondisi berikut:
- Sistem berbasis multi-user di mainframe.
- Berjalan pada prosesor tunggal.
- Waktu startup dan shutdown tidak terlalu diperhatikan.
- SysVinit menggunakan pendekatan sekuensial berbasis run level, di mana setiap tahap harus selesai sebelum tahap berikutnya dimulai.
- Dulu, distribusi Linux menggunakan SysVinit, yang dikembangkan untuk kondisi berikut:
-
Kelemahan SysVinit dan Perkembangan Baru
- Tidak dapat memanfaatkan pemrosesan paralel di CPU multi-core.
- Proses shutdown dan reboot dianggap tidak penting, sehingga tidak dioptimalkan.
- Seiring perkembangan teknologi, metode lama ini digantikan oleh Upstart dan Systemd untuk meningkatkan kecepatan dan efisiensi booting.
-
Implementasi Modern
- Sistem modern saat ini hampir semuanya telah beralih ke Systemd, yang menawarkan fitur lebih canggih dan cepat dibandingkan metode lama.
Bagian ini membahas Alternatif Startup yang dikembangkan untuk menggantikan keterbatasan SysVinit, dengan fokus pada Upstart dan Systemd.
Startup Alternatives
-
Upstart
- Dikembangkan oleh Ubuntu dan pertama kali diperkenalkan pada tahun 2006.
- Digunakan dalam Fedora 9 (2008) serta RHEL 6 dan turunannya.
- Juga digunakan dalam perangkat embedded dan mobile.
-
Systemd
- Fedora adalah distribusi besar pertama yang mengadopsinya pada tahun 2011.
- Diikuti oleh RHEL dan SUSE.
- Ubuntu 16.04 menggantikan Upstart dengan Systemd.
- Saat ini, hampir semua distribusi Linux utama telah beralih ke Systemd.
-
Migrasi ke Systemd
- Proses migrasi dari Upstart dan SysVinit ke Systemd tidak mudah karena adanya bug dan fitur yang hilang.
- Untuk kompatibilitas dengan software lama, beberapa wrapper SysVinit masih tetap dipertahankan.
- Perdebatan mengenai Systemd cukup panjang dan kompleks, tetapi kini hampir semua sistem telah mengadopsinya.
Kesimpulannya, Systemd adalah standar baru dalam sistem init, sementara SysVinit dan Upstart kini sudah tidak lagi digunakan secara signifikan.
Bagian ini menjelaskan Fitur-fitur systemd, yang kini menjadi sistem init dominan di semua distribusi Linux utama.
Fitur utama systemd
- Boot lebih cepat dibanding sistem init sebelumnya.
- Mendukung paralelisasi agresif untuk meningkatkan efisiensi startup.
- Menggunakan socket dan D-Bus activation untuk memulai layanan.
- Menggantikan script shell dengan program yang lebih efisien.
- Mendukung start daemon sesuai permintaan (on-demand).
- Melacak proses menggunakan cgroups (control groups).
- Mengelola mount dan automount point.
- Memiliki sistem kontrol layanan berbasis dependensi dan transaksi.
- Dapat menggantikan SysVinit dan kompatibel dengan script SysVinit.
Kompatibilitas dengan sistem lama
- Systemd tetap mendukung konsep runlevel melalui mekanisme runlevel targets.
- Program telinit tetap tersedia dalam bentuk emulasi agar kompatibel dengan sistem lama.
- Systemd menggunakan file .service sebagai pengganti skrip bash tradisional untuk mengelola layanan.
- Semua daemon dikategorikan ke dalam cgroups Linux untuk manajemen yang lebih baik.
Dengan fitur-fitur ini, systemd lebih cepat, efisien, dan modular dibanding pendahulunya.
Dasar-dasar systemctl
Sintaks umum:
$ systemctl [options] command [name]1. Melihat status layanan
Menampilkan semua layanan yang dikontrol oleh systemd:
$ systemctl
Menampilkan semua layanan yang tersedia:
$ systemctl list-units -t service --all
Menampilkan hanya layanan yang aktif:
$ systemctl list-units -t service2. Mengelola layanan (Start/Stop/Enable/Disable)
Menjalankan atau menghentikan layanan:
$ sudo systemctl start foo
$ sudo systemctl stop foo
Bisa juga menggunakan nama lengkap layanan:
$ sudo systemctl start foo.service
$ sudo systemctl stop foo.service
Atau dengan path langsung ke unit file:
$ sudo systemctl start /path/to/foo.service
Mengaktifkan layanan saat booting:
$ sudo systemctl enable sshd.service
Menonaktifkan layanan agar tidak berjalan saat booting:
$ sudo systemctl disable sshd.service
Catatan:
- Perintah
enabledandisabletidak langsung memulai atau menghentikan layanan, hanya menentukan apakah layanan dijalankan saat booting atau tidak. - Untuk sebagian besar perintah,
.servicedapat dihilangkan, misalnyasystemctl start foosama dengansystemctl start foo.service.
Beberapa perintah systemctl dapat dijalankan tanpa root, tetapi beberapa lainnya memerlukan hak akses root atau sudo.

Komentar
Posting Komentar