Old Knitterhemd
Banned
- Registriert
- Jan. 2016
- Beiträge
- 2.525
Software unter Linux
Inhaltsverzeichnis
Übersicht
Erforderliche Vorkenntnisse
Vergleich zu Windows
Software unter Linux
Linux - distributionsunabhängige Paketformate
SNAP
Hilfe und SupportEmpfehlungen/Erfahrungen des Autors
Feedback, Kritik, Wünsche
Änderungen
TODO-Liste
Übersicht
Dieser Thread ist eine Ergänzung zum Community Meta Guide und soll die Thematik der Software unter Linux etwas erklären.
Es wird der "normale" Weg über die Repositories erklärt sowie kurz auf das Prinzip von Snap und Flatpaks eingegangen.
Erforderliche Vorkenntnisse
Hier wird bewusst keine Distribution im speziellen erklärt, sondern es soll möglichst allgemein die Softwareverwaltung unter Linux beschrieben werden.
Etwas Vorkenntnisse im Bereich User und Root (sudo Befehl) können helfen, sind aber nicht notwendig.
Vergleich zu Windows
Unter Windows wird für gewöhnlich ein Installer (z.Bsp. eine .exe oder .msi Datei) von einer Webseite geladen und damit die Software installiert.
Updates sind dann Aufgabe des Herstellers und es gibt verschiedene Ansätze, wie diese umgesetzt werden.
Manche prüfen und installieren beim Programmstart, andere geben nur eine Benachrichtigung, wieder andere lassen extra Software als Dienst mitinstallieren, der stetig die Aktualität prüft und so weiter.
Windows selber hat einen eigenen Updatedienst (Windows Updates) über den es aktualisiert wird und neue Features erhält.
VORTEILE:
- Software kann unabhängig des OS immer auf der neusten, beim Entwickler verfügbaren Version gehalten werden
- Software kann abhängige Pakete unabhängig von anderer Software mitbringen/verwalten
- Software aus nicht geprüften Quellen ist potentiell gefährlich
- viel Potential kompromittierte Software zu laden (Malware, Chip Installer und co)
- oft redundante Installation von abhängigen Paketen
- umständliche Handhabung bei Installation und Aktualisierung
Software unter Linux
Linux - offizielle Repositories
Eine Linuxdistribution bringt einen eigenen Softwarekatalog mit.
Dieser wird mittels einer Paketverwaltung aktuell gehalten und betrifft das OS selbst, sowie die installierte Software.
Oft besteht diese Paketverwaltung aus mehreren "Schichten", die aufeinander aufbauen:
- Eine Software, welche die eigentlichen Pakete bearbeiten kann (entpackt, installiert, löscht)
- Eine Software, welche die Abhängigkeiten der benötigten Pakete verwaltet und sie dann mittels der ersten Schicht, installiert, löscht oder updatet
- Eine Software, welche eine GUI für den User bereitstellt (ähnlich einem Appstore) und mittels der zweiten Schicht die Pakete sucht, installiert, löscht und updatet
- zum Beispiel Synaptic, Ubuntu/Gnome-Software oder Yumex
Bekannte Kombinationen wären:
- .deb / apt - genutzt von Debian, Ubuntu ...
- .rpm / yum - genutzt von Fedora ...
Immer wenn ihr eine Anleitung zu Linux aus dem Internet befolgt, ist es eure Verantwortung die richtigen Befehle für eure Paketverwaltung zu benutzen!
Wer hier den einfachsten Weg sucht, dem sei an dieser Stelle eine Distribution mit DEB Paketen und APT empfohlen.
Die Zeile
sudo apt install
kennt mancher vllt von seinem Raspberry Pi...Linux - Fremdquellen
Um auch an Software zu kommen, welche in den offiziellen Paketquellen der eigenen Distribution nicht oder nur veraltet geführt wird, gibt es oft die Möglichkeit nicht offizielle Quellen einzubinden oder zu nutzen.
Bei .deb Systemen wären das Beispielsweise PPAs oder bei Arch Linux das AUR.
Ebenso kann man, ähnlich wie bei Windows, fertige Pakete für die eigene Distribution von Webseiten herunterladen und von der Paketverwaltung installieren lassen.
Das ist oft der bevorzugte Vertriebsweg für proprietäre und/oder kostenpflichtige Software.
(zum Beispiel Skype von Microsoft)
Hier gilt immer Vorsicht, da diese Pakete auf eigene Verantwortung installiert werden.
Ihr müsst den Entwicklern/Vertreibern vertrauen.
VORTEILE:
- Pakete aus den offiziellen Paketquellen sind unbedenklicher, da geprüft
- Installation ist sicher, da die Pakete per Checksum und Keyring geprüft werden
- kaum redundante Installation von abhängigen Paketen
- einfache Handhabung von Installation und Aktualisierung
- Pakete werden je nach Philosophie nur sehr zögerlich aktualisiert (siehe LTS/Rolling Release usw)
- nicht jede Software ist in jeder Distribution vorhanden
- evtl hinzugefügte, externe Paketquellen können das System gefährden
- parallele Installation verschiedener Versionen der selben Software nicht immer problemlos möglich
Linux - distributionsunabhängige Paketformate
Mangelnde Software wird oft als größter Nachteil unter Linux genannt.
Einer der Gründe, der als Ursache für diesen Umstand genannt wird, ist die unterschiedliche Art der Paketverwaltungen.
Ein Softwareprogrammierer muss seine Software für die jeweilige Paketart packen oder vom Distromaintainer packen lassen.
Problematisch kann es werden, wenn die verwendete Distribution bestimmte, von der Software benötigte Pakete nicht in ihren Paketquellen hat.
Die Gründe dafür können Vielfältig sein:
- Version zu alt
- Software ist proprietär und die Distribution stellt nur freie Software bereit
- sie wurde einfach nie mit aufgenommen, da es eine Abhängigkeit eines nicht verwendeten Desktops oder ähnliches ist
Um solche und andere Dinge zu vermeiden, wurden zusätzliche Wege entwickelt um Software auch auf andere Art zu installieren.
Zwei aktuelle und relativ ähnliche Ansätze sind Snap und Flatpak
Beide sind Paketcontainer für Software, die alle wesentlichen, benötigten Abhängigkeiten selber mitbringen.
So kann ein Programm eine Abhängigkeit in beliebiger Version mitführen auch älter oder neuer, als die Version aus den Paketquellen.
Dies ist Vor- und Nachteil zugleich, da die Pakete dadurch sehr groß werden können.
Durch die Kapselung der Software, kann gezielter gesteuert werden, welche Berechtigungen eine Software haben darf, es kann aber auch Einschränkungen bei der Integration ins bestehende System geben (z.Bsp. eigenes Theme statt System Theme).
Beide Systeme werden aktiv weiterentwickelt und es werden große Fortschritte erzielt.
Snap und Flatpak sind unabhängig* von der genutzten Distribution und die parallele Nutzung ist problemlos möglich.
* siehe jeweilige Hinweise auf der Projektseite
In den GUIs zur Paketverwaltung wird einem unten dann die Quelle angezeigt (Paketquelle oder Snap/Flat):
SNAP:
FLATPAK:
SNAP
Snap ist die proprietäre Lösung von Canonical und setzt auf den zentralen Vertrieb der Apps durch ihren Snap-Store.
Snap ist auf Ubuntu (und den meisten Derivaten) ZorinOS und Solus 3 vorinstalliert und lässt sich auf vielen weiteren Distros nachinstallieren oder aktivieren.
Snaps können dann per Terminal (
sudo snap install APPNAME
) oder per snap-App Snap-Store, oder per Integration in eure bestehende Paketverwaltung installiert werden (siehe dazu Distrospezifische Anleitung).FLATPAK
Flatpak ist die freie Lösung des freedesktop Projekts und setzt auf dezentralen Vertrieb, bietet aber zusätzlichen den Flathub als zentralen Vertriebsweg.
Flatpak kommt komplett vorkonfiguriert auf:
* (flatHub Repo optional aktivierbar)
Flatpak lässt sich auf sehr vielen Distros nachinstallieren.
Flatpaks können dann per Terminal (
flatpak install APPNAME
) oder per Integration in eure bestehende Paketverwaltung installiert werden. (oft gibt es eine Gnome-Software Version mit Flat Unterstützung)Hilfe und Support
Hier sind die offiziellen Wikis/Dokus eurer genutzten Distribution eure erste Anlaufstelle.
Allgemein:
Flatpak
Snap
Paketverwaltungen Wikipedia
Empfehlungen/Erfahrungen des Autors
Ich bevorzuge in der Regel Software aus den offiziellen Repositories.
Bei Software aus Fremdquellen gilt es immer von Fall zu Fall zu unterscheiden.
Beispiel:
Manche Hersteller geben für Arch linux Systeme ein "offizielles" AUR Paket an, da hätte ich tendenziell weniger Bedenken.
Es gibt aber auch viel Software im AUR, die einfach von Usern gepflegt wird.
Wie weit das eigene Vertrauen da geht, sollte immer vom Projekt abhängig sein.
Wenn ein bekanntes Github-Projekt eine AUR Version anbietet, ist das sogar zu begrüßen!
Hier heißt Misstrauen auch nicht unbedingt, dass der Autor böses im Schilde führt; es reicht schon ein Projekt nicht weiter zu pflegen, um evtl beim nächsten Update Probleme mit Abhängigkeiten zu bekommen.
Gleiches gilt für PPAs für Debian basierte Systeme und co.
Snaps und Flatpaks sind sinnvolle Ergänzungen für die Linux Welt und Apps wie Spotify sind prädestiniert für den Einsatz dieser Paketformate.
Der proprietäre und zentrale Ansatz Canonicals bei ihrem Snap Format ist nicht begrüßenswert, ich versuche, falls möglich, Flatpaks zu nutzen.
Funktion ist bei beiden gegeben.
Manche Apps brauchen als Snap/Flatpak Version minimal mehr Aufwand (z.Bsp. ein extra Schritt um die Browser Integration bei KeepassXC zu aktivieren) oder haben kleine Einschränkungen (eigenes Theme).
Feedback, Kritik, Wünsche
Die Linux Guides der Community können durch jeden User bereichert werden!
Habt ihr Vorschläge oder Ideen, prüft ob diese schon in der TODO-Liste des jeweiligen Themas aufgenommen wurden.
Für eigenen Input einfach mit den jeweiligen Autoren per PN Kontakt aufnehmen.
Änderungen
- 05.01.2020: Thread erstellt mit erstem Entwurf
- 05.01.2020: Infos zu Flatpak ergänzt
- 12.02.2020: Manjaro in Flatpak Liste aufgenommen
TODO-Liste
- Appimages aufnehmen
- eigenes Kompilieren/Bauen aufnehmen?
Zuletzt bearbeitet: