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

相關內容