Mint 20 e Snaps

Três perguntas de alguém que chegou no mundo Linux a 1 mês. Quem puder me ajudar a entender, série bastante grato:

  1. O empacotamento serve pra você instalar um programa em um único pacote (algo como .exe) que sirva em qualquer distribuição, é isso?

  2. Pelo que percebi nesse um mês de Linux, os empacotamentos principais são .deb e .rpm. Não seria mais fácil haver um repositório com esses 2 pacotes dos programas, uma vez que eles são os melhores para seus sistemas?

  3. Qual a diferença entre flatpak e snaps? Dizem que o Flatpak é melhor. Porquê? E não seria melhor para a Canonical simplesmente incorporar e apoiar o Flatpak? Pra que toda essa dor de cabeça?

Hey! Vamos lá para minha tentativa de responder essas perguntas:

Mais ou menos isso. O pacote, tanto .deb quanto .rpm, possui todos os arquivos do programa (o executável, as libs, configurações, traduções, …), tudo já compilado, e um arquivo especial contendo as dependências do pacote, o que exige a instalação de outros pacotes. O que o gerenciador de pacotes faz é extrair esses arquivos para os diretórios corretos, rodar alguns scripts de pré/pós-instalação, e instalar esses pacotes de dependências. A diferença para o .EXE é que o pacote não se “auto-executa”, precisando de um instalador de pacotes para ser instalado, mas a ideia é parecida.

Sim e não. Esses tipos de pacotes foram desenvolvidos logo no início das distros Linux, sem a previsão de alguns problemas de segurança, de múltiplas arquiteturas e/ou diferentes versões do sistema, conflito de versões entre as versões exigidas por um pacote com as existentes no sistema, … Então mesmo sendo os mais comuns e mais integrados ao sistema, não são necessariamente os mais fáceis de se empacotar e os mais seguros.

O caso mais notório atualmente é o do pacote do Chromium, que a Canonical desistiu de empacotar em .deb, porque a cada duas semanas (tempo entre os lançamentos do Chromium) o time de empacotamento tinha que preparar, empacotar e testar os pacotes do Chromium para até 4 versões do sistema (16.04, 18.04, 19.10 e 20.04) para múltiplas arquiteturas, o que consome bastante recursos. Já com o Snap, eles argumentam que só precisam empacotar um vez (um snap) e o mesmo irá funcionar em todas as distros.

Ai é uma pergunta quase impossível de responder, sem um embate bastante técnico. A ideia dos dois é a mesma: Executar os programas em “sand-boxes” (caixas-de-areia), ou seja, em compartimentos isolados do resto do sistema. Cada pacote contém a maior parte das dependências já embutidas no próprio pacote, sem exigir a instalação de muitos outros pacotes (ainda existem dependência, no entanto). Como que cada um faz isso, porém, é bem diferente, mas puramente técnico. Isso aumenta bastante a segurança e praticidade, pois reduz muito o problema de conflitos e dependências, e ainda permite a instalação de múltiplas versões do mesmo programa e até mesmo o backup da versão anterior ao instalar uma nova.

A única grande diferença mais “polêmica” é que o Snap usa soluções fechadas e um único servidor para armazenagem e distribuição dos pacotes, não sendo possível criar outros servidores e nem analisar o existente, e o Flatpak, por outro lado, usa uma infra-estrutura completamente aberta (open-source). O Snap é desenvolvido unicamente pela Canonical, e o Flatpak é desenvolvido pela comunidade. Por isso que algumas distros torcem o nariz para o Snap e aceitam melhor o Flatpak.


Adendo:
No canal Diolinux do YT tem alguns vídeos sobre o tema com mais informações, se você estiver interessado:

Muito obrigado, muito esclarecedor. Vou procurar sobre o tema no canal dele. Foi através dele que conheci esse mundo Linux.

