GNU/Linux
Zmień root (chroot)
Szukaj…
Wprowadzenie
Zmień katalog główny (chroot) to operacja, która zmienia pozorny katalog główny bieżącego procesu i jego dzieci. Program działający w takim zmodyfikowanym środowisku nie może uzyskać dostępu do plików i poleceń poza tym drzewem katalogów środowiska.
Składnia
- chroot [ścieżka docelowa] [powłoka lub polecenie]
Ręczna zmiana katalogu głównego w katalogu
Upewnij się, że spełniasz wszystkie wymagania zgodnie z wymaganiami
Zamontuj tymczasowe systemy plików API:
cd /location/of/new/root mount -t proc proc proc/ mount --rbind /sys sys/ mount --rbind /dev dev/ mount --rbind /run run/ (optionally)
Jeśli potrzebujesz użyć połączenia internetowego w środowisku chroot, skopiuj dane DNS:
cp /etc/resolv.conf etc/resolv.conf
Zmień root na / location / of / new / root, określając powłokę (
/bin/bash
w tym przykładzie):chroot /location/of/new/root /bin/bash
Po chrootowaniu może być konieczne załadowanie lokalnej konfiguracji bash:
source /etc/profile source ~/.bashrc
Opcjonalnie utwórz unikalny monit, aby odróżnić środowisko chroot:
export PS1="(chroot) $PS1"
Po zakończeniu chroot możesz wyjść z niego poprzez:
exit
Odmontuj tymczasowe systemy plików:
cd / umount --recursive /location/of/new/root
Wymagania
- uprawnienia roota
- inne działające środowisko Linux, takie jak rozruch Live CD lub istniejąca dystrybucja
- dopasowanie architektur środowiska źródłowego i docelowego
chroot
(sprawdź obecną architekturę środowiska za pomocąuname -m
) - Moduły jądra, które mogą być potrzebne w środowisku
chroot
muszą zostać załadowane (na przykład za pomocąmodprobe
)
Powody, dla których warto używać chroot
Zmiana katalogu głównego jest zwykle wykonywana w celu przeprowadzenia konserwacji systemu w systemach, w których rozruch i / lub logowanie nie jest już możliwe.
Typowe przykłady to:
- ponowna instalacja bootloadera
- odbudowanie obrazu initramfs
- uaktualnianie lub obniżanie pakietów
- resetowanie zapomnianego hasła
- budowanie oprogramowania w czystym środowisku root