Chroot & Container

Chroot dan container dapat digunakan untuk berbagai tujuan, antara lain:

  • Menjalankan perangkat lunak berbasis glibc di sistem musl (atau sebaliknya).
  • Menjalankan aplikasi dalam lingkungan yang lebih terkontrol atau terisolasi.
  • Membuat rootfs untuk proses instalasi sistem baru (bootstrapping).

Pembuatan Chroot

Menggunakan xvoidstrap (Disarankan)

Cara termudah menggunakan xvoidstrap dari paket xtools:

  1. Buat direktori tujuan:
sudo mkdir <direktori_chroot>
  1. Instal sistem dasar:
sudo XBPS_ARCH=<arsitektur> xvoidstrap <direktori_chroot> base-container <paket_lainnya>

<paket_lainnya> bersifat opsional jika ingin menginstal paket tambahan sejak awal.

Manual via xbps-install

  1. Siapkan kunci repositori:
sudo mkdir -p "<direktori_chroot>/var/db/xbps/keys"
sudo cp -a /var/db/xbps/keys/* "<direktori_chroot>/var/db/xbps/keys"
  1. Instal paket base-container:
sudo XBPS_ARCH=<arsitektur> xbps-install -S -r <direktori_chroot> -R <url_repository> base-container

Penggunaan Chroot

Menggunakan xchroot

Gunakan xchroot (dari xtools) untuk masuk ke chroot secara otomatis tanpa mounting manual:

sudo xchroot <direktori_chroot>

Manual

  1. Salin konfigurasi jaringan (opsional):
sudo cp /etc/resolv.conf <direktori_chroot>/etc/
  1. Mount direktori sistem:
sudo mount -t proc  none <direktori_chroot>/proc
sudo mount -t sysfs none <direktori_chroot>/sys
sudo mount --rbind  /dev <direktori_chroot>/dev
sudo mount --rbind  /run <direktori_chroot>/run
  1. Masuk ke chroot:
sudo chroot <direktori_chroot> /bin/bash

Selalu lakukan umount setelah selesai. Menghapus direktori chroot tanpa unmount terlebih dahulu dapat merusak sistem host.

Alternatif Lain

Bubblewrap (Sandboxing)

bwrap dari paket bubblewrap memungkinkan isolasi yang lebih kuat dan tidak membutuhkan akses root:

bwrap --bind <direktori_chroot> / \
      --dev /dev --proc /proc \
      --bind /sys /sys --bind /run /run \
      --ro-bind /etc/resolv.conf /etc/resolv.conf \
      sh

Flatpak

Solusi praktis untuk menjalankan aplikasi grafis atau proprietary lintas pustaka (glibc/musl) secara aman dan terisolasi.

Docker / Podman

T4n OS menyediakan image OCI resmi yang dapat digunakan dengan docker atau podman — solusi yang lebih matang tanpa perlu membuat direktori chroot secara manual.


@T4n-Labs · @Gh0sT4n