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!

GNOME com suporte a instalação de apps via Flatpak, é fácil de instalar e usar no Debian.

Através de um pequeno plugin, o Debian (e qualquer outra distro Linux, que use o GNOME para a gestão da interface gráfica) pode fazer a instalação de softwares através do sistema de empacotamento Flatpak.
Semelhante ao SNAP (Ubuntu), o Flatpak é um sistema que permite a instalação de todas as bibliotecas necessárias de um aplicativo e, tecnicamente, rodar programas dentro de um ambiente virtual.

Neste post, vou mostrar como fazer a instalação e um primeiro uso do sistema dentro do Debian 10 Buster (que ainda está em fase de testes). O procedimento, por enquanto, ainda não é tão fluido e fácil quanto a instalação de pacotes SNAP no Ubuntu, mas também não é difícil.

Instalação do suporte a Flatpak no GNOME

O suporte a Flatpak dentro do ambiente gráfico GNOME é possibilitado por um plugin, que pode ser instalado via apt:


sudo apt install gnome-software-plugin-flatpak

De acordo com a descrição dos desenvolvedores, trata-se de uma peça de software que permite instalar e atualizar aplicações e extensões do sistema.

Faz uso de uma arquitetura simplificada de plugins para separar os frontends das tecnologias "por baixo do capô".

Após a instalação, de acordo com o procedimento acima, pode ser necessário reiniciar o sistema (ou, pelo menos, o ambiente gráfico). Eu só reiniciei o meu navegador (Chrome). Talvez nem isso fosse necessário. Tente aí e nos conte nos comentários como foi.

Como buscar e instalar apps com o navegador

Tal como o SNAP, também existe uma loja online de apps para Flatpak — chama=se Flathub.
Flathub web site

No Flathub, você vai encontrar pacotes de software em Flatpak em edições/versões atualizadas — algumas serão mais atuais do que as que já se encontram instaladas em seu sistema.

Através do Flathub, você pode instalar a mesma versão do GIMP (só para citar um exemplo) usada na versão testing da sua distro atual.

Neste sentido, o Flatpak proporciona um modo seguro de obter versões mais atualizadas de programas, mesmo em sistemas que priorizam a estabilidade, como é o caso do Debian.

Para poder instalar diretamente do Flathub, você precisa acrescentar mais um procedimento. Volte ao terminal e execute a seguinte linha de comando:


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

Feito isto, já pode ir correndo ao Flathub, encontrar seus programas favoritos!

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 pedir a Richard Stallman para analisar o seu Linux.

O vrms é um pequeno utilitário, para a CLI, que faz uma análise do conjunto de pacotes, presentes no seu computador, que faz um relatório dos pacotes componentes instalados das árvores contrib e non-free.

Chamado vrms — Virtual Richard Matthew Stallman (RMS) — em alusão ao nome do fundador do Movimento pelo Software Livre , verifica se você está usando apenas softwares 100% livres e avisa quando houver algo destoando.

De acordo com a auto-descrição do pacote, “em alguns casos, as opiniões de Stallman divergiram das do projeto Debian”.
Nestes casos, a comunidade Debian segue as diretrizes do Debian Free Software Guidelines ou Contrato Social Debian.

O aplicativo vrms não se limita a sistemas Debian e nem ao Linux.
Pode ser executado em qualquer sistema operacional.
Apenas, neste texto, estou me baseando no Debian.

Há previsão para, futuramente, permitir ao vrms exibir textos do RMS, mostrando porque o uso de cada pacote non-free pode causar problemas morais a membros da comunidade do Software Livre.

Use o apt, para instalar:


sudo apt install vrms

Após a instalação, ele pode rodar sob privilégios normais. Veja os meus resultados:


vrms

    Non-free packages installed on ultra

firmware-iwlwifi                    Binary firmware for Intel Wireless cards
firmware-realtek                    Binary firmware for Realtek wired/wifi/BT adapters

    Non-free packages with status other than installed on ultra

tome                                ( dei)  single-player text-based roguelike dungeon sim

    Contrib packages with status other than installed on ultra

spectemu-common                     ( dei)  Fast 48k ZX Spectrum Emulator (common files)

  3 non-free packages, 0.1% of 2067 installed packages.
  1 contrib packages, 0.0% of 2067 installed packages.

Aonde eu me surpreendi:

  • Pra começar, achava que iria ter mais softwares não livres no meu sistema (por que instalo, realmente, muita coisa).
    Enfim, foram apenas 3.
  • Os firmwares, “pra variar”, não surpreendem ninguém… Mas vejo que só preciso de um deles e, portanto, o outro vai sair voando pela janela, claro.
  • O jogo tome, também é uma surpresa que não seja 100% livre. Ao passo que o emulador do Spectrum ZX, em função de algumas ROMs, não me surpreende por se encontrar neste “estado deplorável” de não ser completamente livre.

