ho fatto un bel danno!!

Sezione dedicata alle problematiche sull'uso dei tool di installazione e gestione di pacchetti, in una distribuzione Debian-based.
Rispondi
le0n
Hero Member
Hero Member
Messaggi: 522
Iscritto il: 11/05/2005, 16:09

ho fatto un bel danno!!

Messaggio da le0n »

eh già....stavolta l'ho fatta grossa!!
è cominciato tutto con un semplice "apt-get update" che mi restituiva un errore...
risolvo "a modo mio" ricreando il file /var/lib/dpkg/status vuoto e salvando il vecchio...
ce la stavo per fare quando cancello tutti i file status, che diano o meno errore :-o

ora mi ritrovo con solo questi pacchetti installati

Codice: Seleziona tutto

 dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name            Version         Description
+++-===============-===============-==============================================
ii  apt             0.6.42.1        Advanced front-end for dpkg
iU  apt-listbugs    0.0.49          Lists critical bugs before each apt installati
ii  gcc-4.0-base    4.0.2-5         The GNU Compiler Collection (base package)
ii  libc6           2.3.5-8         GNU C Library: Shared libraries and Timezone d
iU  libdpkg-ruby1.8 0.3.1           modules/classes for dpkg on ruby 1.8
iU  libexpat1       1.95.8-3        XML parsing C library - runtime library
ii  libgcc1         4.0.2-5         GCC support library
iU  libintl-gettext 0.11-5          Gettext wrapper for Ruby 1.8
ii  libncurses5     5.5-1           Shared libraries for terminal handling
iU  libruby1.8      1.8.3-3         Libraries necessary to run Ruby 1.8
ii  libstdc++6      4.0.2-5         The GNU Standard C++ Library v3
iU  libxml-parser-r 0.6.8-1         Interface of expat for the scripting language 
iU  ruby            1.8.2-1         An interpreter of object-oriented scripting la
iU  ruby1.8         1.8.3-3         Interpreter of object-oriented scripting langu
tutti i pacchetti che avevo prima sono installati e continuano a funzionare ma per apt è come se non ci fossero :-o

stavo per disperarmi quando ho visto che nella cartella /var/lib/dpkg/info ci sono i file di installazione di tutti i pacchetti...

ora la domanda è: come faccio a ripristinare tutto?
avevo pensato ad uno script che ricreasse il file status (è quello che viene letto da "dpkg -l" ?? )...chi mi aiuta??
un algoritmo potrebbe essere
- leggi il nome di un file in /var/lib/dpkg/info
- salta i file diversi con lo stesso nome
- apt-cache show nome con modifica per adattarlo a come dovrebbe essere nel file
- accoda a status...


