Poradniki > Podstawy
Chroot - dostęp niezbędny każdemu
(1/1)
pavbaranov:
Niekiedy system zainstalowany w komputerze odmówi współpracy. Jedną z możliwości jest wystartowanie systemu z livecd/usb. Z takiego systemu mamy już dostęp do dysku komputera. W dalszym ciągu jednak, wszelkie akcje administracyjne, wykonane zostaną jedynie lokalnie, czyli... w sesji live. Jeśli trzeba wykonać jakieś czynności administracyjne w systemie zainstalowanym, wówczas z pomocą przychodzi nam polecenie chroot.
Akcje zakończą się sukcesem, pod warunkiem, że:
* masz uprawnienia administratora
* architektura kerneli obu systemów (livecd/usb oraz zainstalowanego) jest taka sama
* jeśli system zainstalowany wymaga jakichś specjalnych modułów kernela, to muszą one być wprowadzone w systemie live zanim wykonamy chroot[li]jeśli trzeba (np. z uwagi na ilość pamięci RAM) - uruchomiliśmy swap:[/li][/list]
--- Kod: ---swapon /dev/sdxy
--- Koniec kodu ---
gdzie x i y to nazwa partycji swap w systemie linux, czyli np. sda1[/li]
* połączenie internetowe (jeśli potrzebne będzie w sesji chroot) ustanowione jest przed wykonaniem chroot
* często wymaga to zamontowania również procfs i sysfs z systemu, który już jest uruchomiony. systemd-nspawn zajmuje się tym samodzielnie - informacja użytkownika Barthalion, o czym jeszcze niżej
O ile wszystko co powyżej zostało dokonane przystępujemy do następujących działań:
1. Tworzymy katalog, do którego zostaną podmontowane niezbędne partycje
--- Kod: ---# mkdir /mnt/nazwa
--- Koniec kodu ---
"nazwa" może przybrać dowolną wartość, taką jaką chcecie
W powyższym punkcie zostanie podmontowany katalog główny chrootowanego systemu, zatem jeśli posiadacie jakieś inne partycje, które mają być podmontowane (np. /boot), to i dla nich należy stworzyć odpowiedni katalog.
Listę partycji możecie zobaczyć po wydaniu polecenia:
--- Kod: ---# lsblk
--- Koniec kodu ---
2. Zakładając, że system livecd/usb pochodzi ze stajni Archa, "instalujemy" (o ile to potrzebne, niektóre obrazy dostarczają tę paczkę od razu) skrypt arch-chroot (na livecd/usb).
--- Kod: ---# pacman -S arch-install-scripts
--- Koniec kodu ---
3. Montujemy partycję
Należy zamontować partycję, na której chcemy prowadzić operacje. O tym, która to ma być, wiemy z wyniku polecenia lsblk przedstawionego wyżej. Na pewno będzie nam potrzebna partycja główna, a zatem:
--- Kod: ---# mount /dev/sdXY /mnt/nazwa
--- Koniec kodu ---
gdzie /dev/sdXY jest oznaczeniem partycji głównej (np. sda1), zaś "nazwa" to nazwa katalogu, który nadaliśmy wcześniej.
Jeśli potrzeba, montujemy również inne partycje jak np. /boot.
4. Wydajemy polecenie:
--- Kod: ---# arch-chroot /mnt/nazwa
--- Koniec kodu ---
Gdzie "nazwa" jest taka sama jak w pkt. 1.
5. W tym momencie jesteśmy już w schrootowanym systemie. Jeśli chcemy się tam czuć komfortowo, to zmieniamy jeszcze powłokę, na tę, z której tam korzystamy:
--- Kod: ---# arch-chroot /mnt/nazwa /bin/bash
--- Koniec kodu ---
Znów "nazwa" ma odpowiadać tej z pkt. 1.
6. Robimy to, co potrzeba na schrootowanym systemie.
7. Wychodzimy z sesji chroot:
--- Kod: ---# exit
--- Koniec kodu ---
Na podstawie oraz więcej na wiki chroot na stronie archlinux.org (po angielsku): https://wiki.archlinux.org/index.php/Chroot; dziękuję również użytkownikowi Barthalion z niegdysiejszego forum openlinux.pl. Osobiście stosując arch-chroot nigdy nie potrzebowałem dokonać montowania procfs i sysfs - o czym mowa wyżej (kolor fioletowy), jednakże arch-chroot działa wyłącznie na dystrybucjach Arch i pochodnych.
Nawigacja
Idź do wersji pełnej