O que é Snap no Linux? Aprenda a usar o formato em várias distribuições

por | 27/06/2022 | Configuração

Se você usa Linux há algum tempo, certamente pode constatar como várias distribuições foram ficando mais amigáveis ao longo dos anos. Hoje, vários formatos de empacotamento de software, como o Snap, por exemplo, deixam a vida do usuário muito mais tranquila.

Antes de tudo, porém, é importante também citar outros formatos muito usados atualmente, como o AppImage e o flatpak (temos inclusive um guia sobre flatpaks).

O Snap, por sua vez, é um formato criado pela Canonical (empresa por trás da famosa distro Ubuntu). Trata-se de uma tecnologia que, assim como o flatpak, facilita a instalação de programas no S.O.

Através deste guia, você poderá entender de uma vez por todas o que é Snap e também aprender a utilizar o formato em várias distros Linux, de forma muito fácil.

Este artigo, aliás, complementa nosso guia a respeito de flatpaks (link acima). Também publicarei ao longo dos próximos dias um guia a respeito do formato AppImage, bem como material relacionado a outros tipos de pacotes no Linux. Fique de olho!

O que é Snap?

Snap, em suma, é um formato de empacotamento e distribuição de software, de certa forma parecido com o flatpak. Um software em Snap, além disso (e de forma também bem parecida com flatpaks), roda em um ambiente de sandbox.

Ou seja, um aplicativo distribuído e instalado através de Snap é executado de forma isolada. Ele não interfere com nenhum outro app, muito menos com o próprio sistema.

Snap Store

Um Snap também inclui todas as dependências necessárias para que o software funcione, além de ser independente de qualquer distro.

Assim, um mesmo pacote pode perfeitamente rodar em diversas distribuições Linux, desde que elas contem com suporte à tecnologia.

Inicialmente lançada para aplicações em nuvem, a tecnologia rapidamente foi portada para dispositivos de Internet das Coisas (IoT) e desktops.

De forma muito parecida com os flatpaks, os Snaps chegaram para resolver um “problema” que ainda complica a vida de algumas pessoas: a instalação de programas no Linux.

Com a tecnologia, é muito simples instalar aplicativos no sistema operacional do pinguim. Há inclusive a possibilidade de instalá-los através de uma interface gráfica (como veremos abaixo).

Existem várias distribuições com suporte a Snap, tais como, por exemplo, Ubuntu, Arch Linux, Linux Mint, Debian e Fedora. Algumas distros, além disso, contam com suporte a Snap de forma nativa, como por exemplo o Manjaro, o KDE Neon e o Zorin OS.

De qualquer forma, é muito simples ativar o suporte a esta fantástica tecnologia em diversas distros. E a loja de apps, a “Snap Store“, conta atualmente com um catálogo composto por milhares de programas.

É possível encontrar por lá uma variedade enorme de aplicativos e de categorias, incluindo diversos famosos, como o Mozilla Firefox, o cliente de e-mail Mozilla Thunderbird, o Slack, vários utilitários de sistema, e até mesmo jogos.

Entendendo melhor o Snap

Antes de mais nada, você também deve ter em mente que Snaps são uma opção. Uma alternativa (ótima, por sinal) quando é necessário instalar aplicativos no Linux, de forma semelhante aos flatpaks. E de forma análoga, os Snaps deixam a vida do usuário muito mais fácil.

Programação

Por outro lado, é também válido lembrar que temos outros tipos de pacotes nesta plataforma, como por exemplo os .deb e os .rpm. Há vários gerenciadores de pacotes no Linux, aliás, como por exemplo o APT, o RPM, o YUM e o Pacman.

Assim, conhecer tudo o que está envolvido na tecnologia da Canonical é também muito bom. Vamos agora dar uma olhada nos componentes principais do Snap:

  • Snapd: o snapd é na verdade um daemon. Um serviço que roda em segundo plano, no Linux, sendo responsável pelo gerenciamento e manutenção dos Snaps. O snapd, assim, é também o responsável pela criação dos sandboxes em que os aplicativos irão rodar;
  • Snap: um Snap nada mais é que um pacote de software. Trata-se do aplicativo propriamente dito, distribuído com todas as dependências inclusas. Vale lembrar que um Snap, além disso, é um arquivo de imagem com extensão .snap. Trata-se de um sistema de arquivos comprimido, que faz uso do formato SquashFS;
  • Snap Store: a Snap Store é o local onde os pacotes Snap podem ser obtidos e também submetidos. Ou seja, é um site que também permite que desenvolvedores enviem seus programas. A Snap Store, basicamente, é uma loja de aplicativos;
  • Snapcraft: trata-se do framework utilizado para a criação e a publicação de aplicativos.

