Kommentar Kommentar: Canonicals aggressives Marketing nervt

Hi,

ich habe da mal eine Frage als Windows User:

Was sind das denn für Pakete und wofür braucht man die in einer Linux-Installation?

Warum sind die vorhandenen Paketmanager jetzt genau schlecht?

Grüße
 
Die Pakete sind ganze Programme. Wenn du unter Linux z.B. Spotify installieren willst, suchst du nicht im Internet und lädst von irgendeiner Website etwas runter, sondern sagst dem Paketmanager "Installiere Spotify", der lädt dann das Paket runter und installiert ist.

Wirklich schlecht sind die vorhandenen nicht. Allerdings ist es bei Linux üblich, dass ein Programm seine Abhängigkeiten (also z.B. Verschlüsselungsbibliothek für sichere Verbindung mit dem Internet u.v.a.) nicht selber mitbringt, sondern es auf dem System eine zentrale Version der Abhängigkeit gibt, die von allen Programmen genutzt wird. Bekommt jetzt die Abhängigkeit ein Update, kann es sein, dass die Programme, die die Abhängigkeit brauchen, nicht mehr richtig funktionieren. Doof.

Das neue Konzept ist jetzt, das jedes Programm alles was es braucht selber mitschleppt. Einerseits gut - der Programmentwickler weiß genau, was da ist und womit er da arbeitet. Andererseits hat man so seeeehr vieles doppelt bis zehnfach auf dem System, und wenn jetzt z.B. in der SSL Lib eine Lücke auftaucht, reicht es nicht, wenn die Distribution einmal die zentrale Version aktualisiert. Stattdessen muss jeder Programmentwickler die Version aktualisieren, die er mitliefert, und jedes Programm bekommt dann ein Update.

Und wie viele Programmentwickler wirklich die neuen Sicherheitspatches für alle Abhängigkeiten einspielen kann man sich wohl denken...
 
Die Praxis muss ja einen Pferdefuß haben, wenn ich immer auf einen Zwischenschritt mehr angewiesen bin. Kann ich denn nicht einfach direkt auf die Website gehen und mir das Programm downloaden und installieren, sie sonst (unter Windows) auch?

Wo ist denn der Vorteil von den Paketen?

Wieso kann ich nicht im Programm eine Anhängigkeit einsetzen,dass Programm/Plugin x in Version y vorhanden sein muss und wenn es fehlt, wird es nachinstalliert, ansonsten nicht. Würde ja die Dopplung verhindern.
 
Zuletzt bearbeitet:
Programme kommen aus den Repositories (Verzeichnis der Pakete) und da liegen die allermeisten Programme einfach zentral. Da geht man also in seine grafische Oberfläche (sowas wie ein Appstore) oder ins Terminal und installiert sich dort heraus einfach das gewünschte Programm. Alles was das Programm zum funktionieren braucht (Abhänigkeiten) wird mitinstalliert und gut. Updates funktionieren ebenso zentral gesteuert. Alles aus den Repos funktioniert mit der Betriebssystemversion und der Programmentwickler muss keinen Finger rühren, wenn die von ihm genutzten Bibliotheken Sicherheitspatches bekommen. Die Bibliothek kommt beim Nutzer aktualisiert und kurzfristig an und gut.
Die Verwalter der Repositories müssen Arbeit hinneinstecken, das Ganze ist aber machbar, wenn kein Scheiß seitens der Programmierer gemacht wurde.

Außer in Repos kann man Pakete auch einzeln anbieten, viele Linuxnutzer versuchen es aber wie die Pest zu meiden Pakete außerhalb von Repositories einzubinden. Da muss man sich dann wieder manuell um Updates kümmern... Sowas kann man nicht wollen *schauder*



Vergleich Windows, der Nutzer muss an zig Stellen Programme zusammensuchen die ihre Abhängigkeiten großteils alle selbst mitbringen. Wenn da eine Bibliothek fehlerhaft ist und einen Patch bekommt muss jedes abhänge Programm einzeln aktualisiert werden. Wobei der Entwickler des Programms Arbeit hat (deswegen wird es oft nicht gemacht). Für die Updates braucht es manuelle Arbeit, oder man wird am Programmstart darauf hingewiesen und muss anstatt das Programm zu nutzen die Updateroutine abwarten oder das System wir zig Autoupdatern zugemüllt.

