[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Debian]: Re: HILFE!! dpkg kaputt



MoiN

On Thu, 11 Mar 1999, Klaus- M. Klingsporn wrote:

> Am Thu, 11 Mar 1999, hast Harry Haak geschrieben:
> >On Thu, Mar 11, 1999 at 10:46:25AM +0100, Andreas Jellinghaus wrote:
> >> > und apt-get nicht mehr vernünftig.
> >> > Nun möchte ich wissen wie ich diese Datei wiederherstelle oder ob jemand mir
> >>
> >Wenn vorher alles
> >lief, läufts wahrscheinlich auch noch weiter (bis auf die Paketverwaltung).
> >
> >Du hast jetzt eben einfach 'ne riesige Lagerhalle ohne Inventarliste. Um zu
> >wissen ob Dichtung XY noch da ist mußt du eben mal die paar hundert Regale
> >abschreiten ;-) 
> >Spätestens nach einigen zig Durchgängen brauchst Du keine Paketverwaltung
> >mehr.
> 
> Auch ein Trost!
> Aber ganz so ohne Inventarlisteist man garnicht, den in /usr/doc gibt für fast
> jedes installierte Paket ein Unterverzeichnis. Eigentlich müßte es doch möglich
> sein, aus dieser Verzeichnisliste und den packages-files auf den CD's oder im
> Netz ein neues status-file zu basteln. Der ist doch eigentlich nur die Liste
> der Packetangaben in packages und eine Zeile "installed, ok.", oder so
> ähnlich?? 
> Ist sicher ne sau-Arebit aber unter bestimten Umständen ....

Hmm, besser ist wahrscheinlich noch /var/lib/dpkg/info/*.list. Und
"dpkg-awk" kann einem viel Arbeit abnehmen, auch wenn es mit Epochen in
den Versionsnummern nicht zurechtkommt...

Ich würde etwa so vorgehen (Achtung! Benutzung auf eigene Gefahr!!!):

--8<--snipp--8<--
#!/bin/sh

# Das 'egrep -v ":.*:"' ist notwendig, da dpkg-awk Zeilen mit zwei
# Semikolons inkorrekt behandelt!
cat /var/lib/dpkg/available | egrep -v ":.*:" | \
dpkg-awk -f - \
  "Package:`( cd /var/lib/dpkg/info; ls *.list ) | ( 
    read p ; echo -n "(\${p%%.list}"
    while read p; do
      echo -n "|\${p%%.list}"
    done; echo ")"; )`" | \
( IFS=''; while read p; do
    if [ "$p" == "" ]; then
      echo "Status: install ok installed"; fi
    echo "$p"; done; ) | less

-->8--snipp-->8--

Die Ausgabe kannst Du dann nach /var/lib/dpkg/status kopieren.

    Ingo
--
    Stimm gegen SPAM! Vote against SPAM! Votez contre le SPAM!
		http://www.politik-digital.de/spam/

Spam, Spam, Spam, Spam, Spam, Spam, Spam, Spam, Spam, Spam, Spam, Spam,...
					-- Monty Pythons Flying Circus


------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <deine emailadresse>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder:     668


Reply to: