Warum brauchen Snaps so lange zum Installieren/Entfernen?

Kontrapaganda

Lt. Junior Grade
Registriert
Dez. 2019
Beiträge
311
Mal eine allgemeine Frage, dich mich umtreibt. Ich nutze es auch teilweise unter Kubuntu 23.10. Rechner ist halbwegs aktuell: Thinkadp X1 Yoga 4th gen (i7-8665U mit 16GB)

Seit einigen Jahren gibt es ja bei Ubuntu-basierten Distros Snap als App-Format. Früher waren Snaps dadurch berüchtigt, ewige Startzeiten zu haben. Dies wurde mittlerweile wohl „gefixt“. Sprich die Startzeiten sind zumindest auf halbwegs aktueller Hardware akzeptabel geworden, wenn auch sie verglichen Flataks oder „normal“ installierten Paketen immer noch lang sind.

Was mich viel mehr stört bei Updates sind die extrem langen Installations- und Deinstallationszeiten. Bevor die Frage kommt: meine Internetverbindung ist schnell. 200 MBit/s. Der Download ist es auch gar nicht, was lange dauert; der ist schnell fertig. Auch Flataks sind entsprechend schnell installiert. Was ewig dauert, ist das ganze "connecting/disconnecting". Und mit ewig meine ich nicht etwa 1 bis 2 Minuten sondern so 10 bis 20 Minuten. Bei Chromium wurde es mir mittlerweile „zu bunt“ und ich bin zu Flatpak gewechselt. Selbst die Deinstallation war ein regelrechter „Akt“ von 14 Minuten.

Das zweite, was mich aufregt, das jedes Mal, wenn so ein Snap-Ding installiert/deinstalliert oder geuodatet wird, der Ton für kurze Zeit aussetzt, der Bildschrim einmal flackert und mein komplettes Monitor-Setup „durcheinandergewirbelt“ wird. Einen Bildschrim muss ich sogar erst aus- und dann wieder einschalten oder neustarten. Andernfalls kann ich ihn weder wieder an die richtige Stelle ordnen noch die korrekte Auflösung einstellen.

Ich frage mich: Was zur Hölle macht der Rechner da die ganze Zeit?

Im Netz finde ich haufenweise Erklärungen für eine lange Downloadzeit (langsame Interneverbindung) oder die ehemals lange Startzeit (nicht mehr so relevant). Nur um die ewigen (De-)Installtionszeiten scheint sich kaum einer zu scheren? Bin ich der einzige, den das aufregt?
 
Richte auch gerade für einen Bekannten Kubuntu LTS ein und Snap ist bei mir mittlerweile komplett heruntergeflogen. Firefox und Thunderbird-Pakete beziehe ich jetzt aus einem PPA und dieses lädt mit Kilobit-Speed also auch nicht flotter, dafür kein Snap. :-)
 
_anonymous0815_ schrieb:
PPA und dieses mit Kilobit-Speed lädt, also auch nicht flotter, dafür kein Snap. :-)
Immer noch schneller als Snap. Wobei der Download bei Snap je gerade NICHT das Problem ist sondern der Rest der Installation. Selbst beim Deinstallieren braucht der Rechner ewig.

FF habe ich jetzt auch per PPA. Chromium und Spotify per Flatpak.
 
  • Gefällt mir
Reaktionen: _anonymous0815_
@Kontrapaganda

Bei einer Installation eines Snap Pakets passieren verschiedene Dinge.

1. Der Download
2. Die Connecting Geschichten
Hier werden die AppArmor Sicherheitsprofile eingerichtet.
Zudem sind Snaps in einem speziellen Container. Damit die Snaps dennoch mit dem Betriebsystem kommunizieren können. Oder ein Browser z.b. auf den Download Ordner zugreifen kann gibt es verschiedene Schnittstellen im Betriebsystem.
Der Entwickler legt bei der Installation fest welche Schnittstellen eine App haben kann und das ist der Teil der sehr lange dauert.

3. Kommt hier noch die Systemintegration: Also Startmenü Einträge anlegen, Dienste einrichten und starten, etc

Die Schnitstellen sind hier der Knackpunkt und der Grund warum z.b. Chromium länger braucht als z.b. ein Texteditor liegt daran das Chromium (wie jeder Browser) extrem viele Schnittstellen braucht hier eine Auflistung:

  • audio-playback (Damit der Browser Audio abspielen darf)
  • audio-record (Damit der Browser aufs Mikrofon zugreifen darf)
  • bluez (Damit der Browser auf Bluetooth Geräte zugreifen kann)
  • camera (Damit der Browser auf die Webcam zugreifen kann)
  • cups (Damit der Browser auf die Drucker zugreifen kann)
  • home (Damit der Browser auf dein Home Verzeichnis zugreifen kann)
  • joystick (Damit der Browser auf z.b. Game Controller Inputs reagieren kann)
  • network (Damit der Browser eine Internetverbindung nutzen kann)
  • password-manager-service (Damit der Browser mit Passwort Managern die lokal installiert sind kommunizieren kann)
  • raw-usb (Damit der Browser WebUSB nutzen kann)
  • removable-media (Damit der Browser z.b. auf USB-Sticks zugreifen kann)
