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/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-base5.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’

相关内容