Por que o Ubuntu está migrando para pacotes Snappy?

127

Por que o Ubuntu despejando pacotes .deb e passando para pacotes .snappy? (Pelo menos por enquanto eles estão mantendo o pacote .deb para distribuições normais). .deb já é a embalagem mais popular por aí.

Isso dá uma idéia sobre qual é o formato do pacote Snappy. Mas o que acontecerá com os pacotes deb existentes? Existe alguma vantagem em mudar para o Snappy? Vale a pena a dor?

Vishnudev K
fonte
11
O link é borken
y30 9/09

Respostas:

146

O Snappy é uma tentativa de resolver um dos problemas fundamentais do Linux como sistema operacional de desktop e esse problema é a disponibilidade e distribuição de pacotes. No entanto, o Snappy não se destina totalmente a substituir debs. Snaps e Debs trabalham lado a lado.

Sou entusiasta do Linux e gerente de projetos de um aplicativo Linux. Enquanto eu amo os sistemas Linux como um todo, desprezo o estado atual da distribuição de pacotes. O Snappy tem como objetivo resolver este problema fundamental.

No Linux, os pacotes são específicos da distribuição em grande parte (é possível criar um DEB que roda em todos os diferentes sistemas baseados no Debian, mas que limita você de algumas maneiras), mas não apenas que os pacotes são específicos da versão da distribuição.

Se eu criar um pacote deb para o Ubuntu 16.04, esse pacote não funcionará em nenhuma versão do Ubuntu. Eu também tenho que fazer um 14.04, 15.04, 15.10, e assim por diante. Estas são APENAS debs do Ubuntu. Eu também preciso criar um para o Debian. Então você precisa criar RPMs para o Fedora 21, 22, 23, etc, e esses RPMs nem cobrem o openSUSE.

Isso significa que, se eu quiser liberar uma nova versão de um aplicativo e não esperar que os mantenedores da distribuição o incluam em um repositório (que geralmente leva uma quantidade absurda de tempo), tenho que fornecer mais de 20 pacotes para cobrir a maioria das distribuições Linux e ainda assim não vai cobrir tudo.

O Snaps do Ubuntu fornece uma maneira de criar um Snap que é executado em todas as versões do Ubuntu que suportam o Snaps. Não é mais a versão específica da distribuição.

Os snaps podem ser integrados em outras distros. Potencialmente não é mais uma distribuição específica.

Os snaps são controlados em um repositório que deve ser mantido pelos desenvolvedores de pacotes; portanto, quando queremos lançar uma nova versão, não precisamos esperar ninguém.

Essencialmente, tudo o que eu odeio na distribuição de pacotes Linux será resolvido pelo Snappy. Embora seja importante observar que esses problemas também seriam resolvidos pelo AppImages e Flatpaks .

TL; DR

A distribuição de pacotes do Linux é péssima para desenvolvedores e usuários. O Snappy (também AppImages e Flatpaks) tem como objetivo resolver este problema fundamental com sistemas baseados em Linux.


Esta pergunta é realmente sobre o motivo da mudança, mas se alguém estiver interessado em aprender mais sobre o que são os Snaps e como eles funcionam. Eu criei este vídeo para explicar a estrutura em profundidade.

