GNU/Linux >> Linux Esercitazione >  >> Linux

Tenere traccia dei programmi?

Quando installo un semplice programma, spesso usa make && make install e spesso non ha nemmeno una disinstallazione obiettivo.

Se desidero aggiornare un programma, è un protocollo standard presumere che si riscriva senza problemi sul vecchio programma?

Come tengo traccia di questi programmi; la maggior parte delle persone semplicemente "spara e dimentica" e, in caso contrario, disinstalla target è dato devo cancellare tutto manualmente?

Risposta accettata:

Installa ogni programma in un albero di directory dedicato e usa Stow o XStow per far apparire tutti i programmi in una gerarchia comune. Stow crea collegamenti simbolici dalla directory specifica del programma a un albero comune.

Più in dettaglio, scegli una directory di primo livello, ad esempio /usr/local/stow . Installa ogni programma in /usr/local/stow/PROGRAM_NAME . Ad esempio, fai in modo che i suoi eseguibili siano installati in /usr/local/stow/PROGRAM_NAME/bin , le sue pagine man in /usr/local/stow/man/man1 e così via. Se il programma utilizza autoconf, esegui ./configure --prefix /usr/local/stow/PROGRAM_NAME . Dopo aver eseguito make install , esegui stow :

./configure --prefix /usr/local/stow/PROGRAM_NAME
make
sudo make install
cd /usr/local/stow
sudo stow PROGRAM_NAME

E ora avrai collegamenti simbolici come questi:

/usr/local/bin/foo -> ../stow/PROGRAM_NAME/bin/foo
/usr/local/man/man1/foo.1 -> ../../stow/PROGRAM_NAME/man/man1/foo.1
/usr/local/lib/foo -> ../stow/PROGRAM_NAME/lib/foo

Puoi facilmente tenere traccia di quali programmi hai installato elencando il contenuto di stow directory e sai sempre a quale programma appartiene un file perché è un collegamento simbolico a una posizione nella directory di quel programma. Disinstalla un programma eseguendo stow -D PROGRAM_NAME quindi eliminando la directory del programma. Puoi rendere un programma temporaneamente non disponibile eseguendo stow -D PROGRAM_NAME (esegui stow PROGRAM_NAME per renderlo nuovamente disponibile).

Se vuoi passare rapidamente da una versione all'altra dello stesso programma, usa /usr/local/stow/PROGRAM_NAME-VERSION come directory del programma. Per eseguire l'aggiornamento dalla versione 3 alla versione 4, installa la versione 4, quindi esegui stow -D PROGRAM_NAME-3; stow PROGRAM_NAME-4 .

Le versioni precedenti di Stow non vanno molto oltre le basi che ho descritto in questa risposta. Le versioni più recenti, così come XStow (che non è stato mantenuto di recente) hanno funzionalità più avanzate, come la possibilità di ignorare determinati file, gestire meglio i collegamenti simbolici esistenti al di fuori della directory stow (come man -> share/man ), gestisce automaticamente alcuni conflitti (quando due programmi forniscono lo stesso file), ecc.

Correlati:cambiare il titolo del terminale?

Se non hai o non vuoi usare l'accesso come root, puoi scegliere una directory nella tua home directory, ad es. ~/software/stow . In questo caso, aggiungi ~/software/bin al tuo PATH . Se man non trova automaticamente le pagine man, aggiungi ~/software/man al tuo MANPATH . Aggiungi ~/software/info al tuo INFOPATH , ~/software/lib/python al tuo PYTHONPATH e così via a seconda dei casi.


Linux
  1. Come reindirizzare l'output di un programma su un file zip?

  2. Programma di compressione che mostra il rapporto di compressione in tempo reale?

  3. Come gestire i programmi di avvio su Ubuntu Linux

  4. Programma Python che consuma RAM

  5. Disinstallare i programmi in Linux

Come disinstallare i programmi nel sistema operativo elementare e Ubuntu

5 consigli per padroneggiare Linux

Come rimuovere i programmi installati dal sorgente utilizzando GNU Stow in Linux

Cos'è Bonjour sul mio computer? Guida per PC del programma Bonjour di Windows 10

Come eseguire programmi Java in Ubuntu

Creazione di un programma in bin