Distrobox: rode qualquer distribuição Linux dentro do terminal

por | 21/06/2022 | Ferramentas

O Distrobox é uma ferramenta que permite a qualquer pessoa rodar diversas distribuições dentro do terminal Linux.

Antes de mais nada, porém, é importante ressaltar que o software permite a criação de contêineres através do uso de Podman ou Docker.

Além disso, é importante também dizer que tanto o Podman quanto o Docker são plataformas de virtualização. Assim, é fácil perceber onde iremos chegar com este guia, não é?

Comandos

Portanto, se você precisa, por exemplo, lidar com ambientes totalmente isolados em seu computador, pode perfeitamente utilizar o Distrobox. Mas se você, por outro lado, simplesmente deseja testar outras distros, o software também é muito útil e válido, além de poderoso.

A ferramenta permite que você crie e configure ambientes totalmente separados, de forma muito simples e com todas as ferramentas de desenvolvimento que você porventura costuma usar.

Assim, você sempre terá em mãos ambientes propícios e preparados para desenvolver, mesmo após a formatação ou instalação de uma nova distribuição no computador.

O que é o Distrobox?

Antes de tudo, é importante destacar que você pode instalar o Distrobox de forma fácil e grátis em seu sistema Linux. Disponível sob a licença GPL-3.0, o aplicativo também permite a integração de todo contêiner inicializado com o sistema host.

Contêiner

Uma distro Linux rodando através de um contêiner no Distrobox, além disso, pode perfeitamente acessar a pasta HOME do usuário e também qualquer dispositivo USB e de áudio, além de aplicativos gráficos (como veremos adiante).

O Distrobox, do mesmo modo, é uma ótima alternativa a soluções de máquina virtual (como o VirtualBox, por exemplo). Ao mesmo tempo, ele também permite que o usuário alterne de forma fácil e rápida entre qualquer contêiner (ou distro).

A ferramenta exclusiva do Linux, além disso, possui uma lista de comandos bem reduzida. Isto acaba contribuindo bastante para facilitar a vida do usuário que desejar “colocar a mão na massa”.

Baseado no ToolBox (também voltado à criação e gerenciamento de contêineres), o Distrobox suporta várias distros Linux importantes como host, tais como, por exemplo:

  • Manjaro;
  • Arch Linux;
  • CentOS;
  • Debian;
  • Fedora;
  • Gentoo;
  • Ubuntu;
  • openSUSE;
  • etc.

Além disso, vale também lembrar que o aplicativo usa bem menos recursos de sistema que o VirtualBox, o que o torna bastante adequado em diversas situações, principalmente em caso de hardware menos potente.

Distrobox

A seguir, portanto, veremos tudo o que é necessário para instalar a prática ferramenta no seu sistema. Também explicarei em detalhes tudo o que está envolvido em sua instalação e uso.

Distrobox: o que é necessário para instalá-lo?

Para instalar e rodar o Distrobox no seu Linux, é necessário cumprir alguns pré-requisitos bem básicos. São eles:

  • Um sistema Linux com um usuário com permissão de administrador;
  • Podman ou Docker instalados;

Obs: no meu caso, entretanto, e para referência, estou utilizando um sistema rodando a distro Kubuntu. Por outro lado, os procedimentos de instalação são bem parecidos em outras distribuições.

Como instalar e configurar o Docker

Antes de mais nada, verifique se o Podman ou o Docker já estão instalados no seu sistema. Abra seu terminal e execute um dos comandos abaixo:

docker ps

ou:

docker info

Caso seu sistema já conte com uma das duas plataformas instalada, desconsidere a etapa de instalação do Docker.

Nesse sentido, e para facilitar, iremos nos focar neste artigo apenas na instalação e no uso do Docker. Portanto, para a instalação da plataforma de contêiner, use o comando abaixo no terminal:

sudo apt install docker.io -y

Aguarde a instalação do Docker e, a seguir, execute o seguinte comando para habilitá-lo e inicializá-lo:

sudo systemctl enable --now docker

Agora, adicione seu usuário ao grupo do Docker:

sudo usermod -aG docker $USER

Finalmente, rode o comando abaixo para que o sistema identifique as mudanças no grupo:

newgrp docker

Obs: posteriormente, para verificar o status do Docker no seu sistema, use o comando abaixo:

sudo systemctl status --now docker

Como instalar o Distrobox

Agora que já instalamos e ativamos o Docker, vamos ao passo seguinte. Primeiramente, utilize o comando abaixo para baixar e instalar a ferramenta no seu sistema Linux:

curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh

Repare que através do comando acima você irá baixar e executar um script de instalação com privilégios sudo. Caso você não se sinta desconfortável com isto, é possível usar o comando abaixo, sem privilégios sudo:

curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sh -s -- --prefix ~/.local

Obs: caso você perceba um erro aqui, informando que o comando não foi encontrado, é necessário instalar o Curl, através do comando abaixo:

sudo apt install curl

Dessa forma, agora que tanto o Docker quanto o Distrobox estão instalados, vamos conferir como a ferramenta pode ser utilizada.

Utilizando o Distrobox

Antes de mais nada, é importante mencionar os comandos básicos da ferramenta:

ComandoDescrição
distrobox-createCria um contêiner
distrobox-enterAcessa um contêiner
distrobox-listLista os contêineres criados
distrobox-rmApaga um contêiner
distrobox-stopInterrompe um contêiner que está rodando
distrobox-exportExporta apps ou serviços do contêiner para o host
distrobox-initPonto de entrada para um contêiner
distrobox-host-execPara execução de comandos no host (estando dentro do contêiner)

Criando um contêiner

E finalmente chegou a hora de usar a ferramenta propriamente dita. Nesse sentido, para criar um novo contêiner (contendo uma nova distribuição Linux), utilize a sintaxe abaixo:

distrobox-create --image DISTRO:VERSÃO --name NOME-DA-IMAGEM

Ou seja, para criar um contêiner à partir da imagem do Debian 11, o qual irá se chamar “debian-distrobox¨, basta usar o comando abaixo:

distrobox-create --image debian:11 --name debian-distrobox

Analogamente, para criar um novo contêiner à partir da imagem da versão mais recente do Arch Linux, use o comando abaixo:

distrobox-create --image archlinux:latest --name arch-distrobox

Similarmente, observe que aqui utilizamos o parâmetro “latest” para “puxar” a versão de imagem mais recente do sistema operacional em questão.

Obs: para parâmetros adicionais e também para o uso de variáveis de ambiente, verifique a página oficial do projeto no GitHub.

Assim, após a criação de um contêiner, você terá no seu terminal um output mais ou menos parecido com o da imagem abaixo:

Terminal

Por fim, para listar todos os contêineres criados, basta usar o seguinte comando:

distrobox-list

Acessando um contêiner

Agora que já criamos alguns contêineres no Distrobox, onde cada um deles representa na verdade uma distribuição Linux diferente, vamos aprender a acessá-los.

Assim, o comando para acesso a um contêiner possui a seguinte sintaxe:

distrobox-enter --name NOME-DO-CONTÊINER

Por exemplo, para acessar o nosso Arch Linux, iremos usar o comando abaixo (de acordo com contêiner criado acima):

distrobox-enter --name arch-distrobox

Comandos e instalação de apps no contêiner Arch Linux

Agora nos encontramos no terminal de nosso Arch Linux. Já podemos utilizar comandos e instalar aplicações em nossa “nova distro”, inclusive aplicações gráficas, como veremos a seguir:

Distrobox - Terminal - Arch Linux

Vamos agora, no Arch Linux, instalar o aplicativo Neofetch através do gerenciador de pacotes da distro:

sudo pacman -Sy neofetch

Depois que o pequeno software Neofetch foi instalado, podemos então utilizá-lo para a exibição de detalhes de nosso “novo sistema”, conforme abaixo:

Distrobox - Terminal - Neofetch

Da mesma forma, comandos Linux podem ser utilizados normalmente no novo terminal, lembrando que há inclusive o compartilhamento do diretório HOME . Ou seja, o comando abaixo irá criar uma pasta chamada “TestesArchLinux” dentro de /home/seu_usuário/:

mkdir TestesArchLinux

Em seguida, a pasta pode ser perfeitamente acessada via terminal. Basta usar o comando abaixo:

cd TestesArchLinux

Repare que estamos aqui trabalhando normalmente dentro do diretório HOME do usuário. Assim, se for necessário realizar cópia de arquivos do sistema host para o contêiner, isto pode ser feito normalmente através de comandos com a sintaxe abaixo:

cp /origem /destino

Por exemplo, para copiar uma pasta qualquer para o diretório recém criado “TestesArchLinux”:

cp -a /home/seu_usuário/Documentos/diretório_origem /home/seu_usuário/TestesArchLinux/

E assim por diante!

Agora, vamos instalar o navegador Mozilla Firefox no Arch Linux. Basta utilizar o comando abaixo:

sudo pacman -Sy firefox

Simples, prático e muito rápido, não? E agora o Firefox, uma aplicação gráfica, pode ser perfeitamente inicializado através do nosso terminal do Arch Linux. Observe que iremos apenas “chamar” o browser no terminal. A aplicação rodará em uma janela.

