GNU Shepherd, manajer layanan yang dikembangkan oleh Guix

Setelah dua tahun pembentukan versi utama terakhir, diumumkan ketika ia menerbitkan peluncuran versi baru dari manajer layanan GNU Gembala 0.9 (sebelumnya dikenal sebagai dmd), yang sedang dikembangkan oleh pengembang distribusi GNU Guix sebagai alternatif untuk inisialisasi SysV-init yang sadar ketergantungan sistem.

gembala menyediakan fungsionalitas ruang pengguna secara asinkron sebagai layanan, yang di Shepherd adalah fungsi generik dan tipe data objek yang diekspor untuk digunakan oleh Shepherd untuk memperluas sistem operasi dasar dalam beberapa cara yang ditentukan. Tidak seperti systemd, proses pemantauan ruang pengguna berjalan sebagai pengguna itu.

Tentang Gembala

Inti dari model Shepherd dari inisialisasi ruang pengguna adalah konsep ekstensi, suatu bentuk komposisi di mana layanan dirancang untuk melapisi layanan lain, menambahnya dengan perilaku yang lebih rumit atau khusus seperti yang diinginkan. Ini mengungkapkan hubungan ketergantungan berbasis instantiasi yang ditemukan di banyak sistem boot modern, yang membuat sistem modular, tetapi juga memungkinkan layanan berinteraksi satu sama lain secara bervariasi layanan secara sewenang-wenang.

gembala juga menyediakan apa yang disebut layanan virtual yang memungkinkan pengiriman dinamis pada kelas objek layanan terkait, seperti yang membuat instance agen transfer surat (MTA) untuk sistem.

Sistem yang diatur oleh daemon Shepherd dapat mewakili ruang penggunanya sebagai grafik asiklik terarah, dengan "layanan sistem" (bertanggung jawab untuk fase boot dan startup awal) sebagai root dan semua layanan yang diinisialisasi berikutnya sebagai ekstensi dari fungsionalitas layanan sistem , baik secara langsung maupun transitif melalui layanan lain.

Ditulis dan dikonfigurasi dalam Skema Guile, GNU Shepherd dirancang agar sangat dapat diprogram oleh administrator sistem, tetapi juga dapat digunakan untuk mengelola profil per pengguna dari daemon dan layanan yang tidak memiliki hak istimewa.

Layanan dan pengaturan Anda disimpan secara seragam sebagai kode Skema berorientasi objek dan meskipun satu set inti layanan disediakan dengan sistem Guix dasar, layanan baru yang sewenang-wenang dapat dideklarasikan secara fleksibel dan melalui sistem objek Guile, GOOPS, layanan yang ada dapat didefinisikan ulang sesuai kebijaksanaan pengguna dengan meminta Shepherd yang secara dinamis menulis ulang layanan di cara-cara tertentu pada instantiasi.

GNU Shepherd awalnya dirancang untuk bekerja dengan GNU Hurd dan kemudian diadopsi oleh Sistem Guix.

Fitur baru utama GNU Shepherd 0.9

Dalam versi baru yang disajikan ini, disorot bahwa konsep layanan sementara diterapkan (sementara), yang secara otomatis terputus setelah penghentian karena penghentian proses atau panggilan metode "berhenti", yang mungkin diperlukan untuk layanan yang disintesis yang tidak dapat dimulai ulang setelah penghentian.

Perubahan lain yang menonjol adalah untuk layanan tanpa parameter ""#:log-file", output ke syslog disediakan dan untuk layanan dengan parameter "#:log-file", log ditulis ke file terpisah yang menunjukkan waktu log dalam proses Shepherd unprivileged yang disimpan di direktori $XDG_DATA_DIR.

Selain itu, perlu dicatat bahwa prosedur "make-inetd-constructor" ditambahkan untuk membuat layanan yang mirip dengan inetd dan prosedur "make-systemd-constructor" ditambahkan untuk membuat layanan yang diaktifkan dalam aktivitas jaringan (style systemd socket pengaktifan).

Dari perubahan lainnya yang menonjol dari versi baru ini:

  • Menambahkan prosedur untuk memulai layanan latar belakang:
  • Menambahkan parameter ":supplementary-groups", "#:create-session" dan "#:resource-limits" ke prosedur "make-forkexec-constructor".
  • Dijamin operasi bebas kunci sambil menunggu file PID.
  • Menghapus dukungan untuk kompilasi dengan Guile 2.0. Memperbaiki masalah saat menggunakan versi Guile 3.0.5-3.0.7.
  • Pustaka Fibres 1.1.0 atau yang lebih baru sekarang diperlukan untuk berfungsi.
  • Dokumentasi dan contoh yang ditingkatkan
  • Shepherd tidak bisa lagi dibangun dengan Guile 2.0
  • Perbaiki di bug compiler Guile 3.0.[5-7]
  • Terjemahan yang diperbarui

Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentang itu atau Anda ingin mendapatkan versi baru ini, Anda dapat berkonsultasi dengan detail, dokumentasi, dan unduh dari link berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.