Rilis sistem init GNU Shepherd 0.6

Disampaikan oleh manajer Pelayanan GNU Gembala 0.6 (mantan dmd), yang sedang dikembangkan oleh pengembang distribusi GuixSD GNU/Linux sebagai alternatif pendukung ketergantungan pada sistem inisialisasi SysV-init. 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 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 para pengguna ini. 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.

Inovasi utama:

  • Mode layanan ditambahkan satu tembakan,
    di mana layanan ditandai dihentikan segera setelah peluncuran berhasil, yang mungkin diperlukan untuk menjalankan pekerjaan satu kali sebelum layanan lain, misalnya, untuk melakukan pembersihan atau inisialisasi;

  • Memastikan bahwa file dengan soket dihapus setelah dimatikan
    gembala;

  • Perintah β€œherd stop” tidak lagi menampilkan kesalahan saat dijalankan pada layanan yang sudah dihentikan;
  • Utilitas kawanan sekarang mengembalikan kode pengembalian bukan nol jika peluncuran tugas gagal;
  • Saat dijalankan dalam sebuah container, kesalahan terkait pemuatan diabaikan.

Sumber: opennet.ru

Tambah komentar