Il mio amato laptop :)

Penso che tutti sapete ormai che ho un sacco di casini col mio nuovo
laptop, il disco da errori. Non volendo reinstallare tutto, sono alla
ricerca di una soluzione, e non vorrei neanche dover spedire il laptop
alla dell, perchè mi serve quotidianamente.

Allora tempo fa avevo trovato un file danneggiato, e allora ho dato la
colpa al ext3. Come soluzione ho fatto il mount delle partizioni con
ext2, essendo gli fs compatibili. Ma penso che questo sia stato un grave
errore, datoche il kernel era stato compilato con ext3-support e qualche
magia al boot, non l'ho trovata, a lanciato il journal daemon. E penso
che questo sia stato fatale, perchè ha lavorato sulle partitioni, e nei
log ho potuto leggere strani messaggi d'errore, tipo directoy has a
whole ...

Bon adesso dopo aver tutto il hdd ridotto come dopo una bombardazione :slight_smile:
mi sono deciso di rifare il mount in ext3. Spero che adesso funzioni.
Per adesso non posso lamentarmi, ma sono passate solo alcune ore, cioè 2
giornate.

Adesso però ho altri problemi, cioè mi mancano un sacco di files, che ai
repair nei boots degli ultimi giorni ho tolto, fsck :))

////////////////////////////////////////////////////////////////////////
Come faccio a trovare i files mancanti?

[root(a)inspiron root]# rpm -Va
missing /usr/include/bits/utmpx.h
missing /usr/include/bits/utsname.h
missing /usr/include/bits/waitflags.h
missing /usr/include/bits/waitstatus.h
missing /usr/include/bits/wchar.h
missing /usr/include/bits/wordsize.h
missing /usr/include/bits/xopen_lim.h
missing /usr/lib/libGL.so.1.2.030402
missing /usr/share/scrollkeeper/Templates/cy
missing /usr/share/scrollkeeper/Templates/cy/scrollkeeper_cl.xml
missing /usr/share/scrollkeeper/Templates/ga
missing /usr/share/scrollkeeper/Templates/ga/scrollkeeper_cl.xml
missing /usr/share/scrollkeeper/Templates/ja
missing /usr/share/scrollkeeper/Templates/ja/scrollkeeper_cl.xml
missing /usr/share/scrollkeeper/Templates/se
missing /usr/share/scrollkeeper/Templates/se/scrollkeeper_cl.xml
missing /usr/bin/ncftpput
missing /usr/bin/nmap
missing /usr/bin/ldapadd
missing /usr/bin/ldapdelete
missing /usr/bin/ldapmodify
...

Ok, trovati :))

////////////////////////////////////////////////////////////////////////
E adesso come faccio a sapere quali sono i pacchetti danneggiati?

[root(a)inspiron root]# rpm -qf /usr/include/bits/utmpx.h
glibc-devel-2.2.4-13

... Un po lavoroso, ma si trovano

////////////////////////////////////////////////////////////////////////
E come faccio il repair?
[root(a)inspiron root]# rpm -i --force --verbose glibc-devel-2.2.4-13

Avrei voluto fare un script che mi faccia tutto automaticamente, o anche
solo un commando un po piu lungo, tipo:

rpm -i --force --verbose `rpm -Va | grep missing | xargs rpm -qf`

solo che ci sono 2 problemi, dovrei eliminare il prefisso 'missing ',
che sarebbe fattibile, ma non so come. E poi dovrei comprimere i files
consecutivi dei pacchetti (tipo DISTINCT), senò l'operazione mi dura un
anno :slight_smile: A e poi chi mi dice il fullname del file del pacchetto da
installare, e chi mi inserisce il CD giusto, hehe :frowning: Perciò ho deciso di
farlo a mano...

Adesso ho dinuovo il sistema a posto, speriamo che l'HDD non faccia più
i capricci.

Fazit, sono molto contento di aver usato il package management del mio
sistema, così ho potuto localizzare i files corrotti e ripararli
facilmente. Anche se spero lo stesso di non doverlo fare più :slight_smile:

byez
Patrick

* Patrick Ohnewein (pohnewein(a)prodata.it) wrote:
<snippete>

[root(a)inspiron root]# rpm -Va

[root(a)inspiron root]# rpm -qf /usr/include/bits/utmpx.h
[root(a)inspiron root]# rpm -i --force --verbose glibc-devel-2.2.4-13

rpm -i --force --verbose `rpm -Va | grep missing | xargs rpm -qf`

Eri a un cm dal completarlo con un comando :slight_smile:
[NOT TESTED..ma dovrebbe andare] :

rpm -Va|grep missing|cut -c10- |xargs rpm -qf |uniq|xargs rpm -i --force \
    --verbose

Ti mancava 'uniq'

Saluti,
Michele

Haha esiste pure uniqu, che figata!

Bè adesso manca solo l'ultima come faccio a trovare il file nel quale è
contenuto il pacchetto!? Penso che non sia facile, forse impossibile.

grazie
Patrick

baldessari(a)tiscalinet.it wrote:

* Patrick Ohnewein (pohnewein(a)prodata.it) wrote:

Haha esiste pure uniqu, che figata!

Bè adesso manca solo l'ultima come faccio a trovare il file nel quale è
contenuto il pacchetto!? Penso che non sia facile, forse impossibile.

grazie
Patrick

Cos'e' che vuoi fare esattamente?

Estrarre un solo file da un pacchetto rpm?
Il comando che avevo scritto ti fa quello che a cui accennavi.

Ho capito male?

Nono volevo il modo per reinstallare il pacchetto al quale apparteneva
un certo file.

Funzionerebbe se rpm -qf <file> mi darebbe pkg-file-name, ma invece mi
dà solo pkg-name.

Cioè
gimp-1.2.2-ximian.3
e non
gimp-1.2.2-ximian.3.i386.rpm

e perciò non posso reinstallarlo con
rpm -i --force --verbode <pkg-file-name>

e diventza ancora più problematico, datoche i files sono sparsi sul 2 CD
ed sul HDD :frowning:

Ma non mi serve più ho già fatto a mano, era solo interessante pensarci :slight_smile:

byez
Patrick

baldessari(a)tiscalinet.it wrote:

* Patrick Ohnewein (pohnewein(a)prodata.it) wrote:

Nono volevo il modo per reinstallare il pacchetto al quale apparteneva
un certo file.

Funzionerebbe se rpm -qf <file> mi darebbe pkg-file-name, ma invece mi
dà solo pkg-name.

Cioè
gimp-1.2.2-ximian.3
e non
gimp-1.2.2-ximian.3.i386.rpm

e perciò non posso reinstallarlo con
rpm -i --force --verbode <pkg-file-name>

Ah. chiaro.

Basta una cosa di questo tipo

rpm -qf /etc/passwd |xargs rpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH}.rpm'

Salud.
Michele

Figata, non sapevo del supporto dei pattern, troppo fico :wink:

Ok ultimo problema, penso che qui non mi sai più rispondere, cioè non
esisterà soluzione. I pacchetti sono distribuiti sul mio sistema, cioè 2
CD della RH ed in più la cache directory coi pacchetti della ximian.

Penso che l'unica sarebbe copiare tutti i pacchetti dei 2 CD nella cache
dir della XIMIAN.

Attuale versione del nostro bel commando :slight_smile:
rpm -Va | grep missing | cut -c10- | xargs rpm -qf | uniq | xargs rpm -q
--queryformat '%{NAME}-%{VERSION}-%{RELEASE}-%{ARCH}.rpm' | xargs rpm -i
--force --verbose

shell power :wink:

byez
Patrick

baldessari(a)tiscalinet.it wrote: