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

関連情報