Kisah di balik 'init' dan 'systemd' mengapa 'init' perlu diganti dengan 'systemd' di linux
- 1065
- 4
- Dr. Travis Bahringer
Saya berlangganan beberapa milis terkait dengan berbagai distribusi dan aplikasi Linux hanya untuk menjaga diri saya diperbarui dengan apa yang terjadi di mana. Apa bug baru? Apa tambalan yang dirilis? Apa yang diharapkan dalam rilis berikutnya? dan banyak hal lainnya. Hari -hari ini milis sangat padat dengan "Pilih Sisi Anda di Linux Divide", terutama di milis Debian bersama dengan beberapa lainnya.
Systemd menggantikan initApa "Pilih Sisi Anda di Linux Divide"?
Itu init Daemon akan diganti dengan daemon Systemd pada beberapa distribusi Linux, sementara banyak dari mereka telah menerapkannya. Ini adalah/akan menciptakan kesenjangan yang sangat besar antara penjaga unix/linux tradisional dan penjaga Linux baru - pemrogram dan admin sistem.
Dalam artikel ini, kami akan membahas dan memecahkan semua pertanyaan satu-per-satu.
- Apa init?
- Apa itu Systemd?
- Mengapa init perlu diganti?
- Fitur apa yang akan dimiliki Systemd.
Apa init?
Di linux, init adalah singkatan untuk inisialisasi. Itu init adalah proses daemon yang dimulai segera setelah komputer dimulai dan terus berjalan sampai, itu adalah shutdown. Init in-fact adalah proses pertama yang dimulai ketika komputer sepatu bot, menjadikannya induk dari semua proses berjalan lainnya secara langsung atau tidak langsung dan karenanya biasanya ditetapkan “PID = 1“.
Jika entah bagaimana init Daemon tidak bisa dimulai, tidak ada proses yang akan dimulai dan sistem akan mencapai tahap yang disebut “Kernel Panic“. init paling sering disebut sebagai Sistem V init. System V adalah sistem operasi unix komersial pertama yang dirancang dan penggunaan init pada sebagian besar distribusi linux saat ini identik dengan Sistem V OS Dengan beberapa pengecualian seperti Slackware menggunakan BSD-style dan gentoo menggunakan custom init.
Kebutuhan untuk menggantikan init dengan sesuatu yang lebih sempurna dirasakan sejak lama dan beberapa alternatif dikembangkan dari waktu ke waktu, beberapa di antaranya menjadi pengganti init asli distribusi, beberapa di antaranya adalah:
- Pemula - Daemon pengganti init yang diimplementasikan di Ubuntu GNU/Linux dan dirancang untuk mulai memproses secara tidak sinkron.
- Masa - Daemon pengganti init yang dibangun di sekitar kesederhanaan dan manajemen layanan, yang dirancang untuk memulai proses utamanya tunggal.
- Mudar - Daemon pengganti init yang ditulis dalam Python, diimplementasikan pada Pardus GNU/Linux dan dirancang untuk mulai memproses secara tidak sinkron.
- Systemd - Daemon pengganti init yang dirancang untuk memulai proses paralel, diimplementasikan dalam sejumlah distribusi standar - Fedora, OpenSUSE, Arch, RHEL, CentOS, dll.
Apa itu Systemd?
A Systemd adalah daemon manajemen sistem yang dinamai dengan konvensi unix untuk ditambahkan 'D'Di akhir daemon. Jadi, mereka dapat dengan mudah dikenali. Awalnya dirilis di bawah Lisensi Publik Umum GNU, tetapi sekarang rilis dilakukan di bawah GNU Lesser General Public License. Mirip dengan Init, SystemD adalah induk dari semua proses lain secara langsung atau tidak langsung dan merupakan proses pertama yang dimulai saat boot sehingga biasanya diberi “PID = 1“.
A Systemd, dapat merujuk pada semua paket, utilitas, dan perpustakaan di sekitar daemon. Itu dirancang untuk mengatasi kekurangan init. Itu sendiri adalah proses latar belakang yang dirancang untuk memulai proses secara paralel, sehingga mengurangi waktu boot dan overhead komputasi. Ini memiliki banyak fitur lain dibandingkan dengan init.
Mengapa ada kebutuhan untuk mengganti init?
Proses init dimulai secara serial i.e., Satu tugas dimulai hanya setelah startup tugas terakhir berhasil dan dimuat dalam memori. Ini sering mengakibatkan waktu boot yang tertunda dan lama. Namun, SystemD tidak dirancang untuk kecepatan tetapi untuk menyelesaikan hal-hal dengan rapi yang pada gilirannya menghindari semua penundaan yang tidak perlu.
Fitur SystemD
- Desain Bersih, Depan dan Efisien.
- Proses boot yang lebih sederhana.
- Pemrosesan bersamaan dan paralel saat boot.
- API yang lebih baik.
- Sintaks unit sederhana.
- Kemampuan untuk menghapus komponen opsional.
- Jejak kaki memori rendah.
- Teknik yang lebih baik untuk mengekspresikan dependensi.
- Instruksi Inisialisasi ditulis dalam file konfigurasi dan tidak dalam skrip shell.
- Manfaatkan Soket Domain UNIX.
- Penjadwalan Pekerjaan Menggunakan Timer Kalender SystemD.
- Acara Logging dengan Journald.
- Pilihan acara sistem logging dengan systemd serta syslog.
- Log disimpan dalam file biner.
- Status SystemD dapat dilestarikan untuk dipanggil nanti di masa depan.
- Lacak proses menggunakan cgroup kernel dan bukan pid.
- Pengguna Masuk dikelola oleh SystemD-Logind.
- Integrasi yang lebih baik dengan gnome untuk interoperabilitas.
Bottlenecks Systemd
- Semuanya di satu tempat.
- Bukan standar POSIX.
Integrasi systemd dan distro
Distribusi Linux | Integrasi |
Fedora | Ya, distro pertama untuk mengadopsi SystemD |
Lengkungan | Ya |
Topi merah | Ya |
Centos | Ya |
Debian | Ya, Debian 8 Codename Jessie akan memiliki SystemD secara default |
Gentoo | Ya, tetapi perlu diunduh, diinstal, dan mengkonfigurasi sisi dengan init khusus |
OpenSuse | Ya |
Kendur | Tidak (meskipun belum diadopsi sampai sekarang di Slackware, Patric Volkanding belum menunjukkan indikasi apakah akan diadopsi atau tidak) |
Ubuntu | Ya, perlu diinstal dan dikonfigurasi dengan hulu. |
Kontroversi
Linus Torvalds, Kepala Arsitek Linux Kernel, merasakan sikap pengembang kunci SystemD terhadap pengguna dan laporan bug sepertinya tidak apa -apa. Dilaporkan juga bahwa filosofi SystemD aneh dan cara asing untuk mengontrol proses sistem. Hal yang sama telah direkam dari Patric Volkerding dan pengguna dan pengembang Linux terkenal lainnya serta melalui forum online, waktu ke waktu.
Systemd vs Init
Fitur | init | Systemd |
Ketergantungan DBUS - Wajib | TIDAK | Ya |
Aktivasi berbasis perangkat | TIDAK | Ya |
Konfigurasi Ketergantungan Perangkat dengan Udev | TIDAK | Ya |
Aktivasi berbasis timer | Cron/at | Hak milik |
Manajemen kuota | TIDAK | Ya |
Penanganan Ketergantungan Layanan Otomatis | TIDAK | Ya |
Membunuh proses pengguna saat logout | TIDAK | Ya |
Manajemen swap | TIDAK | Ya |
Integrasi selinux | TIDAK | Ya |
Dukungan untuk HDD terenkripsi | TIDAK | Ya |
Pemuatan modul kernle statis | TIDAK | Ya |
GUI | TIDAK | Ya |
Sebutkan semua proses anak | TIDAK | Ya |
Kompatibel SYSV | Ya | Ya |
Booting interaktif | TIDAK | Ya |
Portabel ke non x86 | Ya | TIDAK |
Diadopsi di | Beberapa distro | Beberapa distro |
Startup layanan paralel | TIDAK | Ya |
Batas Sumber Daya Per Layanan | TIDAK | Ya |
Skrip startup yang mudah diperluas | Ya | TIDAK |
Kode terpisah dan file konfigurasi | Ya | TIDAK |
Perhitungan ketergantungan otomatis | TIDAK | Ya |
Verbose Debug | Ya | TIDAK |
Versi: kapan | N/a | V44+ |
Ukuran | 560 kb | N/a |
Jumlah file | 75 file | 900 file + glib + dbus |
Baris Kode - LOC | 15000 (kira -kira) | 224000 (kira -kira) (Kode Inc, Komentar dan Ruang Putih) 125000 (kira -kira) (Kode Aktor) |
Kesimpulan
Apa pun yang berjalan sebagai PID = 1 tidak boleh rusak, tidak boleh berantakan dan harus dikendalikan oleh pengguna secara efektif dan efisien. Banyak pengguna percaya bahwa mengganti init untuk systemd tidak lebih dari menciptakan kembali roda setiap kali sebagai efek samping linux. Tapi ini adalah sifat beragam dari Linux. Ini karena Linux sangat kuat. Perubahan itu bagus dan kita harus menghargainya jika itu karena alasan yang bagus.
Itu saja untuk saat ini. Saya akan berada di sini lagi dengan artikel menarik lainnya yang ingin Anda baca. Sampai kemudian tetap disini dan terhubung ke tecmint. Jangan lupa memberi kami umpan balik berharga Anda di komentar di bawah.
- « Manajemen Proses Seri RHCSA di RHEL 7 Boot, Shutdown, dan Segala sesuatu di antara - Bagian 5
- 25 Apache yang berguna '.trik htaccess untuk mengamankan dan menyesuaikan situs web »