--------------------------------------------------------------

Das bei klassicher Paketverwaltung nicht Version X von Bibliothek Z festgelegt wird hängt daran, dass Updates von Z jederzeit einspielbar sein müssen. Wenn Z einen Sicherheitsfehler hat wird Z gepatcht und die Versionsnummer ändert sich. Zudem will man vermeiden, dass so das System fragmentiert und irgendwann eine Bibliothek in dutzenden Versionen auf dem System vorhanden ist, mitunter alle mit unterschiedlichen Bugs/Sicherheitslücken. Wäre ja dann wie bei Windows *schauder*
 
Tjell schrieb:
Im Endeffekt ist es die selbstherrliche Arroganz, die mir auch hier schon wieder entgegenschlägt.

Das war nicht arrogant, das war eine Schilderung der Situation. Ich bin niemand der Linux gerne elitär hätte, von mir aus kann das casual wie nur was werden, solange es nicht bestehende Strukturen umwirft (und ja, das geht.).

Auf der anderen Seite sehe ich aber Leute wie dich, die ganz genau wissen wie alles zu machen ist. Linux muss X, Linux muss Y. Linux hat bis jetzt nie den Weg eines selbsternannten Propheten eingeschlagen, und ist für mich trotzdem seit 10 Jahren stetig besser geworden. Man muss rumprobieren. Wenn du mit Dateimanager X nicht klarkommst, nimm Y. So einfach. Ja, das kostet Zeit. Kostet ein Linux bei der Ersteinrichtung immer. Aber inzwischen knall ich mir in 10 Minuten Xubuntu auf die Platte, brauche 30 um meine Einstellungen zu machen und habe dann gefühlt 6 Jahre Ruhe, in denen ich nur Updates abnicke. Ich finde das für ein Os für Lau schon sehr gut.
 
Ich kann mich Piktogramm nur anschließen. Einen Paketmanager kann man sich wie einen Appstore vorstellen, nur, dass man selber Quellen (Repositories) hinzufügen kann - bietet also das zentrale Repository des OS Herstellers das Programm nicht an, kann ich ein Drittanbieter Repo einfügen und daraus laden - das geht soweit, dass die Hersteller eines Programms ein eigenes Repo dafür anbieten, wie z.B. Owncloud.

Der (für mich unschlagbare) Vorteil ist, dass ich so meine gesamte Programmverwaltung - Installation, Updates, Deinstallieren - an einem zentralen Platz habe. Zudem ist die Sicherheit höher, denn bei der Installation werden automatisch Checksummen und Signaturen geprüft. Die stehen auf Websites zwar auch manchmal dabei (aber lange nicht immer), und wirklich von Hand überprüfen tut die nach dem Download eh kaum einer.

Und Crizzo, genau den Vorschlag, denn du für Abhängigkeiten machst, setzt das aktuelle System um. Mit dem Paket kommt eine Liste der Abhängigkeiten, und der Paketmanager überprüft ob die erfüllt sind. Wenn nicht, installiert er die einfach mit. Snappy & co. wollen es dagegen eben anders machen, und dann kommt es zu Doppelungen.

Und wie Piktogramm schon sagte - du kannst auch Pakete von Websites herunterladen und von Hand installieren - da hat aber keiner Lust drauf, weil es viel aufwendiger ist als über den Paketmanager.
 
Snaps und Flatpaks müssen herkömmliche Paketmanager allerdings nicht ersetzen und ergeben als Ergänzung durchaus Sinn.

Ubuntu hat früher Drittanbieter-Software über den Ubuntu Store vertrieben, allerdings war ihnen die Prüfung der debs zu aufwändig. Jetzt packt man halt alles in eine Sandbox, führt ein paar automatisierte Tests durch und lässt die Snaps dann auf die User los. Ganz besonders wichtig ist das für Canonical wenn Ubuntu Touch jemals auch nur mäßig erfolgreich werden soll.

