Keluaran sistem init GNU Shepherd 0.9.2

Pengurus perkhidmatan GNU Shepherd 0.9.2 (dahulunya dmd) telah diterbitkan, yang sedang dibangunkan oleh pembangun pengedaran Sistem GNU Guix sebagai alternatif kepada sistem permulaan SysV-init yang menyokong kebergantungan. Daemon dan utiliti kawalan Shepherd ditulis dalam bahasa Guile (salah satu pelaksanaan bahasa Skim), yang juga digunakan untuk menentukan tetapan dan parameter untuk melancarkan perkhidmatan. Shepherd telah digunakan dalam pengedaran GuixSD GNU/Linux dan juga bertujuan untuk digunakan dalam GNU/Hurd, tetapi boleh dijalankan pada mana-mana OS yang mematuhi POSIX yang bahasa Guile tersedia.

Shepherd melakukan kerja memulakan dan menghentikan perkhidmatan dengan mengambil kira perhubungan antara perkhidmatan, mengenal pasti dan memulakan perkhidmatan yang bergantung kepada perkhidmatan yang dipilih secara dinamik. Shepherd juga menyokong pengesanan konflik antara perkhidmatan dan menghalangnya daripada berjalan serentak. Projek ini boleh digunakan sebagai sistem permulaan utama (init dengan PID 1), dan dalam bentuk berasingan untuk mengurus proses latar belakang pengguna individu (contohnya, untuk menjalankan tor, privoxy, mcron, dll.) dengan pelaksanaan dengan hak daripada pengguna ini.

Antara perubahan:

  • Deskriptor fail yang digunakan dalam Shepherd kini ditandakan dengan bendera O_CLOEXEC (close-on-exec) dan bukannya ditutup serta-merta apabila perintah exec dilaksanakan, membenarkan pemegang dihantar kepada perkhidmatan yang dimulakan secara tidak langsung oleh perintah exec.
  • Sambungan pelanggan kini diproses dalam cara yang tidak menyekat, yang menghalang gembala daripada digantung apabila menghantar arahan yang tidak lengkap.
  • Memastikan bahawa direktori dicipta untuk fail log yang ditakrifkan dalam tetapan "fail log" jika ia tidak wujud.

Sumber: opennet.ru

Tambah komen