Sob o mesmo ponto de vista, vale a pena citar aqui outro conceito importantíssimo relacionado aos Snaps. Trata-se dos canais, os quais servem para determinar quais versões dos programas serão instaladas e monitoradas para fins de atualizações nos sistemas dos usuários.

Onde encontrar Snaps

Basicamente, basta utilizar a Snap Store (link acima). Trata-se da loja de apps da Canonical, pensada para facilitar a busca e a obtenção de aplicativos.

Através da Snap Store, você pode encontrar softwares para praticamente qualquer necessidade, de forma rápida e totalmente visual.

Como ativar suporte aos pacotes Snap no Linux

Como dito anteriormente, é necessário contar com suporte aos pacotes Snap no Linux, antes de qualquer coisa. O que temos de fazer, em suma, é instalar o pacote snapd no nosso sistema.

Código fonte

Entretanto, vale dizer que algumas distros já contam com o snapd instalado por padrão. É o caso, por exemplo, das versões mais recentes do Ubuntu, além do KDE Neon e do Manjaro, dentre outros.

Caso você não tenha certeza, use o comando abaixo, o qual irá informar se o suporte a pacotes Snap está instalado ou não, bem como versão, distribuição e kernel do Linux:

snap version

Caso você ainda não tenha o suporte a Snap no seu sistema, instale através dos comandos abaixo:

Debian, Ubuntu e derivados

sudo apt install snapd

Arch Linux e Manjaro

sudo pacman -S snapd

Gentoo

echo -e '[gentoo-snappy]\n location = /usr/local/portage/gentoo-snappy\n sync-type = git\n sync-uri = https://github.com/zyga/gentoo-snappy.git\n priority = 50\n auto-sync = yes \n Categories=Application' | sudo tee /etc/portage/repos.conf/gentoo-snappy.conf

A seguir, ative o repositório e instale e ative o snapd:

emaint sync --repo gentoo-snappy
emerge -av app-emulation/snapd
systemctl enable --now snapd.service

Fedora

sudo dnf install snapd

OpenSUSE e derivados

sudo zypper install snapd

Terminada a instalação através de um dos procedimentos acima, em algumas distros é necessário ativar a unidade systemd responsável pelo gerenciamento do socket de comunicação Snap:

sudo systemctl enable --now snapd.socket

Em seguida, reinicie o sistema.

Como usar Snap no Linux

Agora que já você possui suporte aos pacotes Snap em seu sistema, utilizar a tecnologia para instalar aplicativos é extremamente fácil.

Em primeiro lugar, você deve acessar o site snapcraft.io/store, afinal de contas, esta é a App Store do Linux, composta por milhares de programas. Faça uma busca pelo software desejado e acesse a página com mais detalhes a respeito do mesmo.

Obs: é importante destacar o local de armazenamento dos arquivos .snap em seu sistema. Eles são armazenados na pasta /var/lib/snapd/snaps/.

Como instalar um Snap

Ao encontrar o app desejado, clique no botão “Install”, no canto superior direito. Tal botão fará com que seja exibido o comando necessário para instalar o software desejado. Veja:

Snap - Instalar aplicativo

Observe que o comando é muito simples. O comando para instalação possui a seguinte sintaxe:

sudo snap install nomeDoAplicativo

Ou seja, de acordo com a imagem acima, para instalar o software DBeaver, basta usar o seguinte comando:

sudo snap install dbeaver-ce

Obs: vale também lembrar que o comando snap conta com um “manual”. Para visualizá-lo no terminal, simplesmente digite o seguinte, seguido de um ENTER:

man snap

Como encontrar um Snap

Através do terminal, é muito simples buscar um aplicativo. Além disso, existe um comando que permite a pesquisa de apps por categoria. Para realizar a busca (apenas em inglês), utilize da seguinte forma:

snap find categoria

Ou seja, para filtrar apps de produtividade, use o comando da seguinte forma:

snap find productivity

Como instalar um Snap

Instalar aplicativos Snap é também muito simples. O comando necessário possui a seguinte sintaxe:

sudo snap install nomeDoPacote

Ou seja, para instalar, por exemplo, o navegador Brave, basta usar o comando abaixo:

sudo snap install brave

Observe que você pode sempre realizar buscas através da interface web da Snap Store, em snapcraft.io/store.

Assim, você encontra não apenas o nome do pacote, mas também o comando necessário para instalá-lo, na íntegra.

Como executar um Snap

Também é muito fácil executar qualquer Snap através do terminal. Basta digitar o caminho exato para o software desejado, o qual você pode obter através do comando abaixo:

which nomeDoAplicativo

Ou seja, você pode primeiro descobrir quais Snaps possui em seu sistema, através do comando “list” (veja abaixo), e a seguir, usar o nome do aplicativo para executá-lo. Por exemplo, digamos que você deseje executar o cliente de e-mail MailSpring. Após descobrir a localização, basta digitar o caminho absoluto, conforme abaixo (seguido de um ENTER):