Você não é obrigado a desinstalar nada do seu sistema.
O utilitário apenas fornece um feedback, para satisfazer a curiosidade do usuário.
É claro que acaba por ser muito útil a quem gostaria de remover o máximo de softwares não livres de seu sistema e, o que é melhor ainda, questionar os desenvolvedores ou as empresas responsáveis pelo código que não se encaixa nestas condições.

Me conta quais foram os seus resultados e o que pretende fazer em relação a eles. 😉

No meu caso, deixei apenas os firmwares proprietários instalados. Fiquei com um resultado de 99.9% de softwares livres instalados no meu sistema.
Mas, com a colaboração da Intel e da Realtek, poderia ser 100%! 😉

Qual é a distribuição Linux que tem mais pacotes em seus repositórios oficiais?

A resposta curta é: OpenSUSE, na data deste post!
No decorrer deste texto vou mostrar como obter suas próprias respostas e, com certeza, mais atualizadas.
No momento em que escrevo, a distro “do camaleão” é a que tem a maior quantidade de softwares disponíveis para a instalação — se você a sincronizar com todos os seus possíveis repositórios.
Por anos, a Debian foi a distro conhecida por ter a maior quantidade de pacotes em seus repositórios. Mas estas coisas mudam com mais frequência que a gente imagina.
Portanto, se quiser saber qual a distro Linux com mais aplicativos disponíveis, vai ter que fazer uma contagem.

Há alguma maneira “racional” de contar quantos pacotes de aplicativos estão disponíveis para uma distro?

Como contar os programas disponíveis em uma distribuição Linux

Esta pergunta pode ser respondida em 2 fases:

  1. primeiro você obtém a lista e
  2. depois, se estiver em formato texto simples, com um pacote relacionado a cada linha, basta contar as linhas da lista.

Não é difícil encontrar as listas de pacotes disponíveis para as distribuições, mas precisamos prestar atenção a algumas variáveis que as influenciam:

  • Versões alfa do sistema operacional podem ter uma lista num dia e outra em outro — softwares entram e saem todos os dias nesta fase de uma distribuição.
  • Diferentes plataformas demandam softwares específicos às vezes. Portanto a lista do Arch Linux para a plataforma ARM é uma e a lista do mesmo sistema operacional para a plataforma PC 64 bit é outra.

É difícil fazer comparações objetivas entre uma distro e outra, por que precisamos levar estes e outros fatores em conta.

A lista de softwares disponíveis para uma distro vai muito além dos repositórios oficiais. Elas aumentam significativamente, ao acrescentar outros repositórios, backports, PPAs etc.

Onde encontrar a relação de softwares do Ubuntu

A relação atual de softwares disponíveis, da distribuição Ubuntu que se encontra instalada no seu computador, depende dos repositórios incluídos no arquivo de configuração /etc/apt/sources.list.
Para obter a relação use os seguintes comandos:


sudo apt update
apt list | wc -l

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

69323

O resultado, acima, se refere à minha máquina Ubuntu 16.04 Xenial Xerus, com a minha configuração atual do sources.list.
O comando responde à pergunta sobre a quantidade de softwares disponível para a instalação local e atual do Ubuntu.
É importante dizer que a lista inclui 6 linhas de cabeçalho — que precisam ser excluídas da conta, para obter um resultado exato.


E se eu não tiver o Ubuntu instalado? E se eu quiser obter o número e a relação para uma versão diferente da que tenho instalada?
Quando a lista que você deseja não está presente no seu sistema, o jeito é buscar a informação online.
A lista de pacotes disponíveis para Ubuntu pode ser encontrada a partir do site http://packages.ubuntu.com/.
site com lista de versões do Ubuntu
O site permite escolher exatamente qual distro/versão ou repositório a ser pesquisado.
Para este artigo, vou escolher a relação allpackages do Ubuntu 16.04 LTS Xenial Xerus.
Se você quiser, pode acessar a lista aqui: http://packages.ubuntu.com/xenial/allpackages?format=txt.gz.
O cabeçalho da lista tem informações importantes, como a data em que ela foi gerada — que ajuda a estabelecer se é atual.
Eu preferi baixar o arquivo compactado com o wget.
Depois de baixado, descompactei o arquivo e alterei o nome (apenas por comodidade). Veja os meus procedimentos:


wget http://packages.ubuntu.com/xenial/allpackages?format=txt.gz

gunzip allpackages?format=txt.gz

