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

相关内容