Flatpak: usar ou não usar?

Este pequeno artigo apresenta de forma introdutória o sistema de pacotes Flatpak, destacando algumas de suas vantagens e um pouco sobre o preconceito que alguns usuários têm contra o ele. Também inclui comandos básicos para lidar com pacotes neste formato.

[ Hits: 2.101 ]

Por: Xerxes em 19/06/2024


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:
Linux: Flatpak: usar ou não usar?
"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.
Linux: Flatpak: usar ou não usar?
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:
Linux: Flatpak: usar ou não usar?
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.
   

Páginas do artigo
   1. Introdução
Outros artigos deste autor

Melhorando a experiência com Cinnamon no LMDE

Jogos de computador: a que ponto chegaram

O que há de novo no Linux Mint 12?

Crise de distro!

Estratégia para Shadow Era (Supernova Boring)

Leitura recomendada

O Projeto GNU e o Linux: Uma combinação de sucesso

X Window, Controladores de Janelas e Ambientes Desktop

Porque o XFCE é tão bom

Linux para máquinas antigas - Que distribuição escolher?

Ubuntu ou Debian com KDE Plasma

  
Comentários
[1] Comentário enviado por danniel-lara em 20/06/2024 - 08:53h

Uma boa distro para usar os flatpak é o Fedora Atomic ( silverblue, kinoite , budgie, sway)

[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.

[3] Comentário enviado por xerxeslins em 20/06/2024 - 13:48h


[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.

[4] Comentário enviado por ricardogroetaers em 21/06/2024 - 00:48h

Em LM 22 Flatpaks não verificados serão desabilitados por padrão, mas podem ser habilitados pelo usuário.
Ver: https://blog.linuxmint.com/?p=4719

Qunto ao tamanho, os pacotes flatpaks não são significativamente maiores que os pacotes tradicionais, são "brutalmente" maiores. Um pacote tradicional de uns 10 a 20 MB, pode, em versão flatpak, chegar a GB de tamanho, supondo confiável a informação existente no Gerenciador de Programas do LM, é claro.

[5] Comentário enviado por xerxeslins em 21/06/2024 - 06:39h


[4] Comentário enviado por ricardogroetaers em 21/06/2024 - 00:48h

Em LM 22 Flatpaks não verificados serão desabilitados por padrão, mas podem ser habilitados pelo usuário.
Ver: https://blog.linuxmint.com/?p=4719

Qunto ao tamanho, os pacotes flatpaks não são significativamente maiores que os pacotes tradicionais, são "brutalmente" maiores. Um pacote tradicional de uns 10 a 20 MB, pode, em versão flatpak, chegar a GB de tamanho, supondo confiável a informação existente no Gerenciador de Programas do LM, é claro.



São mesmo maiores, por contarem com todas as dependências. Mas se uma "runtime" necessária para um aplicativo também serve para outro, ela não será baixada de novo.

Aqui, quando dou um:

$ flatpak list --columns=size,name|sort -g

Vejo que o que mais ocupa são as runtime, por exemplo:

917,2 MB GNOME Application Platform version 46

Mas não será baixado de novo para outro app que use a mesma runtime.

Os apps em si não chegam a ocupar muito:

20,5 MB ffmpeg-full
20,6 MB Microsoft Corporation
21,2 MB Google
41,1 MB Doom Runner
45,5 MB Valve Corporation
49,5 MB ZDoom team
88,2 MB Komikku
90,5 MB Digitalizador de documentos
134,4 MB Ryujinx team

Também há a questão da disponibilidade. Por exemplo, não existe até agora o app "komikku" nos repositórios do Mint, mas há em Flatpak. O mesmo para Doom runner e Ryujinx.

Então é uma forma alternativa de obter apps que não estão nos repositórios oficiais.

[6] Comentário enviado por clodoaldops em 21/06/2024 - 08:51h

"No LM 22 os Flatpaks não verificados serão desabilitados por padrão, mas podem ser habilitados pelo usuário."

-isso mostra a transparência e preocupação do LM, que ao mesmo tempo não "tira a liberdade e responsabilidade" do usuário.



[7] Comentário enviado por maurixnovatrento em 20/07/2024 - 15:14h

Eu já usei flatpak e me ocorreu que eu acabei com runtimes repetidas. A mesma runtime foi baixada três vezes com versões diferentes.
Isso é algo que eu pensei que eles deveriam resolver de alguma forma e eu conto como desvantagem.
______________________________________________________________________
Inscreva-se no meu Canal: https://www.youtube.com/@LinuxDicasPro
Repositório GitHub do Canal: https://github.com/LinuxDicasPro
Grupo do Telegram: https://t.me/LinuxDicasPro
Meu GitHub Pessoal: https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts