Pesquisa de site

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.