
In aggiunta a quanto descritto nell’articolo sull’upgrade alla versione 8.04, puo’ capitare (come al sottoscritto) di dover cancellare vari file (contenenti le informazioni sui vari pacchetti) in /var/lib/dpkg/info.
Questo causa, oltre a noiose scritte di debugging sul terminale, anche l’impossibilita’ di reinstallare il pacchetto per il quale abbiamo “distrutto” le info.
Come fare?
Con un semplice comando:
sudo apt-get --reinstall install `dpkg --get-selections | grep '[[:space:]]install' | cut -f1`
Oppure con questo script:
Entrambi i metodi non fanno altro che riprendere di nuovo le informazioni dai nostri pacchetti installati
Per lanciare lo script e’ sufficiente estrarlo e renderlo eseguibile:
tar xjvf info_recovery.sh.tar.bz2
chmod +x info_recovery.sh
sudo ./info_recovery.sh
Grazie a Ben Collins per la dritta (ho avuto modo di lavorare con lui per qualche tempo nel team kernel-acpi di Ubuntu).
Jepessen, un lettore del blog, ci spiega invece come sostituire “gutsy” con “hardy” nel file /etc/apt/sources.list..con un po’ piu’ di eleganza e senza utilizzare alcun editor di testo (un grazie anche a lui):
sudo sed -i {s/gutsy/hardy/g} /etc/apt/sources.list
Il tuo indirizzo ip:
38.107.179.231




on
on
on
Ma reinstalla tutto? O il comando ignora i pacchetti corretti? Perchè nel primo caso mi sembra un tantinello dispendioso in termini di tempo…
jepessenQuota
si, reinstalla tutto..
Praticamente ti ricostruisci da 0 la directory /info..
In alcuni casi o fai cosi’ o sei costretto a reinstallare tutta la distribuzione..
divilinuQuota
Una volta dato il comando da te suggerito per la reinstallazione dei pacchetti il processo si blocca dando questo output:
È necessario prendere 0B/1166MB di archivi.
After this operation, 0B of additional disk space will be used.
Continuare [S/n]? S
E: Couldn’t configure pre-depend coreutils for dpkg, probably a dependency cycle.
luixQuota
OPS!
La domanda: Come posso risolvere il problema?
Grazie!
luixQuota
Da un tuo articolo su come installare compiz, http://divilinux.netsons.org/index.php/archives/532:
sudo apt-get install compiz compiz-bcop compiz-core compiz-fusion-plugins-extra compiz-fusion-plugins-main compiz-kde compiz-plugins compizconfig-settings-manager emerald libcompizconfig-backend-kconfig libcompizconfig0 libdecoration0 libemeraldengine0 python-compizconfig
non va piu’ bene perchè compiz-kde ora dipende da compizconfig-backend-kconfig che nella lista sopra non compare in quanto ha sostituito il pacchetto libcompizconfig-backend-kconfig che si doveva installare in gutsy. Quindi il comando per installare compiz ora è:
sudo apt-get install compiz compiz-bcop compiz-core compiz-fusion-plugins-extra compiz-fusion-plugins-main compiz-kde compiz-plugins compizconfig-settings-manager emerald compizconfig-backend-kconfig libcompizconfig0 libdecoration0 libemeraldengine0 python-compizconfig
LexQuota
@Lex

Lo so ma non vado a correggere le vecchie guide..ne scrivero’ una per hardy piuttosto
@luix
..dovrebbe essere un bug:
https://bugs.launchpad.net/ubuntu/+source/aptitude/+bug/124895
Ne parlano anche qui..ma senza soluzione per ora:
http://ubuntuforums.org/showthread.php?t=533676
Comunque e’ un gran bel casino..all’appello dell’aggiornamento di oggi mancano le info di un paio di pacchetti
Ho salvato la lista con dselect..stasera rimetto i pacchetti di gutsy e ritento l’upgrade. Non vedo altre vie di uscita
divilinuQuota
Non sarebbe meglio uno script che compara l’output di dpkg –get-selection con la lista dei nomi delle directory in /var/dpkg/info, installando solo quelli presenti nel primo e non nel secondo?
jepessenQuota
Ho provato la procedura per il downgrade a gutsy, ma questo è l’eerrore che ricevo (lo stesso per l’aggiornamento o l’installazione di pacchetti dopo l’aggiornamento a hardy):
(Lettura del database … dpkg: errore processando /var/cache/apt/archives/libdmx1_1%3a1.0.2-2build1_i386.deb (–unpack):
il file con la lista dei file del pacchetto `kde-icons-mono’ contiene un filename vuoto
Sono occorsi degli errori processando:
/var/cache/apt/archives/libdmx1_1%3a1.0.2-2build1_i386.deb
L’operazione è stata bloccata perché si sono verificati troppi errori.
E: Sub-process /usr/bin/dpkg returned an error code (1)
Un aiuto??
Grazie
luixQuota
@luix
mi sto informando..non mi e’ mai capitata una cosa del genere..mi sa che abbiamo aggiornato nel momento sbagliato
hai gia’ provato questo?
http://divilinux.netsons.org/index.php/archives/567
divilinuQuota
a quale stringa sono associati i pacchetti corrotti in /var/lib/dpkg/status? … per evitarmi due ore di ricerca manuale…
luixQuota
@luix
se apri il file con kate, basta mettere in ricerca “kde-icons-mono”
divilinuQuota
seguendo la guida dal punto due sono riuscito ad aggiornare – - – spero di non aver fatto danni.
tutto sembra di nuovo in ordine!
luixQuota
@luix

sono lieto di confermarti che funziona..
Ottengo ancora diversi warning ma finalmente la situazione si e’ sbloccata .. di pacchetti con le info corrotte ce ne sono ancora tanti ma non compromettono piu’ il processo di dpkg
Vittoria!
divilinuQuota