Immer wenn ich Pakete aktualisiere (sie werden aktualisiert), erhalte ich die folgende Meldung zu TeXLive:
dpkg: warning: parsing file '/var/lib/dpkg/status' near line 2888 package 'texlive-local':
missing maintainer
Das Herunterladen oder Aktualisieren der Pakete wird dadurch nicht beeinträchtigt. Ich möchte dies jedoch gerne beenden.
Wie kann ich das machen?
Antwort1
Das Paket texlive-local
ist fehlerhaft.Maintainer
Feldin Paketen ist obligatorisch, obwohl es aus keinem technischen Grund verwendet wird – es ist eher eine soziale Anforderung, um eine gewisse Rückverfolgbarkeit aller Pakete zu gewährleisten. Das Fehlen dieses Felds verursacht kein Problem, aber es ist etwas, das nicht passieren sollte, daher dpkg
eine Warnung an Sie. Alle offiziellen Pakete haben dieses Feld.
Die Warnmeldung würde verschwinden, wenn Sie das texlive-local
Paket entfernen oder auf eine Version mit einem Feld aktualisieren Maintainer
. Ich empfehle Ihnen, dem Betreuer dieses Pakets zu empfehlen, ein Feld mit seiner E-Mail-Adresse hinzuzufügen . Es wird in den Quellbaum Maintainer
eingefügt .debian/control
In der Zwischenzeit können Sie die Warnung beseitigen, indem Sie die Paketdatenbank bearbeiten und dieses Feld manuell hinzufügen. Bearbeiten Sie /var/lib/dpkg/status
, suchen Sie nach einer Zeile, die genau enthält Package: texlive-local
, und fügen Sie direkt darunter eine Zeile hinzu, die enthält (die Adresse sollte syntaktisch korrekt sein, muss aber nicht gültig sein, wenn Sie dort lieber niemandes Namen eingeben möchten).Maintainer: [email protected]
Antwort2
Du hast Glück! Du hast Backups! Und außerdem werden sie täglich erstellt, ohne dass du es weißt! Um die Dateien wiederherzustellen, führe einfach Folgendes aus:
sudo rm /var/lib/dpkg/status
sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status
sudo apt-get update
Erledigt!
Wenn Sie noch ältere Dateien benötigen, stehen Ihnen weitere zur Auswahl:
ls /var/backups/dpkg.status*
/var/backups/dpkg.status.0 /var/backups/dpkg.status.4.gz
/var/backups/dpkg.status.1.gz /var/backups/dpkg.status.5.gz
/var/backups/dpkg.status.2.gz /var/backups/dpkg.status.6.gz
/var/backups/dpkg.status.3.gz
Entpacken Sie sie einfach mit gunzip
:
gunzip -c /var/backups/dpkg.status.6.gz > /var/lib/dpkg/status
Mein eigener Beitrag in AskUbuntu:https://askubuntu.com/a/343620/169736
Wenn die Backups nicht gut sind, eine andere Möglichkeit besteht darin, eine Liste des doc
Verzeichnisinhalts zu erstellen:
sudo -i
ls /usr/share/doc | \
grep -v [A-Z] | \
grep -v '^texmf$' | \
grep -v '^debian$' | \
awk '{print $1 " install"}' | \
dpkg --set-selections