O que você precisa saber sobre os snaps no Ubuntu 20.04

Ubuntu 20.04 Focal Fossa é um lançamento fantástico que tem sido amplamente elogiado. No entanto, a decisão de alterar o Centro de Software para instalar aplicativos baseados em snap é controversa. Explicaremos o que isso significa para você.

O que é um pacote Snap no Linux?

“Snap” refere-se ao comando snap e a um arquivo de instalação instantânea. Um snap agrupa um aplicativo e todos os seus dependentes em um arquivo compactado. Os dependentes podem ser arquivos de biblioteca, servidores da web ou de banco de dados ou qualquer outra coisa que um aplicativo deve ter para iniciar e executar.

A vantagem dos encaixes é que eles tornam as instalações mais simples porque evitam a dor de cabeça de inferno de dependência. Isso é o que ocorre quando um novo aplicativo não pode ser executado porque um recurso necessário não está disponível, é a versão errada ou sua instalação substitui os arquivos exigidos pelos aplicativos existentes para que eles não possam ser executados.

Você pode esperar que um snap seja descompactado e os arquivos extraídos no momento da instalação. No entanto, é em tempo de execução que o arquivo snap é montado em um dispositivo de loop de bloco. Isso permite que o arquivo interno Sistema de arquivos SquashFS para ser acessado.

O aplicativo é executado de forma encapsulada e protegida por anel, para que seus arquivos não interfiram com os do seu computador. Você pode até instalar várias versões do mesmo aplicativo, e eles não farão polinização cruzada ou brigarão entre si.

A desvantagem é que os arquivos de instalação são maiores do que os tradicionais Gerenciador de pacotes Debian (DEB) arquivos. Eles também usam mais espaço no disco rígido. Com os encaixes, cada aplicativo que precisa de um recurso específico instala sua própria cópia. Este não é o uso mais eficiente do espaço do disco rígido. Embora os discos rígidos estejam ficando maiores e mais baratos, os tradicionalistas ainda resistem à extravagância de cada aplicativo rodando em seu próprio minicontêiner. A inicialização de aplicativos também é mais lenta.

Snaps também foram criticados por não seguir o tema do desktop e suas atualizações automáticas. Algumas pessoas também ficam desconfiadas porque os encaixes não são necessariamente feitos pelos autores do software. Portanto, eles não os consideram 100 por cento “oficiais”.

Então, com o Focal Fossa, a Canonical substituiu o aplicativo Ubuntu Software por uma versão que instala snaps por padrão. O que isso significa para você?

O Ubuntu Software Center

Podemos usar o comando df para listar os sistemas de arquivos SquashFS montados em seu computador. Usaremos a opção -t (tipo) para restringir a saída para os sistemas de arquivos estamos interessados ​​em:

df -t squashfs

Em seguida, usamos o comando snap list para listar os encaixes que estão instalados:

snap list

Existem dois snaps relacionados à área de trabalho GNOME, dois relacionados à funcionalidade de snap principal, um para temas GTK e um para o armazenamento de snap. Obviamente, o aplicativo de armazenamento instantâneo também é muito fácil.

O problema é o seguinte: se você executar o comando snap-store em uma janela de terminal, o aplicativo iniciado será o Software Ubuntu.

Claro, você geralmente executa o aplicativo Ubuntu Software clicando em seu ícone. Estamos lançando a partir da linha de comando para demonstrar que, por baixo da superfície, agora é o aplicativo de armazenamento instantâneo:

snap-store

O aplicativo Ubuntu Software tem a aparência que você espera. Você pode pesquisar todos os mesmos softwares que podia anteriormente.

Vamos procurar e instalar o aplicativo “sqlitebrowser”. A tela de resultados mostra os detalhes do aplicativo e uma captura de tela. Selecione “Instalar” para instalar o software.

Se você não soubesse, não suspeitaria das mudanças sob o capô. Role para baixo e você verá algumas informações novas e específicas do snap.

A lista “Detalhes” fornece as seguintes informações:

