Sitemap Home

Tutorial CHROOT di Debian

Pengenalan singkat, kegunaan, dan cara pakai chroot

Apa itu CHROOT?

chroot adalah perintah di sistem operasi berbasis Unix/Linux yang berfungsi untuk mengganti root direktori proses menjadi direktori lain. Dengan kata lain, kita bisa membuat sebuah **"ruang isolasi"** di mana aplikasi berjalan seolah-olah itu adalah sistem terpisah.

Kegunaan CHROOT

Langkah Dasar CHROOT di Debian

Langkah dasar membuat dan masuk ke chroot:

# 1. Buat direktori untuk chroot
sudo mkdir -p /srv/chroot/debian

# 2. Instal sistem dasar Debian ke dalam direktori tersebut (perlu paket debootstrap)
sudo debootstrap stable /srv/chroot/debian http://deb.debian.org/debian/

# 3. Mount filesystem penting
sudo mount --bind /dev /srv/chroot/debian/dev
sudo mount --bind /dev/pts /srv/chroot/debian/dev/pts
sudo mount -t proc /proc /srv/chroot/debian/proc
sudo mount -t sysfs /sys /srv/chroot/debian/sys

# 4. Masuk ke chroot
sudo chroot /srv/chroot/debian /bin/bash

Keluar dan Cleanup CHROOT

Setelah selesai, ketik exit untuk keluar, lalu **unmount** filesystem agar sistem utama bersih:

exit
sudo umount /srv/chroot/debian/dev/pts
sudo umount /srv/chroot/debian/dev
sudo umount /srv/chroot/debian/proc
sudo umount /srv/chroot/debian/sys

Skrip Otomatis: Setup & Cleanup chroot

Untuk memudahkan, berikut contoh skrip shell agar tidak perlu mengetik semua perintah mount/umount secara manual (ideal untuk pemulihan sistem):

1. Skrip Masuk (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
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
cp /etc/resolv.conf "$CHROOT_DIR/etc/"

# Masuk ke chroot
chroot "$CHROOT_DIR" /bin/bash

2. Skrip Keluar (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

umount "$CHROOT_DIR/dev/pts"
umount "$CHROOT_DIR/dev"
umount "$CHROOT_DIR/proc"
umount "$CHROOT_DIR/sys"

Pastikan memberi izin eksekusi:

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

Sekarang cukup jalankan:

sudo ./enter-chroot.sh /srv/chroot/debian
# ...kerja di dalam chroot...
exit
sudo ./exit-chroot.sh /srv/chroot/debian

Dengan cara ini, mount/umount jadi lebih aman dan konsisten ✅

times;