Snaps. Por quê? Por favor, parem
Usuários Linux avaliam os trade-offs entre os pacotes Snap da Canonical e formatos tradicionais gerenciados pela distro, como .deb, Flatpak, AppImage e Docker. Críticos do Snap apontam grande uso de disco, problemas de desempenho, infraestrutura opaca e centralizada, e a tendência do Ubuntu de substituir pacotes nativos (por exemplo, Firefox, Chromium) por snaps, enquanto defensores argumentam que bundles autocontidos e com atualização automática reduzem o inferno de dependências e transferem a manutenção para os desenvolvedores upstream. A tensão mais ampla é sobre quem deve controlar o empacotamento e as atualizações — as distribuições ou os fornecedores de aplicativos — e como equilibrar segurança, conveniência, abertura e limitações de recursos do sistema.
Idade e contexto da discussão
- A thread se concentra em por que os Snaps existem e se são uma boa ideia, com muitas comparações a Flatpak, AppImage, Docker e ao empacotamento tradicional das distros.
- Vários comentários observam que a postagem original do fórum é de 2019–2021, mas os problemas ainda são vistos como relevantes.
Espaço em disco, armazenamento e desempenho
- A principal preocupação: os Snaps consomem muito espaço em disco devido ao empacotamento de dependências e à retenção de várias versões por pacote.
- Exemplos: snaps base core e GNOME replicados em várias versões; apps pequenas inchando para centenas de MB ou mais.
- Isso é visto como especialmente problemático em laptops baratos com armazenamento pequeno, muitas vezes não atualizável.
- Alguns relatam o snapd causando carga alta constante de CPU e logs grandes.
Debate sobre atualizabilidade do hardware
- Um lado afirma que “muitos laptops” agora têm armazenamento soldado ou eMMC, tornando o espaço algo precioso.
- Outros argumentam que isso ainda é uma minoria e que a maioria dos laptops usa SSDs facilmente substituíveis.
- A extensão do uso de eMMC em laptops de consumo é contestada e permanece essencialmente “incerta”.
Modelos de empacotamento e carga para o desenvolvedor
- Há um argumento forte de que o empacotamento tradicional das distros não escala: esperar que fornecedores publiquem .deb/.rpm para cada distro é irrealista.
- Outros contrapõem que ferramentas (por exemplo, Open Build Service) e sistemas de build padrão já tornam o empacotamento para múltiplas distros manejável.
- Alguns argumentam que o empacotamento deve continuar sendo responsabilidade da distro; outros dizem que ele deve ser transferido para os desenvolvedores upstream.
Vantagens percebidas dos Snaps
- Empacotamento entre distros e distribuição mais fácil de software comercial e de terceiros.
- Atualizações automáticas e sandboxing restrito são vistos como grandes vantagens para servidores e alguns serviços auto-hospedados (por exemplo, Nextcloud).
- Alguns consideram os Snaps uma opção melhor para “apps modernas” com muitas dependências, evitando conflitos de bibliotecas.
Principais críticas aos Snaps
- Uso forçado no Ubuntu (por exemplo, Firefox/Chromium via Snap mesmo quando instalados com apt).
- Backend de código fechado, store da Canonical codificada, e percepção de centralização/controle de acesso.
- Grande uso de disco, inicialização lenta, várias versões retidas e poluição de mount com muitos dispositivos loop.
- Problemas de integração/sandbox: dificuldades com DNS de VPN, cartões inteligentes/YubiKey, CUPS e outros recursos do sistema.
- Alguns veem o Snap como “tecnologia Canonical inacabada” e uma tentativa de copiar a economia de mobile/app store.
Flatpak, AppImage, Docker, Nix etc.
- Flatpak é preferido por alguns para apps GUI; ainda há relatos de problemas de permissões, temas e inchaço de runtimes, embora esteja melhorando.
- AppImage é elogiado pela simplicidade, mas a falta de atualizações automáticas é ao mesmo tempo uma desvantagem e um recurso, dependendo do fluxo de trabalho.
- Docker/Podman são frequentemente usados em vez disso para workloads “bleeding edge” ou de servidor.
- Nix/Guix e distros imutáveis são mencionados como alternativas mais principistas para controle de dependências.
Gerenciadores tradicionais de pacotes e estabilidade
- Vários usuários antigos de Debian/Ubuntu dizem que o inferno das dependências é, em grande parte, um problema resolvido se você ficar nos repositórios oficiais ou usar pinning adequado.
- Outros insistem que o inferno das dependências ainda existe, especialmente com repositórios de terceiros e PPAs.
- Alguns migram para longe do Ubuntu (para Debian, Arch, Mint, Pop!_OS) principalmente para evitar Snaps e as ferramentas extras/anúncios do Ubuntu.
- Tensão contínua: desejo por pacotes estáveis e integrados à distro vs. uma mentalidade de “corrigir para frente” e atualizações automáticas rápidas.