Annahmen
Ehrlich gesagt weiß ich nicht viel über Snap-Pakete - aber das ist für diese Frage irrelevant - siehe unten. Ich gehe davon aus, dass sich das System erheblich von dem bestehenden unterscheidet.
Ist die Änderung sinnvoll?
Gibt es einen tatsächlichen Bedarf, der stark genug ist? Das heißt - gibt es einen neuen Anwendungsfall, der wichtig genug ist, um ein neues Format zu entwickeln - und die damit verbundene Infrastruktur?
War es nicht möglich, die derzeitige Methode zu ändern, um auch die neuen Anwendungsfälle abzudecken?
Oder verpasse ich den Punkt?
Es ist möglich, dass das, was ich sehe, hauptsächlich Marketing ist - neue Namen und Präsentationen für minimale technische Änderungen, um die Chance zu bekommen, dass jeder Körper es als "neu und besser" annimmt und es tatsächlich verwendet werden kann. Es kann auch sein, dass die neuen Pakete so stark auf dem vorhandenen Format basieren, dass es sich meistens um eine Änderung der Präsentation für den Benutzer handelt. Das könnte natürlich eine gute Lösung sein. In diesem Fall hätte diese Frage nicht viel Relevanz.
Dann würde ich hoffen, dass dies immer noch nützlich genug ist, um auf Nebenaspekte zu antworten. Lassen Sie mich einfach wissen, wenn die Frage für neue Benutzer nicht hilfreich oder verwirrend ist. Ich lösche sie gerne.
Warum existieren sie also?
Hintergrund
Meine erste Reaktion war "Das macht keinen Sinn!"
Dies ähnelt einer Situation, in der jemand auf der Physik-Website unglücklich gefragt hat, warum niemand seine brillanten neuen Ideen in Antworten bespricht. Es sah stark nach verrückten Ideen aus; So weit vom tatsächlichen physischen Wissen entfernt, dass es schwierig war, einen Punkt zu finden, an dem man überhaupt anfangen konnte. Ich schrieb eine Antwort, die seine Ideen nicht mit einem einzigen Wort berührte, sondern erklärte, warum man einfach nicht darüber diskutieren würde, verrückte Ideen anzunehmen - nicht der erste Fall davon. Die Antwort traf tatsächlich den Punkt, denke ich.
Wenn meine Annahmen richtig waren, ist dieser Fall ähnlich.
Aber vielleicht auch nicht - mal sehen.
quelle
Antworten:
Ja, es besteht ein echtes Bedürfnis.
Seit dem ersten Mal, als eine Software von einer anderen abhängig war, bestand ein echtes Bedürfnis nach so etwas.
Lassen Sie uns dies klarstellen:
Das Verwalten von Abhängigkeiten ist schwierig .
Es gibt einen Grund, warum es Abhängigkeitshölle heißt . Verpackungssysteme wie RPM und Debian wurden mit der Absicht erstellt, die Abhängigkeitshölle zu vermeiden. Allerdings muss jemand die Kosten bezahlen:
Bei beiden Methoden geht ein erheblicher Freiheitsverlust einher.
Und hier kommen Snaps ins Spiel: Sie lassen den Entwickler Version X einbinden und das Verpackungssystem Updates verwalten. Wer bezahlt die Kosten? Der Benutzer:
Welche Vorteile bekomme ich dafür?
quelle
/opt
?AppArmor
ist schon aufgeregt, um das abzudecken. Die Art des Schutzes kann jedoch unterschiedlich sein. Auf jeden Fall geht es darum, an Bord zu gehen.sudo apt-get install skype
aber dann sehe ich, dass es als Schnappschuss verfügbar ist. Aber als ich Chromium installiert habe, habe ich nichts Besonderes getan, damit es Snap verwendet. Aber es tut es. Jetzt verstehe ich, WARUM Schnappschüsse existieren, und bin froh, dass sie es tun. Ich bin jetzt neugierig, ob ich mir Sorgen machen musssudo snap install skype
?Ein besonderes Merkmal von Snaps, das nützlich sein kann, ist die Möglichkeit, einen Kanal für Entwickler auszuwählen, die mehr als einen Kanal bereitstellen, z. B. Release , Kandidat , Master usw.
Wenn Sie beispielsweise auf die Schaltfläche Kanal für klicken,
nextcloud
wird das Dialogfeld im folgenden Screenshot angezeigt.Die anderen starken Verkaufsargumente sind Isolation, Unveränderlichkeit und Sandboxing, die von einem Sicherheitsrichtlinienkontext gesteuert werden , der das Definieren von Berechtigungen pro App ermöglicht, die auch als "Stecker" bezeichnet werden, z.
Der Ansatz ahmt bis zu einem gewissen Grad die MacOS-App-Bundles und das App-Sandboxing von Android mit Berechtigungen und Inhaltsanbietern / -empfängern nach.
Stellen Sie sich vor, Sie müssen ein Dutzend Apps mit jeweils einer eigenen Version bestimmter Bibliotheken und einer eigenen Version der Python / Ruby / NodeJS-Laufzeit ausführen, und Sie möchten nicht in die Abhängigkeitshölle geraten und Ihre Systembibliotheken durcheinander bringen oder verschmutzen. Ihr System Python / Node / Perl / Ruby-Module usw.
quelle