Há algum tempo atrás eu fiz aqui no blog duas matérias relacionados ao Snap, uma delas mostrando como você instala o suporte a eles em qualquer distribuição e outra ensinando a utilizar a ferramenta. Hoje é a vez do Flatpak com um combo! 😊
Tecnologias revolucionárias como o Flatpak e o Snap são ótimas, mas elas carecem da mesma coisa, justamente por conta de serem novidades, que é documentação coloquial. Por mais que existam manuais oficiais, sempre há algo que foge àquele conteúdo. Hoje eu vou te mostrar como fazer a instalação do Flatpak na maior parte das distribuições Linux e te dar as diretrizes básicas de como se utilizam estes pacotes.
Instalando o Flatpak na sua distribuição Linux
Basicamente o pacote é o mesmo em todas as distros, variando de acordo com o sistema e seu gerenciador de pacote, então vamos para a pequena lista em ordem alfabética: Alpine Linux O suporte a Flatpak pode ser instalado desta forma:
sudo apk add flatpak
Arch Linux (Manjaro/Antergos) O suporte a Flatpak está disponível diretamente dos repositórios oficiais, e também existe a versão do AUR. Você pode instalar desta forma:
sudo pacman -S flatpak
No Arch, para ter as ferramentas de desenvolvimento (Flatpak-Builder) funcionando corretamente é necessário instalar algumas dependências extras, mas isso só serve para você que for desenvolver os pacotes, usuários comuns poderão usar apenas o comando acima.
sudo pacman -S --asdeps --needed elfutils patch
Debian Com o lançamento da versão 9 do Debian que tivemos na semana passada, o suporte a Flatpak pode ser instalado à partir do repositório oficial também.
su root
(digite sua senha)
apt install flatpak
Para o Debian Jessie será necessário usar o repositório Backports.
Fedora
Do Fedora 23 em diante você habilita o suporte ao Flatpak facilmente com o comando:
sudo dnf install flatpak
Gentoo Atualmente não existe uma forma oficial de instalar o Flatpak na distribuição, entretanto, existe um método não oficial que pode ser encontrado aqui.
Mageia
Instalar no Mageia é simples também, inclusive existem duas formas de fazer isso, dependendo do gerenciador de pacotes que você preferir utilizar. Lembre-se de executar os comandos como root, como no Debian:
dnf install flatpak
Quase igual do Fedora, não é? Outra opção é caso você prefira utilizar o urpmi como gestor, neste caso seria (também como root):
urpmi flatpak
openSUSE No openSUSE também existem duas formas de fazer a instalação, dependendo de qual versão do “Rei lagarto” você use. Se você usa a versão Leap ou Tumbleweed, em ambos os casos você pode usar o método 1-click install através do Yast, ou caso use a versão Tumbleweed em específico, você pode instalar via Zypper também:
sudo zypper install flatpak
Ubuntu (Linux Mint/elementary OS)
No Ubuntu varia de acordo com a versão, caso você esteja usando a versão 17.10 ou superior, o flatpak já está no repositório e você pode instalar com um simples “sudo apt install flatpak“, no entanto, para quem usa o Ubuntu 16.04 LTS ou 17.04 é necessário usar o PPA oficial, o mesmo vale para Linux Mint e elementary OS (ambos baseados na LTS) e as outras derivações oficiais do Ubuntu (Kubuntu, Xubuntu, Ubuntu MATE, etc) respeitando o seu versionamento.
sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak
Isso cobre a maior parte das distribuições, agora vamos aprender a utilizar o Flatpak.
Como usar os pacotes Flatpak
Vamos fazer agora do gerenciamento de pacotes Flatpak básico para você poder atualizar as aplicações, instalar e remover e fazer consultas sobre informações.
Quer aprender a fazer isso com o apt? Confira este artigo.
Acho que em primeiro lugar é bom que você saiba que pode consultar toda a documentação sobre o Flatpak disponível atualmente aqui, no site você encontra informações sobre a estrutura dos pacotes, como criá-los, como criar repositórios, etc.
A grande questão que deixa um pouquinho mais complicado o Flatpak em relação ao Snap atualmente é que você precisa adicionar um repositório específico para cada programa em muitos casos, então é importante que o desenvolvedor te informe isso, você pode ver alguns exemplos nesta página na aba “Command Line”.
Os pacotes Flatpak possuem os chamados flatpakref, que como o nome sugere, são pacotes quem contém referências para o download das aplicações e servem de intermediário, futuramente esses pacotes serão gerenciados diretamente com as centrais de aplicativos, como o GNOME Software, permitindo que os pacotes sejam instalados com dois cliques como qualquer deb ou rpm (assim como os Snaps), porém, atualmente, ao menos eu meus testes este recurso ainda não está funcional. Quando a integração estiver perfeita, a necessidade da adição manual dos repositórios poderá ser contornada.
O conteúdo de um flatpakref é basicamente este abaixo (LibreOffice), composto do nome do pacote, informações do repositório, como a URL do mesmo, qual é a versão de lançamento dele, chave GPG e link para o Runtime do Flatpak, etc.
[Flatpak Ref] Title=The Document Foundation LibreOffice Name=org.libreoffice.LibreOffice Branch=fresh Url=http://download.documentfoundation.org/libreoffice/flatpak/repository IsRuntime=False GPGKey=mQINBEyzEr0BEADT441wUITsTwDA2nM3kmUhGrzTdxZB5xv/E1ZJCw63qWdmdTdWNZDfNDuLs4r2VjlEoA3xGK6jgnQvyAoNj0yiEbW/JedHHgOiVdXDlkgkY58myafTFXqDLzTXVrsNnay0GS8XrNjptZJPhEPBvNUdkqpA9B7RTkfaXj779Pf/AeFMZVLlUAci5RA0NNF910GHwoXT6SEv2PGoawsphnfmMVdKh9wz7asbtKXEmotCwX3k045xLsIVK5ANOi+BI9C3LkrrFJWw2XHqDW2ulwCJ0L5QNSjOuY/v8REODwIXamvvdZOzXBKSIzDOalJqFCHls3YlGyFw1knr6BAOmVOm32YtNTCLbVA/iK55fZWnUCjD3a4Gxz4qpQYWfpxhOmlHpk5JkraSNHzCc7SB43DwcHF5ecXHttMhO8MoN/bAZBgCuLGFEwNvwFbDwIWo07mlv7wD8i1rtUCvLywJc5YL2PbjCLfB1Q4YzDX1EWnjKdnAsxxKftrx1DFlxzUF+TaHbLTPttUcsWQaL8wITznoWIwdIWlo2woPgWIpUXMOYwYV31OofgmroHa3V4NOvkke09uhaZawg5yZCoRFohhfKPqT1ZrJ9SnRbW/WR3VTVY76ht5kRuV3eb2VWBmPU9zn56Tbe6dvFkBuzHH1JdECAqy1BzFcmQQFBebFzf1XAQARAQABtEhMaWJyZU9mZmljZSBCdWlsZCBUZWFtIChDT0RFIFNJR05JTkcgS0VZKSA8YnVpbGRAZG9jdW1lbnRmb3VuZGF0aW9uLm9yZz6JAjcEEwEKACEFAkyzEr0CGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQ9DSh76/urqOc4w//X+74QlyRalcuLNw3oJKB1+1z6xxhhpwg1kw5cMMrGu0w0YoPvLDKaiS02DdkIaXDECcQTOoEh7/bYbZq6OtE1WyxqHYYOPK5yul5FRwZ5k5HZ7pDFcKCQ72UgWhz+QznRhgZ0jwEWl5Ln3rwJpSynIvTXHmQogId0xmcrNQPyckzzugGx4qZFinSOmDGwTgG14NU3vat2iek37PhBLh5V8ohlEoccwwPejtKEWQudg0Q8K7uBuqLUhnJoZodEytqpOvtysuPtGxGXnmD7oXtBVEF3X6eFRXDIp81cx2isHK4Krf4z4T9KUimNLHjWRa+ZQtp2pZLHQlblfsnCUf6TYZ0Yi909EhcM/hxAgBZXellOCQ/8U2cJsTUyN5Dp1wbf6X0uK4uaed1/037EGLAO6PP6WQz6jWd1/hhsQ5oAmdjkzlMFEfKNeIIDuKMOjXcTvM8/KRXhufwICvSFBlSIveHfDFWCvOVgq0VjAY7NFMFKRUnRHB58qBamtyhOyscRIvT5QH8HYfUA/YNl9FguczYUIQi3t+H1hoHIywdtmRuhYx5WlIUe8FO9QD5RMPbBjVbkCYgdHdxgnJDKCoRGsoKlLB7UZc4Ak9j6plZbYtFRonm2MjU4zxblCFNuEqVQ0V/y6/OIGpBYF9YaEAtTgEJd9OmmDCM3d8O0zZHYma5Ag0ETLMSvQEQAMDp0HxSDWd+2Od/aJutCMFe8tfw7+nP9gfHOCUqesb88QvRMJgVY6z1aNdMllxTKlsxUiuA6uNcrUAkzDp/qRWR58rWIO642PLifng3urJ1cDbSKC+K4RHpQC+hXllMKLqq8dwNy1LO4fPo9SdtUF4Bev6enKmo4yCiOGv2tvztPh9gMGYoDncaOsS0t2UPr2MMQIVUmmIzfJBkdOxbZiWOdoeNbWsYJHQaO+Ahal6SjPHKzhdjeXhZzHl1vqeDkV4MXHprrOwXNXwPiEpkZe2Odc7yaMkQc0k8WRrfKHApbnwDx6Mi8HYaf+LvRq7P0eMO9osD1q44wQQvVzk199zpMMHS5/kAv7RBNmDOSJQIZ4zT4lzRDODjMf01Ljn02zon12GfJo0WbbpmLulta7ujHgMrUU54by8WPFGW0fljXiDX0EpkHhxUsUsfaNfBsFnE+sRxQjNF/ljvofkyApI21OjtEa9krwvgDqaXsL+a2076OsoFpORlTZ30REb0eRS6rEt8M+7s4xTaA7GFxlY/N+bnaM8m+ItygfFHHW4H0wLbbgajDeooSTgaheVNF5V9HS0EkN4MNVvtJH7J6drdiR1QVhX87n7+JtQzTtCOyfeKjaB+kcbAm/2VOFOeHdig5+BygpXt3IixVq72xmGzh0jhY565MjXrqg5O3pvLABEBAAGJAh8EGAEKAAkFAkyzEr0CGwwACgkQ9DSh76/urqPaeg//avI2/a94XlSYtSZb2hVdW3qa9AEypQurqtVrKJfEKFV+ZQBPXbPRy8Mz5LMEH1sfD6B4SVGIGJ8opSyieJkcKIke+GMekTWvSqDpFOgY2rw7eHNn/33ZJs3OzQOyWz8smE/AIM/5lyiVGuSlU7RjYncf1V9bIBc91q9Edqk4IYUo/7W+yafC0VW/8oHUFYjHNaujiOsEoLiXsh9Y0R/6Jxs6fvE4XbCANV/ecN5UX+9BBrNZNN/9GbNr6CYGZ57M2f1Pgywy/XvOnEPnJ8aWXUyGLqq34KvMPFPSOeAmFbkFEsB4mdDMFaDwrzziiZE/zS8/nKiH4X2JgmLgFsadEihdfYxeDcGbhREK/qA1f3bGnr1j05V07yko2FFZdiOr4OgiT5ymgwVUXQ2Aiz+J/C8URjfpcPxetmuDQT9AYfgmMKPNVXPFWuNQdzN5GZbI+E1/cb5+uLNknvjngw2G4PR/4uPHX1HCSftlNawBqWzyun1k+B7/u3OeFebWXcdqSmZuLQ7l0Pkuz/Nlp6M6cKpceL+9zCgaiR5+v9h94VvtXKd/mw9ZLACcVcOANiwCtsJP3lt7jRSHtkuUe6vUm5tLS582RfXxoI1BlPjNtG9xAQ3JKBHIXbalT18pAFO3t74cxg3h0iI1G51F3oL0DwILP2MBBmardVEp5CMnB/M= RuntimeRepo=https://sdk.gnome.org/gnome.flatpakrepo
Tirando a questão dos repositórios que podem variar de acordo a aplicação, o manuseio é simples de se fazer:
flatpak install nome_do_app – Instala uma aplicação ou um Runtime, por exemplo, flatpak install spotify.flatpak update – Atualização uma aplicação ou Runtime, pode ser usado para uma aplicação específica também ou para um conjunto, como flatpak update skype.
flatpak uninstall – Como é de se supor, esta opção serve para remover um pacote ou Runtime, por exemplo, flatpak uninstall libreoffice.
Para saber o nome dos pacotes Flatpak que você tem instalado, você vai querer usar o: flatpak list
Vamos agora para algumas opções um pouco mais avançadas: flatpak info nome_do_app – Mostra informações sobre a aplicação.
flatpak runnome_do_app – Roda o App com o nome indicado
flatpak override – Este parâmetro serve para sobrescrever os requerimentos da aplicação.
flatpak make-current – Produz uma versão específica do app indicado (develop)
flatpak enter – Entra em uma aplicação
flatpak document-export – Exporta um arquivo para o modo Sandbox
flatpak document-unexport – Para a exportação iniciada com o comando anterior
flatpak docuiment-info – Mostra informações sobre os Apps exportados flatpak document-list – Lista os arquivos/Apps exportados
flatpak remotes – Lista os repositórios remotos habilitados
flatpak remote-add nome_do_repositório – Adiciona um repositório Flatpak
flatpak remote-modify – Modifica um repositório remoto
flatpak remote-delete – Deleta um repositório remoto
flatpak remote-ls – Mostra as Runtimes e aplicações disponíveis
Estes são os principais, mas existem outros especialmente voltados para desenvolvedores, vale a pena conferir o link que eu passei anteriormente com a documentação, para quem estiver interessado em desenvolver pacotes Flatpak, o site do projeto explica como você pode baixar o SDK e começar a fazer seus primeiros pacotes neste novo formato.
E claro, outra forma de você conhecer mais e entender os parâmetros de manuseio do Flatpak via linha de comando e usar o bom e velho:
flatpak --help
Até a próxima!