Uso delle directory / opt e / usr / local nel contesto di un PC


65

Qual è la differenza tra /opte /usr/localdirectory e che tipo di programmi deve essere installato a loro?

Ho fatto riferimento alla Gerarchia del file system di Linux, ma la spiegazione non è così chiara. Secondo il link sopra;

/opt : - Questa directory è riservata a tutto il software e ai pacchetti aggiuntivi che non fanno parte dell'installazione predefinita

/usr/local: - La /usr/localgerarchia deve essere utilizzata dall'amministratore di sistema durante l'installazione del software in locale. Deve essere sicuro di non essere sovrascritto quando il software di sistema viene aggiornato.

Nel contesto di un PC senza computer in rete quale dovrebbe essere la directory per installare un software a cui accederanno più utenti locali? (ovvero dove dovrei installare un software come netbeans)

Grazie


4
Google Chrome opts per usare quella directory per qualche motivo.
Camilo Martin,

2
@CamiloMartin Immagino sia optionico.
becko,

4
@becko Beh, deve essere una optscelta imal se Google lo ha pubblicato opt.
Camilo Martin,

3
Anche se siete tutti nel posto giusto, optimus Prime suona meglio.
erm3nda,

2
Lol..Vengo in ritardo alla festa .. Ma sembra che voi gente abbiate optimitato molto la sezione dei commenti ..: P
john400

Risposte:


71

/optè per applicazioni di terze parti che non fanno affidamento su dipendenze al di fuori dell'ambito di detto pacchetto. /usr/localè per i pacchetti installati su questa macchina al di fuori dell'ambito del gestore pacchetti di distribuzione.

Un esempio:

Un client sip open source fornito come .deb verrebbe installato in /usr. Se fosse stato costruito con il framework Qt, apt lo avrebbe inserito come dipendenza.

Lo stesso sip-client open source creato dal sorgente risiederebbe /usr/localquindi non sarebbe incasinato da apt se in seguito hai installato un pacchetto .deb per la stessa applicazione. È possibile creare le sue dipendenze dall'origine o ottenerle dal gestore pacchetti.

Un'applicazione di terze parti /optdovrebbe essere autonoma. Ad esempio, un client-client proprietario che utilizza Qt non si affiderebbe alla versione di apt, ma la farebbe raggruppare o legare staticamente.

Per ulteriori informazioni, dai un'occhiata allo Standard di gerarchia dei filesystem .


1
quindi netbeans va su / usr / local in quanto dipende da jdk e altri compilatori + più segue linux FHS?
Niroshan,

1
La risposta è si.
Egil,

1
Se voglio installare condaglobalmente come suggerito qui , è /optil posto giusto?
Alexey,

@Egil, perché mac non ha una directory opt?
Pacerier

Ho precedentemente votato questa risposta, ma ora vedo che le sue conclusioni differiscono leggermente da questo articolo del Linux Journal . L'articolo implica che con il software in pacchetto è importante chi ha fornito il pacchetto . Se il pacchetto è dal repo pacchetto del sistema operativo, allora dovrebbe essere installato sotto /usr(o, presumibilmente, anche direttamente sotto /bin, /libe così via) come al solito. Se, tuttavia, proviene da un'altra fonte, allora dovrebbe essere inserito /usr/local. Ciò includerebbe potenzialmente il "client sip open source" .debnella risposta.
sampablokuper

12

Vorrei installare pacchetti solo binari di terze parti su /opt.

Qualunque cosa tu costruisca dalla fonte che vorrei inserire /usr/local.

netbeansè in Ubuntu Repos. Hai bisogno di una versione specifica?


C'è qualche logica dietro o è solo una buona pratica? (Ho citato netbeans come esempio - ho cambiato quella parte per rimuovere eventuali ambiguità). Grazie
Niroshan,

Penso che altre risposte lo abbiano detto meglio. Di solito i binari di terze parti sono indipendenti.
Broam,

Che dire delle cose che dipendono dai tempi di esecuzione, come il software Python o Java? Li metterei su /optma non sono sicuro che sia corretto.
Camilo Martin,

8

Si tratta di imballaggi. Se qualcosa è impacchettato in modo LHS (mettendo gli eseguibili in bin / librerie in lib / ecc.) Dovrebbe andare in / usr / local.

Se qualcosa ha una directory di livello superiore e non segue quel modello, va in / opt. In generale, devi aggiungere esplicitamente elementi in / optare per il tuo PERCORSO.

Vedi anche questa domanda sul superutente


Questa risposta sembra essere corroborata da questo articolo del Linux Journal .
sampablokuper
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.