Wie installiert man eine Anwendung unter Linux? Wie bei vielen Betriebssystemen gibt es auch auf diese Frage nicht nur eine Antwort. Anwendungen können aus so vielen Quellen stammen – es ist fast unmöglich, sie zu zählen – und jedes Entwicklerteam kann seine Software so ausliefern, wie es das für richtig hält. Zu wissen, wie man installiert, was man bekommt, gehört dazu, ein echter Power-User seines Betriebssystems zu sein.
Repositories
Seit weit über einem Jahrzehnt verwendet Linux Software-Repositories, um Software zu verteilen. Ein „Repository“ ist in diesem Zusammenhang ein öffentlicher Server, der installierbare Softwarepakete bereitstellt. Eine Linux-Distribution bietet einen Befehl und normalerweise eine grafische Oberfläche für diesen Befehl, der die Software vom Server abruft und auf Ihrem Computer installiert. Es ist ein so einfaches Konzept, dass es als Modell für alle großen Handy-Betriebssysteme und, in jüngerer Zeit, für die „App Stores“ der beiden großen Closed-Source-Computer-Betriebssysteme gedient hat.
repo.png
Kein App-Store
Die Installation aus einem Software-Repository ist die primäre Methode zur Installation von Apps unter Linux. Es sollte der erste Ort sein, an dem Sie nach jeder Anwendung suchen, die Sie installieren möchten.
Um aus einem Software-Repository zu installieren, gibt es normalerweise einen Befehl:
$ sudo dnf install inkscape
Der tatsächliche Befehl, den Sie verwenden, hängt davon ab, welche Linux-Distribution Sie verwenden. Fedora verwendet dnf
, OpenSUSE verwendet zypper
, Debian und Ubuntu verwenden apt
, Slackware verwendet sbopkg
, FreeBSD verwendet pkg_add
, und das auf Illumos basierende OpenIndiana verwendet pkg
. Was auch immer Sie verwenden, die Beschwörungsformel beinhaltet in der Regel die Suche nach dem richtigen Namen dessen, was Sie installieren wollen, denn manchmal ist das, was Sie als Software bezeichnen, nicht ihre offizielle oder alleinige Bezeichnung:
$ sudo dnf search pyqt
PyQt.x86_64 : Python bindings for Qt3
PyQt4.x86_64 : Python bindings for Qt4
python-qt5.x86_64 : PyQt5 is Python bindings for Qt5
Wenn Sie den Namen des zu installierenden Pakets gefunden haben, verwenden Sie den Unterbefehl install
, um den eigentlichen Download und die automatische Installation durchzuführen:
$ sudo dnf install python-qt5
Für Einzelheiten zur Installation aus einem Software-Repository lesen Sie bitte die Dokumentation Ihrer Distribution.
Das Gleiche gilt im Allgemeinen für die grafischen Werkzeuge. Suchen Sie nach dem, was Sie glauben, zu wollen, und installieren Sie es dann.
apper.png
Apper
Wie der zugrundeliegende Befehl hängt auch der Name des grafischen Installationsprogramms davon ab, welche Distribution Sie verwenden. Die entsprechende Anwendung ist in der Regel mit den Software- oder Paket-Schlüsselwörtern versehen, suchen Sie also in Ihrem Launcher oder Menü nach diesen Begriffen, und Sie werden finden, was Sie brauchen. Da es bei Open Source um die Wahl des Benutzers geht, kann es sein, dass es eine Alternative gibt, die Sie installieren können, wenn Ihnen die grafische Benutzeroberfläche (GUI) Ihrer Distribution nicht gefällt. Und jetzt wissen Sie, wie das geht.
Extra-Repositories
Ihre Distribution hat ihr Standard-Repository für Software, die sie für Sie paketiert, und es gibt normalerweise zusätzliche Repositories, die für Ihre Distribution üblich sind. Zum Beispiel bietet EPEL für Red Hat Enterprise Linux und CentOS, RPMFusion für Fedora, Ubuntu hat verschiedene Unterstützungsstufen sowie ein PPA-Netzwerk (Personal Package Archive), Packman bietet zusätzliche Software für OpenSUSE und SlackBuilds.org stellt Community-Build-Skripte für Slackware bereit.
Standardmäßig ist Ihr Linux-Betriebssystem so eingestellt, dass es nur die offiziellen Repositorys durchsucht; wenn Sie also zusätzliche Software-Sammlungen verwenden möchten, müssen Sie selbst zusätzliche Repositorys hinzufügen. Normalerweise können Sie ein Repository so installieren, als wäre es ein Softwarepaket. Tatsächlich ist das, was Sie installieren, wenn Sie bestimmte Software wie den GNU Ring Video-Chat, den Vivaldi Web-Browser, Google Chrome und viele andere installieren, der Zugriff auf deren private Repositories, aus denen die neueste Version ihrer Anwendung auf Ihrem Rechner installiert wird.
access.png
Installation eines Repositories
Sie können das Repository auch manuell hinzufügen, indem Sie eine Textdatei editieren und sie dem Konfigurationsverzeichnis Ihres Paketmanagers hinzufügen, oder indem Sie einen Befehl zur Installation des Repositories ausführen. Wie üblich hängt der genaue Befehl, den Sie verwenden, von der Distribution ab, die Sie verwenden; hier ist zum Beispiel ein dnf
Befehl, der ein Repository zum System hinzufügt:
$ sudo dnf config-manager --add-repo=http://example.com/pub/centos/7
Installieren von Anwendungen ohne Repositorys
Das Repository-Modell ist so beliebt, weil es eine Verbindung zwischen dem Benutzer (Ihnen) und dem Entwickler herstellt. Wenn wichtige Updates veröffentlicht werden, fordert Ihr System Sie freundlich auf, die Updates anzunehmen, und Sie können sie alle von einem zentralen Ort aus annehmen.
Es kommt jedoch vor, dass ein Paket ohne angeschlossenes Repository zur Verfügung gestellt wird. Diese installierbaren Pakete gibt es in verschiedenen Formen.
Linux-Pakete
Manchmal vertreibt ein Entwickler Software in einem gängigen Linux-Paketformat, wie z.B. RPM, DEB oder die neueren, aber sehr beliebten FlatPak- oder Snap-Formate. Mit diesem Download erhalten Sie keinen Zugriff auf ein Repository, sondern nur das Paket.
Der Video-Editor Lightworks zum Beispiel stellt eine .deb
-Datei für APT-Benutzer und eine .rpm
-Datei für RPM-Benutzer bereit. Wenn Sie aktualisieren möchten, kehren Sie auf die Website zurück und laden die neueste passende Datei herunter.
Diese einmaligen Pakete können mit denselben Werkzeugen installiert werden, die auch bei der Installation aus einem Repository verwendet werden. Wenn Sie auf das heruntergeladene Paket doppelklicken, wird ein grafisches Installationsprogramm gestartet, das Sie durch den Installationsprozess führt.
Alternativ können Sie auch von einem Terminal aus installieren. Der Unterschied hierbei ist, dass eine einzelne Paketdatei, die Sie aus dem Internet heruntergeladen haben, nicht aus einem Repository stammt. Es ist eine „lokale“ Installation, was bedeutet, dass Ihre Paketverwaltungssoftware sie nicht herunterladen muss, um sie zu installieren. Die meisten Paketmanager handhaben dies transparent:
$ sudo dnf install ~/Downloads/lwks-14.0.0-amd64.rpm
In einigen Fällen müssen Sie zusätzliche Schritte unternehmen, um die Anwendung zum Laufen zu bringen, also lesen Sie sorgfältig die Dokumentation über die Software, die Sie installieren.
Generische Installationsskripte
Einige Entwickler veröffentlichen ihre Pakete in einem von mehreren generischen Formaten. Übliche Erweiterungen sind .run
und .sh
. NVIDIA-Grafikkartentreiber, Foundry-Visual-FX-Pakete wie Nuke und Mari und viele DRM-freie Spiele von GOG verwenden diese Art von Installer.
Dieses Modell der Installation verlässt sich darauf, dass der Entwickler einen „Installationsassistenten“ bereitstellt. Einige der Installer sind grafisch, während andere einfach in einem Terminal laufen.
Es gibt zwei Möglichkeiten, diese Arten von Installern auszuführen.
- Sie können den Installer direkt von einem Terminal aus starten:
$ sh ./game/gog_warsow_x.y.z.sh
- Alternativ können Sie ihn von Ihrem Desktop aus starten, indem Sie ihn als ausführbar markieren. Um ein Installationsprogramm als ausführbar zu markieren, klicken Sie mit der rechten Maustaste auf sein Symbol und wählen Sie Eigenschaften.
exec.jpg
Einem Installer die Erlaubnis zur Ausführung geben
Wenn Sie die Erlaubnis zur Ausführung gegeben haben, doppelklicken Sie auf das Symbol, um die Installation zu starten.
gog.jpg
GOG-Installer
Für den Rest der Installation folgen Sie einfach den Anweisungen auf dem Bildschirm.
AppImage portable apps
Das AppImage-Format ist relativ neu für Linux, obwohl sein Konzept sowohl auf NeXT als auch auf Rox basiert. Die Idee ist einfach: Alles, was zum Ausführen einer Anwendung benötigt wird, wird in ein Verzeichnis gelegt, und dieses Verzeichnis wird dann als „App“ behandelt. Um die Anwendung zu starten, doppelklicken Sie einfach auf das Symbol, und sie wird ausgeführt. Es gibt keine Notwendigkeit oder Erwartung, dass die Anwendung im traditionellen Sinne installiert ist; sie läuft einfach von dort, wo Sie sie auf Ihrer Festplatte herumliegen haben.
Trotz seiner Fähigkeit, als eigenständige App zu laufen, bietet ein AppImage normalerweise eine sanfte Systemintegration.
AppImage.png
AppImage Systemintegration
Wenn Sie dieses Angebot annehmen, wird eine lokale.desktop
Datei in Ihrem Heimatverzeichnis installiert. Eine.desktop
-Datei ist eine kleine Konfigurationsdatei, die vom Anwendungsmenü und dem Mimetype-System eines Linux-Desktops verwendet wird. Im Wesentlichen „installiert“ das Ablegen der Desktop-Konfigurationsdatei in der Anwendungsliste Ihres Home-Verzeichnisses die Anwendung, ohne sie tatsächlich zu installieren. Sie erhalten alle Vorteile, die eine Installation mit sich bringt, und die Vorteile, die sich daraus ergeben, dass Sie etwas lokal als „portable App“ ausführen können.
Anwendungsverzeichnis
Gelegentlich kompiliert ein Entwickler einfach eine Anwendung und stellt das Ergebnis als Download zur Verfügung, ohne Installationsskript und ohne Paketierung. Normalerweise bedeutet das, dass Sie eine TAR-Datei herunterladen, sie entpacken und dann auf die ausführbare Datei doppelklicken (es ist normalerweise die mit dem Namen der Software, die Sie heruntergeladen haben).
twine.jpg
Twine für Linux heruntergeladen
Wenn diese Art der Softwareauslieferung vorliegt, können Sie es entweder dort belassen, wo Sie es heruntergeladen haben, und es manuell starten, wenn Sie es brauchen, oder Sie können eine schnelle und schmutzige Installation selbst durchführen. Dies beinhaltet zwei einfache Schritte:
- Speichern Sie das Verzeichnis an einem Standardspeicherort und starten Sie es manuell, wenn Sie es benötigen.
- Speichern Sie das Verzeichnis an einem Standardspeicherort und erstellen Sie eine
.desktop
-Datei, um es in Ihr System zu integrieren.
Wenn Sie nur Anwendungen für sich selbst installieren, ist es üblich, ein bin
-Verzeichnis (kurz für „binary“) in Ihrem Home-Verzeichnis als Speicherort für lokal installierte Anwendungen und Skripte zu führen. Wenn Sie andere Benutzer auf Ihrem System haben, die Zugriff auf die Anwendungen benötigen, ist es üblich, die Binärdateien in /opt
abzulegen. Letztendlich liegt es an Ihnen, wo Sie die Anwendung speichern.
Downloads kommen oft in Verzeichnissen mit Versionsnamen, wie twine_2.13
oder pcgen-v6.07.04
. Da man davon ausgehen kann, dass Sie die Anwendung irgendwann aktualisieren werden, ist es eine gute Idee, entweder die Versionsnummer zu entfernen oder einen Symlink auf das Verzeichnis zu erstellen. Auf diese Weise kann der Launcher, den Sie für die Anwendung erstellen, gleich bleiben, auch wenn Sie die Anwendung selbst aktualisieren.
Um eine .desktop
Launcher-Datei zu erstellen, öffnen Sie einen Texteditor und erstellen Sie eine Datei namens twine.desktop
. Die Spezifikation für den Desktop-Eintrag wird von FreeDesktop.org definiert. Hier ist ein einfacher Launcher für eine Spieleentwicklungs-IDE namens Twine, installiert im systemweiten /opt
-Verzeichnis:
Encoding=UTF-8
Name=Twine
GenericName=Twine
Comment=Twine
Exec=/opt/twine/Twine
Icon=/usr/share/icons/oxygen/64x64/categories/applications-games.png
Terminal=false
Type=Application
Categories=Development;IDE;
Die knifflige Zeile ist die Exec
-Zeile. Sie muss einen gültigen Befehl zum Starten der Anwendung enthalten. Normalerweise ist es nur der vollständige Pfad zu dem Ding, das Sie heruntergeladen haben, aber in einigen Fällen ist es etwas komplexer. Zum Beispiel könnte eine Java-Anwendung als Argument für Java selbst gestartet werden müssen:
Exec=java -jar /path/to/foo.jar
Gelegentlich enthält ein Projekt ein Wrapper-Skript, das Sie ausführen können, damit Sie nicht den richtigen Befehl herausfinden müssen:
Exec=/opt/foo/foo-launcher.sh
Im Twine-Beispiel gibt es kein Icon, das mit dem Download gebündelt ist, also weist die Beispiel-.desktop
-Datei ein generisches Gaming-Icon zu, das mit dem KDE-Desktop ausgeliefert wird. Sie können solche Workarounds verwenden, aber wenn Sie künstlerisch veranlagt sind, können Sie auch einfach Ihr eigenes Icon erstellen oder im Internet nach einem guten Icon suchen. Solange die Icon
-Zeile auf eine gültige PNG- oder SVG-Datei verweist, übernimmt Ihre Anwendung das Icon.
Das Beispielskript setzt außerdem die Anwendungskategorie primär auf „Entwicklung“, sodass Twine in KDE, GNOME und den meisten anderen Anwendungsmenüs unter der Kategorie „Entwicklung“ erscheint.
Um dieses Beispiel in einem Anwendungsmenü erscheinen zu lassen, platzieren Sie die twine.desktop
-Datei an einem von zwei Orten:
- Platzieren Sie es in
~/.local/share/applications
, wenn Sie die Anwendung in Ihrem eigenen Home-Verzeichnis speichern. - Platzieren Sie sie in
/usr/share/applications
, wenn Sie die Anwendung in/opt
oder einem anderen systemweiten Speicherort ablegen und sie in den Anwendungsmenüs aller Benutzer erscheinen soll.
Und nun ist die Anwendung so installiert, wie sie sein soll und in den Rest Ihres Systems integriert.
Kompilieren aus dem Quellcode
Zuletzt gibt es noch das wirklich universelle Installationsformat: den Quellcode. Eine Anwendung aus dem Quellcode zu kompilieren ist eine großartige Möglichkeit, um zu lernen, wie Anwendungen strukturiert sind, wie sie mit Ihrem System interagieren und wie sie angepasst werden können. Es ist aber keineswegs ein Knopfdruck-Prozess. Es erfordert eine Build-Umgebung, es beinhaltet in der Regel die Installation von Abhängigkeits-Bibliotheken und Header-Dateien, und manchmal ein wenig Debugging.
Um mehr über das Kompilieren aus dem Quellcode zu erfahren, lesen Sie meinen Artikel zu diesem Thema.
Nun wissen Sie Bescheid
Einige Leute denken, dass das Installieren von Software ein magischer Prozess ist, den nur Entwickler verstehen, oder sie denken, dass es eine Anwendung „aktiviert“, als ob die binäre ausführbare Datei nicht gültig ist, bis sie „installiert“ wurde. Hoffentlich hat Ihnen das Lernen über die vielen verschiedenen Methoden des Installierens gezeigt, dass „Installieren“ wirklich nur eine Abkürzung für „Kopieren von Dateien von einem Ort an die entsprechenden Stellen auf Ihrem System“ ist. Daran ist nichts Geheimnisvolles. Solange Sie ohne Erwartungen an jede Installation herangehen, wie sie ablaufen soll, und stattdessen darauf achten, was der Entwickler als Installationsprozess eingerichtet hat, ist es im Allgemeinen einfach, selbst wenn es anders ist, als Sie es gewohnt sind.
Das Wichtigste ist, dass ein Installer ehrlich zu Ihnen ist. Wenn Sie auf ein Installationsprogramm stoßen, das versucht, zusätzliche Software ohne Ihre Zustimmung zu installieren (oder vielleicht fragt es nach der Zustimmung, aber auf verwirrende oder irreführende Weise), oder das versucht, ohne ersichtlichen Grund Prüfungen auf Ihrem System durchzuführen, dann fahren Sie nicht mit der Installation fort.
Gute Software ist flexibel, ehrlich und offen. Und jetzt wissen Sie, wie Sie gute Software auf Ihren Computer bekommen.