Eu tento reparar um Ubunu 14.04 quebrado com chroot. O que fiz foi inicializar o Ubuntu a partir do USB montado no sistema original que precisa 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 no chroot
ambiente não tenho acesso à Internet, portanto apt
não consigo resolver nomes de host. O que eu deveria fazer?
ping www.askubuntu.com
também não funciona.
for d in dev sys run proc; do sudo mount -o bind /$d /mnt/$d ; done
Respostas:
Nos 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 junto com suas outras montagens de ligação antes de executar o comando chroot
para que o sistema chroot pegue as configurações de DNS do sistema host ou, quando você estiver no sistema chroot, crie temporariamente um /etc/resolv.conf estático com o (s) servidor (es) de nomes de sua escolha, por exemplo
fonte
sudo mount --bind /run /mnt/run
funcionou para mim, fazendo um upgrade 17.10 mal feito. Obrigado pela resposta!