
Groot é uma ferramenta auxiliar que simplifica a operação chroot. É baseado no script arch-chroot disponível para Arch Linux e pode ser usado em qualquer distribuição Linux.
Chroot é uma operação que altera o diretório raiz aparente para o processo em execução atual e seus filhos. É especialmente útil para instalar e atualizar pacotes em sistemas que não podem inicializar, por exemplo, reinstalar o carregador de inicialização GRUB (ou algum outro carregador de inicialização), remover, fazer downgrade ou atualizar algum pacote que interrompe o processo de inicialização e assim por diante. O chroot também é útil para teste e desenvolvimento e muito mais.
Como exemplo, digamos que você tenha um sistema Linux que não inicializa mais. Você pode inicializar um USB ativo de alguma distribuição Linux como o Ubuntu nesse computador e, em seguida, usar o chroot para consertar o carregador de inicialização da distribuição Linux original que está instalado nesse sistema. Ambos os sistemas precisam usar a mesma arquitetura.
Isso é o que Groot faz:
/dev, /run, /proc, /sys e outros diretórios do sistemaGroot é apenas para fazer chroot em um sistema Linux agora, mas o plano é adicionar alguns recursos extras, como reparar problemas de inicialização em sistemas BIOS e EFI, reinstalar GRUB, recompilar initramfs, atualizar o menu de inicialização GRUB, etc.
O Groot mais recente inclui 3 novas opções:
--fixboot para corrigir problemas de inicialização. Este comando fará o chroot no diretório especificado, montará os dispositivos dos arquivos fstab/crypttab, recompilará o initramfs e atualizará o menu GRUB. Funciona em distribuições Linux baseadas em Ubuntu/Debian, Fedora e Arch Linux.
--update para instalar atualizações de pacotes. Este comando fará o chroot no diretório especificado, montará dispositivos dos arquivos fstab/crypttab e usará o gerenciador de pacotes para instalar as atualizações disponíveis. Funciona em distribuições Linux baseadas em Ubuntu/Debian, Fedora e Arch Linux.
--guestinfo para mostrar informações do sistema convidado.
Para usar o Groot para fazer o chroot em um sistema, cd para o caminho onde o sistema de arquivos raiz está montado e execute o Groot como root:
sudo groot
Você também pode especificar o caminho do sistema de arquivos raiz como um argumento.
A ferramenta também pode fazer o chroot usando o arquivo fstab (que define como partições de disco, sistemas de arquivos remotos e vários dispositivos de bloco são montados), dispositivos de montagem para /, /home, /boot, /boot/efi e assim por diante, útil para corrigir problemas relacionados à inicialização e reinstalar GRUB .
Você pode ver exatamente o que o Groot faz quando é executado usando a opção --verbose. Quando quiser fechar o Groot e sair do chroot (e desmontar todos os diretórios do sistema montados), digite exit.
Opções Groot disponíveis:
$ groot --help
Groot v18.1 by Tony George ([email protected])
Usage: groot [command] [basepath] [options]
Commands:
--chroot Change root to basepath (default if no command specified)
--chroot-fstab Change root after mounting devices from fstab and cryptab
--list-devices List current devices
--sysinfo Show current system information
Options:
--no-display Do not share display (default: sharing enabled)
--no-internet Do not share internet connection (default: sharing enabled)
--verbose, -v Show executed commands
--debug Show debug messages
Para poder executar um aplicativo gráfico da sessão chroot, você precisa executar export DISPLAY=:0, ou pelo menos era o caso em meu sistema (eu esperava que o Groot fizesse isso, mas parece que ele só executa xhost +local: automaticamente). Portanto, para executar aplicativos gráficos usando Groot, digite o seguinte no chroot:
export DISPLAY=:0
Em alguns casos, a variável de ambiente $DISPLAY pode não ser :0. Digite isso no sistema atual (no sistema atual, não no chroot):
echo $DISPLAY
E use a saída disso em vez de :0 no comando de exportação acima.
Em seguida, digite o executável (como gedit, etc.) que deseja executar e deve funcionar.
Para poder instalar o Groot DEB em uma sessão ao vivo do Ubuntu, você precisará habilitar o repositório universe em Software & Updates (segunda caixa de seleção). Sem isso, algumas dependências do Groot não estarão disponíveis para instalação. Ou você pode simplesmente usar o Groot distro-agnóstico (deve funcionar em qualquer distribuição Linux); siga as instruções de sua página do GitHub para instalá-lo.
Esse post foi traduzido do site LinuxUprising.com pela rtland.team.
Confira a versão original desse post em inglês:
Groot Simplifies Entering Chroot On Any Linux Distribution