E para executar o Firefox, simplesmente digite “firefox” no terminal (sem aspas), seguido de um ENTER. Observe agora a aplicação rodando normalmente e pronta para uso:

Distrobox - Firefox

E assim por diante. Lembre-se apenas de realizar os ajustes necessários, dependendo da operação, do app e do contêiner.

Remoção de apps no contêiner Arch Linux

Remover uma aplicação (como o Firefox, por exemplo) é também muito simples. Basta utilizar comandos de acordo com a distro/contêiner em que você está.

Por exemplo, no Arch Linux, utilize o comando abaixo para remover o Firefox e todas as suas dependências:

sudo pacman -Rs firefox

Simples, não?

Exportação de aplicativos do contêiner para o sistema host

Agora, vamos exportar um aplicativo do contêiner no qual instalamos o Arch Linux para o sistema host, ou seja, para a distro principal do nosso computador (a distribuição onde foi instalado o Distrobox).

Digamos, por exemplo, que você tenha criado um contêiner com diversas ferramentas de desenvolvimento, porém deseja utilizar algumas delas também no seu sistema principal (no meu caso, o Kubuntu).

Repare, antes de mais nada, na screenshot do Firefox imediatamente acima: nela, o hostname diz respeito ao contêiner, ou seja, “@arch-distrobox”.

Para efeitos de testes, instalei também no Arch Linux a ferramenta de administração de bancos de dados DBeaver. Agora, para exportá-la para o sistema host, para que também possamos utilizá-la em nossa distro de uso habitual, basta utilizar o comando abaixo (após acessar o shell do contêiner, vale lembrar, através do comando “distrobox-enter”):

distrobox-export --app dbeaver

Perceba então que no shell será exibida uma mensagem alertando que o novo app aparecerá na lista de aplicativos do sistema host dentro de alguns segundos:

Terminal - Exportando apps

E, dito e feito. O DBeaver está então pronto para uso no host:

Distrobox - Export app - DBeaver

Saindo e interrompendo um contêiner

Para sair de um contêiner em execução, simplesmente digite “logout” (sem aspas) seguido de um ENTER. Assim, você retorna para o shell da sua distro host.

Os contêineres criados através do Distrobox permanecem em execução, entretanto, de maneira tal que todo o trabalho subsequente seja mais rápido. Porém, é possível interromper um contêiner que esteja em execução, através de comandos com a sintaxe abaixo:

distrobox-stop NOME-DO-CONTÊINER

Ou seja, para parar a nossa instância do Arch Linux, utilizaremos o comando abaixo:

distrobox-stop arch-distrobox

Repare, portanto, na sequência abaixo:

Distrobox - Terminal - Parando contêiner

Removendo um contêiner

Analogamente à criação de um contêiner, também é bem simples remover qualquer instância no Distrobox.

Antes de mais nada, verifique quais são os contêineres em uso na máquina, através do comando abaixo:

distrobox-list

Para remover um contêiner, utilize um comando com a sintaxe abaixo:

distrobox-rm --name NOME-DO-CONTÊINER

Vale lembrar que o Distrobox, entretanto, não permite a exclusão de contêineres que estejam em execução. Portanto, agora executaremos dois comandos, para interromper a execução e em seguida remover a instância Arch Linux:

distrobox-stop arch-distrobox
distrobox-rm --name arch-distrobox

Conclusão

Como você pôde perceber, criar, gerenciar e usar contêineres através do Distrobox é muito simples. A ferramenta é uma alternativa muito atrativa ao VirtualBox, além de ser de uso extremamente simples.

Através do Distrobox você pode criar ambientes totalmente isolados, algo muito útil se você for um desenvolvedor, por exemplo. Assim, é possível testar suas aplicações ou scripts de forma segura, sem correr risco algum em relação à distro que você usa nas tarefas normais do dia a adia.

Além disso, o aplicativo permite que você tenha diversas distribuições Linux acessíveis à partir do terminal, algo muito bacana também se você deseja apenas testar algo novo.

Gostou deste artigo? Não deixe de compartilhar com seus amigos!

Finalmente: que tipo de uso você pretende dar ao Distrobox? Compartilhe suas opiniões através de um comentário!

Compartilhe este conteúdo:

<a href="https://teclinux.com/author/marcos-zy/" target="_self">Marcos A.T. Silva</a>

Marcos A.T. Silva

Apaixonado por tecnologia desde tenra idade, trabalha com TI há mais de 20 anos. Tem no rock and roll (em suas mais variadas vertentes) uma válvula de escape, e adora escrever guias e tutoriais, além de ser um grande entusiasta do Linux e do software livre.

0 comentários

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Pin It on Pinterest

Share This

Compartilhe

Compartilhe este post com seus amigos!