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-upgradeapt-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),taskselETC。

我發現這個問題關於 MariaDB,但據我所知,該庫還沒有被觸及。

對我來說刪除 Linux 核心似乎不是一個好主意。我還需要 MariaDB 伺服器。

有人知道為什麼會突然發生這種事?以及如何修復它?是否有任何命令可以再次檢查所有依賴項或鎖定所有目前套件?我不想手動固定所有這些包(這似乎對核心不起作用)。

答案1

libuuid-perlTL;DR:和似乎存在一些依賴性問題perl-base

2014-08-18 編輯,看起來 deps/repos 已修復; 「為我工作」。

故障排除步驟,從核心問題開始:

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.0。實際需要什麼libuuid-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”

相關內容