snap/bin/mailspring

E assim por diante! Obviamente, é muito mais fácil executar qualquer Snap através do menu de aplicativos da sua distribuição.

Listar Snaps instalados

Naturalmente, para descobrir todos os Snaps instalados em seu sistema, você pode utilizar o seguinte comando:

snap list

Lembre-se também de usar o comando “list” para encontrar os nomes dos aplicativos caso deseje remover algum deles. Confira o output após o comando acima:

Snap - Comando list

Também é possível utilizar o mesmo comando da maneira abaixo, de modo a extrair a versão atual de qualquer aplicativo:

 snap list nomeDoPacote

O comando abaixo, além disso, permite que informações adicionais sobre qualquer pacote sejam exibidas:

snap info nomeDoPacote

Ou seja, para exibir detalhes sobre o navegador Brave, basta usar da seguinte forma:

snap info brave

Como atualizar e remover Snaps

De maneira idêntica, também é muito fácil atualizar e remover Snaps. O comando abaixo serve para atualizar todos os Snaps instalados no sistema:

sudo snap refresh

Agora, para atualizar um pacote específico, basta informar o nome do mesmo, de acordo com a seguinte sintaxe:

sudo snap refresh nomeDoPacote

Ou seja, para atualizar apenas o pacote Brave, você deve usar o comando abaixo:

sudo snap refresh brave

Vale lembrar que o comando acima verifica o canal que está sendo rastreado pelo snapd e baixa novas versões de apps, caso disponíveis.

E, finalmente, para remover um aplicativo instalado através de um Snap, use um comando com a seguinte sintaxe:

sudo snap remove nomeDoPacote

Ou seja, para remover o DBeaver que instalamos há pouco (veja acima), basta usar o comando abaixo:

sudo snap remove dbeaver-ce

E assim por diante. Basta realizar as modificações necessárias de acordo com o pacote desejado.

Comandos Snap adicionais

Caso você encontre algum problema após realizar uma atualização, saiba que é possível reverter um Snap para uma versão anterior, através de um comando com a seguinte sintaxe:

sudo snap revert nomeDoPacote

Pode também acontecer de você não utilizar algum aplicativo durante algum tempo. Assim, caso você deseje, é possível desabilitar e habilitar o referido Snap, sempre que necessário, através de comandos com as sintaxes abaixo.

Para desabilitar um Snap

sudo snap disable nomeDoPacote

E para habilitar novamente

sudo snap enable nomeDoPacote

Para conferir no terminal uma espécie de “histórico” contendo todas as operações realizadas com um Snap, basta usar um comando com a sintaxe abaixo:

sudo snap changes nomeDoPacote

Ou seja, para verificar o “histórico” do pacote Brave, use da seguinte forma:

sudo snap changes brave

Feito isto, um output similar ao abaixo poderá ser exibido para você:

Snap - Comando changes

Como instalar e desinstalar Snaps através da interface gráfica

Se você chegou até aqui, já sabe o que é um Snap e também conhece diversos modos de trabalhar com o formato de empacotamento de software no Linux.

Vale lembrar, agora, que além da linha de comando, você também pode utilizar uma interface gráfica para gerenciar todos os seus Snaps. Assim, é possível até mesmo instalar e desinstalar aplicativos de forma “visual”, através de um outro software.

Este prático software é a versão desktop da Snap Store, o qual pode ser instalado através do comando abaixo:

sudo snap install snap-store

A seguir, basta buscar pela Snap Store em seu menu de aplicativos:

Snap Store

Observe que a loja no desktop também conta com diversas categorias, além de listar os aplicativos “Instalados”. E para desinstalar qualquer Snap, é também muito simples.

Acesse a aba “Instalados”, localize o software que deve ser removido e clique então no botão “Remover”. Muito fácil, não?

Conclusão

Assim, chegamos ao final de mais um guia no blog TecLinux. Agora, você sabe as vantagens e também os meios para instalar o suporte a Snaps no seu sistema Linux, bem como diversos métodos para gerenciar este prático formato de distribuição de aplicativos.

E agora que você já tem em mãos informações a respeito deste modo “alternativo” de instalação de softwares no Linux, deixe um comentário e conte qual é seu método preferido.

Gostou deste artigo? Compartilhe com seus amigos!

Compartilhe este conteúdo:

<a href="https://teclinux.com/author/marcos-zy/" target="_self">Marcos A.T. Silva</a>

Marcos A.T. Silva

Apaixonado por tecnologia desde tenra idade, trabalha com TI há mais de 20 anos. Tem no rock and roll (em suas mais variadas vertentes) uma válvula de escape, e adora escrever guias e tutoriais, além de ser um grande entusiasta do Linux e do software livre.

0 comentários

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Pin It on Pinterest

Share This

Compartilhe

Compartilhe este post com seus amigos!