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.
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.
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.
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:
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:
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ê:
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:
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!
0 comentários