apt-getはコアパッケージを自動削除したい

apt-getはコアパッケージを自動削除したい

本日、Debian Sid サーバー (x64) を PHP 5.6RC4 にアップグレードしました。

The following packages have been kept back:
  perl perl-base perl-modules
The following packages will be upgraded:
  cpp-4.9 g++-4.9 gcc-4.9 gcc-4.9-base libasan1 libatomic1 libcilkrts5 libgcc-4.9-dev libgcc1 libgomp1 libitm1 liblsan0 libquadmath0 libstdc++-4.9-dev libstdc++6 libtsan0 libubsan0 php-pear php5 php5-cli
  php5-common php5-curl php5-fpm php5-gd php5-mcrypt php5-mysql php5-readline python-pil
28 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
Need to get 41.0 MB of archives.
After this operation, 762 kB disk space will be freed.
Do you want to continue? [Y/n]

さて、私が実行するapt-get dist-upgradeと、apt-get autoremove次のようになります:

The following packages will be REMOVED:
  console-setup console-setup-linux debconf-i18n dictionaries-common iamerican ibritish ienglish-common ispell keyboard-configuration libalgorithm-diff-xs-perl libdbd-mysql-perl libdbi-perl
  libfile-fcntllock-perl libhtml-form-perl libhtml-format-perl libhtml-parser-perl libhtml-tree-perl libio-socket-ssl-perl liblocale-gettext-perl liblwp-protocol-https-perl libmailtools-perl
  libnet-smtp-ssl-perl libnet-ssleay-perl libtext-charwidth-perl libtext-iconv-perl libtext-soundex-perl libtext-wrapi18n-perl libuuid-perl libwww-perl libxml-libxml-perl libxml-parser-perl
  libxml-sax-expat-perl linux-base linux-image-3.14-1-amd64 linux-image-amd64 mariadb-client-10.0 mariadb-server mariadb-server-10.0 task-english tasksel tasksel-data texinfo
The following NEW packages will be installed:
  libcgi-pm-perl libmodule-build-perl libmodule-signature-perl libpackage-constants-perl libpod-readme-perl libregexp-common-perl
The following packages will be upgraded:
  perl perl-base perl-modules
3 upgraded, 6 newly installed, 42 to remove and 0 not upgraded.
Need to get 7,102 kB of archives.
After this operation, 262 MB disk space will be freed.
Do you want to continue? [Y/n]

Perl 関連のパッケージを多数削除しようとしているようです (Perl がまだアップグレードされていないためかもしれません)。また、mariadb-server(自分でインストールしたもので依存関係ではありません)、linux-image-3.14-1-amd64(現在のカーネルで に固定されていますapt)taskselなども削除しようとしています。

私は見つけたこの質問MariaDB についてですが、私の知る限りそのライブラリは変更されていません。

Linux カーネルを削除するのは良い考えではないと思います。また、MariaDB サーバーも必要です。

なぜ突然このようなことが起こるのか、誰か知っていますか? また、これを修正するにはどうすればいいですか? すべての依存関係を再度確認したり、現在のすべてのパッケージをロックしたりするコマンドはありますか? これらすべてのパッケージを手動で固定したくありません (カーネルに関しては機能していないようです)。

答え1

libuuid-perlTL;DR:とには依存関係の問題があるようですperl-base

2014-08-18 編集、deps/repo が修正されたようです。「私の場合は動作します」。

カーネルの問題から始まるトラブルシューティング手順:

sudo apt-get install linux-image-amd6

次のパッケージには満たされていない依存関係があります: linux-image-amd64 : 依存: linux-image-3.14-2-amd64 ですが、インストールされません

sudo apt-get install linux-image-amd64 "linux-image-3.14-2-amd64"

以下のパッケージには満たされていない依存関係があります: linux-image-3.14-2-amd64 : 依存: linux-base (>= 3~) ただし、インストールされません

sudo apt-get install linux-image-amd64 "linux-image-3.14-2-amd64" linux-base

次のパッケージには満たされていない依存関係があります: linux-base : 依存: libuuid-perl ただし、インストールされません

うーん、ここで Perl に遭遇しました。

sudo apt-get install linux-image-amd64 "linux-image-3.14-2-amd64" linux-base libuuid-perl

以下のパッケージには満たされていない依存関係があります: libuuid-perl : 依存: perlapi-5.18.1 ですが、インストールできません

なるほど!libuuid-perlが必要なようですperlapi-5.18.1

sudo apt-get install linux-image-amd64 "linux-image-3.14-2-amd64" linux-base libuuid-perl perl-base perlapi-5.18.1

パッケージ perlapi-5.18.1 は使用できませんが、別のパッケージによって参照されています。

E: パッケージ 'perlapi-5.18.1' にはインストール候補がありません

うーん。perlapi-5.18.1利用できるものはありません。何が提供されるか見てみましょうperl-base:

apt-cache show perl-base

パッケージ: perl-base ソース: perl バージョン: 5.20.0-4 必須: はい インストールサイズ: 5007 管理者: Niko Tyni アーキテクチャ: amd64 置き換え: libio-socket-ip-perl、libperl5.8 (<< 5.8.0-20)、libscalar-list-utils-perl、libsocket-perl、libxsloader-perl、perl (<< 5.10.1-12)、perl-modules (<< 5.10.1-1) 提供: libio-socket-ip-perl、libscalar-list-utils-perl、libsocket-perl、libxsloader-perl、perl5-base、perlapi-5.20.0 事前依存: libc6 (>= 2.14)、dpkg (>= 1.14.20)推奨: perl 競合: defoma (<< 0.11.12)、doc-base (<< 0.10.3)、mono-gac (<< 2.10.8.1-3)、safe-rm (<< 0.8)、update-inetd (<< 4.41) 互換性がない: autoconf2.13 (<< 2.13-45)、libalien-wxwidgets-perl (<< 0.65+dfsg-2)、libanyevent-perl (<< 7.070-2)、libcommon-sense-perl (<< 3.72-2~)、libfile-spec-perl (<< 3.4700)、libgtk2-perl-doc (<< 2:1.2491-4)、libio-socket-ip-perl (<< 0.29)、libjcode-perl (<< 2.13-3)、libmarc-charset-perl (<< 1.2)、libscalar-list-utils-perl (<< 1:1.38)、libsocket-perl (<< 2.> 013)、libxsloader-perl (<< 0.17)

を提供しますperlapi-5.20.0libuuid-perl実際に何が必要ですか?

apt-cache show libuuid-perl

パッケージ: libuuid-perl バージョン: 0.05-1 依存: perl-base (>= 5.18.1-2)、perlapi-5.18.1、libc6 (>= 2.4)、libuuid1 (>= 2.16) 競合: doc-base (<< 0.10.3)

perl-base上記のバージョン5.18.1-2だけでなく、明示的にどれが提供されていないかによって異なりますperlapi-5.18.1

さらに遠く:

sudo apt-get install libperl5.18

以下のパッケージには満たされていない依存関係があります: libperl5.18: 依存: perl-base (= 5.18.2-7) ただし、5.20.0-4 をインストールする必要があります

sudo apt-get install libperl5.18 perl-base=5.18.2-7

パッケージリストを読み込んでいます...完了 依存関係ツリーを構築しています
状態情報を読み込んでいます...完了 E: 'perl-base' のバージョン '5.18.2-7' が見つかりませんでした

関連情報