Aliás, torço muito para que o market share dos desktops continue crescendo bastante com Linux e ultrapasse os 5% (7-8% seria demais) e o Linux ganhe atenção dos desenvolvedores de desktop.

Também torço muito para que algumas distros amadureçam e evoluam ainda mais, tornando-se uma ponte para leigos utilizarem Linux com facilidade de uso (o calcanhar de Aquiles do Linux ao meu ver, UX).

1 curtida

Tem esse vídeo aqui também, que é bem detalhado, mas é em inglês e não tem legendas. Qqer coisa dá para ativar as legendas automáticas com tradução, para ter um noção melhor:

Refiz meu pensamento sobre o suposto sugamento.

Na verdade, a maioria dos usuários do Mint usam espelhos locais ─ pois isso é uma das primeiras coisas que o mintUpdate oferece.

Então, a maior parte das atualizações vêm, digamos, dos servidores da UFPR ─ que hospeda tanto espelhos do Ubuntu quanto do Mint. ─ Pouquíssima coisa vem dos repositórios principais: só algumas atualizações de segurança.

Como assim?

Pouquíssima coisa vem do repositório do Mint, nele está “somente” os itens da própria distribuição.

Agora os outros 90% dos pacotes são do repositório Ubuntu (drivers, programas, temas, kernel, etc).

2 curtidas

Em nenhum momento o termo “sugamento” foi indireta a vc amigo… deixo isso claro… Mas é que não é de hoje que alguns bajuladores da Cannonical acham a empresa o “Deus” do mundo Linux e procuram passar pano em tudo o que fazem, ou querem justificar atacando outras distros…

Em relação à novela dos Snaps, não uso esse formato… mas me confirmem que usa, pq pelo que andei lendo, o Clem resolveu “destravar” o processo de instalação do Snapd, pelo fato que existem usuários que usam o formato, e num possível upgrade do 19.3 p/ o 20 poderia quebrar ou algo deixar de funcionar no sistema de alguém…

Enfim… mais alguma dúvida sobre quem se preocupa mais com os usuários ? Pq a Cannonical não quis nem saber quando entregou uma loja de aplicativos bugada s/ opção de escolher os Flatpaks (a não ser instalando a Gnome-Software)

A gente não usa o reporitório “original” (principal), lá na Inglaterra, ou Irlanda, ou EUA, ou etc., pois a velocidade de download pode ficar muito lenta.

A gente usa um “espelho”, situado no Brasil ─ nos servidores da USP, da UFSCar, da UnB, da UFAM, da UFPR, ou da Globo etc. ─ Uns são pagos pelos nossos impostos, outros são de empresas privadas que esperam tirar disso algum lucro.

O que vem dos repositórios “principais”, é mínimo.

Esse é o meu raciocínio. A grande maioria dos usuários do Mint ao redor do mundo não estão “dando despesa” aos servidores da Canonical. Pelo contrário. Se fôssemos fazer essa conta na ponta do lápis, a Canonical é que deveria pagar às universidades e outras instituições ao redor do mundo.

Fique tranquilo, sei que não era indireta.

É que eu tinha concordado (em parte) com essa observação do Dionatan. Mas depois, ao fazer uma atualização, lembrei que baixamos pouquíssima coisa diretamente da Canonical.

Logo que a gente abre o mintUpdate pela primeira vez, ele já propõe mudar para um espelho mais próximo.

Continua bloqueado, conforme “O que há de novo” e as “Notas de lançamento”, publicadas hoje.

Fiquei na dúvida pq além de ler algo do tipo, eu até vi um review da versão final e o cara instalou o snapd s/ precisar deletar arquivo algum… como só tenho ele instalado em máquinas reais, ainda não fiz o teste, mas se está nas notas de lançamento…

Você tem razão.

Vi agora na Documentação do Mint sobre Chromium / Chrome.

Infelizmente, não salvei a versão anterior, quando ainda era preciso deletar um arquivo. Agora, não fala mais nada sobre deletar arquivo.

