GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan Runit di Devuan

Devuan dan berbagai distribusi Linux bebas sistem menyediakan sistem init alternatif. lari adalah salah satu yang paling barebone dan paling ringan. Memiliki basis kode yang kecil memudahkan pemeliharaan dan juga mengaudit bug dan masalah keamanan. Hal ini dapat berjalan di Unices lain seperti *BSD, MacOSX, dll, juga. Dalam artikel ini, saya akan membahas dasar-dasar runit skema init dengan Devuan sebagai basis. Namun, sebagian besar konsep dan perintah harus sama untuk distribusi lain. Anda dapat merujuk ke referensi di bagian akhir untuk mempelajari lebih detail.

Mekanisme Kerja

Menurut dokumentasi resmi, runit adalah skema init dengan pengawasan layanan. Itu berarti menangani mulai otomatis layanan selama boot, serta memantau dan memulai kembali mereka. Sesuai dengan filosofi UNIX, runit terdiri dari berbagai alat kecil dan binari (walaupun tidak sampai membengkak *ahem* systemd *ahem* ) untuk berinteraksi dengannya dan daemon lainnya.
Seperti kebanyakan sistem init, kernel memuat proses pertama – /sbin/init yang disediakan oleh program runit-init(8). Itu kemudian menggantikan dirinya dengan runit(8). runit adalah apa yang melakukan booting, menjalankan dan mematikan sistem dan melakukannya dalam tiga tahap:

  • Tahap 1 :
    Sistem melakukan tugas inisialisasi satu kali melalui /etc/runit/1 . Kami mendapatkan shell darurat jika tahap ini gagal.
  • Tahap 2 :
    runit memulai /etc/runit/2 yang menangani runlevel melalui runvdir(8). Ini adalah tahap sistem kami tetap berada saat sedang berjalan. Kami juga dapat memberikan Ctrl+Alt+Delete permintaan reboot pada tahap ini.
  • Tahap 3:
    Jika /etc/runit/2 kembali tanpa kesalahan, yang terjadi selama sistem berhenti atau reboot, runit dimulai /etc/runit/3 . Tugas shutdown dilakukan di tahap 3.

Runlevel

Instalasi standar runit memiliki 2 runlevel , default dan single . Direktori runlevel berisi symlink ke direktori layanan lain. Sebagian besar tugas dilakukan dan sebagian besar layanan dimulai dalam default tingkat run Tapi kita bisa membuat runlevel sendiri dengan membuat folder baru di/etc/runit/runsvdir/ dan menghubungkan layanan yang kami inginkan ke runlevel itu. Instalasi Devuan saya memiliki dua runlevel lain yang dibuat.

Runit mengubah runlevel dengan mengganti direktori runsvdir program sedang berjalan. Ini ditangani oleh runsvchdir memerintah.

Misalnya, untuk beralih ke single runlevel pengguna:
# runsvchdir single

Kami juga dapat meminta runit untuk memulai di runlevel tertentu selama bootup alih-alih default . Kita dapat melakukannya dengan menambahkan runitdir=name parameter inti. Jelas, runlevel name harus ada yaitu direktori harus tersedia di /etc/runit/runsvdir dengan nama itu.

Misalnya, untuk langsung mem-boot ke mode pengguna tunggal (yaitu single runlevel), kita dapat menambahkan runitdir=single ke parameter kernel.

Di GRUB, kita dapat melakukannya dengan menekan e kunci sambil menyorot entri di menu bootloader.

Menekan Ctrl+X akan membuat sistem boot dengan parameter yang diberikan, secara efektif membawa kita ke mode pengguna tunggal.

Mengelola Layanan

Direktori layanan berisi file dan skrip yang diperlukan untuk mengelola daemon. Direktori layanan terletak di /etc/sv direktori.

Direktori layanan ini harus disinkronkan ke /etc/service jika tidak runit tidak akan dapat mengaksesnya.

Membuat symlink di /etc/service pada dasarnya akan enable itu sehingga dimulai saat boot. Kami dapat disable layanan dengan membuat file bernama down di dalam direktori layanan.

Meskipun runit memiliki beberapa program, biasanya kita hanya perlu berinteraksi dengan sv memerintah. Sintaksnya setara dengan systemd systemctl perintah.

Memulai layanan:

# sv start <service_name>

Menghentikannya:

# sv stop <service_name>

Memulai ulang atau memuat ulang layanan:

# sv restart <service_name>

Periksa status layanan:

# sv status <service_name>

Ada juga penulisan ulang sv perintah di Rust disebut rsv . Namun, saya tidak akan membahasnya di artikel ini. Silakan periksa tautan di antara referensi di bawah ini.


Referensi:

  • Jalankan Beranda
  • rsv
  • Artix Wiki | Runit
  • Hapus Linux | Layanan dan Daemon – runit

Linux
  1. Menggunakan UFW sebagai Daftar Hitam IP

  2. Menggunakan mod_cluster di Apache

  3. Menggunakan Notify-send Dengan Cron?

  1. Substitusi Perintah Menggunakan “?

  2. Menggunakan grep untuk mencari secara terbalik

  3. Meluncurkan tmux menggunakan terminal gnome

  1. Server DNS apa yang saya gunakan?

  2. Git Pelengkapan otomatis?

  3. Menggunakan grep vs awk