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分野パッケージ内の .dept は必須ですが、技術的な理由で使用されるわけではありません。すべてのパッケージに何らかの追跡可能性を持たせるという社会的要件のためです。このフィールドがなくても問題は発生しませんが、これは発生してはならないことなので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

関連情報