Toolbx

Toolbx não é um erro de digitação, veja a página do projeto em https://containertoolbx.org.

Os desktops Fedora Atomic são uma excelente plataforma para desenvolvimento baseado em contêineres e, para trabalhar com contêineres, buildah e podman são recomendados.

O Fedora Atomic Desktops também vem com o utilitário toolbx, que usa contêineres para fornecer um ambiente onde ferramentas e bibliotecas de desenvolvimento podem ser instaladas e usadas.

Por que usar o toolbx?

O Toolbx facilita o uso de um ambiente conteinerizado para o desenvolvimento e depuração de software do dia a dia. Em sistemas operacionais que utilizam sistemas de arquivos raiz somente leitura, como o Fedora Atomic Desktops (https://fedoraproject.org/atomic-desktops), ele fornece um ambiente familiar baseado em pacotes, no qual ferramentas e bibliotecas podem ser instaladas e utilizadas. No entanto, o Toolbx também pode ser usado em sistemas baseados em pacotes.

Utilizar o Toolbx para executar seus fluxos de trabalho em um ambiente conteinerizado oferece diversas vantagens:

  • Isso mantém o sistema operacional do host limpo e estável, e ajuda a evitar a desordem que pode ocorrer após a instalação de muitas ferramentas e pacotes de desenvolvimento.

  • Você terá acesso a diferentes versões de distribuições suportadas, independentemente da versão que estiver executando.

  • Os contêineres são uma boa maneira de isolar e organizar as dependências necessárias para diferentes projetos.

  • Os recipientes são um espaço seguro para experimentar: se algo der errado, é fácil descartar as ferramentas e começar de novo.

However, it is very important to note that toolbx containers are still integrated with your host system, so you should not attempt to do things or run software you otherwise wouldn’t on your host system. Toolbx containers are not completely isolated environments like virtual machines.

Como funciona

O Toolbx simplifica o uso de contêineres, fornecendo um pequeno número de comandos simples para criar, acessar, listar e remover contêineres. Ele também integra os contêineres do Toolbx ao seu ambiente de trabalho habitual, facilitando o uso como um espaço de desenvolvimento diário.

Os contêineres são criados a partir de imagens, que geralmente são versões muito simplificadas das distribuições. Nessas imagens, quase não há ferramentas nem documentação disponíveis. A equipe por trás do Toolbx mantém uma imagem do Fedora onde essas ferramentas e documentação estão disponíveis, proporcionando uma ótima experiência imediata.

Cada contêiner toolbx é um ambiente ao qual você pode acessar pela linha de comando. Dentro de cada um, você encontrará:

  • Seu nome de usuário e permissões atuais.

  • Acesso ao seu diretório pessoal e a vários outros locais.

  • Acesso ao D-Bus do sistema e da sessão, ao diário do sistema e ao Kerberos.

  • Ferramentas comuns de linha de comando, incluindo um gerenciador de pacotes (por exemplo, DNF no Fedora).

Em outras palavras, os contêineres toolbx têm a aparência, a sensação e o comportamento de um ambiente de linha de comando Linux padrão. Ao conectar todas essas informações, os contêineres toolbx perdem parte da segurança obtida com o uso da tecnologia de contêineres. Portanto, você não deve tratar os contêineres toolbx como uma sandbox onde pode executar qualquer script que jamais executaria em outro sistema.

Na maioria dos casos, quando um comando é executado dentro de um contêiner, o programa dentro do contêiner é utilizado. No entanto, existem alguns casos especiais em que o programa no host é usado (utilizando flatpak-spawn). Um exemplo disso é o próprio comando toolbox; isso possibilita o uso do toolbox dentro de contêineres do toolbox.

Instalação

Fedora Atomic Desktops

O Toolbx vem pré-instalado nos desktops Fedora Atomic.

Outras edições do Fedora

O Toolbx pode ser instalado em outras edições do Fedora (ou em qualquer versão do Fedora baseada em pacotes) com o seguinte comando:

$ sudo dnf instalar caixa de ferramentas

Sua primeira caixa de ferramentas

Após a instalação do toolbx, são necessários dois comandos simples para começar:

$ caixa de ferramentas criar

Isso fará o download de uma imagem OCI e criará um contêiner toolbx a partir dela. Após a conclusão, execute:

$ caixa de ferramentas entrar

Uma vez dentro da caixa de ferramentas, você pode acessar ferramentas comuns de linha de comando e instalar novas usando um gerenciador de pacotes (por exemplo, DNF no Fedora).

Quando o prompt está dentro de uma caixa de ferramentas, um losango é precedido por ele: isso indica que o prompt está dentro de um contêiner toolbx. O símbolo de losango pode não estar presente se você usar um tema de shell personalizado.

Comandos e utilização

criar caixa de ferramentas [opções] <nome>

Cria um contêiner toolbx. Isso fará o download de uma imagem OCI caso nenhuma esteja disponível (isso é necessário para criar o contêiner). Por padrão, é usada uma imagem que corresponde à versão do host. Se o sistema host não tiver uma imagem correspondente, uma imagem do Fedora será usada em seu lugar.

Usado sem opções, toolbox create nomeará automaticamente o contêiner que criar. Para criar caixas de ferramentas adicionais, use o argumento <nome>.

Para usar uma versão específica do sistema host (por exemplo, Fedora 43 no Fedora 44), use a opção --release <release> | -r <release>.

Para usar uma distribuição diferente para criar um contêiner toolbx (por exemplo, RHEL no Fedora), use a opção --distro <distro> | -d <distro>.

Para usar uma imagem diferente, use a opção --image <nome> | -i <nome>.

caixa de ferramentas inserir [opções] <nome>

Abre uma caixa de ferramentas para uso interativo. Usado sem opções, toolbox enter abre a caixa de ferramentas padrão.

Para acessar uma caixa de ferramentas com um nome específico, use o argumento name.

Para inserir uma caixa de ferramentas para uma distribuição diferente (por exemplo, Fedora no RHEL), use a opção --distro <distro> |-d <distro>.

Para inserir uma caixa de ferramentas com uma versão específica (por exemplo, RHEL 9.6 no RHEL 10.0), use a opção --release <versão> | -r <versão>.

executar caixa de ferramentas [opções] <cmd> <arg …​>

Executa um comando em uma caixa de ferramentas sem digitá-lo. Usado sem opções, toolbox run executa o comando na caixa de ferramentas padrão.

Para executar um comando em uma caixa de ferramentas com um nome específico, use a opção --container <nome> | -c <nome>.

Para executar um comando em uma caixa de ferramentas para uma distribuição diferente (por exemplo, Fedora no RHEL), use a opção --distro <distro> |-d <distro>.

Para executar um comando em uma caixa de ferramentas com uma versão específica (por exemplo, RHEL 9.6 no RHEL 10.0), use a opção --release <versão> | -r <versão>.

lista de ferramentas [opções]

Lista as imagens e contêineres locais do toolbx.

Para exibir apenas os contêineres, use a opção --containers | -c.

Para exibir apenas imagens, use a opção --images | -i.

toolbox rm [opções] <nome …​>

Remove um ou mais contêineres toolbx.

A opção --force | -f remove os contêineres marcados, mesmo que estejam em execução.

A opção --all | -a remove todos os contêineres toolbx.

caixa de ferramentas rmi [opções] <nome …​>

Remove uma ou mais imagens toolbx.

A opção --force | -f remove as imagens marcadas e todos os contêineres que foram criados usando essas imagens.

A opção --all | -a remove todas as imagens da caixa de ferramentas.

caixa de ferramentas --ajuda

Exibe a página do manual do Toolbx.

Saindo de uma caixa de ferramentas

Para retornar ao ambiente do host, execute exit ou saia do shell atual (normalmente Ctrl+D).

Sob o capô

A Toolbx utiliza as seguintes tecnologias:

Contato e problemas

Para relatar problemas, fazer sugestões ou contribuir com correções, consulte https://github.com/containers/toolbox [projeto do toolbx no GitHub].

Para entrar em contato com usuários e desenvolvedores do toolbx, use a tag Fedora Discussion ou participe da sala Toolbx Matrix em Toolbx Matrix Room.