[TUTORIAL] Como manter os flatpaks somente na Home

Olá, pessoal. Beleza?

Tenho uma instalação do Fedora Silverblue 32 no meu notebook, e ele está dividido em duas partições: uma / com 26GB e uma /home com 64GB.

Como uso muitos programas flatpak no sistema, mantenho todos os programas e runtimes somente na minha Home, para não ocupar muito espaço na minha partição root, que tem apenas 26GB mas poderia ser até menor, já que não instalo muitos programas da forma tradicional.

A instalação que vou mostrar não serve apenas para o Fedora Silverblue, mas para qualquer sistema que tenha suporte a flatpaks.

Vantagens

Vocês vão ocupar menos espaço da partição / do sistema, isso ajuda nos casos em que a pessoa separa a partição /home e tem espaço limitado na /

Desvantagem

Os apps e os runtimes ficarão disponíveis somente para o usuário que fez a instalação. Mas como eu, em 13 anos, nunca tive mais de um usuário na máquina, não fará diferença.

Onde ficam os flatpaks?

Quando os flatpaks são instalados de maneira global (system wide), eles ficam em /var/lib/flatpak, vejam como estão os runtimes e apps que já vieram com o sistema (repositório flatpak do Fedora):

Conteúdo de /var/lib/flatpak:

Diretório dos apps:

Diretório do runtime da plataforma Fedora:

Espaço ocupado pelos apps e runtimes na partição / do sistema: 1,5GB

Adicionando o repositório Flathub na Home

Para adicionar um repositório Flatpak apenas para o usuário atual, podemos usar o parâmetro --user na hora de adicionar o repositório. Assim os apps serão instalados sempre na home do usuário.

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

Com o uso do parâmetro --user, vejam como fica a lista dos repositórios remotos de flatpaks:

Reparem que o remoto flathub mostra somente user na coluna Opções.

Onde ficam os apps e runtimes do usuário?

Por padrão, ficam em ~/.local/share/flatpak

Vejamos o conteúdo do diretório de apps:

Vejamos o conteúdo do diretório de runtimes:

E o espaço ocupado pelos apps e runtimes (5,3GB):

Como vocês podem ver, eu poupei os 5,3GB que usaria na partição root do sistema.

Mas e a pasta ~/.var/app?

Boa pergunta :smiley:
Na Home do usuário existe um diretório .var/app que ficou cheio de subdiretórios com os apps. Esse diretório não é onde os apps estão instalados, mas sim onde ficam suas configurações. Podemos comparar com o diretório ~/.config, que é onde ficam as configurações dos programas tradicionais (quase sempre).

Vejam o conteúdo de ~/var/app:

E o espaço ocupado pelas configurações dos apps (474MB):

Vocês devem ter reparado que as configurações dos dois navegadores ocupam algumas centenas de megabytes a mais do que os outros apps. Vamos ver o motivo analisando o diretório das configurações do Firefox:

160M    org.mozilla.firefox/cache
 60M    org.mozilla.firefox/.mozilla
 48K    org.mozilla.firefox/.ld.so
 32K    org.mozilla.firefox/config
8,0K    org.mozilla.firefox/data

E assim pudemos ver que o espaço ocupado pelos navegadores se deve ao cache que eles armazenam.

Por hoje é só, pessoal. Eu espero ter dado alguma informação útil sobre o uso de flatpaks. Lembrando que isso não serve apenas para o Fedora Silverblue, mas para qualquer sistema que tenha suporte a flatpaks.

Se tiverem alguma dúvida, deixem comentários ou troquem mensagens no nosso grupo no Telegram - https://t.me/comunidadefedorabrasil

Sobre o til (~)

Caso alguém não saiba, o til representa o diretório (ou pasta) home do usuário, no meu caso seria /home/leo. Então eu não preciso escrever /home/leo/.var/app, posso escrever ~/.var/app.

Abraços!

Comentários

  • É bem legal fazer isso principalmente pra quem usa a steam em flatpak. Porque os jogos (que são arquivos bem grandes) ficariam na home que tem mais espaço. Massa leandro. Ótima dica ai, como sempre vindo da sua parte.