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/sbincon la stessa relazione con/usr/bincome/sbindeve/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/binperché futuri aggiornamenti della distribuzione potrebbero modificarli o eliminarli senza preavviso. -
/usr/local/sbin, come probabilmente puoi intuire a questo punto, è/usr/local/bincome/usr/sbina/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.