Installationsort für Software und ausführbare Dateien für alle Benutzer

15

Standardmäßig werden einige Anwendungen in / usr / local / bin installiert. Wenn ich jedoch den Benutzer ändere, kann dieser Benutzer dann auf diese Anwendung zugreifen? Ich habe hier irgendwo gelesen (noch eine Frage), dass ich / opt verwenden soll? Aber Binärdateien, die standardmäßig in / usr / local / bin abgelegt werden? Gibt es kein / opt / bin?

Jiew Meng
quelle
Mögliches Duplikat von Was ist der beste Ort, um Benutzer-Apps zu installieren?
Jorge Castro

Antworten:

19

Normalerweise sollten Sie nicht versuchen müssen, etwas von Hand zu installieren. In fast allen Fällen finden Sie ein .deb-Paket. Wenn es kein Google für Vorschläge gibt (wie man Oracle JDK in Ubuntu installiert ). Wenn es sich um Ihre eigene Software handelt, lesen Sie das Ubuntu-Paketierungshandbuch, um zu erfahren, wie Sie alles richtig in Ubuntu einfügen.

Wenn Sie es trotzdem tun müssen , legen Sie die Binärdatei in / opt / myapp ab und verknüpfen Sie die ausführbare Datei mit ln -s /opt/myapp/myappbinary /usr/local/bin/myappbinary. Wenn Sie mehr über das Thema erfahren möchten, geben Sie man hierein Terminal ein. Dort wird der Unterschied zwischen / usr / bin und / usr / local / bin erläutert. In jedem Fall befinden sich beide Pfade in der Umgebungsvariablen $ PATH. Das bedeutet, dass jede Binärdatei, die Sie dort ablegen, von jedem ausführbar ist, der nur den Namen der Binärdatei (und nicht den vollständigen Pfad) angibt. Mit dem obigen Beispiel können Sie also Ihr Programm ausführen myappbinary, ohne den vollständigen Pfad angeben zu müssen /opt/myapp/myappbinary.

Frau
quelle
1
Was ist der Zweck, es in / opt zu setzen, besonders wenn Sie es nur in / usr / local irgendwie symlinken werden?
Psusi
Wenn ich möchte, dass alle Benutzer des Systems die App verwenden können, sollte ich einen Symlink zu / usr / bin anstelle von / usr / local / bin erstellen.
Jiew Meng
4
@jiewmeng Wenn du man hierdir das anschaust, wirst du alles dort erklärt sehen. Einschließlich des Unterschieds zwischen / usr / bin und / usr / local / bin. Kurz gesagt: Verknüpfen Sie nichts mit / usr / bin /. @psusi Der Grund ist, Ihr Dateisystem sauber zu halten. Wenn Sie Ihren Computer jemals neu installieren (oder auf einen anderen Computer / eine andere Festplatte wechseln), müssen Sie nur die Verzeichnisse / home, / etc und / opt durchsuchen. Und lassen Sie mich noch einmal wiederholen: Normalerweise möchten Sie nie etwas außerhalb Ihres $ HOME tun, außer vielleicht Konfigurationsdateien in / etc zu bearbeiten.
3.
7

/ usr ist von der ganzen Welt lesbar, also gibt es kein Problem damit, dass andere Benutzer das Programm ausführen können. In / usr / local werden Anwendungen abgelegt, die Sie selbst aus dem Quellcode kompilieren. Programme, die über den Paketmanager installiert werden, werden an anderer Stelle abgelegt. Ich habe noch nie einen Grund für / opt gesehen und glaube, es ist nur eine Verschleppung der alten AT & T Sys V-Tage in den 80ern.

Psusi
quelle
Was ist der Unterschied zwischen / usr / local / bin und / usr / bin? Wenn ich möchte, dass alle Benutzer auf die App zugreifen können, lege ich sie in / usr / bin ab?
Jiew Meng
@jiewmeng, die lokale Version ist wiederum für Programme gedacht, die Sie selbst kompilieren, anstatt über den Paket-Manager zu installieren. Es hat nichts mit Benutzern und Zugriff zu tun.
Psusi
0

Je nach Linux-Version kann der bevorzugte Ort für die Installation von Hand variieren. Wenn Sie es von Hand tun, tun Sie, was die README-Datei vorschlägt.

Wenn Sie einen neuen Benutzer erstellen und Ihre alten Benutzer nichts tun mussten, um auf das neue Programm zuzugreifen, werden dies auch die neuen Benutzer nicht tun.

Es steht Ihnen jedoch frei, / opt / bin zu erstellen und in den Pfad aufzunehmen . Aber warum sollten Sie das tun ? Oder sogar / flip / flop / funky / bin . Oder von irgendwoher auf ein Verzeichnis verlinken, das bereits im PATH enthalten ist .

Benutzer unbekannt
quelle