ubuntuusers.de

opt

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Wiki/Icons/Oxygen/folder.png Das Verzeichnis /opt/ (für optional) ist ein Ordner, in dem sämtliche Zusatzprogramme installiert werden, die nicht unter einer freien Lizenz stehen oder bewusst vom Anwender an der Paketverwaltung vorbei geschleust werden sollen. Der Hauptvorteil gegenüber einer Installation im eigenen Homeverzeichnis ist die Möglichkeit, systemweit (durch alle auf dem Rechner vorhandenen Benutzer) auf die dort installierten Programme zugreifen zu können.

Neben kommerziellen Programmen wie LinDVD oder SPSS können hier z.B. Spiele installiert werden. Auch kostenlose, aber unfreie Software wie Google Earth findet in diesem Ordner ihren Platz.

Ein weiterer Anwendungszweck ist die (testweise) Installation von neueren Programmversionen. Dies setzt aber voraus, dass die Programme als vorkompilierte statische Binärdateien (precompiled static binaries) vorliegen. Dies hat den Vorteil, dass man Programme relativ schnell installieren kann, ohne die Paketverwaltung zu bemühen und vermeidet darüber hinaus das Ersetzen einer älteren, aber stabilen Programmversion aus den Paketquellen. Des Weiteren kann man sich so das Kompilieren eines Programms sparen. Programme werden dabei einfach nach dem Muster /opt/programmname in einen Unterordner von /opt kopiert. Allerdings muss man unter Umständen beachten, dass über diesen Weg installierte Programme Probleme bereiten können (Änderungen in Konfigurationsdateien).

Installation

Das gewünschte Programm muss bereits entpackt [1] vorliegen. Nun verwendet man entweder einen Dateimanager mit Root-Rechten oder wechselt alternativ in ein Terminal-Fenster [2].

Kopieren

Im ersten Schritt muss das Programm bzw. der Programmordner nach /opt/ kopiert werden - ORDNER ist entsprechend zu ändern.

Allgemein:

sudo cp -a --no-preserve=owner ORDNER /opt/ 

Beispiel:

sudo cp -a --no-preserve=owner firefox /opt/ 

Dieser Befehl sorgt auch dafür, dass die Dateien Root gehören, was in den meisten Fällen sinnvoll ist. Dadurch wird verhindert, dass normale Benutzer unberechtigte Änderungen an den Programmdateien vornehmen können. Die Nutzung des Programms wird im Allgemeinen nicht eingeschränkt. Möchte man dennoch, dass der bisherige Dateieigentümer erhalten bleibt (wie bei einer Installation im Homeverzeichnis), dann lässt man einfach den Parameter --no-preserve=owner weg.

Wer möchte, kann nun noch den Original-Ordner löschen. Das gewünschte Programm ist nun im Ordner /opt/ zu finden. Damit man es direkt aufrufen kann [3], wird entweder eine symbolische Verknüpfung (Symlink) oder ein Startskript erstellt:

Allgemeine Syntax einer Verknüpfung:

sudo ln -s /opt/ordner/programm /usr/local/bin/startername 

Das Programm kann nun mittels startername aufgerufen und bei Bedarf ein Programmstarter [4] vorgenommen werden.

Skript

Mitunter kann es vorkommen, dass ein Symlink nicht funktioniert, da z.B. Umgebungsvariablen gesetzt werden müssen. Dann kann man in /usr/local/bin/ mit einem Editor [5] und Root-Rechten ein Skript startername anlegen. Inhalt:

#!/bin/sh
cd /opt/programm/
./programm

Dieses Skript anschließend ausführbar machen [6]:

sudo chmod +x /usr/local/bin/startername 

Java

Bei Programmen, die auf Java basieren, wird das Skript entsprechend abgeändert:

#!/bin/bash
cd /opt/programm/
java -jar programm.jar

Falls ausdrücklich eine andere (z.B. ältere) Version von Java für ein Programm genutzt werden soll, muss man lediglich den Pfad zur Java-Version mit angeben. Beispiel:

/usr/lib/jvm/java-1.5.0-sun/jre/bin/java -jar programm.jar

Deinstallation

Zum Deinstallieren genügt es, die bei der Installation in /opt/ abgelegten Dateien und die Symlinks oder Skripte in /usr/local/bin zu löschen. Eventuell vom Programm im Homeverzeichnis erstellte, versteckte Konfigurations-Dateien kann man bei Bedarf sichern oder ebenfalls löschen. Hinweise hierzu finden sich in der Regel im Artikel zum jeweiligen Programm.

Problembehebung

Sich selbst aktualisierende Programme

Problematisch bei der Installation nach /opt/PROGRAMMNAME/ sind alle Anwendungen, die sich selbst um eine Aktualisierung kümmern möchten. Da der Benutzer eines Programms nicht die entsprechenden Rechte besitzt, muss eine Aktualisierung scheitern. Abhilfe bringt eine vorübergehende Änderung der Besitzrechte mit chown:

sudo chown -R BENUTZERNAME:BENUTZERNAME /opt/PROGRAMMNAME 

BENUTZERNAME und PROGRAMMNAME müssen an das eigene System angepasst werden. Nun kann beim nächsten Start des Programms (durch den angegebenen Benutzer!) eine Aktualisierung durchgeführt werden. Da dies eine potentielle Sicherheitslücke darstellt, sollte man später die Besitzrechte wieder zurücksetzen:

sudo chown -R root:root /opt/PROGRAMMNAME 

Komplett umgehen kann man das Problem nur, wenn man das gewünschte Programm nicht nach /opt/, sondern ins eigene Homeverzeichnis installiert. Wenn dort mehrere Anwendungen installiert werden sollen, ist es empfehlenswert, sich einen eigenen Ordner ~/bin/ mit Unterordnern für die jeweiligen Programme einzurichten. Ein oben erwähnter Symlink hat auch hier den Vorteil, dass man eine Anwendung einfach über ihren Namen starten kann, ohne den vollständigen Pfad angeben zu müssen.

Diese Revision wurde am 21. April 2019 22:58 von Beforge erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: System