Como instalar suporte a Flatpak em 10 distribuições Linux

O Flatpak traz para o Linux o mesmo conceito dos pacotes SNAP da Canonical (Ubuntu).
Trata-se de uma opção, disponível para várias distribuições GNU/Linux, incluindo o Ubuntu.

Em geral, o Flatpak convive bem com o SNAP e não há problemas de usar os dois.

Pessoalmente, como usuário do Debian, instalo meus programas preferencialmente via APT.
Eventualmente, uso pacotes Flatpak, quando não há opção de instalação via repositórios oficiais.

Nos outros sistemas operacionais (Linux/Unix), mantenho o mesmo hábito: Instalo os softwares preferencialmente através do gerenciador de pacotes padrão da distro e, quando não há opção dentro dos repositórios oficiais, vou para o SNAP ou Flatpak.

Não uso e não recomendo usar PPAs para instalar seus programas.

Segue a relação de 10 distribuições Linux, nas quais você pode instalar o suporte ao Flatpak, junto aos procedimentos de configuração, no terminal.

Encontre a sua distro e, quando terminar de configurar, vá a até o site Flathub, para ver os aplicativos disponíveis para baixar e instalar.

Como instalar suporte a Flatpak no Ubuntu e POP!_OS

No momento, o suporte a Flatpak é configurável somente através da instalação de pacotes vindos de uma PPA.

Antes de continuar, eu gostaria de deixar a advertência de que as PPAs não são o método mais seguro de buscar e instalar softwares em seu sistema.
O Ubuntu, bem como as outras distribuições baseadas nela(e) é mais eficiente, usando o SNAP.

Se você é usuário do Ubuntu, sugiro fortemente fazer uso dos pacotes SNAP, em vez de Flatpaks, como meio de instalação de programas.

Contudo, se você sabe o que está fazendo e deseja insistir, o procedimento para instalar suporte a Flatpak no Ubuntu é o que segue:


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

A linha de comando, abaixo, é para quem usa o Ubuntu com interface GNOME (padrão). Não serve para Pop!_OS, portanto:


sudo apt install gnome-software-plugin-flatpak

Em seguida, adicione o suporte ao repositório do Flathub:


flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Agora, siga para o site do Flathub!

Suporte ao Flatpak em distribuições baseadas no Fedora, CentOS e no Linux Mint

Tanto o Fedora/CentOS quanto o Linux Mint, têm suporte nativo aos pacotes Flatpak, da mesma forma que o Ubuntu já trabalha naturalmente com os SNAP.
Para poder ter acesso facilitado à loja de aplicativos oficial (para quem usa o Fedora) — o Flathub — faça o download do arquivo repositório.

Agora, siga para o site do Flathub!

Suporte ao Flatpak no RedHat

Apesar da proximidade com o Fedora, o RedHat precisa destes 2 passos para ter suporte aos pacotes Flatpak e acesso ao Flathub:


sudo yum install flatpak

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Agora, siga para o site do Flathub!

Suporte ao Flatpak no OpenSuSE

As versões mais atuais podem ter suporte adicionado com o seguinte comando:


sudo zypper install flatpak

Em seguida, adicione o suporte ao repositório do Flathub:


flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Agora, siga para o site do Flathub!

Flatpak no Arch Linux

Para pode usar o gestor de pacote Flatpak no Arch, rode o seguinte comando:


sudo pacman -S flatpak

Após reiniciar o sistema, siga para o site do Flathub!

Flatpak no Debian

Autentique-se como root e rode a seguinte linha:


apt install flatpak

No Debian, com interface GNOME (padrão), acrescente:


apt install gnome-software-plugin-flatpak

Em seguida, adicione o suporte ao repositório do Flathub:


flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Após reiniciar o sistema, siga para o site do Flathub!

Configuração do Flatpak no Solus Linux

Para instalar o suporte ao Flatpak, aqui, use o eopkg:


sudo eopkg install flatpak xdg-desktop-portal-gtk

Em seguida, adicione o suporte ao repositório do Flathub:


flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Agora, siga para o site do Flathub!

Flatpak no Raspbian

Tal como no Debian, use o apt (com privilégios administrativos):


apt install flatpak

Em seguida, adicione o suporte ao repositório do Flathub:


flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Agora, siga para o site do Flathub!

Adicione suporte ao Flatpak no Elementary OS

Tal como no Ubuntu, precisamos novamente recorrer às PPAs — por favor leia as recomendações que fiz na seção do Ubuntu, ali em cima.
Segue o procedimento:


sudo apt install software-properties-common --no-install-recommends
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak

Em seguida, adicione o suporte ao repositório do Flathub:


flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Agora, siga para o site do Flathub!

