GNU/Linux
Cambia root (chroot)
Ricerca…
introduzione
Change root (chroot) è un'operazione che modifica la directory root apparente per il processo corrente corrente e i relativi figli. Un programma eseguito in un ambiente così modificato non può accedere a file e comandi all'esterno dell'albero della directory ambientale.
Sintassi
- chroot [percorso di destinazione] [shell o comando]
Modifica manuale di root in una directory
Assicurati di aver soddisfatto tutti i requisiti, come da Requisiti
Montare i filesystem API temporanei:
cd /location/of/new/root mount -t proc proc proc/ mount --rbind /sys sys/ mount --rbind /dev dev/ mount --rbind /run run/ (optionally)
Se è necessario utilizzare una connessione Internet nell'ambiente chroot, copiare i dettagli DNS:
cp /etc/resolv.conf etc/resolv.conf
Cambia root in / location / of / new / root, specificando la shell (
/bin/bash
in questo esempio):chroot /location/of/new/root /bin/bash
Dopo il chroot potrebbe essere necessario caricare la configurazione di bash locale:
source /etc/profile source ~/.bashrc
Facoltativamente, creare un prompt univoco per poter differenziare l'ambiente chroot:
export PS1="(chroot) $PS1"
Al termine con chroot, puoi uscire tramite:
exit
Smontare i file system temporanei:
cd / umount --recursive /location/of/new/root
Requisiti
- privilegi di root
- un altro ambiente Linux funzionante, come l'avvio di Live CD o una distribuzione esistente
- corrispondenti architetture di ambiente di origine e destinazione
chroot
(controllare l'architettura dell'ambiente corrente conuname -m
) - i moduli del kernel che potrebbero essere necessari in ambiente
chroot
devono essere caricati (ad esempio, conmodprobe
)
Ragioni per usare chroot
La modifica della root viene comunemente eseguita per l'esecuzione della manutenzione del sistema su sistemi in cui l'avvio e / o l'accesso non sono più possibili.
Esempi comuni sono:
- reinstallare il bootloader
- ricostruire l'immagine di initramfs
- aggiornamento o declassamento dei pacchetti
- reimpostare una password dimenticata
- costruzione di software in un ambiente root pulito