Fazendo "chroot" facilmente
Dica publicada em Linux / Comandos
Fazendo "chroot" facilmente
De vez em quando, precisamos acessar outra partição diferente da nossa do boot, para corrigir erros.
Muitos sabem que isso é feito a partir de um Live-CD ou do boot de um outro GNU/Linux, em outra partição. Para fazer isso, usamos "montar" (comando mount) e depois usando chroot.
Até aí tudo bem, mas tenho visto na Net, muitos erros reportados, tanto na montagem como no chroot. Exemplos:
Tais erros ocorrem porque o "ponto de montagem" não é achado e/ou porque o sistema "protege" e não deixa acessar.
Mas há um jeito fácil de driblar isso, é criando um diretório auxiliar, para o qual temos permissões amplas.
Vamos ver. A próxima vez que precisar de um chroot, faça assim:
1. Faça boot no Live-CD ou no outro GNU/Linux. Como root, crie uma pasta auxiliar e depois a acesse, vá para ela:
# mkdir /mnt/nome
# cd /mnt/nome
Onde "nome", é um nome qualquer que inventou.
2. Agora, "monte" o seu dispositivo, ou partição (a que quer acessar), nessa pasta:
# mount /dev/sdXY /mnt/nome
Onde X e Y são os descritores do dispositivo ou partição que quer acessar. Por exemplo, se for o seu GNU/Linux que está na partição 3 do seu único HDD, será "sda3".
3. Agora "faça chroot":
# chroot /mnt/nome /bin/bash
E pronto!
No terminal, o "nome" que usei foi "rota", e acessei a partição "sdb5" do meu Sabayon principal, a partir do meu outro Sabayon de testes.
A "mudança" do terminal e o comando ls, mostram que funcionou, estou na raiz de sdb5:
sudo mkdir /mnt/rota
$ cd /mnt/rota
$ sudo mount /dev/sdb5 /mnt/rota
$ sudo chroot /mnt/rota /bin/bash
# ls
Muitos sabem que isso é feito a partir de um Live-CD ou do boot de um outro GNU/Linux, em outra partição. Para fazer isso, usamos "montar" (comando mount) e depois usando chroot.
Até aí tudo bem, mas tenho visto na Net, muitos erros reportados, tanto na montagem como no chroot. Exemplos:
MOUNT: "Tal dispositivo não existe ou não está no fstab"
CHROOT: "/dev/null permissão negada"
Tais erros ocorrem porque o "ponto de montagem" não é achado e/ou porque o sistema "protege" e não deixa acessar.
Mas há um jeito fácil de driblar isso, é criando um diretório auxiliar, para o qual temos permissões amplas.
Vamos ver. A próxima vez que precisar de um chroot, faça assim:
1. Faça boot no Live-CD ou no outro GNU/Linux. Como root, crie uma pasta auxiliar e depois a acesse, vá para ela:
# mkdir /mnt/nome
# cd /mnt/nome
Onde "nome", é um nome qualquer que inventou.
2. Agora, "monte" o seu dispositivo, ou partição (a que quer acessar), nessa pasta:
# mount /dev/sdXY /mnt/nome
Onde X e Y são os descritores do dispositivo ou partição que quer acessar. Por exemplo, se for o seu GNU/Linux que está na partição 3 do seu único HDD, será "sda3".
3. Agora "faça chroot":
# chroot /mnt/nome /bin/bash
E pronto!
Testando
Quer ver como funcionou?No terminal, o "nome" que usei foi "rota", e acessei a partição "sdb5" do meu Sabayon principal, a partir do meu outro Sabayon de testes.
A "mudança" do terminal e o comando ls, mostram que funcionou, estou na raiz de sdb5:
sudo mkdir /mnt/rota
$ cd /mnt/rota
$ sudo mount /dev/sdb5 /mnt/rota
$ sudo chroot /mnt/rota /bin/bash
# ls
12117 boot etc lib libpng14.so.14 opt root sys var 62019 dev home lib32 media proc run tmp bin erros install-data lib64 mnt -q sbin usrEspero ter ajudado! Até a próxima!
Atualizado até 13 de Abril de 2018.
Juntando esta Dica com procedimentos gráficos de montagem, fica ainda mais fácil corrigir problemas:
http://www.vivaolinux.com.br/dica/Forcando-a-montagem-do-sistema-de-arquivos-e-do-disco-rigido-para-...
Outros modos relacionados, mais elaborados de fazer chroot:
http://casadopinduvoz.wordpress.com/2014/04/08/fazer-chroot-no-ubuntu/
http://www.vivaolinux.com.br/dica/Ambiente-seguro-com-chroot
http://ubuntuforums.org/showthread.php?t=1156240
https://wiki.sabayon.org/index.php?title=HOWTO:_Restore_Grub2