Lingkungan chroot umumnya digunakan untuk pekerjaan yang berhubungan dengan pengembangan dan pada dasarnya adalah perangkat lunak yang berhubungan dengan pembangunan. Ide yang bagus untuk selalu melakukan pekerjaan pengembangan di lingkungan chroot, karena sering membutuhkan instalasi paket pengembangan (dimana tujuan utamanya adalah untuk pembangunan paket). Contohnya adalah ketika sebuah aplikasi membutuhkan header dan versi pengembangan dari sebuah pustaka untuk membangun (misalnya libabc-dev). Pengguna biasa tidak membutuhkan versi pengembangan dari libabc. Maka akan lebih baik bila menginstal paket pengembangan seperti itu dalam chroot, membiarkan lingkungan operasi normal bersih dan tidak berantakan. Pertama, kita perlu mengsintal paket yang dibutuhkan:
sudo apt-get instal dchroot debootstrap
|
|
|
Pastikan untuk menginstal versi terakhir dari debootstrap yang berasal dari rilis Ubuntu dimana Anda sedang mencoba membuat chroot sekarang. Anda perlu men-download-nya dari packages.ubuntu.com dan menginstal secara manual dengan perintah dpkg -i. |
Langkah berikut adalah untuk membuat, mengkonfigurasi dan memasuki lingkungan chroot.
sudo mkdir /var/chroot echo "mychroot /var/chroot" | sudo tee -a /etc/dchroot.conf sudo debootstrap --variant=buildd edgy /var/chroot/ http://archive.ubuntu.com/ubuntu/
|
|
|
Membuat lingkungan chroot memerlukan waktu beberapa saat karena debootstrap akan men-download dan mengkonfigurasi instalasi Ubuntu minimal. |
sudo cp /etc/resolv.conf /var/chroot/etc/resolv.conf sudo cp /etc/apt/sources.list /var/chroot/etc/apt/ sudo chroot /var/chroot/
Agar dapat menggunakan apt dalam chroot, tambah source Ubuntu ke source apt chroot. Untuk sementara, abaikan setiap peringatan mengenai autentifikasi paket:
echo "deb http://archive.ubuntu.com/ubuntu edgy main restricted \ universe multiverse" > /etc/apt/sources.list echo "deb-src http://archive.ubuntu.com/ubuntu edgy main restricted \ universe multiverse" >> /etc/apt/sources.list apt-get update apt-get instal build-essential dh-make automake pbuilder gnupg lintian \ wget debconf devscripts gnupg sudo apt-get update exit
Jalankan perintah berikut untuk mengkonfigurasi locales:
sudo chroot /var/chroot/ apt-get instal dialog language-pack-en exit
|
|
|
Jika Anda ingin dukungan bahasa selain dari Inggris ganti en dalam language-pack-en dengan kode bahasa yang diinginkan. |
Lalu, perbaiki kata sandi pengguna dan root untuk lingkungan chroot. Baris akhir di bawah adalah untuk menghindari peringatan sudo saat resolving dalam lingkungan chroot:
sudo cp /etc/passwd /var/chroot/etc/ sudo sed 's/\([^:]*\):[^:]*:/\1:*:/' /etc/shadow | sudo tee /var/chroot/etc/shadow sudo cp /etc/group /var/chroot/etc/ sudo cp /etc/hosts /var/chroot/etc/
Untuk mengaktifkan sudo, set up kata sandi root Anda dan pengguna pertama sudo dalam grup admin (untuk lingkungan chroot). Dalam perintah berikut, ganti "<user>" dengan nama pengguna yang akan digunakan dalam lingkungan chroot:
sudo cp /etc/sudoers /var/chroot/etc/ sudo chroot /var/chroot/ dpkg-reconfigure passwd passwd <user> exit
Berkas fstab harus dimodifikasi agar lingkungan chroot dapat mengakses direktori home sistem, direktori temp, dll. Catatan bahwa direktori home sistem yang sesungguhnya digunakan dalam lingkungan chroot.
sudo editor /etc/fstab
Tambahkan baris ini:
/home /var/chroot/home none bind 0 0 /tmp /var/chroot/tmp none bind 0 0 proc-chroot /var/chroot/proc proc defaults 0 0 devpts-chroot /var/chroot/dev/pts devpts defaults 0 0
Mount entri baru fstab
sudo mount -a
Profil standar bash menyertakan informasi chroot dalam prompt. Untuk mengaktifkannya:
sudo chroot /var/chroot/ echo mychroot > /etc/debian_chroot exit
Sekarang gunakan chroot Anda (Anda dapat menghilangkan opsi -c mychroot jika hanya ada satu entri atau Anda hanya ingin mengunakan baris pertama dalam /etc/dchroot.conf). Parameter -d artinya lingkungan chroot sudah di-preserved. Parameter ini biasanya berguna jika Anda ingin chroot aplikasi yang menggunakan server X, manajer sesi Anda, dll.
dchroot -c mychroot -d