Grazie a tutti coloro che mi aiuteranno!! :ciauz:
Coltiva linux tanto windows si pianta da solo
Nessun sistema è sicuro se c'è un idiota a gestirlo!
[url=http://www.freemodding.it/modules/newbb/viewtopic.php?post_id=89058#forumpost89058]La mia Debian sul portatile HP Pavilion dv6270EU[/url]
le0n
Hero Member
Hero Member
Messaggi: 522
Iscritto il: 11/05/2005, 16:09

Re: ho fatto un bel danno!!

Messaggio da le0n »

sono riuscito a fare il pezzo dello script che mi trasforma il risultato di apt-cache show adatto al file status

Codice: Seleziona tutto

STATUS="Status: install ok installed\nPriority"

sed -e "s/^Priority/$STATUS/" libxml > libxml-1
sed -e '/Filename/d' libxml-1 > libxml-2
sed -e '/^Size/d' libxml-2 > libxml-3
sed -e '/MD5sum/d' libxml-3 > libxml-4
per accodare userò cat...

come faccio a far leggere tutti i nomi dei file della directory?

Grazie!
Coltiva linux tanto windows si pianta da solo
Nessun sistema è sicuro se c'è un idiota a gestirlo!
[url=http://www.freemodding.it/modules/newbb/viewtopic.php?post_id=89058#forumpost89058]La mia Debian sul portatile HP Pavilion dv6270EU[/url]
tindal
Hero Member
Hero Member
Messaggi: 3109
Iscritto il: 17/10/2005, 15:25

Re: ho fatto un bel danno!!

Messaggio da tindal »

se ho capito bene: $(ls /dir)

ciao
tindal
Se ci sono molti modi diversi per fare una certa cosa, ed uno di questi ha conseguenze disastrose, di sicuro qualcuno la farà in quel modo.
le0n
Hero Member
Hero Member
Messaggi: 522
Iscritto il: 11/05/2005, 16:09

Re: ho fatto un bel danno!!

Messaggio da le0n »

grazie tindal, mi serviva!

altro pezzo

Codice: Seleziona tutto

LIST=$(ls /var/lib/dpkg/info)
PREC="a"
for i in $LIST
do
  a=`echo ${i%%.*}`
  if [ $PREC != $a ]
  then
     echo $a
     PREC=$a
  fi
done
che seleziona i file nella cartella eliminando i doppioni e i pezzi .postinst .prerm .postrm ecc...

faccio una prova e poi vi dirò...

al massimo lo script finale lo metto nella sezione di scripting :-D !!

secondo voi sto procedendo bene? nel senso che se riesco a ricreare il file status poi mi torna tutto alla normalità ??

Grazie ancora!
Coltiva linux tanto windows si pianta da solo
Nessun sistema è sicuro se c'è un idiota a gestirlo!
[url=http://www.freemodding.it/modules/newbb/viewtopic.php?post_id=89058#forumpost89058]La mia Debian sul portatile HP Pavilion dv6270EU[/url]
le0n
Hero Member
Hero Member
Messaggi: 522
Iscritto il: 11/05/2005, 16:09

Re: ho fatto un bel danno!!

Messaggio da le0n »

lo script funziona anche benino...
il problema è che nel file status ci sono anche dell info che non so dove posso recuperare...
ad esempio per il pacchetto apt mi ritrovo questa stringa in status
Conffiles:
/etc/cron.daily/apt f947beb92d709affb1cea7de275bea10
e non ho la più pallida idea di come posso farlo fare automaticamente ad uno script...


C'è nessuno che mi piò aiutare??

Grazie!
Coltiva linux tanto windows si pianta da solo
Nessun sistema è sicuro se c'è un idiota a gestirlo!
[url=http://www.freemodding.it/modules/newbb/viewtopic.php?post_id=89058#forumpost89058]La mia Debian sul portatile HP Pavilion dv6270EU[/url]
le0n
Hero Member
Hero Member
Messaggi: 522
Iscritto il: 11/05/2005, 16:09

Re: ho fatto un bel danno!!

Messaggio da le0n »

se invece lascio perdere lo script e provo a reistallare il tutto, perderò i miei file di config??

stavo tentando con cpufreqd a fare una prova ma mi dice

Codice: Seleziona tutto

apt-get install cpufreqd
Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
  debconf debconf-i18n liblocale-gettext-perl libsensors3 libsysfs1
  libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl lsb-base sed
Suggested packages:
  cpufrequtils debconf-doc debconf-utils whiptail dialog gnome-utils
  libterm-readline-gnu-perl libgnome2-perl libqt-perl libnet-ldap-perl lm-sensors
  linux-image-2.6 kernel-image-2.6 lm-sensors-mod-2.9.2 lm-sensors-mod-2.9
Recommended packages:
  apt-utils
The following NEW packages will be installed:
  cpufreqd debconf debconf-i18n libcpufreq0 liblocale-gettext-perl libsensors3
  libsysfs1 libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl
  lsb-base sed
0 upgraded, 12 newly installed, 0 to remove and 0 not upgraded.
Need to get 683kB of archives.
After unpacking 4145kB of additional disk space will be used.
Do you want to continue [Y/n]? y
...
Fetched 683kB in 2s (282kB/s)                            
E: Cannot get debconf version. Is debconf installed?
debconf: apt-extracttemplates failed: Bad file descriptor(Reading database ... 2621 files and directories currently installed.)
Unpacking sed (from .../archives/sed_4.1.2-8_i386.deb) ...
dpkg not recorded as installed, cannot check for epoch support !
dpkg: error processing /var/cache/apt/archives/sed_4.1.2-8_i386.deb (--unpack):
 subprocess pre-installation script returned error exit status 1
Errors were encountered while processing:
 /var/cache/apt/archives/sed_4.1.2-8_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
come risolvo??


Grazie ancora!!
Coltiva linux tanto windows si pianta da solo
Nessun sistema è sicuro se c'è un idiota a gestirlo!
[url=http://www.freemodding.it/modules/newbb/viewtopic.php?post_id=89058#forumpost89058]La mia Debian sul portatile HP Pavilion dv6270EU[/url]
le0n
Hero Member
Hero Member
Messaggi: 522
Iscritto il: 11/05/2005, 16:09

Re: ho fatto un bel danno!!

Messaggio da le0n »

ho risolto in qualche modo!! :yuppi:
non so neanche io come ci sono riuscito!! :boh:

ho avviato aptitude e ho provato a selezionare cpufreq per fare la prova suddetta, ovviamente prima mi sono salvato tutta la cartella /etc :-D
aptitude mi dice che per un pacchetto deve installare mezzo mondo e lo lascio fare...
ogni volta che trovava qualche file di config chiedeva cosa fare...
non capisco però perché mi ha installato anche tutto quello che avevo eliminato di kde e gnome, così come il linux-image-2.6.12...poco male, li ho tolti subito :-D

me la sono proprio scampata bene! :yuppi:
Coltiva linux tanto windows si pianta da solo
Nessun sistema è sicuro se c'è un idiota a gestirlo!
[url=http://www.freemodding.it/modules/newbb/viewtopic.php?post_id=89058#forumpost89058]La mia Debian sul portatile HP Pavilion dv6270EU[/url]
Rispondi