Flathub web site

Divirta-se!

Instale o suporte ao snap no Debian, ainda hoje.

Se você não tem qualquer justificativa para não usar o recurso de instalação simplificada de softwares, proporcionado pelo SNAP, da Canonical, então por que não o instala?

Tradicionalmente, os softwares são disponibilizados em pacotes, nas distribuições GNU/Linux.
Geralmente, eles mantém registro de todos os outros softwares de que dependem — ou seja, ao instalar um pacote, este irá verificar se o sistema atual já tem os softwares e bibliotecas necessárias para o seu funcionamento.
Se não tiver, o gerenciador de pacotes vai avisar que precisa instalar também o software ou a biblioteca A, B, C etc. para que o novo pacote de softwares possa funcionar adequadamente.

Este processo funciona muito bem, mas os desenvolvedores de softwares para Linux, imaginaram que poderia fazer melhor ainda.
O sistema de empacotamento SNAPD e FLATPAK (vou escrever esses nomes em minúsculas, daqui para frente) oferecem uma metodologia de empacotamento diferente.
Resumidamente, os snapd ou flatpak empacotam todo o “software satélite” necessário para o funcionamento do programa principal, dentro das versões em que os desenvolvedores previram que iriam funcionar.
Todos os componentes de sistema também são empacotados — exceto os mais básicos, como os que permitem acesso a rede entre outros recursos inerentes ao sistema operacional.

Além disto os snaps são imagens de apenas leitura (read only) e trabalham em áreas seguras, isoladas de outros snaps — o que não quer dizer que não possam interagir. Só que mantém a independência.

Os snaps podem ser baixados e adquiridos de uma loja central ou repositório — um conceito com o qual você já deve estar acostumado, se já usa o Linux há algum tempo.

Aliás, do ponto de vista do uso, os snaps não diferem muito do que você já faz com o apt (Debian e Ubuntu) ou com o dnf (Fedora), para citar alguns poucos exemplos de gestores de pacotes.

Você simplesmente instala e desinstala da mesma forma que já fazia.

Não existe conflito ao continuar a usar o método de instalação atual com o que já está acostumado (e que continua a ser o mais indicado) e, quando entender que é mais vantajoso, usa o snap (ou o flatpak).

Neste post vou mostrar como instalar o snapd — um ambiente de gestão que cuida da instalação e da atualização dos seus snaps, com o uso do sistema transacional, bem como da coleta de lixo (garbage collection) de versões antigas de snaps.

O sistema de snaps é uma criação do pessoal do desenvolvimento da Canonical, com o objetivo de tornar os sistema de gestão de softwares ainda mais simples e seguro.

Como instalar o snapd

Uma vez que se trata de “uma cria” da Canonical, quem usa Ubuntu, não precisa se preocupar — por que ele já vem instalado e pronto para usar.
Se você usa o Debian (como eu!), precisa apenas instalar o snapd, assim:


sudo apt install snapd

A partir daí já é possível instalar os snaps que quiser.

Fica a recomendação para continuar a usar o apt normalmente para gerenciar seus softwares e usar o snapd para instalar versões mais novas ou específicas ou, ainda, exclusivas de programas.

Após a instalação, você pode buscar na loja (ainda no terminal) os programas, através de palavras-chave. Veja uma pesquisa por jogos:


sudo snap search game

Name                               Version                     Developer           Notes    Summary
node-games                         0+git.de4e610-dirty         m4sk1n              -        Three fun console games written using Node.
gamecake                           V18.302+git6.615ed9d-dirty  xriss               -        a single exe cross platform game engine
mahjong-game                       1.0                         1bsyl               -        Mahjong game, a one-player game. Based on SDL2
game-2048                          1                           dholbach            -        2048 puzzle game
sudoku-game                        1.0                         1bsyl               -        Sudoku 9x9 game
pingus-game                        0.1                         larryprice          -        Free Lemmings(TM) clone
qt-2048-snap                       1                           keshavnrj           -        Single-player puzzle game.
collision                          2.0.0-2                     brunonova  

...

A lista, acima, está resumida. Na realidade, ele é bem maior.
Você também pode fazer o mesmo procedimento com o comando ‘find’:


sudo snap find game

Para instalar um pacote de softwares (snap), use o comando ‘install’, seguido do nome do snap:


sudo snap install quake-shareware

Download snap "core" (4486) from channel "stable"             21% 3.19MB/s 22.5s
quake-shareware 0.3 from 'njmcphail' installed

… e para remover, use o ‘remove’:


sudo snap remove quake-shareware

snap store

Você pode encontrar loja online, aqui.

wolfendoom: baldes of agony

Foi fácil, não é?
Leia muito mais sobre os snaps, aqui.

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