Fedora: RPM vs FLATPAK

Este artigo traz alguns aspectos comparativos no uso de apps em rpm / flatpak. Também minha experiência e observações sobre o uso destes pacotes.

Primeiramente, para informar que o flatpak não é feito para ser usado em todas camadas do sistema, ao contrário, apenas para a camada do usuário e seus apps. Já pacotes .rpm servem para todas camadas do sistema.

rpm = gerenciador de pacotes para o sistema (o que inclui o espaço do usuário).

flatpak = gerenciador de pacotes para o usuário (o que não inclui o espaço do sistema)

Ou seja, se você instala um .rpm, pode ou não estar modificando um pacote crítico do sistema (coisa que só um administrador de sistema deveria fazer?) se instala um flatpak seu sistema não será modificado por conta da sandbox.

Então o comparativo é basicamente na área dos aplicativos do usuário de desktop comum e como será no Fedora, também será dnf/rpm vs Flatpak assim como os respectivos repositórios rpm do fedora/rpmfusion e o repo flathub.

De fato, não existe um comparativo “justo” entre estas tecnologias com propósitos diferentes.

Para o teste criei duas instalações idênticas em VM (GNOME Boxes) com Fedora mínimo  (GNOME). Possuem HD virtual de 21.5GB, 2GB de ram e 8 nucleos de CPU.

Veja imagens com informações antes da instalação dos programas da comparação.

Captura de tela de 2019-11-17 07-29-52.png

Captura de tela de 2019-11-17 07-30-49.png

Captura de tela de 2019-11-17 07-31-14

Na VM 1 instalarei apenas programas em .rpm e na VM 2 full flatpak.

Os programas são:

GIMP

Telegram

Kdenlive

LibreOffice

Spotify

VLC

Discord

GNOME Boxes

Uma seleção de programas QT/GTK/GNOME/KDE. Já considerando um cenário onde será instalado runtime’s diferentes via flatpak, assim como lib’s do GNOME e KDE via dnf.

1 – Tempo de instalação:

Primeira coisa que vou medir é o tempo que leva para instalar todos apps, não vou contar a adição do repositório rpmfusion, pois é basicamente 1 comando assim como a adição do flathub.

Este teste pode não ser muito preciso, pois minha conexão e os servidores podem oscilar, além de muitos fatores da internet (minha conexão baixa a 11MB/s em boas condições) fiz algumas vezes, e o tempo não mudou muito, margem de erro com menos de 1min no máximo, porém dá para ter alguma noção.

obs: a infraestrutura do Fedora é mais rápida que a do Flathub.

A instalação será via terminal com 1 comando contendo todos apps.

Flatpak’s:

flatpak install org.gimp.GIMP org.telegram.desktop org.kde.kdenlive org.libreoffice.LibreOffice com.spotify.Client org.videolan.VLC com.discordapp.Discord org.gnome.Boxes -y

RPM’s:

sudo dnf install gimp telegram-desktop kdenlive libreoffice lpf-spotify-client vlc discord boxes -y

obs: o spotify do rpmfusion necessita rodar um update/build (lpf-gui / lpf update) antes de poder usar o o programa corretamente, levou aproximadamente 4 minutos:

Captura de tela de 2019-11-17 07-43-42Captura de tela de 2019-11-17 07-45-29Captura de tela de 2019-11-17 07-46-05

Imagem do menu após todos apps instalados:

Flatpak’s

Captura de tela de 2019-11-17 08-08-35.png

 

RPM’s

Captura de tela de 2019-11-17 07-50-04.png

 

Via DNF: 3:31 + 4:00 = 7:31

Via Flatpak: 9:07

Captura de tela de 2019-11-17 08-19-53

Aqui a diferença favorável aos pacotes RPM’s, o processo foi um pouco mais rápido, levando em conta que foi a primeira instalação, onde o processo via flatpak será mais demorado por ter que baixar todas runtimes. Notei que o download via dnf (repos do fedora/rpmfusion) a velocidade é quase sempre no “talo” da minha conexão, baixando a 11MB/s em muitos momentos. Já via Flathub a velocidade é gradualmente aumentada dependendo do tamanho de uma parte, nem dá tempo de chegar ao máximo da conexão. Creio que a otimização da infraestrutura do Fedora/RedHat + anos com DNF/RPM ainda é imbatível para o Flathub.

2 – Espaço em disco após instalação:

Flatpak’s

2.5GB para 8.2GB

Captura de tela de 2019-11-17 08-11-38

RPM’s

2.5GB para 6.8GB

Captura de tela de 2019-11-17 07-54-44

Captura de tela de 2019-11-17 08-23-47

Favorável aos pacotes RPM’s, usou menos HD.

3 – Tempo de boot e memória RAM inicial, após instalação dos apps:

Vamos verificar se a instalação dos apps alterou alguma coisa significativa no processo de boot, lembrando que as VM’s estão em SSD.

Flatpak’s

Captura de tela de 2019-11-17 08-54-26

RPM’s

Captura de tela de 2019-11-17 08-52-24.png

Sem alterações.

4 – Uso de memória RAM total, quando apps abertos:

Flatpak’s

