Pag-ayos ng System: How To To chroot

Maraming beses, lalo na kapag nagkagulo, nahanap namin ang aming mga sarili sa problema na hindi ma-access ang system upang ayusin ito, ngunit madali ang solusyon: gamitin ang utos chroot mula sa anumang LiveCD / RepairCD.

Sa maraming lugar (mga forum, blog ...) ang utos na ito ay nabanggit at isang "kopya / i-paste" ng code ang ibinigay, ngunit ang hangarin ko sa post na ito ay upang ipaliwanag nang kaunti ang mga hakbang na iyon, upang magamit itong mabuti tool, na may kaalaman sa sanhi.

Pagpapakilala

Ang utos chroot Ito ay kilala bilang CHangeROOT, iyon ay, isang utos na nagbibigay-daan sa iyo upang baguhin ang ugat ng system kung saan ka nagtatrabaho. Sa madaling salita: kung mula ka sa isang LiveCD at nais mo ang lahat ng iyong ginagawa sa console na magkaroon ng isang epekto sa naka-install na system, dapat mo munang gamitin chroot.

Ang problema ay hindi ito sapat upang magamit chroot Tulad ng naturan, bago namin maayos na mai-mount ang ilang mga partisyon.

PAANO

Una kailangan naming magsimula ng isang terminal, alinman mula sa isa pang naka-install na system (sa isa pang pagkahati / disk) o mula sa isang LiveCD. MAHALAGA: ang arkitektura ng LiveCD ay dapat na tumutugma sa system na maaayos (32 o 64 na piraso).
Kapag nasa terminal na kami magsisimula kami sa pamamagitan ng pagkilala sa aming mga pagkahati:
fdisk -l

  • Sa utos na ito ililista namin ang lahat ng aming mga partisyon / disk. Dapat nating kilalanin kung alin ang target na pagkahati, kung saan naka-install ang aming system upang ayusin, mula ngayon tatawagin namin ito sirang sistema.

Para sa halimbawang ito isasaalang-alang namin na ang aming sirang sistema ay nasa / Dev / sda1 .

Nagpapatuloy kami upang tipunin ang system. Lilikha muna namin ang folder kung saan kami magtatrabaho at sa paglaon ay inilalagay namin ang pagkahati kung saan matatagpuan ang aming sirang system sa folder na iyon
mkdir /mnt/my_linux
mount /dev/sda1 /mnt/my_linux

Kung mayroon kang folder / home o / var o anumang iba pa sa ibang pagkahati, dapat mong i-mount ito tulad ng sumusunod:
mount /dev/sda2 /mnt/my_linux/var

  • TANDAAN: Kinuha ko bilang isang halimbawa ang pagkahati / dev / sda2 para sa folder ng / var, hayaan ang bawat isa na ayusin ang code sa kanilang mga katangian.

Karaniwan ay sasapat ito kung kakailanganin mo lamang i-edit ang mga file sa pamamagitan ng kamay, ngunit kung nais naming magpatupad ng ilang mga utos na nag-configure ng system, kailangan naming i-mount ang ilang mga espesyal na folder ng system: / dev, / proc/ sys
mount -t proc proc /mnt/my_linux/proc
mount -t sysfs sys /mnt/my_linux/sys
mount -o bind /dev /mnt/my_linux/dev

  • Sa pagpipilian -t sinasabi namin Mount ang uri ng "filesystem" na nais naming mai-mount. Kinakailangan na tukuyin ito dahil sa espesyal na likas na katangian ng mga folder / proc y / sys.
  • Sa pagpipilian -o tinukoy namin ang mga pagpipilian ng Mount. Ang pagpipilian magtali nagsisilbi itong "mag-link". Sa UNIX lahat ng mga aparato sa hardware ay maa-access sa pamamagitan ng folder / dev, kaya't dapat nating i-mount ang ating kasalukuyang / dev sa folder kung nasaan ang aming sirang system ngayon. Tulad ng naka-mount na ang folder na ito, kinakailangan lamang na sabihin Mount kung saan ito ay orihinal na naka-mount.