Und selbst wenn Drittanbieter ihre Software selbst verteilen, wird das jetzt sehr viel einfacher, weil sie nicht mehr ein Repository für jede Distribution und Pakete für jede Version einer Distribution bereitstellen müssen. Es gibt dann einfach ein Snap bzw. Flatpak und fertig.

Ansonsten dürften Snaps und Flatpaks auch für manche Nutzer von LTS Distributionen interessant sein, weil es damit viel einfacher wird, einzelne Programme aktuell zu halten, ohne Probleme wegen den Abhängigkeiten zu kriegen. Wer mit Debian Stable oder CentOS glücklich ist, aber aus irgendeinem Grund Programm XY in der neuesten Version braucht, installiert einfach das passende Flatpack, nutzt ansonsten aber die stabilen Pakete aus den Repositories der Distribution.
 
Aktuell ist ja bekanntlich relativ. Gerade in LTS Versionen wird Aktualität vernachlässigt (sofern die Sicherheit gewährleistet wird), aber nicht in alles Segmenten. Man kann schon mal einen aktuellen Firefox oder Chromium auf dem Rechner haben mit einem 4.2 Kernel der auf dieser Stufe bleibt. Man konnte auch PPAs einbinden, wenn diese nicht das ganze System in Schwierigkeiten brachten. Wenn die richtige Distribution ausgewählt wurde, ist dieses Problem sowieso obsolet.

Das was fethomm über die "Zusammenarbeit" mit anderen Distributionen geschrieben hat, dachte ich mir auch gleich als ich Arch Linux oder Gentoo las. Hier können _alle_ erdenklichen Programme und Pakete im Linuxformat über den Paketmanager installiert werden, es reicht das sie in tgz vorliegen. Das ist sinnvoll. Das Canonical jetzt die .exe (oder APKs) auf Linux bringen möchte finde ich befremdlich. Gut, der Speicher ist heutzutage kein Problem mehr und der Download der User ist mittlerweile auch kein Argument mehr, die Fragmentierung aber schon. Jedes Programm bringt seine eigenen libs mit.

Mal schauen ob sich das irgendwann mal durchsetzt.
 
Autokiller677 schrieb:
Weil selbst MS sich eine Dreck um ihren Paketmanager kümmert. Wenn ich gucke, wie ich Visual Studio, Office oder was auch immer von MS installieren soll, steht da nirgendwo "Empfohlener Weg: OneGet". Auch gibt es keine GUI, da sind viele Linux Distros auch schon deutlich weiter.

macOS setzt seit Januar 2011 auf den Mac AppStore, und Apple bewirbt das auch entsprechend, verteilt die eigene Software darüber etc. Und über 5 Jahre qualifizieren sich bei mir für "schon länger", aber das kann sich jeder zurechtdefinieren wie er mag.

Dass niemand OneGet nutzen möchte liegt nicht an MS, sondern daran dass man auf Windows seit über 20 Jahren Software per setup.exe installiert. Das ist die bekannte und bewährte Methode, und solange es keine triftigen Argumente gibt die einen Mehrwert bedeuten, wird sich das auch nicht ändern. Darüber hinaus liegt OneGet als Source Code auf GitHub. Wer mag kann gerne ein Projekt für ne GUI starten. Leider ist es so, dass sobald es um Windows geht, Microsoft einem gefälligst alles hinprogrammieren soll. Wenn es um andere Systeme geht, engagiert man sich um etwas zu schaffen was es noch nicht gibt.

Der App Store bei OSX enthält zwar Apples Software, aber so gut wie keine ordentliche Produktivsoftware für die Workstation. Genau wie der App Store bei Windows 8 aufwärts. Gibt es Creative Cloud? Nö, da lad ich mir nen Installer bei Adobe. Gibt es Font Management? Nö, da log ich mich in den Kundenbereich des Herstellers ein und lad mir ne DMG. Wenn im App Store sowas mal angeboten werden würde, fange ich auch mit dem Zählen der Jahre an. Bei MS genau das gleiche. Obwohl da jetzt wenigestens ein paar Triple-A Spiele im Store angeboten werden. Das steckt zwar auch noch in den Kinderschuhen, hat aber größeres Potential als irgendein dröger Paketmanager wenn dort auch große Hersteller ihre Desktopanwendungen einstellen könnten.
 
