Episode ini memetakan arsitektur Void Linux dari lapisan kernel hingga package manager. Kalian akan memahami bagaimana runit menjadi PID 1 lewat runsvdir, bagaimana XBPS mengelola paket, serta peran tiap komponen seperti xbps-install dan xbps-query dalam ekosistem Void.

Setelah mengenal sejarah Void di episode 1, saatnya membedah arsitekturnya. Episode 2 memetakan bagaimana Void tersusun dari bawah ke atas: kernel, libc, init system, dan package manager. Memahami arsitektur ini adalah kunci agar perintah-perintah di episode berikutnya tidak terasa seperti hafalan buta.
Void punya pola yang jelas: setiap lapisan punya satu pekerjaan yang sederhana. Kernel mengelola perangkat keras, runit mengelola proses, dan XBPS mengelola paket. Tidak ada layanan omnibus yang mengerjakan semuanya sekaligus.
Mari kita susun peta arsitektur Void Linux lapis demi lapis.
Void Linux dibangun di atas kernel Linux yang dikemas oleh Void sendiri. Di atas kernel ada libc — glibc atau musl sesuai pilihan saat instalasi. Di atas libc, seluruh userland berjalan: shell, utilitas, dan aplikasi.
Gambaran susunan lapisannya:
Aplikasi dan service
--------------------------
Libc (glibc / musl)
--------------------------
Kernel Linux (linux / linux-lts)
--------------------------
Perangkat kerasPilihan libc menentukan bagaimana aplikasi dikompilasi dan dijalankan, sementara pilihan kernel menentukan kompatibilitas dengan perangkat keras. Keduanya dipilih saat instalasi dan bisa diubah belakangan, seperti yang akan kita bahas di episode 6 dan 11.
Saat sistem boot, kernel menjalankan init pertama yang ditunjuk pada baris init= di GRUB. Di Void, proses pertama itu adalah runit, yang kemudian meluncurkan runsvdir — supervisornya. runsvdir menjalankan supervisor per-service bernama runsv untuk setiap service yang diaktifkan lewat symlink di /var/service/.
Alur boot-nya seperti ini:
Kernel -> runit -> runsvdir -> runsv per serviceSetiap service adalah direktori di /etc/sv/ berisi skrip run. Detail lengkapnya akan kita praktikkan di episode 5.
xbps-install adalah pintu gerbang utama untuk memasang paket. Sinkronkan repositori dengan -S, lalu install nama paket:
sudo xbps-install -S
sudo xbps-install htopPerintah xbps-install -S memperbarui index repositori, sedangkan xbps-install htop memasang paket beserta dependensinya. Untuk upgrade seluruh sistem, gunakan xbps-install -Su seperti di episode 1.
xbps-query digunakan untuk menanyakan basis data paket. Cari paket berdasarkan nama atau deskripsi dengan -s, lihat paket terpasang dengan -l, dan cek berkas milik sebuah paket dengan -f:
xbps-query -s 'nginx'
xbps-query -l | wc -l
xbps-query -f nginx | headOutput xbps-query -l adalah daftar semua paket terpasang. Menghitungnya dengan wc -l memberi gambaran seberapa ramping sistem kalian.
Untuk menghapus paket beserta dependensi yang tidak terpakai, gunakan xbps-remove dengan opsi -R. Sementara xbps-reconfigure dipakai untuk menjalankan ulang skrip konfigurasi sebuah paket — misalnya setelah kalian mengubah skrip service:
sudo xbps-remove -R htop
sudo xbps-reconfigure -f opensshOpsi -f pada xbps-reconfigure -f openssh memaksa eksekusi ulang konfigurasi openssh meskipun tidak ada perubahan versi.
xbps-pkgdb memeriksa konsistensi basis data paket. Jalankan dengan opsi -a untuk memeriksa semua paket:
sudo xbps-pkgdb -aPerintah xbps-pkgdb -a melaporkan paket yang file-nya hilang, ownership yang salah, atau masalah lainnya. Ini adalah langkah pertama yang tepat saat sistem terasa aneh.
xbps-src adalah build system Void yang bekerja di dalam repo void-packages. Ia memungkinkan kalian menyusun paket dari source code, bahkan paket yang tidak tersedia di repositori biner. Alur dasarnya:
Template paket -> xbps-src pkg -> paket biner lokalTemplate paket berisi metadata seperti nama, versi, dependensi, dan langkah build. Episode 15 akan membahasnya secara penuh.
Episode 2 memetakan arsitektur Void Linux: kernel di bawah, libc di tengah, dan aplikasi di atas, dengan runit sebagai PID 1 yang menjalankan runsvdir untuk mengawasi service. Kalian juga mengenal peran tiap komponen XBPS — dari xbps-install, xbps-query, xbps-remove, xbps-reconfigure, hingga xbps-pkgdb.
Inti yang harus dibawa pulang:
run.xbps-install dipakai untuk install dan upgrade paket.xbps-query dipakai untuk mencari dan menelisik paket.xbps-src dan void-packages dipakai untuk membangun dari source.Di episode 3 selanjutnya kita akan mempraktikkan instalasi dan setup awal — memakai void-installer untuk mempartisi disk, mengatur user, network, dan bootloader, lalu menyetel hostname, timezone, dan repositori agar sistem siap dipakai sehari-hari.