Ginagawa ito sa ganitong paraan upang chroot may access sa mga folder na ito na parang ang sirang system, bagaman dapat sila ay mula sa kasalukuyang system (hal: sesyon ng LiveCD) dahil nauugnay sila sa estado ng system, mga proseso at hardware.

Ngayon na ang oras upang gamitin chroot:
chroot /mnt/my_linux/ /bin/bash

  • Ang utos ay naipasa bilang mga argumento ng landas ng bagong ugat «/» (na sa aming kaso ay / mnt / my_linux) at ang console na nais mong gamitin (sa kasong ito ay nag-opt kami para sa kilalang bash, na matatagpuan sa / basahan / bash). Kung hindi namin tinukoy ang console ay mahahanap namin ang aming sarili bago ang isang medyo archaic command interpreter (hindi ito pinupunan kapag pinindot ang tab, atbp.).

Ngayon ay maaari naming gamitin ang console na parang nagsimula ang root session sa aming sirang system (i-edit ang mga file, suriin ang mga script, i-install / i-uninstall ang mga package ...). BABALA! Upang magkabisa ang mga pagbabagong nagawa, kailangan mong alisin ang pagkakarga sa filesystem pagkatapos ng paglabas chrootTingnan ang halimbawa sa ibaba.

Higit pang impormasyon sa https://wiki.archlinux.org/index.php/Change_Root (higit sa inirekumendang pagbabasa).

Halimbawa ng paggamit: ibalik ang GRUB2

Isa sa pinakalaganap na paggamit ng chroot Ito ay bilang isang tool upang maayos ang GRUB. Dahil kung masira ang grub, praktikal na imposibleng i-boot ang aming system upang ayusin ito.

PAUNAWA: ang maikling tutorial na ito ay isang halimbawa lamang, gumagana ito sa iba't ibang mga pamamahagi na nagmula sa Debian, Ubuntu at openSUSE bukod sa iba pa. Kahit na, suriin ang dokumentasyon ng iyong pamamahagi, dahil sa maraming mga utos ay hindi natagpuan update-grub.
# TANDAAN: ang mga utos na ito ay tumatakbo nang isang beses sa loob ng chroot.update-grub
grub-install /dev/sda

  • may update-grub Ina-update namin ang menu ng pag-input ng GRUB2, sa gayon ay nagdaragdag ng anumang nawawalang mga input. Sa paglaon ay muling na-install namin ang GRUB sa aming disk, dahil napinsala ito.

Sa kasong ito kinuha ko / Dev / sda tulad ng album kung saan mayroon kaming aming system, dapat itong iakma sa iyong kaso.

Dapat ayusin ang aming GRUB, kaya dapat kaming lumabas chroot, i-unmount ang filesystem (MAHALAGA) at i-reboot para magkabisa ang mga pagbabago. Kung nakalimutan naming i-unmount ang filesystem, posible na ang pag-reboot ng mga file ay hindi maa-unmount nang tama at samakatuwid ang ilang mga pagbabago ay hindi magkakabisa.
# umalis kami ng chrootexit
# i-unmount ang filesystem at i-rebootumount /mnt/my_linux/dev
umount /mnt/my_linux/sys
umount /mnt/my_linux/proc
umount /mnt/my_linux
reboot

At yun lang. Inaasahan kong nasiyahan ka dito at nakakatulong ito sa iyo. Isang pagbati!


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   Leper_Ivan dijo

    Maaari kong gamitin ito .. Sa ilang mga punto kailangan ko itong gamitin.

  2.   Mario dijo

    Mayroon bang alin sa inyo na gumamit ng Chakra Benz? Kung gayon, maaari mo bang sabihin sa akin kung
    madali ba ito para sa karaniwang gumagamit? Gumagamit ako ng SolydK na kung saan ay napaka-simple ngunit
    Naiintindihan ko na ang Chakra ay purong KDE at interesado ako nito.

    1.    wow dijo

      Oo, ang chakra ay napakahusay at higit pa o mas madali, ang bagay ay ang pag-install / pag-uninstall ng mga pakete na kailangan mong gawin ito sa console, dahil gumagana pa rin sila sa isang graphic na manager ng package. Subukan ito sapagkat sulit ito. Gumagamit ito ng manager ng pakete ng pacman, na minana mula sa Archlinux, ngunit mag-ingat, hindi ito nagbabahagi ng mga repositoryo sa arko at HINDI ito katugma sa kanila. Kung nais mong matuto nang higit pa tungkol sa pacman, tingnan ang arch wiki https://wiki.archlinux.org/index.php/Pacman_%28Espa%C3%B1ol%29

      1.    izzyvp dijo

        Ang Oktopi ay matatag na at gumagana nang maayos para sa isang average na gumagamit, na hindi mo kailangan ng terminal upang magamit ang pacman.

  3.   x11tete11x dijo

    Umaasa ako na ang post na ito ay bibisitahin ng marami, pagkatapos ay magsimula ang kanilang ulo na muling mai-install para sa anumang bagay kapag may isang chroot maaari mong ayusin ang system halos palagi, pinapayagan ka ng chroot sa maraming mga posibilidad, kasama na ang pag-install ng Gentoo xD hahaha

  4.   moony dijo

    maganda, salamat ... Hindi ko ito binigyan ng bola dahil ang ilang live-cd para sa pagkukumpuni ay tila sa akin na itaas nila ito bilang default, ngunit ngayon ay malinaw, salamat muli.

  5.   Lolo dijo

    Upang makumpleto ito, magandang ipaliwanag kung paano i-mount ang mga partisyon ng LVM, mga naka-encrypt na partisyon at RAID system.

    1.    wow dijo

      mmm Hindi ko na hinawakan ang LVM at RAID sa mahabang panahon, ngunit maaari mo ba akong ipaalam nang kaunti upang makumpleto ito ... salamat sa tip!

      1.    Lolo dijo

        Kaya ang totoo ay maaari akong gumamit ng mahusay.

        Ito ay magiging lubos na pinahahalagahan.

        1.    wow dijo

          tingnan ang wiki na ito, ito ay medyo cool http://wiki.bandaancha.st/RAID_y_LVM_en_Linux

  6.   Modem dijo

    Kung ang paksang ito ay mayroon nang ilang linggo sa paglaon, lumalabas na mayroon akong problema sa aking system at nagbasa at nagbasa ako at saanman ako makakita ng chroot at blablabla ngunit hindi ito gumana para sa akin batay sa rekomendasyong iyon ng live kapareho ng iyong system, napakahalaga dahil gumagamit ako ng x64, ang iba pa ay upang mai-mount ang mga partisyon ng system, dahil sa aking kaso kapag nag-apply ako ng chroot at pag-mount ay nagtapon ito ng isang utos at hindi lamang nito nakilala ang utos.

    Ang paksang ito ay pupunta sa aking mga file na "impormasyon sa pagsasama-sama"

  7.   cookie dijo

    Ang isang Arch LiveCD (gamit ang tool na ito) ay ang kailangan lamang upang ayusin ang iyong system kapag sinira mo ito.

    1.    Batas-Batayan dijo

      Eksakto! .. .. yun lang ang kailangan .. kahit na matulungan ang isang tao sa kanilang W $ na nagpasyang hindi magsimula ..

      Palagi akong may kasama akong isang 1gb pendrive na may Arch live ... at ang chroot lang ang kinakailangan upang sa ilalim ng anumang problema, sa 10 minuto na ayos mo na ang lahat nang hindi ka naaalarma .. 😉

    2.    izzyvp dijo

      Kailangan mo lang malaman kung paano ito gawin.

    3.    Pablo dijo

      Kumusta, pansinin na mayroon akong problema sa mga centos, nagpapadala ito sa akin ng kernel panic atbp. At hindi ko ito nalutas, mayroon akong website at database doon. Hindi ko alam kung ano pa ang gagawin.

  8.   jony127 dijo

    Magandang post, nakarinig ako ng ilang chroot sa pagpasa ngunit hindi ko talaga alam kung paano ito ginamit, syempre hindi ko na ito kailangan at iyon ang dahilan kung bakit hindi ko nabasa ang isang partikular na bagay. Ngayon sa iyong post na ipinaliwanag nang napakalinaw, alam ko kung paano ito gamitin kung sakali.

    Maraming salamat at by the way, mabuhay si Led Zeppelin hehe.

  9.   kamala dijo

    salamat, sa wakas ay nakalabas ako mula sa bangungot na bangungot sa pagsagip

    sa katunayan sinunod ko ang lahat ng mga hakbang maliban sa umount / mnt / my_linux, sapagkat sinabi sa akin na ito ay abala, at pinagsasama ko ito -km, ngunit hindi kahit na, at bounce ...

    Sana hindi ito mahalaga….

    Salamat ulit…
    isang pagbati

  10.   Jose Antonio dijo

    Kahit na ang artikulo ay may isang pares ng mga taong gulang, nais kong pasalamatan ang may-akda para sa kanyang pagkabukas-palad sa pagbabahagi nito ay isang mahusay na artikulo dahil sa katapusan ng linggo ito ay nai-save ang aking buhay. Walang kusa na nag-load ako ng isang server na nag-install ng isang pakete at nang i-restart ito ay hindi na-load. Matapos ang tatlong araw na pagsubok na ayusin ito at magbasa ng iba't ibang mga artikulo, nakapagpunta ako dito nang nagkataon at sa wakas ay muling na-install muli ang grub at ayusin ang server.

    Maraming salamat sa inyo!

    1.    wow dijo

      Natutuwa akong nakatulong ito sa iyo. Salamat sa komento!

  11.   Helio dijo

    Kumusta, alam ko na ang post na ito taon na ang nakakalipas, ito mahusay salamat sa pagbabahagi nito. At may pag-aalinlangan ako, sa aking kaso napinsala nito ang system at pati na rin ang mga driver ng network, kaya sinunod ko ang mga hakbang ngunit hindi ako pinapayagan na mag-download ng mga pakete, mayroon bang paraan upang mai-link ang live network sa terminal

    1.    wow dijo

      Hindi ko talaga maintindihan ang iyong problema ... Kapag nag-log in ka sa LiveCD, ang kernel na naglo-load ay ang isa mula sa LiveCD, samakatuwid dapat mong mai-configure nang perpekto ang isang koneksyon sa internet. Kapag nagawa ang koneksyon, subukang gawin ang chroot upang makita kung patuloy mong mapanatili ito, kung hindi, maaaring kailanganin mong i-configure ito muli, ngunit ang nasirang kernel ay hindi dapat makaapekto sa session ng chroot.
      Kung hindi ka tumukoy ng higit pa, maaari kong sabihin sa iyo ...

  12.   dacha dijo

    Mahusay na Mag-post ... isa sa ilang mga kapaki-pakinabang na artikulo na matatagpuan sa Internet.
    Maraming salamat sa kontribusyon mo.

  13.   zopeck dijo

    Kumusta, mahusay na tutorial! Napakahusay na ipinaliwanag, para sa amin mga mortal lamang!

    May tanong ako:
    Nang nabanggit mo na kung sakaling kailanganing mag-install ng mga pakete, magsagawa ng mga pag-update ng system o iba pang espesyal na aktibidad, at nangangailangan ng pag-mount ng / dev / proc at / sys folder, hindi malinaw sa akin kung ang mga folder na ito ay nasa Live system na kung saan namin sinimulan ang kagamitan upang maayos, o kung ang mga ito sa root na pagkahati na naka-mount.

    Salamat sa iyo.

  14.   Orlando dijo

    MARAMING SALAMAT!!!!