Conteúdos

Flatpak: aplicativos isolados para uma instalação Linux mais simples

Durante muito tempo, instalar um programa no Linux significava procurar o pacote correto para a distribuição, resolver dependências e acompanhar o que seria alterado no sistema. Na maioria das vezes isso funciona bem, mas algumas instalações acabam envolvendo muitos pacotes e podem deixar conflitos difíceis de entender.

Hoje prefiro manter uma instalação Linux mais reduzida e simplificada. Quando preciso de um aplicativo, uma das primeiras opções que considero é instalá-lo por Flatpak. A ferramenta não resolve todos os problemas de software, mas torna a instalação de muitos aplicativos mais previsível e diminui a quantidade de componentes que preciso adicionar diretamente à base da distribuição.

O que é o Flatpak

O Flatpak é um formato e um sistema de distribuição de aplicativos para Linux. Em vez de depender exclusivamente dos pacotes específicos da distribuição, o aplicativo é distribuído junto com o ambiente necessário para funcionar, chamado de runtime.

Na prática, isso cria uma separação maior entre o aplicativo e o sistema base. O programa não precisa instalar cada biblioteca diretamente no conjunto de pacotes da distribuição, e diferentes aplicativos podem compartilhar um runtime compatível.

Essa abordagem é especialmente interessante para aplicativos gráficos, que às vezes precisam de versões específicas de bibliotecas ou de componentes que não combinam perfeitamente com o estado atual do sistema.

Instalando um aplicativo

Depois de instalar o Flatpak e adicionar um repositório confiável, como o Flathub, posso instalar um aplicativo com um comando simples:

flatpak install flathub org.gnome.Calculator

O identificador completo permite localizar o aplicativo sem depender apenas do nome mostrado na interface. Para consultar o que já está instalado, uso:

flatpak list

Também posso procurar aplicativos disponíveis no repositório:

flatpak search editor

O processo é parecido entre distribuições diferentes. Isso reduz a necessidade de memorizar uma sequência específica de comandos para cada gerenciador de pacotes.

Menos dependências espalhadas pelo sistema

Uma das coisas que mais valorizo é não precisar ficar instalando diversos pacotes da distribuição para cada aplicativo que quero experimentar. O Flatpak mantém as dependências do aplicativo em runtimes próprios e evita que cada instalação altere profundamente o conjunto de bibliotecas do sistema.

Isso não significa que o aplicativo não tenha dependências. Elas continuam existindo, mas são organizadas pelo Flatpak e podem ser compartilhadas por vários programas. Quando removo um aplicativo, também posso identificar runtimes que ficaram sem uso:

flatpak uninstall --unused

O resultado é uma separação mais clara entre o que pertence ao sistema operacional e o que foi instalado para executar aplicativos específicos.

Reduzindo o risco de pacotes quebrados

Misturar repositórios de terceiros, instalar versões diferentes de uma mesma biblioteca ou forçar dependências pode causar problemas em uma distribuição Linux. Um aplicativo pode funcionar depois da instalação, mas deixar o gerenciador de pacotes em um estado difícil de atualizar.

O Flatpak ajuda a reduzir esse tipo de conflito porque não coloca todas as bibliotecas do aplicativo diretamente no sistema base. Se um aplicativo usa uma versão diferente de determinada biblioteca, essa dependência tende a ficar dentro do ambiente do Flatpak, sem substituir automaticamente a versão usada por outros componentes do sistema.

Ainda assim, não considero o Flatpak uma garantia contra qualquer problema. Runtimes também precisam ser atualizados, permissões podem estar configuradas de forma inadequada e um aplicativo pode ter falhas próprias. A diferença é que o impacto costuma ficar mais concentrado no aplicativo e no seu ambiente.

Segurança e isolamento

Outro motivo para usar Flatpak é o isolamento. Aplicativos podem ser executados em uma sandbox com acesso limitado ao sistema, aos arquivos pessoais, aos dispositivos e à rede. A comunicação com recursos do desktop costuma passar por portais, que permitem ao aplicativo pedir acesso de uma maneira controlada.

Para visualizar as permissões de um aplicativo, posso usar:

flatpak info --show-permissions org.gnome.Calculator

Também é possível consultar as permissões de todos os aplicativos instalados:

flatpak permissions

Esse modelo não transforma automaticamente qualquer aplicativo em seguro. Um programa com acesso à pasta pessoal ou à rede ainda possui capacidades importantes. Por isso, observo a origem do aplicativo, leio as permissões e evito conceder acesso amplo sem necessidade.

A sandbox deve ser entendida como uma camada de redução de impacto, não como uma substituição para atualizações, cuidado com as fontes e análise do software instalado.

Atualizações centralizadas

Outra praticidade está em atualizar os aplicativos Flatpak sem misturar o processo com todas as atualizações da distribuição:

flatpak update

Posso conferir as versões instaladas, atualizar os runtimes e remover componentes que não são mais usados. Esse fluxo deixa mais evidente o que está sendo atualizado como aplicativo e o que faz parte do sistema operacional.

Para mim, essa separação facilita a manutenção. Se estou testando uma ferramenta nova, não preciso alterar vários pacotes fundamentais da distribuição apenas para descobrir se o programa atende ao que preciso.

A instalação base mais enxuta

Minha preferência atual é manter a distribuição com apenas o necessário para o sistema funcionar bem: kernel, drivers, ferramentas básicas, shell e os componentes do desktop que realmente utilizo. Os aplicativos adicionais podem ser instalados conforme a necessidade, preferencialmente sem aumentar demais a complexidade da base.

O Flatpak combina com essa forma de organizar o computador. Posso instalar um editor, um cliente de comunicação ou uma ferramenta gráfica sem transformar cada aplicativo em uma nova coleção de dependências do sistema.

Também fica mais fácil reinstalar a mesma seleção de aplicativos em outra máquina. Os dados do usuário e as configurações continuam sendo responsabilidade do aplicativo e do ambiente, mas a instalação dos programas pode ser repetida com os mesmos identificadores.

O que continua sendo melhor instalado pela distribuição

Não uso Flatpak para tudo. Componentes fundamentais do sistema, drivers, bibliotecas usadas por serviços, ferramentas de linha de comando e programas que precisam de integração profunda continuam fazendo mais sentido nos repositórios da distribuição.

Também considero o tamanho dos runtimes e a integração com o ambiente. Alguns aplicativos podem iniciar mais lentamente, ocupar mais espaço ou apresentar limitações específicas de temas, fontes e acesso a arquivos.

Essa não precisa ser uma escolha exclusiva. Posso usar pacotes nativos para a base do sistema, Flatpak para aplicativos gráficos e outras ferramentas quando houver uma necessidade real. O importante é saber por que cada programa está sendo instalado de determinada forma.

Minha conclusão

O Flatpak tornou mais simples a maneira como instalo aplicativos no Linux. Ele reduz a necessidade de espalhar dependências pela distribuição, ajuda a evitar conflitos entre bibliotecas e oferece uma camada de isolamento que permite analisar melhor os acessos de cada programa.

Por isso, hoje prefiro uma instalação Linux mais enxuta e quando preciso de um aplicativo, procuro primeiro uma versão Flatpak adequada. A ferramenta não elimina a necessidade de cuidar da segurança ou de entender o sistema, mas simplifica bastante a manutenção e reduz a chance de uma instalação pontual comprometer o restante do ambiente.