Beim deinstallieren, müssen diese Schnittstellen wieder einzeln deaktiviert werden was eben dauert. Aber eigentlich aktualisieren sich Snaps im Hintergrund automatisch also du solltest das nicht wirklich mitbekommen.

Flatpaks gehen schneller weil die etwas anders funktionieren und auch viel weniger strenge Sicherheitsrichlinien haben - die sind dort auch weniger Notwendig da sie per Design weniger können (z.b. keine SystemD Dienste integrieren, laufen nie als root, etc).

Das so zur technischen Erklärung.
 
  • Gefällt mir
Reaktionen: konkretor, ufopizza, andy_m4 und 4 andere
Habe gerade gestern mit Ubuntu 23.04 auf einem sehr schmalbrüstigen NB (eMMc, Celeron, 4 GB RAM) Chromium installiert. Konnte keine nennenswerten Längen oder Verzögerung feststellen. Das war in 1-2 Minuten incl. DL erledigt.
Kann das daher nicht nachvollziehen.
 
kim88 schrieb:
[...]
Die Schnitstellen sind hier der Knackpunkt und der Grund warum z.b. Chromium länger braucht als z.b. ein Texteditor liegt daran das Chromium (wie jeder Browser) extrem viele Schnittstellen braucht hier eine Auflistung:
[...]
Die Konfiguration von Schnittstellen sollte im Regelfall das schreiben bzw. Ändern von 1..3 Textdateien sein und ein systemctl reload-or-restart $service des betroffenen Services. Selbst wenn man da bei jedem Schreibvorgang ein flush erzwingt sollte das auf Systemen mit halbwegs brauchbarer SSD sehr flott gehen. Wenn Services oder Configfiles geändert werden macht APT auch nichts Anderes als reload-or-restart und das dauert auch nicht ewig. Zudem APT bei jedem Schreibvorgang sync erzwingt und damit eigentlich schon das untere Minimum dessen darstellt, was an Schreibgeschwindigkeit möglich ist.

Womit Snap nachwievor ein Problem hat (zumindest bei mir?) ist, wenn die zu ändernde Anwendung gerade läuft. Da blockiert snapd dann gern mal. Was besonders witzig ist bei Anwenungen die als Service laufen bzw. im Autostart von Nutzern hängen und damit in der Regel laufen, bevor snapd zu updates kommt.

Und nicht zu vergessen, Snaps sind im Vergleich mitunter riesig, weil sie Abhänigkeiten mitschleppen.

Ansonsten @Kontrapaganda, nenn ein spezifisches Paket, dann lässt es sich testen.
 
Kann nichts von den genannten Problem nachvollziehen. Und ich verwende auch verschiedene Destris auf dem selben System... eventuell ist da ja ein Wurm bei dir drin...
 
  • Gefällt mir
Reaktionen: @mo
Kontrapaganda schrieb:
Was mich viel mehr stört bei Updates sind die extrem langen Installations- und Deinstallationszeiten. Bevor die Frage kommt: meine Internetverbindung ist schnell. 200 MBit/s. Der Download ist es auch gar nicht, was lange dauert; der ist schnell fertig. Auch Flataks sind entsprechend schnell installiert. Was ewig dauert, ist das ganze "connecting/disconnecting". Und mit ewig meine ich nicht etwa 1 bis 2 Minuten sondern so 10 bis 20 Minuten.
...
Ich frage mich: Was zur Hölle macht der Rechner da die ganze Zeit?

Im Netz finde ich haufenweise Erklärungen für eine lange Downloadzeit (langsame Interneverbindung) oder die ehemals lange Startzeit (nicht mehr so relevant). Nur um die ewigen (De-)Installtionszeiten scheint sich kaum einer zu scheren? Bin ich der einzige, den das aufregt?

Früher war das mal bei mir so, dass die Installation von Snap Paketen lange gedauert hat, das ist aber schon länger nicht mehr der Fall. Vielleicht stimmt etwas mit deiner Installation nicht, hast du eine HDD? Da müssten man mal genauer nachsehen, 20 Minuten sollte das nicht dauern.

Mit Ubuntu 24.04 läuft hier schon alles wunderbar. Selbst Ubuntu 22.04 lief nicht schlecht.
Thunderbird als Snap startet nun auch, ohne Anpassungen, nativ unter Wayland. Firefox sowieso, seit Version 121.
 
Zuletzt bearbeitet:
Also ich merke keinen Unterschied, egal ob Flatpak, Snap oder direkt aus den Repos.
Weder bei Installation, noch Updates noch beim Start.
 
Zurück
Oben