Michael Tunnell
fonte
13
Puxa, você faz parecer tão difícil, exceto que ninguém nunca suporta tantas versões do Fedora, Debian ou Ubuntu. Quando 16.04 é lançado, 15.04 é EOL. Quando o Fedora 23 é lançado, o F21 tem menos de um mês de vida útil, apenas o tempo suficiente para as pessoas pularem um lançamento. Não que isso importasse. Depois que você tiver escrito o arquivo de especificação RPM básico ou o pacote Debian básico, as outras distros serão versões aprimoradas, e então é apenas uma tarefa da Jenkins construí-las para cada novo lançamento.
John Franklin
10
Os pacotes Ubuntu são feitos para muitas versões: 14.04, 15.10, 16.04 e algumas continuam suportando LTS antigo como o 12.04, que ainda é suportado. || O Fedora não possui LTS, portanto, há menos versões para suportar, mas ainda há pelo menos duas versões com três possíveis. || O que soa melhor para você? A. faça vários pacotes de cada versão do mesmo aplicativo para uma distribuição e faça isso para várias distribuições. OU B. faça um snap para cada versão do seu aplicativo e funcione em qualquer distribuição e em qualquer versão da referida distribuição. Sim, voto por snapshots nesses cenários.
Michael Tunnell
4
@ user447607 Você está entendendo mal o que é Snaps e Snappy. Não haverá redundância, haverá tempos de execução e haverá opções para que os snaps dependam de outros snaps para economizar espaço. Isso já é possível, de fato. O Snappy é um sistema de gerenciamento de pacotes diferente que lida com snaps e o apt ainda está envolvido com DEBs. Os snaps não substituem os DEBs, mas aumentam os DEBs para que você obtenha uma abordagem híbrida que cubra os dois métodos. De fato, os snaps podem ser gerados automaticamente através de DEBs existentes.
Michael Tunnell
2
O @konung Docker é puramente conteinerizado, onde o Snaps possui isso, além de integração com os principais componentes do sistema. Por exemplo, o Docker exige que tudo seja incluído no contêiner para usá-lo. No entanto, os snaps exigem apenas que as necessidades sejam incluídas e, em seguida, ele pode parecer fora do snap para utilizar outras coisas. Os snaps também têm uma infraestrutura MUITO melhor porque o Docker não possui um mecanismo de atualização real, mas os snaps utilizam um sistema de gerenciamento de pacotes semelhante ao APT para Debian. Sugiro conferir o vídeo que eu vinculei na postagem original. Pretendo fazer uma versão atualizada em breve.
Michael Tunnell
6
@konung Snaps não são contêineres. Muitas pessoas as comparam ao Docker, por exemplo, mas o Docker é um contêiner verdadeiro, onde Snaps não. Os snaps são semelhantes a contêineres, mas não são contêineres cheios porque permitem exceções fora do confinamento. Por exemplo, o material de configurações / configurações / dados é armazenado fora do Snap, dentro da pasta / home. Dessa forma, você pode ter quantas versões de um snap quiser, todas compartilhando os mesmos dados / configurações.
Michael Tunnell
20

É simples. O pacote Snappy contém todos os arquivos necessários , nos quais os pacotes .deb dependem de outros pacotes.

O lado negativo é que o snappy é maior porque contém todos os arquivos. Mas a grande vantagem é que você não terá problemas com outros pacotes e se você remover este pacote, nenhum outro pacote será afetado pela falta de dependências.

Alex WLBI
fonte
7
Também significa pesadelo de segurança. Oh, por favor, prove que estou errado ... porque estar certo seria tão horrível.
Jürgen A. Erhard
27
Então, essencialmente, eles estão seguindo o caminho do Windows - que ironicamente foi ridicularizado pelos Linux-ers no passado.
Pithikos
11
Erhard, como eu entendo, cada pacote terá suas próprias bibliotecas, por exemplo, criptografia, então, em vez de verificar uma (ou seja, auto-compilável), você precisa basicamente lidar com cada pacote individualmente, é isso que você quis dizer com "pesadelo de segurança"?
Ilya
Correção: "contém todos os arquivos necessários" não é preciso, pois há snaps principais que funcionam como tempos de execução. No entanto, isso foi adicionado após a resposta original, portanto estava correto no momento, mas muita coisa mudou desde então.
Michael Tunnell
7

Snappy Personal, sua nova abordagem para gerenciamento / atualização de pacotes projetada para ser mais rápida, mais confiável, transacional e com segurança mais forte.

