Linuxtrent: Re: Disinstallare programmi installati da tarball

  • From: Matteo Ianeselli <ianezz@xxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxxxxxx
  • Date: Tue, 20 Feb 2001 16:34:09 +0100

Ludovico Romano writes:

 > 1) come si fa a disinstallare senza rpm o similari?

Prendi i file e.... li cancelli. Il problema e' sapere quali sono i
file. Se hai buttato tutto in /usr (/usr/bin, /usr/lib, /usr/share,
etc.), auguri: i package manager li hanno inventati apposta per
questo. :-)

Io conosco tre strategie che puoi adottare quando compili un programma
da sorgenti presi via .tar.gz:

1) In generale, quasi tutti usano automake e autoconf per gestire la
   compilazione del progetto (autoconf, per intenderci, e' quello che
   crea l'onnipresente script "configure").

   Il buon "configure" accetta tra i tanti parametri anche un bel
   "--prefix=directory", e tutti i file del programma vengono
   installati sotto quella directory quando esegui "make install".

   Quando installo un programma compilandolo da sorgenti, creo in /opt
   una directory per ogni programma.

   Ad esempio: c'e' questo bel programma che e' Pincopallo versione 1.5. Allora:

   - scompatto i sorgenti da qualche parte
   - ./configure --prefix=/opt/pincopallo-1.5 ...(altre opzioni)...
   - make
   - make install

   Nel mio /etc/profile c'e' una cosa del genere:

   APPLICATIONS='
   /opt/pincopallo-1.5
   /opt/ziopino-0.5
   /opt/xyzzy-0.3'
   
   for i in $APPLICATIONS; do 
       if [ -d "$i" ]; then
           if [ -d "$i/bin" ]; then
               export PATH="$PATH:$i/bin"
           fi
   
           if [ -d "$i/games" ]; then
               export PATH="$PATH:$i/games"
           fi
   
           if [ -d "$i/man" ]; then
               export MANPATH="$MANPATH:$i/man"
           fi
   
           if [ -d "$i/lib" ]; then
               export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$i/lib"
           fi
       fi
   done

   Queste righe semplicemente allungano PATH, MANPATH e
   LD_LIBRARY_PATH alla bisogna.

   E questo mi permette di avere una directory per programma. Quando
   aggiungo un'applicazione, aggiungo la sua directory a $APPLICATIONS
   e voila', il gioco e' fatto con meno di 20 righe. Quando voglio
   rimuovere un'applicazione, cancello la sua directory e la tolgo da
   $APPLICATIONS. Questo trucco non funziona per librerie.


2) Oppure esiste un comodo attrezzo chiamato "GNU stove", che trovi
   sul sito gnu, che gestisce la cosa. In pratica, installi il
   programma in una directory sua, e stove crea tutti i link simbolici
   sotto /usr. Stove poi permette di rimuovere tutti i link
   comodamente, e poi basta cancellare la directory. C'e' il vantaggio
   che PATH e soci non diventano chilometrici, e la cosa ovviamente
   funziona anche per semplici librerie.

3) Oppure puoi sempre installarti i file in una directory a parte e
   provvedere a crearti TU un pacchetto RPM. Esiste un front-end a
   vari package manager chiamato EPM che, dato uno specfile molto
   semplice, riesce a creare pacchetti .rpm, o .deb, o dei tar.gz
   autoinstallanti, o dei .depot (di HP-UX). Questa e' comunque una
   cosa alquanto brigosa da fare.


 > 2) e aggiornare un pacchetto rpm con un tarball?

rpm -e nomepacchetto

e poi procedi a installare un tar.gz (vedi sopra). Puo' darsi che la
rimozione di un .rpm rompa qualche dipendenza, per cui dovrai usare
anche l'opzione "--nodeps" (o era --force) quando rimuovi. Chiaro che
devi provvedere a installare il sostituto.
-- 
UNIX diapers by Pannolini USPTO 2039887  http://www.uspto.gov
Matteo Ianeselli      ianezz AT sodalia.it  (+39) 0461 316452
Visita il LinuxTrent:            http://linuxtrent.grinta.net

-- 
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con SOGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxxxxxx


Other related posts:

  • » Linuxtrent: Re: Disinstallare programmi installati da tarball