da ldd a removepkg...

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

da ldd a removepkg...

Messaggio da absinthe »

salve,

stavo scrivendo uno script per lanciare in automatico ldd su un eseguibile,
fare una ricerca delle dipendenze all'interno di /var/log/packages/* ed ottenere così l'elenco dei tgz associati alle dipendenze dell'eseguibile.
è successa però una cosa strana:

-a volte una dipendenza non è associata ad un pacchetto
-a volte una dipendenza è associata a più pacchetti

nel primo caso credevo che la causa fosse l'eventuale indicazione di un link symbolico come dipendenza. in realtà a me accade questo: se faccio

Codice: Seleziona tutto

ldd /opt/kde/bin/kate
tanto per fare una prova, ottengo fra le altre dipendenze la seguente:

Codice: Seleziona tutto

libutil.so.1 => /lib/tls/libutil.so.1 (0xb735b000)
vado a vedere ed ottengo:

Codice: Seleziona tutto

utente@laptop:~$ ls -l /lib/tls/libutil.so.1
lrwxr-xr-x  1 root root 16 2005-10-16 20:58 /lib/tls/libutil.so.1 -> libutil-2.3.5.so*
continuando, risolvo il link:

Codice: Seleziona tutto

utente@laptop:~$ readlink -f /lib/tls/libutil.so.1
/lib/tls/libutil-2.3.5.so
vado a vedere di nuovo ed ottengo:

Codice: Seleziona tutto

utente@laptop:~$ ls -l /lib/tls/libutil-2.3.5.so
-rwxr-xr-x  1 root root 12420 2005-09-10 22:05 /lib/tls/libutil-2.3.5.so*
dunque si tratta di un "file vero e proprio" che potrebbe essere rimosso conoscendo il tgz da cui è stato installato... il problema è che non esiste in nessun tgz! o meglio non esiste:

/lib/tls/libutil-2.3.5.so

mentre esiste:

Codice: Seleziona tutto

utente@laptop:~$ grep libutil /var/log/packages/*
/var/log/packages/glibc-2.3.5-i486-5:lib/tls/incoming/libutil-2.3.5.so
/var/log/packages/glibc-2.3.5-i486-5:lib/incoming/libutil-2.3.5.so
/var/log/packages/glibc-2.3.5-i486-5:usr/lib/libutil.a
/var/log/packages/glibc-solibs-2.3.5-i486-5:lib/tls/incoming/libutil-2.3.5.so
/var/log/packages/glibc-solibs-2.3.5-i486-5:lib/incoming/libutil-2.3.5.so
ovvero il file è contenuto in 2 pacchetti diversi ed in entrambi i casi risulta situato in un'altra directory!! (che fra l'altro non esiste... magari è eliminata durante l'installazione oh...)

che succede??? mi si è incasinato tutto con l'upgrade da 10.1 a 10.2 o ci sono alcune cose che dovrei sapere ma ignoro??

grazie,
M.

Avatar utente
venerdi_12
Packager
Packager
Messaggi: 258
Iscritto il: sab 9 lug 2005, 0:00
Nome Cognome: Luciano Fattore
Kernel: 3.0
Desktop: kde-4.7.0
Distribuzione: archlinux
Località: Lusciano (Ce)

Messaggio da venerdi_12 »

Il perché credo sia da cercare nei doinst.sh di glibc e/o glibc-solibs. Penso che i files in /lib/tls vengano creati solo dopo l'installazione dei pacchetti copiando quelli in /lib/incoming/tls (ceh vengono poi cancellati)

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Messaggio da absinthe »

già lo penso anche io, però se uno volesse eliminare il pacchetto come fa???
cioè: me ne guardo bene da eliminare le glibc però se dessi

removepkg glibc

che mi eliminerebbe??? lo chiedo e non lo provo perchè prevedo un macello a toglierle di mezzo :D

M.

Avatar utente
useless
Staff
Staff
Messaggi: 3896
Iscritto il: dom 12 ott 2003, 0:00
Località: A place where the streets have no name
Contatta:

Messaggio da useless »

avevo già iniziato io a scrivere uno script del genere (in TCL), ed effettivamente funzionicchia, xò devi sapere un po' il fatto tuo in casi come questi, ed evitare di rimuovere alla cieca tutti i pkg che ti suggerisce. se lo vuoi te lo passo.

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Messaggio da absinthe »

useless ha scritto:avevo già iniziato io a scrivere uno script del genere (in TCL), ed effettivamente funzionicchia, xò devi sapere un po' il fatto tuo in casi come questi, ed evitare di rimuovere alla cieca tutti i pkg che ti suggerisce. se lo vuoi te lo passo.
bhè per adesso voglio "sfidare" la bash!!! comunque mi segno la proposta. Riguardo al rimuovere pacchetti: mi rendo conto dei miei limiti :)
per adesso lo script si limita ad elencare i pacchetti delle dipendenze ma non lancia ancora nessun removepkg! crea solo un elenco dei "papabili" alla rimozione :)
il passo successivo (quando funzionerà) sarà fare un elenco dei pacchetti di tutti i files con un confronto incrociato che isoli tutti e soli i pacchetti impiegati da un dato file.

tra l'altro stavo per aprire un nuovo post ma forse è meglio chiederlo qua...
ldd non valuta le dipendenze multiple vero? tipo:

X dipende da a.so che dipende da b.so
se lancio:

ldd X

ottengo solo a.so mentre rimango ignaro di b.so...

o dio vuole che non sia così?

M.

PS: credo di poterti insegnare poco, però se un giorno arriverò alla conclusione potrebbe essere interessante fare un confronto tra i codici :)... mi sà che imparo di più io ehehehe.....

Avatar utente
Paoletta
Staff
Staff
Messaggi: 3975
Iscritto il: lun 25 apr 2005, 0:00
Slackware: 14.2 - 64 bit
Desktop: fluxbox
Località: Varese

Messaggio da Paoletta »

X dipende da a.so che dipende da b.so
se lancio:

ldd X

ottengo solo a.so mentre rimango ignaro di b.so...
già, ma puoi sempre lanciare ldd su a.so, in modo ricorsivo

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Messaggio da absinthe »

Paoletta ha scritto: già, ma puoi sempre lanciare ldd su a.so, in modo ricorsivo
infatti... era quello che "temevo" :)

M.

Rispondi