Média de 1.4GB de Ram

Captura de tela de 2019-11-17 08-56-10Captura de tela de 2019-11-17 08-56-20Captura de tela de 2019-11-17 08-55-47

RPM’s

Captura de tela de 2019-11-17 09-05-40Captura de tela de 2019-11-17 09-05-51Captura de tela de 2019-11-17 09-03-25

 

Também não tivemos diferenças significativas e notei que o uso de ram pode variar para os dois lados.

Concluindo:

Foi abordado aqui, alguns aspectos comparativos iniciais, que costumo ver em comentários de usuários. Para mim fica óbvio que pacotes rpm’s instalados no sistema, levam algumas vantagens, como no uso de banda inicial e espaço de armazenamento, se estivéssemos testando nos anos 2000, onde internet/armazenamento eram muito mais limitados, consideraria inviável o uso dos Flatpak’s. Porém também consideraria inviável o próprio Fedora, que possui muitos updates para manter seus sistema atualizado e atual, tanto em versionamento quanto em correções de segurança. Isto falando apenas no setor de Desktop (PC).

Captura de tela de 2019-11-17 09-46-57.png

Atualmente em meu sistema principal, rodo o Fedora Silverblue com aproximadamente 35 apps em flatpak (do flathub) mais alguns na home do gnome_nightly e kdeapps. O neofetch reconhece a somatória de app’s e runtimes flatpak, 94 atualmente (tem runtimes que instalei apenas para teste e nem uso mais).

Captura de tela de 2019-11-17 09-47-35

Minha instalação está em uma SSD de 240GB, atualmente sendo usado média de 35GB na raiz (diretórios do Silverblue são diferentes da Workstation).

Captura de tela de 2019-11-17 09-48-30.png

Minha pasta /var/lib/flatpak onde contém todos (quase todos tenho alguma coisa na home) flatpak’s instalados no sistema, contém 13,6 GB.

Captura de tela de 2019-11-17 09-51-22

Sobre comparativos de tempo na abertura dos app’s, não tive diferença perceptível, uso flatpak’s também em meu notebook, em uma conexão que baixa a 1,5MB/s em boas condições.

Comparativos de desempenho entre apps rpm’s e flatpak’s podem variar pelo versionamento das lib’s dependentes. Ou seja em um momento um pode rodar melhor que o outro e vice versa.

Exemplo:

um flatpak pode rodar melhor que um rpm, caso esteja usando uma runtime com lib’s atualizadas e que receberam otimizações, do que o rpm usando lib’s do sistema, que pode ou não ter recebido o update da lib que fez a diferença.

Também pode acontecer de um flatpak usando uma lib de versão X, que cause um “vazamento de memória” e o mesmo app em rpm, usando lib de versão Y sem este bug.

Ou seja, pode ser bom pra um ou para outro não por questão de empacotamento, mas de versionamento.

Pessoalmente uso programas via flathub sempre em versões atuais, jogo na Steam, edito vídeos no kdenlive e muitos programas que exigem desempenho e não tenho notado diferenças significativas, até porque já usava pacotes rpm bem atuais também no Fedora.

Sobre “integração” creio que vai variar de DE para DE / distro para distro, algumas distros como o Zorin, já traz runtimes de seu tema padrão instalado (pois provavelmente não está no flathub) já o Linux Mint e EndlessOS trazem o flathub já pronto para usar, mesmo assim, é pouca coisa que muda de uma para outra. O GNOME tem uma atenção especial com flatpak’s, mas já testei em outras DE’s como o KDE Plasma, que mostro neste vídeo:

Flatpak command Fedora command
flatpak update dnf update
flatpak install dnf install
flatpak remove dnf remove
flatpak search dnf search

O uso dos flatpak’s do flathub não são perfeitos, o ideal seria não ter muita fragmentação de runtimes, assim diminuiria a quantidade de download, que geralmente usuários estranham no começo.

Os flatpak’s trazem um período de mudanças, onde o desenvolvedor agora precisa se preocupar com questões de “permissões” de seus app’s. Fora que é natural toda nova tecnologia não chegar “perfeita” para seu propósito.

Captura de tela de 2019-11-19 17-54-00

Já por parte do RPM também não é perfeito, o usuário poderia ser capaz de instalar um simples “app” de terceiro, muitas vezes de código fechado, podendo limitar algumas permissões facilmente (aumentando a segurança) sem correr o risco de modificar o sistema, as vezes quebrando em algum update por conta do mantenedor não atualizar junto com seu sistema (o que causa a fragmentação de runtimes no flathub) sem precisar de privilégios de super usuário/sudo ou de apenas manter esta separação sistema/usuário.

Pessoalmente continuo usando pacotes rpm para o sistema, porém os apps que estão mais ligados ao conceito “userland” e com interface gráfica, procuro dar preferência aos flatpak’s. Pois faz mais sentido, ainda mais no uso do sistema Fedora Silverblue, na qual tem o mesmo paradigma/conceito.

 

 

 

 

 

 

 

 

 

 

Um comentário em “Fedora: RPM vs FLATPAK

Adicione o seu

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Blog no WordPress.com.

Acima ↑

%d blogueiros gostam disto: