technology

Distrobox: experimente qualquer distribuição Linux dentro do seu terminal

.

Você já pensou em experimentar RHEL exclusivo ou ferramentas de distribuição baseadas em Arch em seu sistema Ubuntu ou Debian (ou vice-versa)?

Distrobox está aqui para você; é um wrapper de código aberto para Podman ou Docker (dependendo de sua escolha) para fornecer a capacidade de instalar qualquer sistema Linux desejado em seu sistema host.

E use as ferramentas e os aplicativos do sistema em contêiner perfeitamente em seu sistema host, pois são os aplicativos nativos (você pode acessá-los literalmente no menu de pesquisa do sistema host).

Qual é a diferença entre Virtual Box vs Docker vs Distrobox?

Eu sabia que de vez em quando você faria essa pergunta. Deixe-me dar um exemplo de uma linha para mostrar a diferença entre cada um deles, começando com:

Caixa virtual é uma tecnologia de virtualização que exigirá separadamente os recursos de hardware do sistema, e você precisa entrar no ambiente virtual para acessar as ferramentas e aplicativos do sistema (em termos leigos, é completamente isolado).

Docker é uma tecnologia de conteinerização que consumirá diretamente os recursos do sistema, deixando menos trabalho para o sistema host. No entanto, não é possível acessar o aplicativo ou as ferramentas instaladas pelo Docker diretamente de seu sistema host.

Distrobox vem para preencher a lacuna deixada pelo Docker, fornecendo integração estreita entre seu host e contêineres, permitindo que você acesse diretamente aplicativos e ferramentas de contêiner de seu host como se fossem aplicativos nativos.

Interessante, quer saber mais sobre o Distrobox?

Como eu disse anteriormente, o Distrobox é uma maneira de fornecer aplicativos e ferramentas conteinerizadas (pode ser um sistema Arch ou RHEL) como um aplicativo nativo.

O contêiner criado será totalmente integrado ao seu sistema host, fornecendo acesso ao diretório $HOME do usuário, soquetes X11, rede, dispositivos removíveis (como pendrives USB), diário do systemd, agente SSH, D-Bus, ulimits, /dev e o banco de dados udev e muito mais.

Portanto, pode ser a melhor escolha para os desenvolvedores tentarem criar aplicativos para diferentes distribuições sem comutação ou inicialização dupla entre vários sistemas, incluindo acesso sem sudo.

Em termos leigos, você não precisa substituir suas distribuições de host apenas por causa de problemas de compatibilidade. Você pode ter as distribuições que quiser e usar o Distrobox para preencher a lacuna por ter compatibilidade com versões anteriores e futuras com o software.

Recursos do Distrobox

Você sabe muito sobre o Distrobox até agora; se você ainda quiser saber os recursos exatos, dê uma olhada abaixo.

  • Liberdade para acessar vários sistemas Linux sem afetar o sistema host.
  • Aproveite o software em contêiner sem problemas, sem acesso root.
  • Gerencie e alterne facilmente entre vários ambientes.
  • Você pode tentar uma variedade de distribuições.

Como instalar o Distrobox

Existem algumas coisas que você precisa configurar antes de instalar o Distrobox, como instalar o Podman ou o Docker. Se você tiver um sistema moderno, sugiro usar o Podman; caso contrário, o Docker é sempre a melhor escolha.

Além disso, você pode instalar facilmente o Distrobox empacotado nas seguintes distribuições:

  • Homebrew
  • ArchLinux (AUR)
  • EPEL 8 e posterior
  • Fedora 38 e posterior [Recommended]
  • Ubuntu 22.10 e posterior [22.10 have some issues while writing this article]

Se você estiver usando qualquer uma das distribuições acima na lista, poderá preferir a instalação do repositório. Confira também o distribuições mais recentes empacotadas com o Distrobox. Se o seu sistema não estiver na lista, ele poderá ser adicionado no futuro.

Agora execute o seguinte script para instalar o Distrobox se você for uma pessoa ousada.

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

O comando acima instalará o Distrobox com privilégios de superusuário [not recommended ]. Se você não tiver certeza e quiser instalá-lo sem sudo, execute o seguinte comando para selecionar um diretório personalizado (padrão: ~/.local) para instalar o Distrobox sem sudo.

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

Parabéns!!! Você o instalou com sucesso em seu sistema. Agora, vamos para a próxima seção.

Introdução ao Distrobox

Para facilitar as coisas para você, deixe-me fornecer a lista de comandos que você usará com o Distrobox.

Comandos Definições
distrobox create -n CONTAINER-NAME -i OS-NAME:VERSION Criar uma nova caixa de distribuição
distrobox enter CONTAINER-NAME Entre na caixa de distribuição criada
distrobox create -i ubuntu:20.04 Adicionar vários caixas de distribuição, por exemplo, Ubuntu 20.04
distrobox enter CONTAINER-NAME -- COMANDO PARA EXECUTAR Executar um comando em uma caixa de distribuição
distrobox upgrade --all Atualize todas as caixas de distribuição de uma vez
distrobox list Listar distroboxes em execução
distrobox stop CONTAINER-NAME Parar uma caixa de distribuição em execução
distrobox rm CONTAINER-NAME Remover uma caixa de distribuição