Microsoft ist bei Windows die Einzige Partei, die eine vernünftige zentrale Paketverwaltung für Alle aufziehen kann, wo dann eben auch große Wie Oracle, Adobe und wie sie alle heißen partizipieren. Eine gescheite Paketverwaltung würde die Windows Updates ja genauso mit bewältigen, damit es nur einen zentralen Punkt im Betriebssystem gibt zur Softwareverwaltung. Das ist von Dritten nicht zu leisten.

Der Appstore ist ein Ansatz, die Einschränkungen die es da gibt sind aber geradezu absurd.
 
Kann man in Zukunft nicht einfach Docker benutzen und das Problem ist eh gelöst? Abgesehen von basis libs habe ich eigentlich keinen Bedarf mehr für einen Packet-Manager.
 
Na ja Docker muss ja auch auf einem Host OS laufen also nein das Problem, welches effektiv kein Problem ist, wäre damit nicht gelöst.

Was dieses "eine Anwendung bringt alles selber mit" auslöst sieht man an .NET. Man muss div. Versionen am laufen haben die alle ihre eigenen Sicherheitslücken haben. Statt für alles seine eigenen Libs zu nehmen sollte man die Standard Libs einfach mal erweitern oder verbessern statt seine eigene Suppe zu kochen.
 
Bei .Net bringen die Programme ja ihren Kram nicht einmal selber mit, sondern der Nutzer muss oftmals Manuell die Abhängigkeiten auflösen.

Bei Docker werden die Programme (mit Absicht) ja gegenüber anderen Containern und System abgekapselt. Das ist für viele Anwendungen nicht ziehlführend.
 
Das Problem ist, das es kein Problem ist. Zumindest ist das das Problem von Canonical. Die Paketmanager der verschiedenen Distributionen sind um einiges komfortabler als der Windows-Weg. Ich würde keinen App-Store auf meinem Rechner wollen, viel zu umständlich zu bedienen wenn man die Konsole gewohnt ist.

Zurück zu Canonical: Um ihre Vision von Ubuntu Touch und einem globalen OS für mobile und stationäre Devices - welche ich an sich ja auch unterstütze - wenigstens annähernd verwirklichen zu können muss eben der Desktop mitziehen und eine Struktur benutzen wie man sie auf mobilen Geräten auch gerne nutzen würde. Auf dem Smartphone ginge es sogar mir zu weit ein Terminal zu öffnen und sudo apt-get update && sudo apt-get upgrade einzugeben um alle Apps/Programme zu aktualisieren, auch wenn die wohl wesentlich schneller ginge als mit umständlichen GUIs. Also muss wohl oder übel die Veränderung auf dem Rechner/Laptop stattfinden.

Ungeschickt ist jetzt nur, das man mit Neuerungen, die die Oberfläche des Systems (Unity) und den Display Server (Mir) betreffen, schon ausreichend die Communities anderer Distributionen "genervt" hat.

Die snaps sind sehr mutig, ich denke aber nicht das viele den Schritt mitgehen und Ubuntu wird sich wohl mittel- und langfristig von der Distribution im klassischen Sinn verabschieden.
 
@Piktogramm

Jup das kommt noch hinzu mit der Sandbox bei Docker - nicht so gut für alle Anwendungen.
 
Also ich habe Docker selber noch nie so intensiv genutzt, aber es gibt immerhin mit CoreOS und RancherOS zwei Distros die anscheinend komplett ohne Packet-Manager auskommen. Natürlich birgt es gewisse Gefahren, wenn man veraltete Container verwendet. Aber die Idee ist ja gerade, dass ich eben immer aktuelle Libs verwenden kann und nicht auf die unglaublich veralteten Libs von den grossen Distros angewiesen bin. Ausserdem ist man ja gerade durch die Isolation einigermassen geschützt, auch wenn ein Container Sicherheitslücken haben sollte. Offenbar ist es sicher genug, dass sogar Hoster schon seit vielen Jahren auf LXC Technologie (openvz usw.) aufgesetzt haben und Docker ist ja im Grunde nichts anderes.

