Introdução
Flatpak é uma forma de distribuir software de forma facilitada, tanto na instalação quanto na atualização e funciona em diversas distribuições
Linux.
Desenvolvido por Alexander Larsson e apoiado por uma comunidade de desenvolvedores e usuários, o grande diferencial do Flatpak é criar um ecossistema de aplicativos universal e independente das bibliotecas específicas de cada distribuição Linux.
Sobre Alexandre Larsson:
"Diretor Engenheiro de software sênior. Alexander trabalha na Red Hat desde 2001, fazendo trabalho de desenvolvimento em desktops e contêineres, incluindo a criação de flatpak e muito trabalho fundamental no Gnome."
Vantagens do Uso de Flatpaks
Compatibilidade Universal: Flatpak permite que aplicativos sejam instalados em qualquer distribuição Linux, eliminando a necessidade de pacotes específicos para Ubuntu, Fedora, Arch Linux, etc. Isso simplifica a vida dos desenvolvedores e dos usuários finais, garantindo que um único pacote funcione em múltiplos sistemas.
Se sua distribuição não vem com suporte a Flatpak "de fábrica", pode instalar a partir das instruções em:
Algumas distribuições vêm com Flatpak "de fábrica". Por exemplo, na loja de aplicativos do Linux Mint o usuário pode escolher instalar pacotes Flatpak ou tradicional, caso esse esteja disponível.
Isolamento de Aplicativos: aplicativos Flatpak são executados em um ambiente isolado (sandbox), melhorando a segurança e a estabilidade do sistema. Se um aplicativo falhar ou for comprometido, o impacto no restante do sistema será minimizado.
Atualizações Simplificadas: Flatpak facilita o processo de atualização, permitindo que os desenvolvedores enviem as versões mais recentes de seus aplicativos diretamente para os usuários. Isso garante que os usuários tenham acesso às últimas funcionalidades e correções de segurança rapidamente.
Dependências Incluídas: com Flatpak, todas as dependências necessárias para um aplicativo são incluídas no pacote. Isso elimina problemas comuns relacionados a dependências ausentes ou incompatíveis que frequentemente ocorrem com os pacotes tradicionais das distribuições.
Consistência: Flatpak fornece uma experiência de usuário consistente independente de distribuições, o que é particularmente benéfico para desenvolvedores de software.
Facilidade de Uso: instalar aplicativos via Flatpak é simples e direto, muitas vezes requerendo apenas um único comando ou clique, sem necessidade de lidar com dependências complexas.
Preconceitos e Críticas ao Flatpak
Apesar das muitas vantagens, Flatpak enfrenta preconceitos e críticas de alguns usuários e administradores de sistemas. As críticas mais comuns incluem:
Tamanho dos Pacotes: Como Flatpaks incluem todas as dependências, os pacotes podem ser significativamente maiores do que os equivalentes tradicionais. Isso pode ser um problema para usuários com espaço de armazenamento limitado.
No entanto, os pacotes Flatpak compartilham bibliotecas através do uso de runtimes, ajudando a economizar espaço em disco e melhorar a eficiência.
Runtimes são conjuntos de bibliotecas e outras dependências necessárias que podem ser usadas por vários aplicativos Flatpak. Em vez de cada aplicativo incluir todas as suas dependências, muitas dessas dependências comuns são agrupadas em runtimes. Quando múltiplos aplicativos utilizam o mesmo runtime, este precisa ser baixado e armazenado apenas uma vez, economizando espaço em disco.
Por exemplo, o
GNOME Runtime inclui as bibliotecas e dependências específicas para vários aplicativos que usam o ambiente de desktop GNOME.
Mais informações em:
Confiança em Repositórios Centralizados: alguns usuários preferem os repositórios de suas distribuições por razões de confiança e controle, enquanto Flatpak centraliza os aplicativos no repositório
Flathub.
Comandos Básicos do Flatpak
Para listar todos os aplicativos e runtimes instalados no seu sistema, use:
flatpak list
Listar apenas os aplicativos instalados, sem runtimes:
flatpak list --app
Para instalar um aplicativo do repositório Flathub (ou outro repositório configurado), use:
flatpak install flathub com.exemplo.App
Aplicativos podem ser pesquisados em:
Para executar um aplicativo instalado, use:
flatpak run com.exemplo.App
Ou use o menu de aplicativos do seu sistema.
Para atualizar todos os aplicativos e runtimes instalados no seu sistema, use:
flatpak update
Para desinstalar um aplicativo, use:
flatpak uninstall com.exemplo.App
Para adicionar um novo repositório Flatpak, como o Flathub, use:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Para listar todos os repositórios Flatpak configurados no seu sistema, use:
flatpak remotes
Para obter informações detalhadas sobre um aplicativo ou runtime específico, use:
flatpak info com.exemplo.App
Comando para buscar aplicativos no Flathub diretamente pelo terminal utilizando o Flatpak:
flatpak search [termo-de-busca]
Mais informações em:
Conclusão
Obviamente que cabe a cada usuário decidir se vai ou não usar Flatpak, mas que a decisão seja tomada sem preconceitos. Em minha visão, de usuário comum, o Flatpak representa uma evolução significativa para Linux, proporcionando compatibilidade universal, maior segurança e atualizações simplificadas. Embora enfrente críticas, suas vantagens superam frequentemente as desvantagens, especialmente para aqueles que buscam uma experiência consistente, mais atualizada, segura e em múltiplas distribuições. Sem falar que a adoção de Flatpak pode simplificar a vida tanto de desenvolvedores quanto de usuários, impulsionando a diversidade e a inovação no ecossistema Linux.
1. Introdução
[2] Comentário enviado por clodoaldops em 20/06/2024 - 12:11h
LinuxMInt-22 esconderá flatpaks não verificados na loja de aplicativos, que são a grande maioria.
Esse assunto é realmente interessante e pode se tornar polêmico.
Por um lado, acredito que o Linux Mint está correto em tomar a decisão de restringir Flatpaks não verificados. Deve-se sempre considerar o usuário leigo, que é mais vulnerável.
Por outro lado, dependendo de como essa restrição será implementada no Linux Mint 22, isso pode induzir ao seguinte erro: incutir a ideia de que "Flatpak não verificado" é o mesmo que "Flatpak malicioso", o que causaria grande confusão.
"Não verificado" significa apenas "mantido por voluntários" (não pelo criador do programa), assim como muitos pacotes DEB ou RPM que existem.
Por exemplo: a Valve só disponibiliza Steam em formato DEB. Mas como é possível instalar via RPM no Fedora? Do mesmo jeito que um Flatpak não verificado: alguém, que não é o criador, empacota em RPM e coloca nos servidores.
Outro exemplo, "DSDA DOOM" é um port para o jogo DOOM. O criador NÃO disponibiliza uma versão DEB dele. Então, como ele está nos repositórios do Debian no formato DEB? Algum voluntário empacota em formato DEB. Esse DEB não foi feito pelo criador do programa, assim como muitos Flatpaks não foram.
O caso se torna mais interessante em distros LTS ou no Debian estável, onde os pacotes costumam permanecer em versões mais antigas. Flatpak seria uma maneira de obter as versões mais novas, caso o usuário deseje.
Então, no fim, a escolha é muito particular. Tenho certeza de que no Linux Mint 22 vou desabilitar essa restrição de Flatpaks não verificados. Mas usuários que não se importam com isso poderão continuar com os pacotes tradicionais.