Você pode checar AQUI para uso mais avançadoe verifique um lista abrangente de dicas úteis AQUI.

Etapa 1: criando um contêiner a partir de uma imagem

Agora que você tem uma ideia sobre os comandos e sua utilização, vamos criar nosso primeiro container para o Fedora 36 com o nome “fedoraos“.

$ distrobox create --name fedoraos --image fedora:36

Se você estiver executando pela primeira vez, ele solicitará que você pressione “Y” para puxar a imagem.

Criando um contêiner do Fedora 36 usando o Distrobox

Etapa 2: listando todos os contêineres em execução

Depois que seu contêiner for baixado e executado, você poderá verificá-lo na lista de contêineres usando o seguinte comando:

$ distrobox list

Abaixo está a saída do comando acima.

Listando contêineres ativos no Distrobox
Listando contêineres ativos no Distrobox

Passo 3: Acessando o Distrobox Container

Como você pode ver na lista, existe o criado fedoraos recipiente. Então, execute o comando abaixo para entrar no container:

$ distrobox enter fedoraos

Quando você entra pela primeira vez em um container recém-criado, vai demorar um pouco para baixar os pacotes necessários, como mostra a figura a seguir.

Container Distrobox baixando os pacotes básicos
Container Distrobox baixando os pacotes básicos

Espere um pouco; uma vez que todos os pacotes tenham baixado e configurado, execute o comando anterior (distrobox enter fedoraos) para entrar no contêiner fedora, conforme mostrado abaixo.

Inserindo e verificando as informações do contêiner Distrobox
Inserindo e verificando as informações do contêiner Distrobox

Etapa 4: Instalando pacotes no contêiner Distrobox

Como você está dentro do contêiner do Fedora 36 Distrobox, talvez você queira instalar um pacote para verificar se o aplicativo será instalado nativamente ou não.

Para isso, instalaremos o aplicativo FlameShot em um contêiner Fedora 36 executando o seguinte comando dentro do shell do contêiner.

$ sudo dnf install flameshot

Aguarde alguns minutos e execute o seguinte comando:

$ distrobox-export --app flameshot

Abaixo está a saída do comando acima.

Exportando o aplicativo contêiner Distrobox para o sistema host
Exportando o aplicativo contêiner Distrobox para o sistema host

O comando acima torna seu aplicativo (ex: FlameShot) acessível diretamente de seu sistema host. Você pode encontrá-lo no menu de aplicativos do Ubuntu ou procurá-lo.

Procurando por Flameshot instalado no contêiner Fedora do sistema host
Procurando por Flameshot instalado em um contêiner Fedora do sistema host

Leia também: Guia para iniciantes do PS Command no Linux

Passo 5: Executando Comandos no Distrobox Container

Por enquanto, para instalar qualquer pacote ou realizar qualquer tarefa, você está entrando no container e executando o comando no shell do container.

No entanto, você também pode executar o comando para contêiner sem inserir um shell de contêiner usando a seguinte sintaxe:

$ distrobox-enter --name container-name  -- command

Como você pode ver acima, usamos o distrobox-enter comando com o --name tag, especificando o nome do contêiner e, em seguida, -- para especificar o comando que precisávamos executar dentro do contêiner.

Por exemplo, se você deseja atualizar seu sistema de container (ex: Fedora 36), basta executar o seguinte comando.

$ distrobox-enter --name fedoraos -- sudo dnf update

Abaixo está a saída do comando acima.

Executando comandos dentro do contêiner Distrobox a partir do terminal host
Executando comandos dentro do contêiner Distrobox a partir do terminal host

Gerenciando a imagem do Distrobox

Se você tiver terminado o contêiner e não precisar mais dele, poderá removê-lo facilmente usando alguns comandos. começando com a listagem do contêiner.

O primeiro passo antes de retirar o container é saber o seu nome. Execute o seguinte comando para listar todos os contêineres do Distrobox em execução no sistema host:

Listando o Contêiner Distrobox em execução
Listando o contêiner Distrobox em execução

Como estou executando um contêiner, você pode conferir na imagem acima. Em seguida, anote o nome do contêiner, que provavelmente será diferente no seu caso, dependendo do que você especificou ao criar o contêiner.

E, em seguida, pare seu contêiner em execução usando o distrobox stop comando com o nome do contêiner, conforme mostrado abaixo.

$ distrobox stop fedoraos

Por fim, exclua o contêiner parado usando o distrobox rm comando.

$ distrobox rm fedoraos

Há muito mais coisas que você pode aprender sobre o Distrobox, que certamente você encontrará em seu Página do Github .

Embrulhar

Distrobox é uma ferramenta incrível. Como você pode ver, você pode inicializar facilmente um novo contêiner e liberar facilmente o contêiner não utilizado com alguns comandos.

Existem muitas outras ferramentas incríveis por aí; se quer conhecê-los e não quer perder nenhum no futuro, subscreva a nossa newsletter.

.

Mostrar mais

Artigos relacionados

Deixe um comentário

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

Botão Voltar ao topo