Rilis sistem init GNU Shepherd 0.9.2

Manajer layanan GNU Shepherd 0.9.2 (sebelumnya dmd) telah diterbitkan, yang sedang dikembangkan oleh pengembang distribusi Sistem GNU Guix sebagai alternatif dari sistem inisialisasi SysV-init yang mendukung dependensi. Daemon dan utilitas kontrol Shepherd ditulis dalam bahasa Guile (salah satu implementasi bahasa Skema), yang juga digunakan untuk menentukan pengaturan dan parameter untuk meluncurkan layanan. Shepherd sudah digunakan dalam distribusi GuixSD GNU/Linux dan juga ditujukan untuk digunakan di GNU/Hurd, tetapi dapat berjalan pada OS apa pun yang mendukung POSIX dan bahasa Guile tersedia.

Shepherd melakukan pekerjaan memulai dan menghentikan layanan dengan mempertimbangkan hubungan antar layanan, secara dinamis mengidentifikasi dan memulai layanan yang menjadi sandaran layanan yang dipilih. Shepherd juga mendukung pendeteksian konflik antar layanan dan mencegahnya berjalan secara bersamaan. Proyek ini dapat digunakan baik sebagai sistem inisialisasi utama (init dengan PID 1), dan dalam bentuk terpisah untuk mengelola proses latar belakang pengguna individu (misalnya, untuk menjalankan tor, privoxy, mcron, dll.) dengan eksekusi dengan hak dari pengguna ini.

Diantara perubahannya:

  • Deskriptor file yang digunakan di Shepherd sekarang ditandai dengan tanda O_CLOEXEC (close-on-exec) daripada langsung ditutup ketika perintah exec dijalankan, sehingga pegangan dapat diteruskan ke layanan yang dimulai secara tidak langsung oleh perintah exec.
  • Koneksi klien sekarang diproses dengan cara non-pemblokiran, yang mencegah Shepherd mengalami hang ketika mengirimkan perintah yang tidak lengkap.
  • Memastikan bahwa direktori dibuat untuk file log yang ditentukan dalam pengaturan β€œfile log” jika tidak ada.

Sumber: opennet.ru

Tambah komentar