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

  1. Upewnij się, że spełniasz wszystkie wymagania zgodnie z wymaganiami

  2. 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)
    
  1. Jeśli potrzebujesz użyć połączenia internetowego w środowisku chroot, skopiuj dane DNS:

    cp /etc/resolv.conf etc/resolv.conf
    
  2. 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
    
  3. Po chrootowaniu może być konieczne załadowanie lokalnej konfiguracji bash:

    source /etc/profile
    source ~/.bashrc
    
  4. Opcjonalnie utwórz unikalny monit, aby odróżnić środowisko chroot:

    export PS1="(chroot) $PS1"
    
  5. Po zakończeniu chroot możesz wyjść z niego poprzez:

    exit
    
  6. 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


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow