Ubuntu 12.04: сообщение об обновлении пакета

Ubuntu 12.04: сообщение об обновлении пакета

При каждом обновлении пакетов (они обновляются) я получаю следующее сообщение о TeXLive:

dpkg: warning: parsing file '/var/lib/dpkg/status' near line 2888 package 'texlive-local':
 missing maintainer

Это не мешает загрузке пакетов или обновлению. Но я бы хотел, чтобы это прекратилось.

Как я могу это сделать?

решение1

Пакет texlive-localдеформирован.Maintainerполеin packages является обязательным, хотя он не используется по какой-либо технической причине — это скорее социальное требование, чтобы дать некоторую прослеживаемость всем пакетам. Отсутствие этого поля не вызывает никаких проблем, но это то, чего не должно происходить, поэтому dpkgпредупреждаю вас. Во всех официальных пакетах есть это поле.

Предупреждающее сообщение исчезнет, ​​если вы удалите texlive-localпакет или обновитесь до версии с Maintainerполем. Я рекомендую вам порекомендовать сопровождающему этого пакета добавить Maintainerполе с адресом электронной почты. Оно входит debian/controlв исходное дерево.

В то же время вы можете избавиться от предупреждения, отредактировав базу данных пакетов и добавив это поле вручную. Отредактируйте /var/lib/dpkg/status, найдите строку, содержащую точно Package: texlive-local, и добавьте строку, содержащую чуть ниже (адрес должен быть синтаксически правильно сформирован, но он не обязательно должен быть допустимым, если вы предпочитаете не указывать там чье-то имя).Maintainer: [email protected]

решение2

Вам повезло! У вас есть резервные копии! И более того, они создаются ежедневно без вашего ведома! Поэтому, чтобы восстановить файлы, просто запустите:

sudo rm /var/lib/dpkg/status
sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status
sudo apt-get update

Сделанный!

Если вам нужны еще более старые файлы, то есть еще несколько мест, где можно выбрать:

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

Просто распакуйте их с помощью gunzip:

gunzip -c /var/backups/dpkg.status.6.gz > /var/lib/dpkg/status

Мой собственный пост в AskUbuntu:https://askubuntu.com/a/343620/169736

Если резервные копии не годятся, другой способ — составить список docсодержимого каталога:

sudo -i
ls /usr/share/doc | \
      grep -v [A-Z] | \
      grep -v '^texmf$' | \
      grep -v '^debian$' | \
      awk '{print $1 " install"}' | \
      dpkg --set-selections

http://www.debianhelp.co.uk/debianproblem.htm

Связанный контент