GNU/Linux >> Linux Esercitazione >  >> Linux

Dove dovrebbe essere posizionato un eseguibile locale?

Ho un eseguibile per il client di controllo della versione perforce (p4 ). Non riesco a inserirlo in /opt/local perché non ho i privilegi di root. C'è una posizione standard in cui deve essere posizionato sotto $HOME ?

La gerarchia del file system ha una convenzione che dice che gli eseguibili/binari locali devono essere inseriti in $HOME/bin ?

Non sono riuscito a trovare una tale convenzione menzionata nell'articolo di Wikipedia per l'FHS.

Inoltre, se esiste davvero una convenzione, dovrei includere esplicitamente il percorso del $HOME/bin directory o qualunque sia la posizione del bin directory è?

Risposta accettata:

In generale, se un binario installato e mantenuto non di sistema deve essere accessibile a livello di sistema a più utenti, dovrebbe essere inserito da un amministratore in /usr/local/bin . C'è una gerarchia completa sotto /usr/local che viene generalmente utilizzato per i pacchetti software compilati e installati localmente.

Se sei l'unico utente di un binario, installalo in $HOME/bin è la posizione appropriata poiché puoi installarlo da solo e sarai l'unico consumatore. Se compili un pacchetto software dal sorgente, è anche opportuno creare una gerarchia locale parziale o completa nel tuo $HOME directory. L'intera gerarchia locale sarebbe simile a questa.

  • $HOME/bin Binari locali
  • $HOME/etc Configurazione del sistema specifica dell'host per i binari locali
  • $HOME/games Binari di gioco locali
  • $HOME/include File di intestazione C locali
  • $HOME/lib Biblioteche locali
  • $HOME/lib64 Librerie locali a 64 bit
  • $HOME/man Manuali online locali
  • $HOME/sbin Binari di sistema locali
  • $HOME/share Gerarchia indipendente dall'architettura locale
  • $HOME/src Codice sorgente locale

Durante l'esecuzione di configure , dovresti definire la tua gerarchia locale per l'installazione specificando $HOME come prefisso per le impostazioni predefinite di installazione.

./configure --prefix=$HOME

Ora quando make && make install vengono eseguiti, i binari, i pacchetti, le pagine man e le librerie compilati verranno installati nel tuo $HOME gerarchia locale. Se non hai creato manualmente un $HOME gerarchia locale, make install creerà le directory necessarie al pacchetto software.

Una volta installato in $HOME/bin , puoi aggiungere $HOME/bin al tuo $PATH oppure chiama il binario usando il $PATH assoluto . Alcune distribuzioni includeranno $HOME/bin nel tuo $PATH per impostazione predefinita. Puoi verificarlo con echo $PATH e vedere se $HOME/bin c'è, o metti il ​​binario in $HOME/bin ed eseguendo which binaryname . Se ritorna con $HOME/bin/binaryname , quindi è nel tuo $PATH per impostazione predefinita.

Correlati:Debian – Cerca gli ultimi file modificati negli ultimi 2 minuti nella tua home directory che contengono una determinata stringa?
Linux
  1. /usr/bin Vs /usr/local/bin Su Linux?

  2. Dove dovrei mettere il software che compilo da solo?

  3. Comando non trovato in Zsh, ma trovato in Bash?

  4. Quali distribuzioni hanno $home/.local/bin in $path?

  5. Come inserire l'eseguibile in /usr/local/bin??

Dove dovrebbero essere impostate le variabili d'ambiente per Jenkins?

Dove posizionare gli eseguibili locali?

Dov'è l'eseguibile PHP su Ubuntu?

Differenza tra /bin e /usr/bin

Spostato il contenuto di /bin in /usr/bin, è possibile annullare?

La tabella è contrassegnata come bloccata e deve essere riparata