Gemäß dem Filesystem Hierarchy Standard gibt es je nach Anwendung mehrere zulässige Stellen. Ich zitiere hier ausgiebig daraus.
bin
ist natürlich die Abkürzung für "binary"-
sbin
ist die Abkürzung für "Server Binary", ansonsten definiert als:Dienstprogramme für die Systemadministration (und andere Nur-Root-Befehle)
-
/usr
ist für gemeinsam nutzbare, schreibgeschützte Daten und sollte zwischen verschiedenen FHS-kompatiblen Hosts gemeinsam genutzt werden können (wenn Sie viele Maschinen in Ihrem Netzwerk haben und alle dieselbe Architektur haben, sollten Sie in der Lage sein, einen einzigen /usr-Ordner gemeinsam zu nutzen mit jeder Maschine im Netzwerk) /usr/local
wird vom Systemadministrator verwendet, wenn Software lokal installiert wird (dh für Anwendungen, die nur auf diesem Computer installiert sind, nicht auf jedem Computer im Netzwerk).
Zusammengenommen:
/usr/bin
ist das Hauptverzeichnis ausführbarer Befehle auf dem System./usr/sbin
ist für alle nicht wesentlichen Binärdateien, die ausschließlich vom Systemadministrator verwendet werden.- Systemverwaltungsprogramme, die für die Systemreparatur, Systemwiederherstellung, das Mounten von /usr oder andere wichtige Funktionen erforderlich sind, müssen in
/sbin
platziert werden stattdessen (dh die Dinge, auf die Sie zugreifen müssen, um/usr/sbin
zu mounten gehen Sie in/sbin
) - Ebenso wesentliche Benutzerbefehle, die vor
/usr
benötigt werden könnten wird in/bin
gemountet - Alles, was nur auf dem lokalen Rechner installiert ist, sollte in
/usr/local/bin
gehen oder/usr/local/sbin
Es gibt jedoch eine andere Verwendung für /usr/local. Die meisten Dinge, die Sie über den Paketmanager Ihrer Distribution installieren, werden unter /usr abgelegt; Viele Leute legen Dinge, die sie von Hand kompiliert haben, stattdessen unter /usr/local ab. Dies hält sie aus dem Weg des Paketverwaltungssystems und lässt Sie erkennen, was Sie von der Distribution installiert haben (und keine Sicherungskopie erstellen müssen, weil Sie es wieder abrufen können) und was Sie von Hand kompiliert haben; Sie können damit auch verschiedene Versionen gleichzeitig ausführen (z. B. /usr/bin/firefox vs. /usr/local/bin/firefox).
Gerade als Sie dachten, die Dinge seien erledigt, gibt es noch einen anderen Ort, der wahrscheinlich dem c:\Program Files
am nächsten kommt - /opt
:
/opt
ist für die Installation zusätzlicher Anwendungssoftwarepakete reserviert.`
/opt
ist wahrscheinlich das nächste Äquivalent zu c:\program files
, da dies der einzige Ort ist, an dem Sie erwarten würden, eine Anwendung mit all ihren Dateien zusammen in einem Ordner zu finden, anstatt über /usr/bin
verstreut zu sein , /var
, und /etc
. Es wird normalerweise nur von sehr großen Paketen verwendet, aber in diesem Fall, da Netbeans einen eigenen Ordner haben möchte, ist es wahrscheinlich am sinnvollsten, ihn unter /opt/netbeans
Es kommt wirklich auf die persönlichen Vorlieben an. Ich werde meine erklären, was sie wert ist.
/usr, /usr/bin sind normalerweise Orte für Software, die vom System installiert werden soll. Wenn ich Dinge selbst installiere, installiere ich sie an einer von mehreren Stellen:
- Wenn es sich um ein Skript oder ein kleines Programm handelt, das ich nur verwenden werde, installiere ich es in ~/bin - dort landen die meisten meiner Sachen.
- Wenn es etwas ist, wie Sie es beschrieben haben (NetBeans) mit einem eigenen vollständigen Dateibaum, installiere ich es in /opt
- Wenn es sich um eine einzelne ausführbare Datei handelt, installiere ich sie in /usr/local/bin
Warum unterscheide ich zwischen Nr. 2 und Nr. 3? Keine Ahnung, das ist nur eine Angewohnheit, die ich mir mit der Zeit angeeignet habe. Es funktioniert, dass /opt normalerweise zu einem tiefen Baum von Dateien wird, aber nur 2 oder 3 tatsächliche "Dinge" installiert sind. Im Moment habe ich Lampp und Lotus Notes in opt installiert, zwei Verzeichnisse, die jeweils ziemlich große Bäume unter sich haben. In /usr/local/bin habe ich 20 oder 30 Einträge, aber kein Unterverzeichnis.
Ich installiere keine Dinge in /usr/bin oder /usr/sbin, weil ich gerne Dinge, die ich manuell hinzufüge (nicht Teil der einfachen Installation aus dem Standard-Repository), separat aufbewahre.