Linux
  • Pengenalan
  • Filesystem Tree
  • Proses
  • Sinyal
  • Manajemen package
  • Monitoring sistem
  • Monitoring I/O
  • Filesystem dan VFS (belum)
  • Fitur filesystem (belum)
  • Manajemen volume logis / LVM (belum)
  • Kernel
  • Manajemen akun user
  • Izin dan kepemilikan file
  • Alamat jaringan
  • Konfigurasi perangkat jaringan
  • Firewall
  • Startup sistem dan grub
  • System Init: Systemd, SystemV dan Upstart
  • Troubleshooting dasar
  • Lab & Quiz
Powered by GitBook
On this page
  • Init process (proses inisiasi)
  • Alternatif startup
  • Fitur systemd
  • File konfigurasi systemd
  • systemctl

System Init: Systemd, SystemV dan Upstart

Init process (proses inisiasi)

/sbin/init (init) adalah proses (tugas) tingkat user pertama yang dijalankan pada sistem dan terus berjalan hingga sistem dimatikan. juga dianggap sebagai induk dari semua proses user, meskipun secara teknis proses dimulai langsung oleh kernel.

init mengoordinasikan tahapan selanjutnya dari proses booting, mengonfigurasi semua aspek lingkungan, dan memulai proses yang diperlukan untuk masuk ke sistem. juga bekerja erat dengan kernel dalam membersihkan proses ketika proses tersebut dihentikan.

Hampir semua distribusi mendasarkan proses init pada software SysVinit milik UNIX, namun skema ini dikembangkan dengan keadaan yang berbeda:

  • targetnya adalah sistem mainframe multi-user (bukan komputer pribadi, laptop, dan perangkat lainnya)

  • targetnya adalah sistem prosesor tunggal

  • waktu startup (dan shutdown) bukanlah hal penting, jauh lebih penting daripada melakukan segala sesuatu dengan benar

Startup dipandang sebagai proses serial yang dibagi menjadi serangkaian tahapan berurutan (run level), tiap tahap memerlukan penyelesaian sebelum tahap berikutnya. Startup tidak mudah memanfaatkan pemrosesan paralel yang dapat dilakukan pada banyak prosesor/inti.

shutdown/reboot dipandang sebagai peristiwa yang relatif jarang terjadi karena saat ini sistem linux melakukan booting dalam hitungan detik, 3 implementasi paling umum itu systemd, Upstart, SysVinit tapi kini telah dipindahkan ke systemd karena sistem modern memerlukan metode baru dengan kemampuan yang lebih baik.

Alternatif startup

Untuk mengatasi keterbatasan intrinsik di SysVinit, metode baru untuk mengendalikan startup sistem dikembangkan:

Upstart

  • Dikembangkan oleh Ubuntu dan pertama kali disertakan pada tahun 2006

  • Diadopsi di Fedora 9 (tahun 2008) dan di RHEL 6 dan klonnya

  • Juga digunakan di berbagai perangkat tertanam dan seluler

sistemd

  • Fedora adalah distribusi besar pertama yang mengadopsinya pada tahun 2011

  • RHEL dan SUSE mengikuti

  • Ubuntu 16.04 menggantikan Pemula dengan systemd

  • Semua distribusi Linux yang penting sekarang didasarkan pada systemd

Migrasi ke systemd bukanlah hal yang sepele dan bug serta fitur yang hilang dapat sangat melumpuhkan, sehingga lapisan kompatibilas yang penting diadopsi dan masih ada untuk software lama. karena itu kompatibilitas pembungkus utilitas SysVinit masih bertahan.

Fitur systemd

  • boot lebih cepat dari sistem init sebelumnya

  • menyediakan kemampuan paralelisasi yang agresif

  • menggunakan soket dan aktivasi D-Bus untuk memulai layanan

  • menggantikan skrip shell dengan program

  • menawarkan permulaan daemon sesuai permintaan

  • melacak proses menggunakan cgroups

  • mempertahankan mount dan automount point

  • menerapkan logika kontrol layanan berbasis ketergantungan transaksional yang rumit

  • dapat berfungsi sebagai pengganti SysVinit dan kompatibel dengan skrip SysVinit

Systemd kompatibel dengan SysVinit dan konsep runlevel didukung melalui target runlevel. program telinit ditiru untuk bekerja dengan runlevel. Sebagai pengganti skrip bash, systemd menggunakan file .service, systemd juga mengurutkan semua daemon ke dalam cgroup (control group) linux mereka sendiri.

File konfigurasi systemd

Meskipun systemd lebih memilih untuk menggunakan sekumpulan file konfigurasi standar, ia juga dapat menggunakan file konfigurasi lama yang bergantung pada distribusi sebagai cadangan seperti /etc/hostname

  • /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

File konfigurasi mana yang akan digunakan tergantung pada bagaimana setiap distribusi mengaturnya, systemd kompatibel dengan SysVinit sehingga menggunakan perintah lama dapat digunakan, juga mendukung penggunaan runlevel secara konseptual melalui mekanisme target runlevel, selain itu telinit ditiru untuk bekerja dengan runlevel.

systemctl

systemctl adalah utilitas utama untuk mengelola layanan

systemctl [options] command [name]

beberapa contoh penggunaan:

systemctl
systemctl list-units -t service
systemctl list-units -t service --all
sudo systemctl start foo
sudo systemctl start foo.service
sudo systemctl start /path/to/foo.service
sudo systemctl stop foo.service
sudo systemctl enable sshd.service
sudo systemctl disable sshd.service
PreviousStartup sistem dan grubNextTroubleshooting dasar

Last updated 1 year ago