Perché ci sono così tanti posti dove mettere un binario in Linux? Ci sono almeno questi cinque:
/bin/
/sbin/
/usr/bin/
/usr/local/bin/
/usr/local/sbin/
E sulla casella del mio ufficio, non ho i permessi di scrittura per alcuni di questi.
Che tipo di binario va in quale di questi bin
s?
Risposta accettata:
-
/bin
(e/sbin
) erano destinati a programmi che dovevano trovarsi su un piccolo/
partizione prima del più grande/usr
, ecc. sono state montate partizioni. Al giorno d'oggi, serve principalmente come posizione standard per programmi chiave come/bin/sh
, sebbene l'intento originale possa ancora essere rilevante per es. installazioni su piccoli dispositivi embedded. -
/sbin
, a differenza di/bin
, è per i programmi di gestione del sistema (normalmente non utilizzati dagli utenti ordinari) necessari prima di/usr
è montato. -
/usr/bin
è per i normali programmi utente gestiti dalla distribuzione. -
C'è un
/usr/sbin
con la stessa relazione con/usr/bin
come/sbin
deve/bin
. -
/usr/local/bin
è per i normali programmi utente non gestito dal gestore del pacchetto di distribuzione, ad es. pacchetti compilati localmente. Non dovresti installarli in/usr/bin
perché futuri aggiornamenti della distribuzione potrebbero modificarli o eliminarli senza preavviso. -
/usr/local/sbin
, come probabilmente puoi intuire a questo punto, è/usr/local/bin
come/usr/sbin
a/usr/bin
.
Inoltre, c'è anche /opt
che è per pacchetti monolitici non di distribuzione, anche se prima che fossero adeguatamente integrati varie distribuzioni mettevano lì Gnome e KDE. In genere dovresti riservarlo per pacchetti di terze parti grandi e mal comportati come Oracle.