Quale è meglio per le applicazioni installate: / usr / bin o la home directory dell'utente?


9

Non mi è del tutto chiaro se sarebbe meglio installare un'applicazione GUI nella /usr/binmia directory home. Ho letto questo articolo e questo , ma non parla davvero della filosofia di come usare queste diverse directory. I comandi dovrebbero essere trattati in modo diverso dalle applicazioni GUI?

Risposte:


11

L' /usr/binè la directory principale di comandi eseguibili sul sistema.

Il /usr/local:

  • Utilizzato 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.
  • Può essere utilizzato per programmi e dati condivisibili tra un gruppo di host, ma non presenti in /usr.

Il software installato localmente deve essere collocato all'interno /usr/localpiuttosto che a /usrmeno che non venga installato per sostituire o aggiornare il software in / usr.

Più qui .


7

Non vi è alcun motivo particolare per fare la differenza tra i comandi della GUI e della CLI.

/usr/binappartiene al sistema operativo quindi, anche se nulla ti impedisce, come root, di farlo, non dovresti mettere nulla qui. Questa directory è per le persone che distribuiscono software integrato con il sistema operativo e gestiscono / evitano correttamente i conflitti di nomi.

/usr/local/binè una directory comune per software creato localmente. Se riesci a scrivere qui, puoi semplicemente usare questa directory.

/opt/<name>/binè per software non appartenente al sistema operativo. È una buona posizione per il software condiviso.

La tua home directory appartiene a te, quindi sei libero di mettere qualsiasi cosa ti piaccia ovunque, ma non è la posizione migliore se altre persone devono eseguire il tuo programma.


1
Quindi l'unica differenza tra / usr / local / bin e / opt / foo / bin dove / come è stato installato il software? Quindi, di regola, qualsiasi software che installo manualmente dovrebbe andare nel primo e tutto ciò che è installato da un gestore di pacchetti finirà in un secondo momento? EDIT: sembra così. link
TheAmpersand

Sì. Si noti che il software creato localmente potrebbe anche andare su / opt / local / bin. Questo evita un problema con / usr / local che è molto scrivibile mentre / usr potrebbe essere montato in sola lettura.
jlliagre,

3

Non installare nulla manualmente /usr/bin. L'intero /usr, nonché /bin, /libe /sbin, sono riservati per il software fornito dalla tua distribuzione. Esiste un'eccezione: /usr/localdestinata ai programmi installati dall'amministratore di sistema e non toccata dai gestori dei pacchetti (ad eccezione della creazione di alcune directory). (È su Linux, altre varianti di unix potrebbero avere gestori di pacchetti che installano software sotto /usr/local.)

Tra /usr/locale un posto nella tua home directory, la scelta è tua. Se vuoi che un programma sia disponibile per tutti gli utenti, inseriscilo /usr/local. Se vuoi che sia disponibile solo per te, installalo nella tua home directory.

Non importa se il programma ha una GUI o meno.


1
/optviene talvolta utilizzato anche per installazioni locali, sebbene la divisione tra /usr/locale /optnon sia chiara.
Faheem Mitha,

2

Se ha senso (o è necessario) che l'utente sia in grado di sostituire i file binari dell'applicazione, deve essere installato nella home directory dell'utente. Altrimenti può essere installato in una directory pubblica di sola lettura come /usr/bin.


0

Per un uso globale puoi installarlo su / usr / bin ma nessuno lo consiglia.

Per utilizzare alcune applicazioni come utente specifico (dovrebbe essere più sicuro, quando lo si esegue come 1 utente) installarlo nella directory home dell'utente specifico.

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.