Warum gibt es so viele Orte, an denen man eine Binärdatei in Linux ablegen kann? Es gibt mindestens diese fünf:
/bin/
/sbin/
/usr/bin/
/usr/local/bin/
/usr/local/sbin/
Und auf meiner Office-Box habe ich für einige davon keine Schreibberechtigung.
Welche Art von Binärdatei gehört in welche dieser bin
s?
Akzeptierte Antwort:
-
/bin
(und/sbin
) waren für Programme gedacht, die auf einem kleinen/
sein mussten Partition vor dem größeren/usr
, etc. Partitionen wurden gemountet. Heutzutage dient es meistens als Standardspeicherort für Schlüsselprogramme wie/bin/sh
, obwohl die ursprüngliche Absicht z. Installationen auf kleinen eingebetteten Geräten. -
/sbin
, im Unterschied zu/bin
, wird für Systemverwaltungsprogramme (normalerweise nicht von normalen Benutzern verwendet) vor/usr
benötigt montiert ist. -
/usr/bin
ist für von der Distribution verwaltete normale Benutzerprogramme. -
Es gibt ein
/usr/sbin
mit der gleichen Beziehung zu/usr/bin
als/sbin
muss/bin
sein . -
/usr/local/bin
ist für normale Benutzerprogramme nicht vom Paketmanager der Distribution verwaltet, z.B. lokal kompilierte Pakete. Sie sollten sie nicht in/usr/bin
installieren da zukünftige Distributions-Upgrades sie ohne Vorwarnung ändern oder löschen können. -
/usr/local/sbin
, wie Sie an dieser Stelle wahrscheinlich erraten können, befindet sich in/usr/local/bin
als/usr/sbin
nach/usr/bin
.
Außerdem gibt es noch /opt
Das ist für monolithische Nicht-Distributionspakete, obwohl verschiedene Distributionen Gnome und KDE dort platziert haben, bevor sie richtig integriert wurden. Im Allgemeinen sollten Sie es für große, schlecht benommene Pakete von Drittanbietern wie Oracle reservieren.