Canal: o canal de onde a instalação puxará o aplicativo.
Versão: a versão do software.
Licença: o tipo de licença.
Desenvolvedor: a pessoa que criou o snap ou as pessoas que escreveram o aplicativo.
Fonte: a fonte da qual o snap será baixado (snapcraft.io é a loja instantânea Snapcraft da Canonical).
Tamanho do download: o tamanho do arquivo instantâneo.

O canal pode ser um dos seguintes:

Estável: O padrão, que contém os pacotes mais estáveis ​​e confiáveis.
Candidato: Este canal é menos estável, mas muito próximo a ele porque contém software de nível de candidato a lançamento.
Beta: este canal tem qualidade de ciclo de desenvolvimento tardio, mas não é garantido que seja estável.
Edge: Para os primeiros testadores de build e os curiosos. Você não deve usar este canal para nada de importante.

Após a conclusão da instalação, podemos verificar a lista de snaps instalados novamente:

snap list

A nova entrada é listada na parte inferior. Vamos lançar o programa:

sqlitebrowser

Tudo no aplicativo funciona bem, embora a interface pareça desatualizada. Os elementos esculpidos da interface pseudo-3D irão lembrá-lo do GUIs do passado. Isso não é comum em todos os encaixes, mas é impressionante neste exemplo.

Instalação a partir da linha de comando

Nada mudou ao instalar aplicativos a partir da linha de comando. Você ainda tem acesso à ferramenta de linha de comando snap, para que possa instalar e desinstalar os snaps em uma janela de terminal. O comando de instalação apt-get e o apt, o wrapper apt-get, também estão lá.

Vamos instalar o mesmo aplicativo a partir da linha de comando. Como a versão que instalamos acima é instantânea, eles não afetarão um ao outro de forma alguma:

sudo apt-get install sqlitebrowser

Deixe a instalação terminar. Pressione a tecla Super e digite “sqlitebrowser”. Depois de digitar alguns caracteres, você verá duas versões do programa em seu computador.

Demita os dois.

Como você pode ver, temos duas versões diferentes instaladas e funcionando ao mesmo tempo.

A versão na parte de trás da imagem é a que instalamos a partir da linha de comando, e a versão na frente é a que está no snap:

A versão apt-get é a versão 3.11.2.
A versão instantânea é 3.11.99.

Apesar das aparências, a versão da linha de comando é a mais antiga. Independentemente disso, é evidente que as duas versões coexistem e funcionam juntas perfeitamente. Portanto, os encaixes fazem o que deveriam com o ring-fencing de diferentes versões do mesmo aplicativo.

Além disso, instalar aplicativos a partir da linha de comando com apt ou apt-get é o mesmo de sempre e não é afetado por snaps.

Qual você deve usar?

Você se importa minimamente com o tipo de aplicativo que está usando? Se não, vá com pressões.

Se algum dos itens a seguir for um obstáculo (ou vários deles somarem um), evite o aplicativo Ubuntu Software e instale seus aplicativos da maneira tradicional:

Os encaixes são mais lentos para carregar. Isso será mais perceptível em hardware antigo.
Os instantâneos ocupam mais espaço no disco rígido.
Os instantâneos são atualizados automaticamente.
Os instantâneos podem não corresponder aos seus temas instalados.
Os instantâneos nem sempre são “oficiais”. Freqüentemente, são construídos por voluntários bem-intencionados.

Se o seu computador for razoavelmente moderno, a diferença de velocidade entre iniciar um snap ou um aplicativo normal não será enorme. A maior penalidade de tempo que notamos foi durante a instalação. Os instantâneos demoraram muito mais para baixar. Depois que os arquivos foram baixados, a instalação foi rápida o suficiente. Baixar é uma tarefa única, porém, não é algo com que você terá que lidar diariamente.

Mesmo se você achar que os encaixes são o futuro e está pronto para abraçá-los de todo o coração, não pode ir all-in com eles. Alguns aplicativos não estão disponíveis em forma instantânea. Nesses casos, você ainda terá que instalá-los a partir da linha de comando.

Claramente, a Canonical está pregando suas cores no mastro com este movimento. No que diz respeito aos desenvolvedores do Ubuntu, os instantâneos vieram para ficar. Como sempre, você pode usá-los, ignorá-los ou ter um sistema híbrido que mistura e combina os encaixes e as instalações tradicionais baseadas em DEB.