Talvez tenham arranjado outro modo de bloquear a instalação automática do Snapd ─ sem o usuário ser informado com clareza.

Atá, obrigado pela explicação. Eu havia entendido seu comentário de outro forma.

1 curtida

AppImage sim, na verdade é melhor porque nada sai do executável, snaps e flatpaks tem pelo menos uma dependência, fora AppImages e Orbs os gestores de pacotes não tem absolutamente nada a ver com os .exe

Na verdade não, pacotes .deb e .rpm além de modificar o sistema dependem de versões específicas da GLibC além de cada pacote depender de versões diferentes… enfim um inferno (literalmente é esse o nome dado)

No ponto pacote e forma de execução, os snaps são arquivos comprimidos (squashfs como os AppImages) que são montados durante o boot, além disso a sandbox é diferente do Flatpak mas fora isso não tem nenhuma diferença grande significativa

Os flatpaks são mais rápidos na primeira execução e simulam uma integração visual com o sistema, além disso não obrigam o usuário a atualizar os programas

Não faz muito sentido, o snap tem funções bem interessantes pra quem usa IoT que o Flatpak não tem ou não faz direito, apesar de não ser útil pro desktop rende uma boa (tipo muito boa) grana pra Canonical

Porque vale a pena economicamente, além do mais considerando que só 5 devs/empresas (Endless, Winepak, Nuvola, GNOME e Lirios) distribuem flatpaks de forma pura (com objetos ostree), eu penso que tem algo relacionado a forma como são distribuidos… POSSO estar ERRADO, mas…

Muito obrigado pelo esclarecimento!!

Não acho nem um pouco certo a Canonical querer obrigar o uso de snaps no ubuntu.

Essa do Chromium, muito errado, se você usa o apt, você espera que ele baixe pacote em .deb, não em snap, se eu quisesse pacote em snap, usava o sudo snap, eles não conseguem empacotar um chromium em .deb, mas conseguem empacotar mais de 10.000 mil pacotes para 3 versões do Ubuntu, e melhor admitir e falar que fez isso com o Chromium porque queria obrigar todo mundo a usar snap mesmo. E outra, se eu quisesse ser obrigado a algo, ficaria no Windows 10.

3 curtidas

O único detalhe é que o Chromium não só precisa ser constantemente atualizado na melhor das situações o Chromium leva 8 horas pra ser compilado some isso a ter que compilar ou outros 10000 pacotes + kernel e vc tem uma empresa torrando dinheiro a toa

1 curtida

Canonical obrigar a usar snap??? Totalmente sem sentido sua afirmação e eu vou mostrar! Uma coisa é a canonical dar preferência a um tipo de pacote, sendo que vc tem a opção de instalar a versão deb se quiser. Quer dizer q seu eu baixar o debian ele vai estar me obrigando a usar .deb já q todos os pacotes dele são deb? sendo q eu quero usar .rpm. Ou seja, dar preferência a um formato não é tirar seu direito de usar outro. N quer usar deb? Escolhe fedora. Se o Ubuntu prefere dar suporte ao chromium usando snap ela tem o direto já q desenvolve o sistema. Mas ela n te impede de baixar o código fonte do chromium e passar 6 dias compilando. O problema é q vcs querem controlar aspectos do sistema sendo que nem ajudam no desenvolvimento do mesmo.

1 curtida

Os reclamões chupinham o trabalho alheio e querem mandar nele.

Porque não passam a fazer o próprio trabalho ao invés de simplesmente esperar que a Canonical e a comunidade do Ubuntu o faça?

Acho q o Linux mint perde mt tempo com questões bobas, poderiam focar essa energia em melhorar o aspecto visuak do sistema e do site, que vamos combinar é bem feio msm.

De um sudo apt remove snapd e depois de um sudo apt install chromium, pra você ver o que vem junto.

E outra, ninguem sabe se isso e so com o Chromium.