Como o uso dos SNAPS pode beneficiar você

O recurso de empacotamento de aplicativos em conjunto com toda a sua necessária biblioteca, pela Canonical, para uso (inicialmente) no Ubuntu 16.04 LTS se espalhou e se generalizou entre as várias outras distribuições Linux.
Qualquer que seja a sua distro GNU/Linux, desde que seja atual, é possível instalar aplicativos diversos através dos snaps.
laptop and coffee
Ao final do texto, há links para outros posts sobre o uso de snaps em diversas distribuições Linux. Lembre-se de dar uma olhada.
Clique também nos links, no corpo do texto, para se aprofundar mais sobre algum assunto abordado.


O que é um snap?

Um snap é um arquivo zip contendo uma aplicação junto com suas dependências.
O pacote inclui uma descrição de como rodar a aplicação em segurança no seu sistema. A descrição é voltada para o sistema operacional e outros softwares do sistema.
Os pacotes snap são projetados para oferecer mais segurança e isolamento aos programas em relação à estrutura do sistema e à outros programas.
Os snaps permitem uma instalação segura de qualquer software, de qualquer fornecedor e são opções pensadas para dispositivos de missão crítica, por exemplo.
A iniciativa da Canonical, hoje conta com a colaboração de inúmeros desenvolvedores, independente das distribuições que usem — formando uma comunidade em torno do Snapcraft.io.
O trabalho caminha no sentido de prover um mecanismo único para publicar softwares em qualquer ambiente Linux.
Importantes empresas de hardware também estão envolvidas, o que inclui a Dell, Samsung, a System76 etc.

Snaps tem o propósito de funcionar em qualquer lugar, em qualquer distro, em qualquer dispositivo.
São fáceis de instalar e de criar. Além disto, usam recursos de sandboxing que dão mais segurança à sua execução.

Pacotes snaps são complementares aos atuais sistemas de gestão de pacotes

Os atuais sistemas de gestão de pacotes (deb, rpm, yast, pacman, yum, dnf etc.) permitem instalar conjuntos complexos de pacotes de softwares, ocupando o mínimo de espaço e completamente adaptados ao seu sistema.
É inegável que evoluíram, no ambiente Linux, no decorrer dos anos e se encontram a anos-luz de distância dos métodos de instalação de um outro sistema operacional muito popular.
Infelizmente, não podem fazer tudo.
O snaps acrescentam, entre outras coisas, o sandboxing, que é a possibilidade de rodar um programa e toda a sua biblioteca “em separado”. Se algo der errado, o programa pode cair, mas o sistema permanece em pé e intacto.
Para os desenvolvedores, os snaps oferecem conforto e comodidade: empacota uma vez; instala e roda em qualquer distro.

O ecossistema de aplicativos serve a todos

O Ubuntu é uma distro muito popular. Ela se beneficia das dezenas de milhares de opções de softwares que já estão disponíveis para a distro Debian.
Nenhuma outra distribuição Linux tem tantos softwares em seus repositórios.
Com os snaps, todos, independente de distribuição podem baixar e instalar os mesmos pacotes de softwares. Tudo o que se precisa ter é suporte ao snapd.
Ao abandonar o Mir e o Unity, a Canonical está se dedicando a portar o snapd para mais e mais distribuições Linux e aperfeiçoar seu funcionamento dentro do Ubuntu.
Os snaps irão reduzir ainda mais as atuais diferenças entre as distribuições Linux.

Repositório comum: GitHub

O time de desenvolvimento do projeto snapcore, inclui desenvolvedores com ampla gama de interesses, do IoT à infraestrutura de nuvens – dos dispositivos móveis às aplicações desktop.
Os pacotes snap são criados facilmente, por desenvolvedores, com a ferramenta snapcraft.
O Github é o repositório onde os snaps são armazenados e disponibilizados para os usuários.
Os snaps podem ser montados ou construídos a partir de pacotes de distribuições, mas são mais comumente encontrados em código fonte — o que permite mais eficiência de tamanho e otimização de recursos.

Referências

Suporte ao snap no Ubuntu.
Adicione suporte ao snap no Fedora.
Tenha suporte ao snap no OpenSUSE.
https://snapcraft.io.

Instale e configura o suporte a SNAP no OpenSUSE

