Kisah di balik 'init' dan 'systemd' mengapa 'init' perlu diganti dengan 'systemd' di linux

Kisah di balik 'init' dan 'systemd' mengapa 'init' perlu diganti dengan 'systemd' di linux

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 init
Apa "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.

  1. Apa init?
  2. Apa itu Systemd?
  3. Mengapa init perlu diganti?
  4. 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:

  1. Pemula - Daemon pengganti init yang diimplementasikan di Ubuntu GNU/Linux dan dirancang untuk mulai memproses secara tidak sinkron.
  2. Masa - Daemon pengganti init yang dibangun di sekitar kesederhanaan dan manajemen layanan, yang dirancang untuk memulai proses utamanya tunggal.
  3. Mudar - Daemon pengganti init yang ditulis dalam Python, diimplementasikan pada Pardus GNU/Linux dan dirancang untuk mulai memproses secara tidak sinkron.
  4. 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
  1. Desain Bersih, Depan dan Efisien.
  2. Proses boot yang lebih sederhana.
  3. Pemrosesan bersamaan dan paralel saat boot.
  4. API yang lebih baik.
  5. Sintaks unit sederhana.
  6. Kemampuan untuk menghapus komponen opsional.
  7. Jejak kaki memori rendah.
  8. Teknik yang lebih baik untuk mengekspresikan dependensi.
  9. Instruksi Inisialisasi ditulis dalam file konfigurasi dan tidak dalam skrip shell.
  10. Manfaatkan Soket Domain UNIX.
  11. Penjadwalan Pekerjaan Menggunakan Timer Kalender SystemD.
  12. Acara Logging dengan Journald.
  13. Pilihan acara sistem logging dengan systemd serta syslog.
  14. Log disimpan dalam file biner.
  15. Status SystemD dapat dilestarikan untuk dipanggil nanti di masa depan.
  16. Lacak proses menggunakan cgroup kernel dan bukan pid.
  17. Pengguna Masuk dikelola oleh SystemD-Logind.
  18. Integrasi yang lebih baik dengan gnome untuk interoperabilitas.
Bottlenecks Systemd
  1. Semuanya di satu tempat.
  2. 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.