Zoeken…


Invoering

Change root (chroot) is een bewerking die de schijnbare rootmap voor het huidige actieve proces en hun kinderen wijzigt. Een programma dat in een dergelijke gewijzigde omgeving wordt uitgevoerd, heeft geen toegang tot bestanden en opdrachten buiten die omgevingsdirectory.

Syntaxis

  • chroot [doelpad] [shell of opdracht]

Root in een map handmatig wijzigen

  1. Zorg ervoor dat u aan alle vereisten hebt voldaan, volgens de vereisten

  2. Mount de tijdelijke API-bestandssystemen:

    cd /location/of/new/root
    mount -t proc proc proc/
    mount --rbind /sys sys/
    mount --rbind /dev dev/
    mount --rbind /run run/ (optionally)
    
  1. Als u een internetverbinding in de chroot-omgeving moet gebruiken, kopieert u de DNS-gegevens:

    cp /etc/resolv.conf etc/resolv.conf
    
  2. Wijzig root in / location / of / new / root en geef de shell op ( /bin/bash in dit voorbeeld):

    chroot /location/of/new/root /bin/bash
    
  3. Na het chrooten kan het nodig zijn om de lokale bash-configuratie te laden:

    source /etc/profile
    source ~/.bashrc
    
  4. Maak optioneel een unieke prompt om uw chroot-omgeving te kunnen onderscheiden:

    export PS1="(chroot) $PS1"
    
  5. Als je klaar bent met de chroot, kun je het verlaten via:

    exit
    
  6. Ontkoppel de tijdelijke bestandssystemen:

    cd /
    umount --recursive /location/of/new/root
    

Voorwaarden

  • root rechten
  • een andere werkende Linux-omgeving, zoals Live CD boot of een bestaande distributie
  • bijpassende omgevingsarchitecturen van chroot bron en bestemming (controleer huidige omgevingsarchitectuur met uname -m )
  • kernelmodules die u mogelijk nodig heeft in een chroot omgeving moeten worden geladen (bijvoorbeeld met modprobe )

Redenen om chroot te gebruiken

Het wijzigen van root wordt meestal gedaan voor het uitvoeren van systeemonderhoud op systemen waar opstarten en / of inloggen niet langer mogelijk is.

Veel voorkomende voorbeelden zijn:

  • de bootloader opnieuw installeren
  • de afbeelding van initramf opnieuw opbouwen
  • pakketten upgraden of downgraden
  • een vergeten wachtwoord resetten
  • software bouwen in een schone rootomgeving


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow