it-swarm.it

Quando si installano le applicazioni utente, dove suggeriscono che si trovano le "migliori pratiche"?

Occasionalmente installo le applicazioni manualmente, invece di utilizzare apt o un altro gestore di pacchetti.

Quale posizione (/usr/, /usr/local/, /opt/, /home/, ecc.) È suggerita dalle "best practice" per l'installazione di applicazioni utente?

206
citadelgrad

Dipende davvero. Se l'applicazione ha un makefile o, ad esempio, per le app python se l'applicazione utilizza distutils (ad esempio, ha un file setup.py) o un sistema simile build/install, è necessario installarlo in /usr/local/. Questo è spesso il comportamento predefinito.

Da quanto ho capito, /usr/local/ ha una gerarchia simile a /usr/. Tuttavia, directory come /usr/bin/ e /usr/lib/ sono generalmente riservate per l'installazione di pacchetti tramite apt. Quindi un programma che prevede di essere "installato" in /usr/ dovrebbe funzionare bene in /usr/local/.

Se devi solo estrarre un tarball ed eseguire direttamente (ad esempio Firefox), inseriscilo in /opt/. Un programma che necessita solo di una directory e otterrà tutti i file/librerie relativi a quella directory può ottenere una directory per sé in /opt/.

182
Umang

È bene ricordare che /usr non sta per tente ma piuttosto risorse di sistema unix.

In quanto tale, tendo a capire che qualsiasi distribuzione ha il diritto di calpestare i contenuti di /usr, e che le mie aggiunte specifiche al sistema vanno in /usr/local, che conservo prima di fare un aggiornamento.

Nel frattempo, applicazioni e altre cose vanno in /opt.

Alcune persone si sentono a proprio agio nel mettere roba in /home, anche se raramente seguo quella convenzione.

Detto questo, ho lasciato prima che il gestore dei pacchetti di distribuzione facesse le cose a modo suo, e poi facesse quanto sopra quando rotolava le cose a mano.

116
Walt Stoneburner

Installa programmi instabili come firefox devel in/home/user/opt/rende molto più facile la rimozione e non c'è confusione per gli altri utenti su quale versione dovrebbero usare ... Quindi se non è un programma per uso globale, installa in una sottocartella nella tua home directory.

Non installare programmi in/usr /, è probabile che causi caos, le cose installate in/usr/sono destinate esclusivamente ai pacchetti di distribuzione./usr/local/è per i pacchetti compilati localmente. E la struttura funziona esattamente allo stesso modo! i file in/usr/local/avranno la priorità rispetto ai file in/usr /

/ opt/dovrebbe essere usato per l'installazione di pacchetti precompilati (binari) (Thunderbird, Eclipse, Netbeans, IBM NetSphere, ecc.) e simili. Ma se sono solo per un singolo utente, dovrebbero essere inseriti nella tua home directory.

Se vuoi essere in grado di eseguire un programma installato in una posizione "strana" (come/home/user/opt/firefox /) senza digitare l'intero percorso che devi aggiungere alla tua variabile $ PATH, puoi farlo aggiungendo una linea come questa nel tuo /home/user/.profile

export PATH=/home/user/opt/firefox:$PATH

Il nome della cartella dovrebbe essere quello in cui si trova il file eseguibile che devi eseguire.

34
LassePoulsen

Lo standard della gerarchia del filesystem Linux indica /usr/local.

Da http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html :

L'idea originale dietro '/ usr/local' era di avere una directory ('local') '/ usr' separata su ogni macchina oltre a '/ usr', che poteva essere montata in sola lettura da qualche altra parte. Copia la struttura di '/ usr'. In questi giorni, "/ usr/local" è ampiamente considerato come un buon posto in cui conservare programmi autocompilati o di terze parti. La gerarchia/usr/local è 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. Può essere utilizzato per programmi e dati condivisibili tra un gruppo di host, ma non presenti in/usr. Il software installato localmente deve essere posizionato in/usr/local anziché/usr a meno che non sia installato per sostituire o aggiornare il software in/usr.

26
popey

Di solito ho una cartella chiamata "Programmi" nella mia casa in cui installo quei programmi, abbastanza strano (o no) che sono tutti Java roba in questo momento.

Ha un grande vantaggio per me, quando reinstallo o cambio computer vengono spostati con il resto della mia casa. Ha un chiaro svantaggio, quelle app sono disponibili solo per il mio utente.

6
Javier Rivera

Usa "checkinstall" per convertire il tuo pacchetto alien in un deb in modo che non sia installabile usando il gestore pacchetti.

Tieni presente che i file di configurazione spesso non verranno gestiti come file di configurazione (forse ignorati o forse trattati come parte dell'app) e che gli script pre e post installazione a volte vengono confusi, anche se in genere ti avvisa quando pensa che il deb avrà uno script pre o post installazione errato.