DistroBox – Execute qualquer distribuição Linux dentro do terminal Linux
Distrobox é uma ferramenta bacana que permite criar e gerenciar contêineres em sua distribuição Linux favorita usando Docker ou Podman. O contêiner lançado torna-se altamente integrado ao sistema host e isso permite o compartilhamento do diretório HOME do usuário junto com armazenamento externo, dispositivos USB e aplicativos gráficos.
O Distrobox é baseado em uma imagem OCI e implementa conceitos semelhantes aos do ToolBox, que é construído sobre tecnologias de contêiner padrão podman e OCI.
Neste guia, demonstraremos como instalar o DistroBox para executar qualquer distribuição Linux dentro do seu terminal Linux. Para este guia, estamos executando o Fedora 34.
Pré-requisitos
Antes de prosseguir, certifique-se de ter o seguinte:
- Versão mínima do podman: 2.1.0 ou versão do docker: 18.06.1.
Etapa 1: Instale o DistroBox no sistema Linux
Instalar o DistroBox é muito fácil. Basta executar o seguinte comando curl que baixa e executa o script de instalação.
curl https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh
No Fedora, o DistroBox está disponível no repositório Copr. Portanto, habilite o repositório Copr no Fedora.
sudo dnf copr enable alciregi/distrobox
Depois que o repositório Copr for adicionado, use o gerenciador de pacotes DNF para instalar o Distrobox.
sudo dnf install distrobox
Etapa 2: crie um contêiner a partir de uma imagem
Com o Distrobox instalado, agora podemos começar a criar e executar contêineres. Para extrair uma imagem e executar um contêiner a partir da imagem, use o comando distrobox-create conforme a seguir.
distrobox-create --name container-name --image os-image:version
Neste exemplo, estamos criando um contêiner chamado debian10-distrobox a partir da imagem Debian 10.
distrobox-create --name debian10-distrobox --image debian:10
O comando extrai a imagem do Debian 10 do Docker Hub e cria um contêiner chamado debian10-distrobox.
Para obter uma lista completa de sistemas operacionais e versões suportadas pelos contêineres Distrobox, visite a página do Projeto Distrobox.
Para listar containers criados com Distrobox, execute:
distrobox-list
Etapa 3: acessando um contêiner Distrobox
Para acessar o shell do contêiner Linux recém-criado, use o comando distrobox-enter da seguinte maneira:
distrobox-enter --name container-name
Por exemplo, para acessar nosso contêiner, executaremos o comando:
distrobox-enter --name debian10-distrobox
A partir daqui, você pode executar comandos dentro do contêiner. Por exemplo, o comando a seguir verifica a versão do sistema operacional.
cat /etc/os-release
Você também pode instalar aplicativos. Aqui, estamos instalando a ferramenta utilitária Neofetch.
sudo apt install neofetch
Depois que o Neofetch estiver instalado, inicie-o da seguinte maneira.
Etapa 4: executar comandos no contêiner Distrobox
Você pode executar os comandos diretamente em um contêiner Distrobox em vez de acessar o shell usando a sintaxe mostrada.
distrobox-enter --name container-name -- command
Nos comandos a seguir, exibimos o tempo de atividade do contêiner e atualizamos as listas de pacotes respectivamente.
distrobox-enter --name debian10-distrobox -- uptime
distrobox-enter --name debian10-distrobox -- sudo apt update
Etapa 5: exportando aplicativos do contêiner para o host
Caso você tenha uma aplicação dentro do contêiner Distrobox que você gostaria de portar para o sistema host, você pode fazer isso usando o comando distrobox-export. Mas primeiro, acesse o shell do contêiner.
distrobox-enter --name container-name
Aqui, vamos instalar o Flameshot, que é uma ferramenta multiplataforma gratuita e de código aberto para fazer capturas de tela.
sudo apt install flameshot
Para exportar a aplicação para o Fedora, executaremos o comando:
distrobox-export --app flameshot
Para sair do contêiner, execute:
logout
Agora, de volta ao sistema host Fedora. Para confirmar a existência do aplicativo, realizaremos a busca pelo aplicativo utilizando o menu Aplicativo da seguinte forma.
Etapa 6: clonar um contêiner Distrobox
Às vezes, pode ser necessário criar uma duplicata ou um clone de uma imagem de contêiner. Para conseguir isso, primeiro pare o contêiner em execução usando o comando podman
podman stop container_ID
Para obter o ID do contêiner, execute o comando podman ps para listar os contêineres em execução no momento.
podman ps
Depois que o contêiner for interrompido, você poderá criar uma duplicata da seguinte maneira. Neste exemplo, estamos duplicando a distrobox debian10-distrobox para um clone chamado debian-10-clone.
distrobox-create --name debian-10-clone --clone debian10-distrobox
Para confirmar que o clone foi criado, mais uma vez, liste os contêineres Distrobox conforme mostrado.
distrobox-list
Etapa 7: Gerenciando Distroboxes no Fedora
Nesta última seção, veremos brevemente como gerenciar contêineres usando o podman.
Para listar todos os contêineres ativos, execute:
podman ps
Para listar todos os contêineres em execução, ativos e encerrados, execute:
podman ps -a
Para parar um contêiner, execute o comando:
podman stop container_ID
Para remover um recipiente, certifique-se de pará-lo primeiro e depois removê-lo.
podman stop container_ID
podman rm container_ID
Conclusão
Distrobox é um utilitário útil que permite compatibilidade direta e retroativa com aplicativos de software e também permite que você experimente várias distribuições Linux na forma de contêineres sem precisar de privilégios sudo.