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.