Pourquoi Ubuntu passe-t-il aux paquets Snappy?

127

Pourquoi Ubuntu vide-t-il les paquets .deb et passe-t-il aux paquets .snappy? (Au moins pour le moment, ils conservent le paquet .deb pour les distributions normales). .deb est déjà l’emballage le plus populaire.

Cela donne une idée de ce qu'est le format du paquet Snappy. Mais qu'adviendra-t-il des paquets deb existants? Y a-t-il un avantage clair à passer à Snappy? Vaut-il la peine?

Vishnudev K
la source
1
Le lien est borken
y30

Réponses:

147

Snappy tente de résoudre l’un des problèmes fondamentaux de Linux en tant que système d’exploitation de bureau, à savoir la disponibilité et la distribution des packages. Cependant, Snappy n'est pas complètement destiné à remplacer debs. Snaps et Debs travaillent côte à côte.

Je suis un passionné de Linux et un chef de projet d'une application Linux. Bien que j'aime les systèmes Linux dans leur ensemble, je méprise l'état actuel de la distribution des paquets. Snappy vise à résoudre ce problème fondamental.

Sous Linux, les paquetages sont pour la plupart spécifiques à la distribution (il est possible de créer un DEB qui s'exécute dans différents systèmes basés sur Debian, mais qui vous limite à certains égards), mais pas seulement que les paquets sont spécifiques à la version de la distribution.

Si je crée un paquet deb pour Ubuntu 16.04, ce paquet ne fonctionnera sous aucune version d'Ubuntu. Je dois aussi faire un 14.04, 15.04, 15.10, etc. Ce sont juste debunt Ubuntu. Je dois aussi en créer un pour Debian. Ensuite, vous devez créer des RPM pour Fedora 21, 22, 23, etc., et ces RPM ne couvrent même pas openSUSE.

Cela signifie que si je veux publier une nouvelle version d'une application et ne pas attendre les mainteneurs de la distro de l'inclure dans un référentiel (ce qui prend généralement une quantité de temps absurde), je dois fournir plus de 20 paquetages pour couvrir la majorité des distributions Linux. et toujours cela ne va pas tout couvrir.

Les snaps d'Ubuntu permettent de créer un snap qui s'exécute sur chaque version d'Ubuntu prenant en charge les snaps. La distribution n'est plus spécifique à la version.

Les clichés peuvent être intégrés dans d'autres distributions. Potentiellement plus spécifique à la distribution.

Les instantanés sont contrôlés dans un référentiel destiné à être maintenu par les développeurs de paquetages. Ainsi, lorsque nous souhaitons publier une nouvelle version, nous n’attendons personne.

En gros, tout ce que je déteste de la distribution de paquets Linux sera résolu par Snappy. Il est toutefois important de noter que ces problèmes seraient également résolus par AppImages et Flatpaks .

TL; DR

La distribution de paquets Linux est terrible pour les développeurs et les utilisateurs. Snappy (également AppImages & Flatpaks) sont destinés à résoudre ce problème fondamental avec les systèmes basés sur Linux.


Cette question porte vraiment sur la raison du déménagement, mais si quelqu'un est intéressé à en savoir plus sur ce que sont les instantanés et leur fonctionnement. J'ai créé cette vidéo pour expliquer la structure en profondeur.

Michael Tunnell
la source
13
Ça alors, vous le faites si fort, sauf que personne n'a jamais pris en charge autant de versions de Fedora, Debian ou Ubuntu. Au moment où 16.04 est sorti, 15.04 est EOL. Au moment de la sortie de Fedora 23, il reste moins d’un mois à F21, ce qui est suffisamment long pour permettre aux utilisateurs de passer un communiqué. Pas que ça compte. Une fois que vous avez écrit le fichier de spécification RPM de base ou le paquet Debian de base, les autres distributions sont des versions peaufinées. Il ne reste alors qu'un travail Jenkins pour les construire à chaque nouvelle version.
John Franklin
10
Les paquets Ubuntu sont conçus pour autant de versions: 14.04, 15.10, 16.04 et certaines continuent à supporter l’ancien LTS comme 12.04 qui est toujours supporté. || Fedora n’a pas de système LTS, donc moins de versions à prendre en charge, mais au moins deux versions avec trois versions possibles à prendre en charge. || Qu'est-ce qui vous semble le mieux? A. créez plusieurs packages de chaque version de la même application pour une distribution et pour plusieurs distributions. OU B. effectuez une capture pour chaque version de votre application et cela fonctionne sur n'importe quelle distribution et version de ladite distribution. Oui, je vote pour des instantanés dans ces scénarios.
Michael Tunnell
4
@ user447607 Vous ne comprenez pas ce qu'est Snaps and Snappy. Il n'y aura pas beaucoup de redondance, il y aura des temps d'exécution et il y aura des options pour que les clichés dépendent d'autres clichés pour économiser de l'espace. C'est déjà possible, en fait. Snappy est un système de gestion de paquets différent qui gère les instantanés et apt est toujours impliqué dans les DEB. Les instantanés ne remplacent pas les DEB, mais au contraire, ils augmentent les DEB afin que vous obteniez une approche hybride couvrant les deux méthodes. En fait, les instantanés peuvent être générés automatiquement via les DEB existants.
Michael Tunnell
2
@konung Docker est une pure conteneurisation, dans laquelle Snap l’a, ainsi qu’une intégration aux composants centraux du système. Par exemple, Docker exige que tout soit inclus dans le conteneur pour pouvoir être utilisé. Toutefois, les instantanés ne nécessitent que l’inclusion des éléments de première nécessité. Dans ce cas, ils peuvent également être utilisés à d’autres fins. Les snaps ont aussi une infrastructure BEAUCOUP meilleure car Docker n’a pas de mécanisme de mise à jour, mais ils utilisent un système de gestion de paquets similaire à APT pour Debian. Je suggère de visionner la vidéo que j'ai liée dans le message original. Je prévois de faire une version mise à jour bientôt.
Michael Tunnell
6
@konung Les snaps ne sont pas des conteneurs. Beaucoup de gens les comparent à Docker par exemple, mais Docker est de vrais conteneurs, contrairement aux snaps. Les instantanés ressemblent à des conteneurs mais ne sont pas des conteneurs pleins car ils permettent des exceptions en dehors du confinement. Par exemple, les paramètres / configs / data sont stockés en dehors du composant logiciel enfichable dans le dossier / home. De cette façon, vous pouvez avoir autant de versions d'un composant logiciel enfichable que vous le souhaitez, partageant toutes les mêmes données / configurations.
Michael Tunnell
20

C'est juste simple. Le paquet Snappy contient tous les fichiers requis , les paquets .deb ayant des dépendances par rapport aux autres paquets.

Le côté négatif est que snappy est plus gros car il contient tous les fichiers. Mais le gros avantage est que vous n'avez pas de problèmes avec d'autres packages et que si vous supprimez ce package, aucun autre package ne sera affecté par des dépendances manquantes.

Alex WLBI
la source
7
Cela signifie aussi un cauchemar de sécurité. Oh, s'il te plaît, prouve-moi que j'ai tort ... parce qu'avoir raison serait si horrible.
Jürgen A. Erhard le
27
Ils prennent donc essentiellement le chemin de Windows - ce qui, ironiquement, avait été moqué par les Linux-ers dans le passé.
Pithikos
1
Hey @ JürgenA.Erhard, si je comprends bien, chaque paquet aura ses propres bibliothèques, par exemple, la cryptographie. Ainsi, au lieu de vérifier (compiler), vous devez essentiellement traiter chaque paquet individuellement, c’est ce que vous entendiez par "cauchemar de la sécurité"?
Ilya
Correction: "contient tous les fichiers requis" n'est pas précis car il y a des instantanés centraux qui agissent comme des runtimes. Cependant, ceci a été ajouté après la réponse originale, donc c'était correct à l'époque, mais beaucoup de choses ont changé depuis.
Michael Tunnell
7

Snappy Personal, leur nouvelle approche de gestion / mise à jour des paquets, conçue pour être plus rapide, plus fiable, transactionnelle et avec une sécurité renforcée.

Snappy pour au moins un de leurs lancements sur le bureau - il est prévu de passer de la tournure Desktop-Next d'Ubuntu de .deb à Snappy Personal.

.deb sera toujours là et un utilisateur normal pourra toujours l’utiliser régulièrement en convertissant le .deb en snappy.

Snappy sera utilisé pour unifier le concept de gestion de paquets parmi les ioT qui utilisent maintenant snappy comme principal système d’exploitation. de plus, snappy fournit un meilleur moyen de mise à jour et élimine les problèmes lors de la mise à jour / mise à niveau, car il utilise le concept d'image entière, ce qui signifie que la mise à jour ne sera qu'une pièce et donc aucun moyen d'échec

Lisez ces articles pour plus d'informations:

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

Il existe également une vidéo QA d'ubuntu sur l'air qui répond à de nombreuses questions https://youtu.be/lHO8j8uo5Z4

Maythux
la source
9
pourquoi ne peuvent-ils pas créer un paquet .deb version 2 avec compatibilité ascendante? Pourquoi faire une scission dans une communauté linux? .Pour le moment, le plan est de migrer lentement vers Snappy sauf s’il s’agit d’un échec total.
Vishnudev K
ils veulent unifier le concept de gestion des paquets parmi les ioT, qui utilisent maintenant snappy comme principal système d’exploitation. de plus, snappy fournit un meilleur moyen de mettre à jour et de résoudre le problème pendant la mise à jour / mise à niveau, car il utilise le concept d'image entière, ce qui signifie que la mise à jour ne sera qu'une pièce et donc aucun moyen d'échec
Maythux
3
Son assez mauvais avec la grande variété de méthodes pour empaqueter dans Linux (ce qui pose déjà problème avec des programmes tiers), une autre ne fera que créer un plus grand désordre: - /
Wilf
@ Maythux. Qu'est-ce qu'un ioT?
TRiG
4
@Maythux xkcd.com/927
un CVn le
4

Pensez à passer à Ubuntu Core dès aujourd'hui si vous songez à créer quelque chose que les autres utiliseront, autrement dit, un produit .

Le logiciel est fourni en un instant , ce qui, compte tenu de ses caractéristiques, nous permet de penser que l'installation et les mises à niveau fonctionneront sur tous les systèmes, comme prévu par le créateur d'origine. D'autres caractéristiques sont la sécurité, telles que l'exécution isolée et des interfaces propres pour communiquer avec le système et configurer les instantanés installés.

Pour réaliser une telle chose, les snaps diffèrent beaucoup d'un paquet Debian:

  • les instantanés vivent dans un emplacement déterminé par le système isolé alors que les paquets Debian peuvent disperser les fichiers partout.
  • il n'y a pas de scripts de responsable pour les instantanés.

Pour revenir à la question initiale d’ utiliser ou de ne pas utiliser , si vous envisagez de remplacer votre ordinateur de bureau par Ubuntu Core, je vous suggère de vous en tenir à un ordinateur de bureau Ubuntu standard. Ubuntu Core, personnellement, j’aime bien appeler, la distribution rien , parce que c’est seulement rien, mais fournit un très bon bloc de construction pour offrir quelque chose et c’est pourquoi il est populaire dans l’IoT de nos jours.

sergiusens
la source
3
En d'autres termes, c'est comme ce que fait Windows?
Vishnudev K
1
C'est une vaste question. Qu'est-ce que Windows fait en particulier?
sergiusens
4
J'installe VLC sous Windows, il installe tous les packages nécessaires pour exploiter cet espace. où, comme sous Linux, nous n’avons que les paquets que nous n’avons pas. C'est très pratique en termes de mises à jour et d'utilisation du disque dur.
Vishnudev K
2
Similaire, oui. Ce n'est pas différent d'installer un apksur votre téléphone. Les applications peuvent évoluer avec leurs dépendances à leur guise. Cependant, il existe des moyens de scinder cette tâche, par exemple en utilisant des frameworkclichés, mais elle nécessite un contrôle de sécurité approfondi. La différence avec Windows est qu’il n’ya pas d’ installateurs pouvant potentiellement atterrir où ils veulent.
sergiusens