Legge inn Debian i et “chroot”

Som lovet i forrige innlegg — her kommer en liten guide på hvordan man legger inn Debian i et såkalt “chroot“. Et chroot stenger programvare inne i sitt eget “fengsel”, og er bl.a mye brukt til å isolere programmer pga. sikkerhet, osv. Jeg brukte det til å få mitt eget 32-bits-miljø adskilt fra resten av systemet, som er 64-bit.
Å legge inn en hel distro i et slikt chroot er faktisk ganske enkelt, ihvertfall med Debian og andre Debian-slektninger. Man kan ved hjelp av et lite program kalt debootstrap få gjort mesteparten av grovarbeidet. Debootstrap legges inn slik :
# apt-get install debootstrap
Nå må man lage en katalog å legge inn den nye distroen i. (Jeg gir den navnet “lenny-i386″, fordi jeg har tenkt å legge inn Debian Lenny, 32-bit.) :
# mkdir -p /chroots/lenny-i386
Nå kjører vi debootstrap-kommanoen :
# debootstrap --arch i386 lenny /chroots/lenny-i386 http://ftp.debian.org/debian/
Denne holder på en stund, så det er bare å lene seg tilbake og se på all teksten som scroller forbi. Når den er ferdig, kan man inspisere katalogen /chroots/lenny-i386, man bør der fnne en kjent filstruktur (burde være ganske lik rota på din nåværende distro).
Nå må man gjøre litt fiksing og triksing for å gi chroot tilgang til deler av filsystemet (/proc, /dev, /home og /tmp er kjekt å ha). Putt dette inn i /etc/fstab :
/home /chroots/lenny-i386/home none rw,bind 0 0
/proc /chroots/lenny-i386/proc none rw,bind 0 0
/tmp /chroots/lenny-i386/tmp none rw,bind 0 0
/dev /chroots/lenny-i386/dev none rw,bind 0 0
Skriv deretter mount -a for å mounte dem.
Nå er alt klart for å gå inn i chrootet og den nye distroen :
# chroot /chroots/lenny-i386
Det var det! Nå bør man gjøre følgende :
# aptitude update
# aptitude upgrade
# aptitude install locales
Rediger så /etc/locale.gen, kommentér ut ønsket locale, og kjør kommandoen locale-gen.
Det var det! Nå er alt klart for å installere programmer osv. Når man vil “logge ut” av chroot, skriver man bare “exit” eller trykker Control+D.