Até a versão 42.2 ou Tumbleweed, o OpenSUSE não tem suporte nativo ao Snappy, mas ele pode ser instalado facilmente, com um procedimento de 3 passos.
Tudo o que você precisa é adicionar o repositório da comunidade de desenvolvedores SNAP e fazer a instalação normal, como qualquer outro pacote de software.
Se você usa o openSUSE 42.2, adicione o seguinte repositório:

sudo zypper addrepo http://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_42.2/ snappy

Se você usa o Tumbleweed, o nome do repositório é ligeiramente diferente. Observe:

sudo zypper addrepo http://download.opensuse.org/repositories/system:/snappy/openSUSE_Tumbleweed/ snappy

opensuse zypper add repository
Agora use o ‘zypper refresh’:

sudo zypper refresh

e, por fim, instale o snapd:

sudo zypper install snapd

instalar snap no opensuse
Agora configure o systemd no seu sistema, para que ele se encarregue do socket de comunicação (uma vez que esta tarefa ainda não é automática):

sudo systemctl enable --now snapd.socket

Depois disto, você irá precisar se reautenticar (ou reiniciar, se achar mais fácil).


Não esqueça de ler sobre como usar o SNAP, daqui pra frente.

Adicione suporte ao SNAP no Fedora Linux

A Canonical tem expandido a sua presença em outras distribuições respeitáveis do GNU/Linux.
Atualmente, é possível aos usuários do Fedora (a partir da versão 24) usufruírem do sistema de empacotamento, distribuição e atualização de aplicações.
O Snappy permite automatizar o processo de instalação, tal como apt e ainda oferecer aos usuários finais as versões mais atualizadas de softwares.
Além do Fedora, outras distribuições importantes também oferecem suporte a Snaps — tal como CentOS, Gentoo, Mint, OpenSUSE, OpenWrt e Red Hat.

Como configurar o Fedora para receber pacotes Snaps

Configurar o Fedora para ter suporte a Snaps é simples até para quem é novato no Linux.
No Fedora 25, basta instalar o pacote snapd:

sudo dnf install snapd

Leia sobre como usar o snap.
Usuários do Fedora 24, precisam adicionar o seguinte procedimento:

sudo systemctl enable -- now snapd.socket

Aprenda a encontrar, instalar e remover pacotes SNAP, no Ubuntu.

A partir da versão 16.04, o Ubuntu passou a suportar um novo método de instalação — que complementa o apt.
Neste texto, vou mostrar alguns comandos simples, que podem ajudar você a usufruir melhor do sistema com o Snap.

Como encontrar aplicativos disponíveis pelo snap

Em analogia ao apt, o snap também permite pesquisar dentro dos repositórios, para “achar” o que você precisa.
Use o “find” para isso:

snap find music

No exemplo, acima, fiz a pesquisa pela palavra “music”. Veja o meu resultado:

Name                    Version      Developer     Notes    Summary
noson                   2.3.6-SNAP1  janbar        -        The essential to control music from your SONOS devices
deadbeef-vs             0.7.2-snap2  vs            -        The Ultimate Music Player
audovia                 3.4.1        songbuilder   -        Database application for making music using JFugue MusicStrings
gmusic                  0.5.0-1      matt-goodall  -        A collection of tools to manage your Google Play Music.
ktube-media-downloader  1            keshavnrj     classic  Browser, Download, Play Media from Youtube and other Sites
spotifywebplayer        1.0.35       quacky2200    -        Spotify Web Player for Linux
functy                  0.38         flypig        -        3D graph drawing with vivid and immediate results
vlc                     daily        videolan      -        The ultimate media player
filebot                 4.7.7        pointplanck   -        The ultimate TV and Movie Renamer / Subtitle Downloader

Na primeira coluna da lista, vem o nome do software relacionado ao termo da sua busca.
Na segunda coluna, o Snap lista a versão de cada item. Note que a versão do VLC é daily, o que significa que se trata de uma versão em desenvolvimento e, portanto, não estável.
A terceira coluna relaciona os desenvolvedores de cada projeto.
As 2 últimas colunas fornecem informações mais detalhadas de cada pacote de software.
Você também pode filtrar as informações do Snap com o comando grep:

snap find music | grep player
spotifywebplayer        1.0.35       quacky2200    -        Spotify Web Player for Linux
vlc                     daily        videolan      -        The ultimate media player

Como obter informações sobre pacote Snap

Use a opção “info”, para isto.
Veja um exemplo:

snap info vlc 

… e veja os detalhes do pacote:

name:      vlc
summary:   "The ultimate media player"
publisher: videolan
description: |
  VLC is the VideoLAN project's media player. It plays MPEG, MPEG-2, MPEG-4,
  DivX, MOV, WMV, QuickTime, WebM, FLAC, MP3, Ogg/Vorbis files, DVDs, VCDs,
  podcasts, and multimedia streams from various network sources.
  
commands:
  - vlc
tracking:    stable
installed:   daily (4) 120MB -
refreshed:   2017-01-19 23:14:08 -0300 BRT
channels:              
  stable:    daily (4) 120MB -
  candidate: daily (4) 120MB -
  beta:      daily (4) 120MB -
  edge:      daily (4) 120MB -

Novamente, você pode usar o comando grep para filtrar informações — como, por exemplo, a última vez em que o pacote foi atualizado:

snap info vlc | grep -i refresh


refreshed:   2017-01-19 23:14:08 -0300 BRT

Como instalar pacotes via Snap

Se você instalava pacotes via apt, vai achar esta fácil:

sudo snap install vlc

Como exibir os pacote que foram instalados via Snap

Quando quiser ver a relação de pacotes de software instalados no seu sistema, que chegaram através do Snap, use a opção “list”:

snap list
Name          Version              Rev   Developer        Notes
anatine       1.1.0-5-g2911f4d-X+  16    claudioandre-br  -
telegram-cli  1.4.1                1     caldav           -
ubuntu-core   16.04.1              1411  canonical        -
vlc           daily                4     videolan         -

Como atualizar um pacote individual

Use a opção “refresh” para buscar atualizações disponíveis para os seus pacotes:

sudo snap refresh telegram-cli 

Como remover programas instalados via Snap

Use a opção “remove”:

sudo snap remove vlc

Após a remoção, o Snap exibirá a mensagem (no meu caso, em inglês):

vlc removed

Introdução à gestão de pacotes via Flatpak

O Flatpak, como padrão de instalação de aplicativos no Linux está se tornando cada vez mais comum em várias distribuições Linux.
Você provavelmente já o tem instalado no seu sistema.
Abra um terminal e faça o teste:

flatpak

Se já estiver instalado, leia mais sobre o assunto aqui.
Caso não esteja, veja como instalar facilmente o Flatpak na sua distro Linux favorita.

O projeto “concorre” com o Snap, da Canonical — presente no Ubuntu, desde a versão 16.04.
Obviamente, os desenvolvedores dos 2 projetos colaboram entre si, como é comum em projetos de software livre.

Como instalar o Flatpak

O Flatpak tinha o nome de xdg-app (que ainda aparece em alguns aplicativos), até 2016.
Trata-se de um utilitário voltado para desenvolvimento, distribuição e empacotamento de softwares.
Além disto, tem utilidade na virtualização de aplicações em ambientes de computação Linux.
A tecnologia inclui um ambiente de “caixa de areia” (sandbox), chamada Bubblewrap, na qual é possível rodar aplicações isoladas do resto do sistema.

Após a instalação, pode ser necessário se reautenticar no sistema para poder fazer uso pleno da ferramenta.

Usuários do Debian 9 Stretch já o têm instalado no sistema e não precisam fazer nada. Nas versões anteriores, a instalação do Flatpak pode ser feita com o apt — mas antes você vai precisar habilitar os backports:

sudo apt-get install flatpak

No Fedora, a partir da versão 23, é possível baixar e instalar o Flatpak dos repositórios, com o dnf:

dnf install flatpak

fedora 25 terminal install flatpak
No openSUSE Tumbleweed, fiz a instalação com o zypper:

zypper install flatpak

opensuse tumbleweed zypper install flatpak

Flatpak para Ubuntu…

E quem usa Ubuntu, faz o quê?!
Não há conflitos entre snap e flatpak, no Ubuntu. Você pode usar os dois para instalar aplicativos no seu sistema.
De fato, é possível instalar o Flatpak, dos repositórios oficiais, a partir do Ubuntu 16.10.
Se você usa o Xenial Xerus (Ubuntu 16.04), pode fazer a instalação através de uma PPA:

sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak