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/binBinari locali$HOME/etcConfigurazione del sistema specifica dell'host per i binari locali$HOME/gamesBinari di gioco locali$HOME/includeFile di intestazione C locali$HOME/libBiblioteche locali$HOME/lib64Librerie locali a 64 bit$HOME/manManuali online locali$HOME/sbinBinari di sistema locali$HOME/shareGerarchia indipendente dall'architettura locale$HOME/srcCodice 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.