mv allpackages\?format\=txt xenial64bit-desktop.txt 

Se quiser “passear” dentro do arquivo, use o comando less:


less xenial64bit-desktop.txt

Como você pode ver, cada programa ocupa uma única linha. Basta determinar quantas linhas há no arquivo (subtraídas as 6 linhas do cabeçalho), para obter a minha resposta. Para isto, use o comando wc:

wc -l xenial64bit-desktop-allpackages.txt

69323 xenial64bit-desktop-allpackages.txt

A resposta, neste caso, é 69.317 pacotes de software no Ubuntu 16.04 LTS Desktop 64 bit — já descontadas aquelas linhas iniciais.

Como obter a relação de pacotes do Arch Linux

A lista oficial pode ser encontrada fácil no site da distribuição.
arch linux lista de pacotes do repositório
Por sorte, o site tem um contador, do lado esquerdo superior à relação.
Você encontra a informação atualizada neste link: https://aur.archlinux.org/packages/?O=0&SeB=nd&K=&SB=n&SO=a&do_Search=Go.

Como determinar a quantidade de pacotes do Debian

O procedimento para obter esta informação do Debian é semelhante ao Ubuntu.
Se você usa Debian, pode ir para o terminal e obter o número de pacotes disponíveis para instalação, de acordo com a configuração do sources.list.
No meu sistema Debian 9 Stretch, obtive o seguinte resultado:

apt list | wc -l

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

51750

Os sites contendo as relações de pacotes são https://packages.debian.org/testing/allpackages?format=txt.gz (testing) e https://packages.debian.org/stable/allpackages?format=txt.gz (stable).
Você pode salvar o conteúdo desta página, direto do seu navegador, com CTRL+S (o que te poupa o trabalho de descompactar e renomear o arquivo posteriormente).
Eu salvei a página (do stable) com o nome de Jessie.txt e executei o wc no arquivo:

wc -l jessie.txt 
57286 jessie.txt

De forma que a nossa resposta é: 57.280 pacotes — descontadas as 6 linhas do cabeçalho.
Para a lista online do Stretch, obtive o resultado seguinte:

wc -l stretch.txt 
68675 stretch.txt

… o que dá 68.669 pacotes.

Por curiosidade, fui verificar também a quantidade atual de pacotes no Sid ou unstable:

wc -l sid.txt 
103440 sid.txt

O número é expressivo mas, sabemos que nada é definitivo no unstable.

Quantos pacotes de software estão presentes no Trisquel Linux

Derivado direto do Debian, podemos usar um método semelhante para obter esta informação.
A página com a relação de pacotes do Belenos é esta: http://packages.trisquel.info/belenos/allpackages?format=txt.gz.

wc -l belenos.txt 
52753 belenos.txt

Como resultado, obtive, então 52.747 pacotes, nesta versão do Trisquel GNU/Linux.

Quantos pacotes há no Fedora?

O Fedora 26 alpha apresentava uma relação de mais de 57 mil pacotes, como é possível observar nos meus exemplos abaixo. Até o lançamento, o número deve mudar.
Na linha de comando, você pode inquirir os repositórios com o comando yum ou dnf.
fedora 26 alpha running under VirtualBox
Veja como fazer com o comando yum:


yum list | wc -l

57219

Antes de rodar o comando dnf, optei por atualizar/sincronizar o sistema com os repositórios — para obter um número mais atual, claro:


dnf update
dnf list | wc -l

57222

Como determinar a quantidade de pacotes de softwares disponíveis nos repositórios do OpenSUSE

O OpenSUSE permite o uso do yum — mas tem que ser instalado — nos mesmos moldes que já mostrei neste texto.
O ideal é usar o zypper para obter a informação.


zypper packages | wc -c

69367

Conclusão

A quantidade de softwares disponíveis para instalar e usar no seu sistema operacional é um fator de escolha importante para algumas pessoas ou empresas.
A outras, basta que tenha o que precisa ser usado (eu).
Quando temos a tarefa de indicar distribuições para outras pessoas, contudo, pode ser interessante levar em conta este número — principalmente se você não tem certeza sobre como a pessoa vai usar o computador.
Somado a isso, a lista de possibilidades é muito flexível em qualquer distro Linux.
É muito raro um aplicativo estar disponível para uma distro e “ser impossível” de instalar em outras. Se o código fonte estiver disponível, o impossível perde seu significado.
Por fim, a wikipedia tem um tópico comparativo entre as diversas distribuições e que vale a pena consultar sempre. Veja o link abaixo!

Referências

https://en.wikipedia.org/wiki/Comparison_of_Linux_distributions#Package_management_and_installation.