Snappy por pelo menos uma de suas rotações de desktop - o plano é mudar a rotação Desktop-Next do Ubuntu de .deb para Snappy Personal.

O .deb ainda estará lá e um usuário normal ainda poderá usá-lo regularmente até converter o .deb para o snappy.

O Snappy será usado para unificar o conceito de gerenciamento de pacotes entre a ioT, que está usando o snappy agora como seu sistema operacional principal. além disso, o snappy fornece uma maneira melhor de atualizar e se livrar do problema durante a atualização / atualização, pois usa o conceito de imagem inteira, o que significa que a atualização será apenas uma peça e, portanto, nenhum meio de falha

Leia esses artigos para mais informações:

http://www.webupd8.org/2015/04/ubuntu-desktop-to-eventually-switch-to.html

http://www.itworld.com/article/2914850/linux/is-ubuntu-moving-away-from-deb-packages-here-is-the-complete-story.html

Há também um vídeo de controle de qualidade do ubuntu on air que responde muitas perguntas https://youtu.be/lHO8j8uo5Z4

Maythux
fonte
9
por que eles não podem criar um pacote .deb versão 2 com compatibilidade com versões anteriores? Por que fazer uma divisão na comunidade linux? Por enquanto, o plano é migrar lentamente para o Snappy, a menos que seja um fracasso total.
Vishnudev K
eles querem unificar o conceito de gerenciamento de pacotes entre a ioT que está usando o snappy agora como seu sistema operacional principal. Além disso snappy fornecer uma maneira melhor na atualização e se livrar do problema, enquanto atualização / upgrade, uma vez que utilizam o conceito de imagem inteira que significa que a atualização será apenas uma peça e, portanto, nenhum meio de falhar
Maythux
3
Já é ruim o suficiente com a grande variedade de métodos de empacotamento no Linux (que já causa problemas com programas de terceiros), outro apenas fará uma bagunça maior: - /
Wilf
@Maythux. O que é uma ioT?
TRiG
4
@Maythux xkcd.com/927
a CVn
4

Considere mudar para o Ubuntu Core hoje, se você está pensando em criar algo para que outras pessoas usem, em outras palavras, um produto .

O software é entregue em snaps , que, dadas as suas características, podemos ter certeza de que a instalação e as atualizações funcionarão em todos os sistemas, conforme o criador original pretendia. Outras características são a segurança, como execução isolada e interfaces limpas para conversar com o sistema e configurar os snaps instalados.

Para conseguir isso, os snaps diferem muito e são muito diferentes dos pacotes debian:

  • os snaps vivem em um local isolado do sistema, enquanto os pacotes debian podem espalhar arquivos por todo o lugar.
  • não há scripts de mantenedor para snaps.

Voltando à questão original de usar ou não usar , se você planeja substituir sua área de trabalho pelo Ubuntu Core, sugiro que permaneça na área de trabalho normal do Ubuntu. Pessoalmente, o Ubuntu Core, eu gosto de chamar de distro do nada , porque por si só não é nada, mas fornece um bloco de construção muito bom para oferecer algo e é por isso que é popular na IoT atualmente.

sergiusens
fonte
3
Em outras palavras, é como o que o Windows faz?
Vishnudev K
11
Essa é uma questão ampla. O que o Windows faz em particular?
sergiusens
4
Estou instalando o VLC no Windows, ele instala todos os pacotes necessários para ocupar o espaço. onde no linux temos apenas os pacotes que não temos. É bastante conveniente em termos de atualizações e uso do disco rígido.
Vishnudev K
2
Semelhante, sim. Não é diferente de instalar um apkno seu telefone. Os aplicativos podem evoluir com suas dependências, conforme entenderem. Porém, existem maneiras de dividir isso, como usar frameworksnaps, mas isso exige uma revisão de segurança rigorosa. A diferença com o Windows é que não há instaladores aqui potencialmente sendo capazes de pousar onde quiserem.
sergiusens