Ich habe recht häufig das Problem gehabt, dass z.B. gerade Ubuntu so veraltete und verbuggte Libs benutzt hat, dass ich auch für Server Anwendungen inzwischen öfters Arch Linux benutze (natürlich nur privat). Sobald man selber probiert gewisse System relevante Libs upzudaten, fängt nämlich der Theater erst richtig an.

Ein reines Docker Betriebssystem ist evtl. übertrieben, aber ich installiere inzwischen praktisch alles, was ich kann als Docker Image.
 
Cool Master schrieb:
Jup das kommt noch hinzu mit der Sandbox bei Docker - nicht so gut für alle Anwendungen.
Snappy bietet schon auch eine Sandbox: https://developer.ubuntu.com/en/snappy/guides/security/
Allerdings funktioniert die erst mit Mir richtig: https://mjg59.dreamwidth.org/42320.html

Und für Flatpak und Wayland gilt das gleiche, allerdings redet man da nicht so großspurig daher.

Den Docker-Vergleich verstehe ich jetzt nicht so ganz, denn Docker ist nicht wirklich für Desktop-Anwendungen mit GUI gedacht, auch wenn das über Umwege gehen mag.
 
Den Docker-Vergleich verstehe ich jetzt nicht so ganz, denn Docker ist nicht wirklich für Desktop-Anwendungen mit GUI gedacht, auch wenn das über Umwege gehen mag.
Das kann sein, ich benutze Linux nie mit GUI. Immerhin gibt es Leute die es nutzen:
docker-containers-on-the-desktop
steam-running-in-docker-lxc

Man kann sich aber schon streiten, ob es sich jetzt lohnt, wenn jeder Entwickler auch noch die aktuellen NVIDIA treiber mit in den Container packen muss. Es gibt da sicher noch einige offene fragen, aber rein vom Konzept her fände ich es schon sinnvoll. Die Applikationen sollten ja selber am besten wissen, was sie benötigen und wenn man nicht einverstanden ist, kann man die Container ja selber anpassen.
 
@exoterrist

Ich meinte das nicht Positiv ;) Das ist, wie du schon sagst, ein Probem für einige Anwendungen. Ich sage mal um ein Server zu stellen ist es natürlich super ergo Client Server Programme laufen damit wirklich sicherer. Aber es ist nun mal nicht alles ein Client Server Programm, zumindest noch.

Ich sehe halt einfach nicht den Vorteil welchen Snappy bringen soll vor allem für etwas so unwichtiges wie der Paket Manager. Der gute alte apt läuft seit Jahrzehnten Stabil. Als es das Problem mit Heartbleed gab war das binnen Stunden gefixed und das mit einem Befehl. Ich musste nicht warten bis der Entwickler von 5 Apps/Programmen das Gleiche macht.

Also wenn es um Sicherheit geht hat mich Snappy überhaupt nicht überzeugt. Es ist zwar nett das etwas Entwickelt wird aber ich denke es wird sich nciht durchsetzen vor allem da Ubuntu im Server Bereich eh kaum was zu melden hat. Für den Desktop könnte es evtl. was werden da dort effektiv nicht direkt drauf zugegriffen werden kann.
 
Sowie ein Programm nicht im Paketmanager zur Verfügung steht (für 3D-Druck ist da zB quasi nichts verfügbar) hätte ein standardisiertes System wie Snappy oder Flatpak mMn massive Vorteile. Der Entwickler muss sich nicht um Versionen oder Installationsskrpts für alle Distributionen kümmern und der Anwender nicht basteln wenn es keine Version für die eigene Distro gibt. Hatte schon ein paar Programme die es nicht im Paketmanager gab, vor allem bei Manjaro. Für Debian/Ubuntu gibt es zwar fast immer was (.deb, einer der Gründe warum ich Ubuntu benutze), aber für andere kleinere Distributionen sieht es oft mau aus, sodass man dann selber Hand anlegen müsste.
 
Zuletzt bearbeitet:

Ähnliche Themen

Zurück
Oben