GNU/Linux
Byt rot (chroot)
Sök…
Introduktion
Ändra root (chroot) är en operation som ändrar den uppenbara rotkatalogen för den aktuella körprocessen och deras barn. Ett program som körs i en sådan modifierad miljö kan inte komma åt filer och kommandon utanför det miljökatalogträdet.
Syntax
- chroot [destinationsväg] [skal eller kommando]
Ändra rot manuellt i en katalog
Se till att du uppfyllt alla krav enligt kraven
Montera de tillfälliga API-filsystemen:
cd /location/of/new/root mount -t proc proc proc/ mount --rbind /sys sys/ mount --rbind /dev dev/ mount --rbind /run run/ (optionally)
Om du behöver använda en internetanslutning i chroot-miljön, kopiera över DNS-detaljerna:
cp /etc/resolv.conf etc/resolv.conf
Ändra root till / location / of / new / root, specificera skalet (
/bin/bash
i detta exempel):chroot /location/of/new/root /bin/bash
Efter grovning kan det vara nödvändigt att ladda den lokala bash-konfigurationen:
source /etc/profile source ~/.bashrc
Alternativt kan du skapa en unik prompt för att kunna skilja din chroot-miljö:
export PS1="(chroot) $PS1"
När du är klar med chroot kan du lämna den via:
exit
Ta bort de tillfälliga filsystemen:
cd / umount --recursive /location/of/new/root
Krav
- root privilegier
- en annan fungerande Linux-miljö, till exempel Live CD-start eller en befintlig distribution
- matchande miljöarkitekturer för
chroot
och destination (kolla aktuelluname -m
meduname -m
) - kärnmoduler som du kan behöva i
chroot
måste laddas (till exempel medmodprobe
)
Skäl att använda chroot
Att byta rot görs vanligtvis för att utföra systemunderhåll på system där start och / eller inloggning inte längre är möjligt.
Vanliga exempel är:
- installera om startladdaren
- återuppbygga initramfsbilden
- uppgradering eller nedgradering av paket
- återställa ett glömt lösenord
- bygga programvara i en ren rotmiljö