Skrip Canggih Chroot di Linux: Setup & Cleanup Otomatis

Artikel oleh Frijal | Diperbarui: 2 Oktober 2025

Buat kamu yang sering ngoprek sistem Linux, chroot itu ibarat punya "penjara" pribadi buat sebuah proses. Kerennya, proses di dalam chroot cuma bisa lihat direktori yang kita tentukan, jadi lebih aman dan terisolasi. Tapi, ada satu hal yang kadang bikin repot: proses setup-nya.

Setiap kali mau masuk chroot, kita harus mount beberapa filesystem virtual penting seperti /dev, /proc, dan /sys. Terus, setelah selesai, harus di-umount lagi satu per satu. Lupa satu langkah aja bisa bikin sistem jadi aneh. Nah, biar hidup lebih santai, kita bisa otomatisasi semua itu pakai skrip Bash!

Skrip Otomatis: Setup & Cleanup chroot

Untuk memudahkan, berikut contoh skrip shell sederhana agar tidak perlu mengetik semua perintah mount/umount secara manual.

1. Setup (buat file enter-chroot.sh)

#!/bin/bash
# enter-chroot.sh
# Gunakan: sudo ./enter-chroot.sh /srv/chroot/debian
CHROOT_DIR="$1"
if [ -z "$CHROOT_DIR" ]; then
 echo "Usage: $0 /path/to/chroot"
 exit 1
fi
# Mount filesystem penting
echo "Mounting virtual filesystems..."
mount --bind /dev "$CHROOT_DIR/dev"
mount --bind /dev/pts "$CHROOT_DIR/dev/pts"
mount -t proc /proc "$CHROOT_DIR/proc"
mount -t sysfs /sys "$CHROOT_DIR/sys"
# Copy resolv.conf untuk DNS
echo "Copying DNS configuration..."
cp /etc/resolv.conf "$CHROOT_DIR/etc/"
# Masuk ke chroot
echo "Entering chroot. Ketik 'exit' untuk keluar."
chroot "$CHROOT_DIR" /bin/bash
echo "Keluar dari chroot."

2. Cleanup (buat file exit-chroot.sh)

#!/bin/bash
# exit-chroot.sh
# Gunakan: sudo ./exit-chroot.sh /srv/chroot/debian
CHROOT_DIR="$1"
if [ -z "$CHROOT_DIR" ]; then
 echo "Usage: $0 /path/to/chroot"
 exit 1
fi
echo "Unmounting virtual filesystems..."
umount "$CHROOT_DIR/dev/pts"
umount "$CHROOT_DIR/dev"
umount "$CHROOT_DIR/proc"
umount "$CHROOT_DIR/sys"
echo "Cleanup selesai!"

3. Cara Pakainya Gimana?

Pertama, pastikan kamu memberi izin eksekusi pada kedua file skrip yang baru dibuat:

chmod +x enter-chroot.sh exit-chroot.sh

Sekarang, setiap kali mau masuk ke lingkungan chroot, kamu cukup menjalankan:

sudo ./enter-chroot.sh /srv/chroot/debian

Setelah selesai melakukan pekerjaan di dalam chroot, cukup ketik exit seperti biasa. Dulu kita harus umount manual, tapi sekarang, jalankan saja skrip cleanup-nya:

sudo ./exit-chroot.sh /srv/chroot/debian

Dengan cara ini, proses mount dan umount jadi jauh lebih aman, konsisten, dan anti lupa. Selamat mencoba!