R: Man in error
Gabriele Villi
gvilli a iol.it
Mer 25 Ott 2000 09:28:23 UTC
>From: "Luca Coianiz" <lcoianiz a w3.to>
>To: "marco ghidinelli" <marcogh a atdot.org>, <lug a lugbs.linux.it>
>Subject: R: Man in error
>Date: Tue, 24 Oct 2000 03:11:34 +0200
>X-Mailer: Microsoft Outlook Express 5.00.2615.200
>Sender: owner-lug a lugbs.linux.it
>Reply-To: "Luca Coianiz" <lcoianiz a w3.to>, lug a lugbs.linux.it
>X-Loop: lug a lugbs.linux.it
>X-Subliminal: Support FSF and GNU project!
>
> Io ho (purtroppo) installato tutto tramite YAST, che gestisce direttamente
>i pacchetti RPM e ogni volta che devo installare qualcosa NON compresa nella
>distro che ho su CD (quindi non necessariamente pacchetti RPM, anzi... quasi
>mai) mi vengono i vermi, essenzialmente per due ragioni:
>
>1) come fare a verificare i prerequisiti d'installazione ? (YAST lo fa per i
>cavoli suoi... sui suoi CD)
Io ti so dire qualcosa per quanto riguarda i pacchetti rpm e tgz, per gli
altri tipi (es deb) non so.
man rpm
guardati le opzioni di query, in particolare -R --whatrequires
Nei tgz dovresti invece trovare un readme o simile con l'elenco dei
requisiti richiesti.
> Dove cavolo riesco a vedere se HO installato glibc-v2.1.0,a-c*b ecc. ecc. ?
> Pazienza per i programmi, ai quali spesso basta dare il comando -version,
>ma come si fa a verificare la versione delle librerie (e, spesso, anche a
>trovarle) ?
convenzionalmente il nome della libreria ti da indicazioni anche sul tipo e
sulla versione
esempio libtermcap.so.2.0.8 e' la libreria dinamica (.so) termcap versione
2.0.8 mentre libpam_misc.a e' la libreria statica (.a) pam_misc.
Strumenti utili sono ldconfig -p per le librerie dinamiche e rpm --query -f
nomefile per tutti i file. Ad es sul mio sistema
[gv a mail]# ldconfig -p | fgrep libc.
libc.so.6 (libc6) => /lib/libc.so.6
libc.so.5 (libc5) => /usr/i486-linux-libc5/lib/libc.so.5
[gv a mail]# rpm --query -f libpam_misc.a
pam-0.68-7
[gv a mail]# rpm --query -f libtermcap.so.2.0.8
libtermcap-2.0.8-18
E ancora
[gv a mail]# rpm --query -a | fgrep libc
glibc-profile-2.1.2-11
libc-5.3.12-31
glibc-2.1.2-11
compat-glibc-5.2-2.0.7.1
glibc-devel-2.1.2-11
>2) una volta che sono (miracolosamente) riuscito ad installare... come
>faccio, se mi va, a disinstallare (magari a distanza di tempo) SENZA
>compromettere l'integrità (sacra) del sistema ? [....]
> In windoze uso CleanSweep, che mi controlla i "prerequisiti" di
>disinstallazione (ad es. NON rimuove librerie usate da altri prodotti anche
>se sono state installate tramite quello che voglio rimuovere) ma in Linux
>esiste qualcosa tipo Make uninstall ?
>[...]
> Daltronde non credo nemmeno che basti semplicemente andare un
>/usr/local/newproduct e cancellare l'intera directory (come facevo con Dos)
>data la struttura "sparsa" che si usa in ambienti **ux:
>- dove vanno a finire [...]
> > installare/disinstallare un pacchetto e' una cosa che faccio ogni giorno:
> > es: mi serve un server web per provare 3 stronzate? lo installo.
> > dopo 10 minuti non mi serve piu'?
> [...] il dubbio che, una
>volta disinstallato qualcosa, il sistema sia meno stabile di prima (perchè
>magari gli ho cancellato qualcosa che invece serviva).
Secondo me il problema va affrontato da un punto di vista piu' generale e
cioe': quanto e' "sacra" l'integrita' del tuo sistema? Io installo e
disinstallo spessissimo sia a casa che in ufficio. A casa la mia macchina
e', tecnicamente parlando, un vero casino. In ufficio ho una macchina
apposta sulla quale posso anche permettermi di distruggere tutta
l'installazione. Non mi passa nemmeno per l'anticamera del cervello di fare
esperimenti sui server aziendali. E questo vale per linux, per win
e per ogni altra diavoleria che dovesse venir fuori. Se c'e' qualcosa di
nuovo da provare lo si fa su un muletto, MAI su macchine il cui fermo sia
oneroso in termini economici. Se proprio sono costretto ad usare una
macchina "preziosa" faccio un bel backup e prima di fare qualsiasi
operazione piu' complessa di ls ci penso tre volte (e per me e' una vera
impresa gia' pensare una volta sola, figurati tre!)
Venedo alle tue domande specifiche:
Se il pacchetto ti viene dato in forma rpm, deb o simili il relativo
programma di gestione fornisce anche le opzioni per disinstallare il tutto
(es rpm --uninstall). Se il pacchetto ti arriva in forma tar.gz se sei
fortunato trovi o un makefile con l'opzione uninstall o uno script oppure
istruzioni nei readme o doc. Se non le trovi puoi guardare cosa fa il
processo di installazione e procedere al contrario. Se non c'e' neanche
uno script (o simile) di installazione probabilmente il pacchetto e'
talmente semplice che puoi rimuovere a mano i file. In ogni caso prima di
cancellare definitivamente i file e' buona politica invocare l'aiuto dei
tre santi: Santa Prudenza, San Buon Senso e San Backup, ad esempio
spostando in una directory temporanea (magari su un'altra macchina)
preservando la struttura e permessi (ad es sposta /usr/local/bin/makemoney
in /home/luca/quarantena/usr/local/bin/makemoney). Per queste cose spesso
viene molto utile il tar e le sue (n+1)! opzioni.
Le conversioni tra tipi di pacchetto sono possibili (almeno da/a tgz)
rpm2targz
rpm2cpio
rpm -b
rpm -t
Per i debian, invece, mi pare che si possano scompattare/creare con ar.
Ovviamente la semplice scompattazione e' (o meglio, penso che sia) piu'
semplice che non la creazione.
Io uso con una certa frequenza rpm2targz perche' sono curioso :) Cosi'
riesco anche a vedere dove diavolo vanno a finire i file!
Da ultimo, anche se l'architettura unix ti sembra "sparsa" secondo me e'
comunque meglio organizzata di quella win. Ci sono dei posti convenzionali
dove mettere i file (se guardi l'archivio del lug trovi messaggi in cui
questo argomento e' gia' stato affrontato) e non hai bisogno (leggi: sei
ostaggio) di strumenti di gestione particolari (es regedit, user manager e
via dicendo). Inoltre e' tutto documentato. Devi solo aver piu' pazienza
all'inizio.
ciao
gv
Maggiori informazioni sulla lista
Lug
|