GNU Shepherd, pengurus perkhidmatan yang dibangunkan oleh Guix

Selepas dua tahun pembentukan versi utama terakhir, diumumkan apabila beliau menerbitkan pelancaran versi baharu pengurus perkhidmatan GNU Shepherd 0.9 (sebelum ini dikenali sebagai dmd), iaitu sedang dibangunkan oleh pembangun pengedaran GNU Guix sebagai alternatif kepada pemula SysV-init yang menyedari kebergantungan sistem.

Shepherd menyediakan fungsi ruang pengguna secara tak segerak sebagai perkhidmatan, yang dalam Shepherd ialah fungsi generik dan jenis data objek yang dieksport untuk digunakan oleh Shepherd untuk melanjutkan sistem pengendalian asas dalam beberapa cara yang ditentukan. Tidak seperti systemd, proses pemantauan ruang pengguna berjalan sebagai pengguna itu.

Mengenai Shepherd

Pada teras model Shepherd bagi pemulaan ruang pengguna ialah konsep lanjutan, satu bentuk kebolehkomposisian di mana perkhidmatan direka bentuk untuk menindih perkhidmatan lain, menambahnya dengan tingkah laku yang lebih terperinci atau khusus seperti yang dikehendaki. Ini menyatakan hubungan pergantungan berasaskan instantiasi yang terdapat dalam banyak sistem but moden, yang menjadikan sistem modular, tetapi juga membenarkan perkhidmatan untuk berinteraksi secara berbeza antara satu sama lain perkhidmatan sewenang-wenangnya.

Shepherd juga menyediakan perkhidmatan maya yang dipanggil yang membenarkan penghantaran dinamik pada kelas objek perkhidmatan yang berkaitan, seperti yang menjadikan ejen pemindahan mel (MTA) untuk sistem.

Sistem yang ditadbir oleh daemon Shepherd boleh mewakili ruang penggunanya sebagai graf akiklik terarah, dengan "perkhidmatan sistem" (bertanggungjawab untuk fasa but awal dan permulaan) sebagai akar dan semua perkhidmatan yang dimulakan berikutnya sebagai lanjutan kefungsian perkhidmatan sistem , sama ada secara langsung atau transitif berbanding perkhidmatan lain.

Ditulis dan dikonfigurasikan dalam Skim Guile, GNU Shepherd direka untuk menjadi sangat boleh diprogramkan oleh pentadbir sistem, tetapi juga boleh digunakan untuk mengurus profil setiap pengguna daemon dan perkhidmatan yang tidak mempunyai keistimewaan.

Perkhidmatan dan tetapan anda disimpan secara seragam sebagai kod Skim berorientasikan objek dan walaupun set teras perkhidmatan disediakan dengan sistem asas Guix, perkhidmatan baharu sewenang-wenangnya boleh diisytiharkan secara fleksibel dan melalui sistem objek Guile, GOOPS, perkhidmatan sedia ada boleh ditakrifkan semula mengikut budi bicara pengguna dengan meminta Shepherd yang menulis semula perkhidmatan secara dinamik dalam cara khusus pada instantiasi.

GNU Shepherd pada asalnya direka untuk bekerja dengan GNU Hurd dan kemudiannya diterima pakai oleh Sistem Guix.

Ciri baharu utama GNU Shepherd 0.9

Dalam versi baru yang dibentangkan ini, ia diserlahkan konsep perkhidmatan sementara dilaksanakan (sementara), yang terputus secara automatik selepas penamatan disebabkan oleh penamatan proses atau panggilan kaedah "berhenti", yang mungkin diperlukan untuk perkhidmatan yang disintesis yang tidak boleh dimulakan semula selepas penamatan.

Satu lagi perubahan yang menonjol adalah untuk perkhidmatan tanpa parameter ""#:log-file"., output kepada syslog disediakan dan untuk perkhidmatan dengan parameter "#:log-file", log ditulis pada fail berasingan yang menunjukkan masa log dalam proses Shepherd yang tidak mempunyai hak istimewa yang disimpan dalam direktori $XDG_DATA_DIR.

Di samping itu, perlu diperhatikan bahawa prosedur "make-inetd-constructor" telah ditambahkan untuk mencipta perkhidmatan yang serupa dengan inetd dan prosedur "make-systemd-constructor" telah ditambah untuk mencipta perkhidmatan yang diaktifkan dalam aktiviti rangkaian (style systemd socket pengaktifan).

Daripada perubahan yang lain yang menonjol dari versi baru ini:

  • Menambah prosedur untuk memulakan perkhidmatan latar belakang:
  • Menambahkan parameter ":suplementary-groups", "#:create-session" dan "#:resource-limits" pada prosedur "make-forkexec-constructor".
  • Dijamin operasi bebas kunci sementara menunggu fail PID.
  • Mengalih keluar sokongan untuk menyusun dengan Guile 2.0. Memperbaiki isu apabila menggunakan Guile versi 3.0.5-3.0.7.
  • Fibers library 1.1.0 atau lebih baru kini diperlukan untuk berfungsi.
  • Dokumentasi dan contoh yang lebih baik
  • Shepherd tidak lagi boleh dibina dengan Guile 2.0
  • Betulkan pepijat pengkompil Guile 3.0.[5-7]
  • Terjemahan yang dikemas kini

Akhirnya sekiranya anda berminat untuk mengetahui lebih lanjut mengenainya atau anda ingin mendapatkan versi baharu ini, anda boleh merujuk butiran, dokumentasi dan muat turun daripada pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.