RANGKUMAN MODUL 18
Radnext Digital Indonesia
RANGKUMAN MODUL 18
The init Process
/sbin/init(biasanya disebut init) adalah proses (atau tugas) tingkat pengguna pertama yang dijalankan pada sistem dan terus berjalan hingga sistem dimatikan. Secara tradisional, ini dianggap sebagai induk dari semua proses pengguna, meskipun secara teknis hal itu tidak benar, karena beberapa proses dimulai langsung oleh kernel.
init mengoordinasikan tahap-tahap selanjutnya dari proses boot, mengonfigurasikan semua aspek lingkungan, dan memulai proses-proses yang dibutuhkan untuk masuk ke dalam sistem. init juga bekerja sama erat dengan kernel dalam membersihkan proses-proses setelah proses tersebut berakhir.
Secara tradisional, hampir semua distribusi mendasarkan proses init pada perangkat lunak SysVinit milik UNIX. Namun, skema ini dikembangkan beberapa dekade lalu dalam situasi yang agak berbeda:
- Sasarannya adalah sistem mainframe multi-pengguna (dan bukan komputer pribadi, laptop, dan perangkat lainnya)
- Targetnya adalah sistem prosesor tunggal
- Waktu memulai (dan mematikan) bukanlah hal yang penting; hal itu jauh kurang penting daripada memastikan semuanya berjalan dengan benar.
Startup dipandang sebagai proses serial, dibagi menjadi serangkaian tahap berurutan (disebut run level). Setiap tahap harus diselesaikan sebelum tahap berikutnya dapat dilanjutkan. Dengan demikian, startup tidak dapat dengan mudah memanfaatkan pemrosesan paralel yang dapat dilakukan pada beberapa prosesor atau inti.
Kedua, shutdown/reboot dianggap sebagai peristiwa yang relatif jarang, dan berapa lama waktu yang dibutuhkan tidak dianggap penting; sistem Linux masa kini biasanya melakukan booting dalam hitungan detik.
Tiga implementasi yang paling umum meliputi systemd, Upstart dan SysVinit, tetapi semua distribusi utama kini telah berpindah ke systemd.
Sistem modern membutuhkan metode baru dengan kemampuan lebih baik.
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
- Dikembangkan oleh Ubuntu dan pertama kali disertakan pada tahun 2006.
- Diadopsi di Fedora 9 (tahun 2008) dan di RHEL 6 dan klon-klonnya.
- Juga digunakan di berbagai perangkat tertanam dan seluler.
systemd
- Fedora adalah distribusi besar pertama yang mengadopsinya pada tahun 2011.
- RHEL dan SUSE menyusul.
- Ubuntu 16.04 menggantikan Upstart dengan systemd.
- Semua distribusi Linux yang penting sekarang berbasis systemd.
Migrasi ke systemd tidaklah mudah dan bug serta fitur yang hilang dapat sangat mengganggu, sehingga lapisan kompatibilitas penting diadopsi dan masih ada untuk perangkat lunak lama. Dengan demikian, pembungkus kompatibilitas utilitas SysVinit masih ada.
Sejarah pengembangan dan adopsi systemd cukup rumit, dan kepribadian yang beragam memastikan tidak semua diskusi bersifat ramah dan teknis. Namun, sejauh yang kami ketahui, perang suci ini telah berakhir.
Berikut ini, kami akan berkonsentrasi pada systemd, dan, untuk sebagian besar, mengabaikan SysVinit dan Upstart, yang tidak lagi digunakan secara signifikan.
systemd Features
Sistem dan manajer sesi systemd untuk Linux kini dominan di semua distribusi utama. Fitur-fiturnya meliputi berikut ini:
- Booting 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 memulai daemon sesuai permintaan
- Melacak proses menggunakan cgroups
- Memelihara titik pemasangan dan pemasangan otomatis
- Menerapkan logika kontrol layanan berbasis ketergantungan transaksional yang rumit
- Dapat berfungsi sebagai pengganti langsung untuk SysVinit dan kompatibel dengan skrip SysVinit.
Perhatikan bahwa systemd kompatibel dengan SysVinit dan konsep runlevel didukung melalui target runlevel. Program telinit diemulasikan untuk bekerja dengan runlevel.
Alih-alih skrip bash, systemd menggunakan .servicefile. Selain itu, systemd mengurutkan semua daemon ke dalam cgroup Linux (grup kontrol) mereka sendiri.
systemd Configuration Files
Walaupun 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/networkdi Red Hat, /etc/HOSTNAMEdi SUSE, dan /etc/hostname(diadopsi sebagai standar) di Debian.
File lainnya 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: berkas ID distribusi.
File konfigurasi mana yang akan bergantung pada bagaimana setiap distribusi mengatur berbagai hal; misalnya, /etc/vconsole.conf, yang mengonfigurasi default terminal virtual, tidak muncul pada sistem Ubuntu.
systemd kompatibel dengan SysVinit, jadi menggunakan perintah lama secara umum akan berfungsi. Systemd mendukung penggunaan runlevel secara konseptual, melalui mekanisme target runlevel. Selain itu, telinit diemulasikan untuk bekerja dengan runlevel.
Comments
Post a Comment