Sistem inisialisasi Finit 4.0 tersedia

Setelah sekitar tiga tahun pengembangan, rilis sistem inisialisasi Finit 4.0 (Fast init) diterbitkan, dikembangkan sebagai alternatif sederhana untuk SysV init dan systemd. Proyek ini didasarkan pada pengembangan yang dibuat dengan merekayasa balik sistem inisialisasi fastinit yang digunakan dalam firmware Linux netbook EeePC dan terkenal karena proses bootingnya yang sangat cepat. Sistem ini terutama ditujukan untuk mem-boot sistem kompak dan tertanam, namun juga dapat digunakan untuk lingkungan desktop dan server konvensional. Contoh skrip implementasi telah disiapkan untuk Void Linux, Alpine Linux dan Debian GNU/Linux. Kode proyek ditulis dalam C dan didistribusikan di bawah lisensi MIT.

Finit mendukung runlevel dalam gaya init SysV, memantau kesehatan proses latar belakang (secara otomatis memulai ulang layanan jika terjadi kegagalan), mengeksekusi penangan satu kali, meluncurkan layanan dengan mempertimbangkan ketergantungan dan kondisi sewenang-wenang, melampirkan penangan tambahan untuk dijalankan sebelum atau sesudahnya eksekusi layanan. Misalnya, Anda dapat mengonfigurasi layanan untuk dimulai hanya setelah akses jaringan tersedia atau setelah beberapa layanan lain, seperti syslogd, dimulai. Cgroups v2 digunakan untuk menetapkan batasan.

Untuk memperluas fungsionalitas dan menyesuaikan dengan kebutuhan Anda, plugin dapat digunakan, yang menyediakan sistem kait yang memungkinkan Anda memasang penangan ke berbagai tahap pemuatan dan pelaksanaan layanan, serta menyediakan pengikatan ke peristiwa eksternal. Misalnya, plugin telah disiapkan untuk mendukung D-Bus, ALSA, netlink, resolvconf, hot plugging perangkat, memeriksa ketersediaan dan memuat modul kernel, memproses file PID dan mengatur lingkungan untuk server X.

Penggunaan skrip standar untuk meluncurkan layanan yang dibuat untuk SysV init didukung (/etc/rc.d dan /etc/init.d tidak digunakan, tetapi dukungan untuk /etc/inittab dapat diimplementasikan melalui plugin), serta skrip rc.local, file dengan variabel pengaturan lingkungan dan jaringan /etc/network/interfaces, seperti di Debian dan BusyBox. Pengaturan dapat ditentukan dalam satu file konfigurasi /etc/finit.conf, atau didistribusikan ke beberapa file di direktori /etc/finit.d.

Manajemen dilakukan melalui alat initctl dan run-parts standar, yang memungkinkan Anda untuk mengaktifkan dan menonaktifkan layanan terkait dengan level yang dijalankan, serta meluncurkan beberapa layanan secara selektif. Finit juga menyertakan implementasi getty bawaan (manajemen terminal dan login pengguna), pengawas untuk pemantauan kesehatan, dan mode pemulihan kerusakan dengan sulogin bawaan untuk menjalankan shell perintah terisolasi.

Sistem inisialisasi Finit 4.0 tersedia

Di antara perubahan yang ditambahkan dalam rilis Finit 4.0 (versi 3.2 dilewati karena perubahan yang merusak kompatibilitas):

  • Utilitas reboot terpisah telah diganti dengan tautan simbolik ke initctl, mirip dengan utilitas halt, shutdown, poweroff dan suspend.
  • Indikasi kemajuan operasi telah dilaksanakan.
  • Pengoperasian perintah β€œinictl cond set|clear COND” telah diubah untuk mengikat tindakan ke berbagai peristiwa. Sintaks yang digunakan untuk mengidentifikasi layanan adalah alih-alih mengikat ke jalur .
  • Implementasi bawaan dari server inetd telah dihapus, di mana xinetd dapat diinstal jika diperlukan.
  • Menambahkan dukungan untuk cgroups v2 untuk menjalankan layanan di cgroup terpisah.
  • Menambahkan mode pemulihan kerusakan dengan susloginnya sendiri.
  • Menambahkan dukungan untuk skrip start/stop dari SysV init.
  • Menambahkan penangan pra:skrip dan pasca:skrip yang memungkinkan Anda menentukan tindakan yang dilakukan sebelum atau saat layanan dimulai.
  • Menambahkan dukungan untuk env:file dengan variabel lingkungan.
  • Menambahkan kemampuan untuk melacak file PID sewenang-wenang.
  • Menambahkan kemampuan untuk meluncurkan tugas dan layanan menggunakan jalur relatif.
  • Menambahkan opsi "-b" ke initctl untuk melakukan tindakan dalam mode non-interaktif (mode batch).
  • Pengawas bawaan telah diganti dengan versi pengawas yang terpisah.
  • Menambahkan plugin untuk memuat modul kernel secara otomatis untuk perangkat yang terhubung selama operasi.
  • Menambahkan plugin untuk menangani /etc/modules-load.d/.
  • Menambahkan dukungan untuk memulai ulang layanan secara otomatis setelah mengubah pengaturan, memungkinkan Anda melakukannya tanpa menjalankan perintah β€œinitctl reload” secara manual. Dinonaktifkan secara default dan memerlukan pembangunan kembali dengan "./configure --enable-auto-reload".
  • Menambahkan kemampuan untuk mencatat operasi yang memengaruhi keamanan, seperti mengubah runlevel, memulai dan menghentikan layanan, dan kegagalan layanan.
  • Peningkatan dukungan untuk /etc/network/interfaces.

    Sumber: opennet.ru

Tambah komentar