Como resolver nomes de host no chroot?

14

Eu tento reparar um Ubunu 14.04 quebrado com o chroot. O que eu fiz foi inicializar o Ubuntu do USB montado no sistema original que tem que ser reparado e alterado para este sistema com o chroot:

sudo mount /dev/sdXY /mnt 
sudo mount -o bind /dev /mnt/dev 
sudo mount -o bind /sys /mnt/sys 
sudo mount -t proc /proc /mnt/proc 
sudo cp /proc/mounts /mnt/etc/mtab 
sudo chroot /mnt /bin/bash 

Isso funcionou bem, mas em chroot environment eu não tenho acesso à internet, então apt não é capaz de resolver nomes de host. O que eu deveria fazer?

ping www.askubuntu.com

também não funciona.

    
por user5950 19.05.2014 / 17:43

1 resposta

18

Em sistemas Ubuntu mais recentes, a resolução de nomes é tratada pelo serviço resolvconf, e /etc/resolv.conf é um link simbólico para /run/resolvconf/resolv.conf. Você pode adicionar uma montagem de ligação ao sistema de arquivos / run juntamente com suas outras montagens de ligação antes de executar o comando chroot

sudo mount -o bind /run /mnt/run

para que o sistema chroot escolha as configurações de DNS do sistema host ou, uma vez no sistema chrooted, crie temporariamente um /etc/resolv.conf estático com o (s) servidor (es) de sua escolha, por exemplo

echo 'nameserver 8.8.4.4' | sudo tee -a /etc/resolv.conf
    
por steeldriver 19.05.2014 / 17:53