在Debian上安装依赖项时出错

时间:2017-01-12 16:18:06

标签: linux debian vps

我正在尝试在VPS上使用phantomjs,但它需要fontconfig作为依赖项。所以我跑了apt-get install fontconfig

(SSH会话是法语,因此使用谷歌翻译)

Root @ vps27533: ~ / grab / phantomjs-2.1.1-linux-i686 / bin # sudo apt-get install fontconfig
Reading Package Lists ... Done
Building the dependency tree
Reading status information ... Done
You can run "apt-get -f install" to correct these problems:
The following packages contain unsatisfied dependencies:
  Libc6-i686: i386: Predependent: libc6: i386 (= 2.13-38 + deb7u8) but 2.13-38 + deb7u11 should be installed
E: Dependencies not satisfied. Try apt-get -f install without package
(Or indicate a solution).

然后我跑了sudo apt-get -f install

Root @ vps27533: ~ / grab / phantomjs-2.1.1-linux-i686 / bin # sudo apt-get -f install
Reading Package Lists ... Done
Building the dependency tree
Reading status information ... Done
Fixed dependencies ... Done
The following additional packages will be installed:
  Libc6 libc6-i686: i386
Suggested Packages:
  Glibc-doc
The following packages will be updated:
  Libc6 libc6-i686: i386
2 updated, 0 newly installed, 0 to remove and 184 not updated.
4 partially installed or removed.
It is necessary to take 0 o / 5 616 kb in the archives.
After this operation, an additional 22.5 KB of disk space will be used.
Would you like to continue [Y / n]? O
Reading change files ("changelog") ... Completed
Preconfiguration of packages ...
(Read the database ... 51662 files and directories already installed.)
Preparing to replace libc6: amd64 2.13-38 + deb7u8 (using ... / libc6_2.13-38 + deb7u11_amd64.deb) ...
Unpacking the libc6 update: amd64 ...
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14 'not found (required by / bin / sh)
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15 'not found (required by / bin / sh)
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14 'not found (required by /lib/x86_64-linux-gnu/libncurses.so.5)
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15 'not found (required by /lib/x86_64-linux-gnu/libncurses.so.5)
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14 'not found (required by /lib/x86_64-linux-gnu/libtinfo.so.5)
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15 'not found (required by /lib/x86_64-linux-gnu/libtinfo.so.5)
Dpkg: warning: the old post-removal script subprocess returned a status output error 1
Dpkg: Attempting to run the script of the new package instead ...
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14 'not found (required by / bin / sh)
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15 'not found (required by / bin / sh)
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14 'not found (required by /lib/x86_64-linux-gnu/libncurses.so.5)
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15 'not found (required by /lib/x86_64-linux-gnu/libncurses.so.5)
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14 'not found (required by /lib/x86_64-linux-gnu/libtinfo.so.5)
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15 'not found (required by /lib/x86_64-linux-gnu/libtinfo.so.5)
Dpkg: processing error of /var/cache/apt/archives/libc6_2.13-38+deb7u11_amd64.deb (--unpack):
 The new post-removal script subprocess returned a status output error 1
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14 'not found (required by / bin / sh)
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15 'not found (required by / bin / sh)
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14 'not found (required by /lib/x86_64-linux-gnu/libncurses.so.5)
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15 'not found (required by /lib/x86_64-linux-gnu/libncurses.so.5)
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14 'not found (required by /lib/x86_64-linux-gnu/libtinfo.so.5)
/ Bin / sh: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15 'not found (required by /lib/x86_64-linux-gnu/libtinfo.so.5)
Dpkg: error when cleaning:
 The pre-installed script subprocess installed has returned a status output error 1
Errors were encountered during execution:
 /var/cache/apt/archives/libc6_2.13-38+deb7u11_amd64.deb
E: Subprocess / usr / bin / dpkg returned an error code (1)

我对如何获得新版本的libc6非常困惑,这是我认为它需要的。所以我甚至跑了sudo apt-get install libc6

Root @ vps27533: ~ / grab / phantomjs-2.1.1-linux-i686 / bin # sudo apt-get install libc6
Reading Package Lists ... Done
Building the dependency tree
Reading status information ... Done
You can run "apt-get -f install" to correct these problems:
The following packages contain unsatisfied dependencies:
  Libc6-i686: i386: Predependent: libc6: i386 (= 2.13-38 + deb7u8) but 2.13-38 + deb7u11 should be installed
E: Dependencies not satisfied. Try apt-get -f install without package
(Or indicate a solution).

我怎样才能让它发挥作用?我该怎么办?非常感谢任何帮助

2 个答案:

答案 0 :(得分:0)

这听起来好像您可能没有包含所需软件包的存储库列表。我建议首先确保你有一个包含存储库列表/etc/apt/sources.list,如下所示(这个是Debian 8 Jessie):

deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free
deb http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free
deb-src http://ftp.us.debian.org/debian/ jessie-updates main contrib non-free
deb http://ftp.debian.org/debian jessie-backports main contrib non-free
deb-src http://ftp.debian.org/debian jessie-backports main contrib non-free

然后我将其作为root运行以尝试修复和升级包:

apt-get -y update
sleep 1
dpkg --configure -a
sleep 1
apt-get -y install -f
sleep 1
dpkg --configure -a
sleep 1
apt-get -y update
sleep 1
apt-get -y dist-upgrade

之后,我建议reboot尝试(重新)安装所需的软件包。如果仍有问题,请尝试删除(清除)有问题的软件包(例如:apt-get -y --purge remove package),重新启动,重新安装软件包并再次测试。

答案 1 :(得分:0)

尝试跑步:

sudo apt-get install libc6=2.13-38+deb7u8 fontconfig

这是apt无法安装非候选依赖项的问题,旧的libc6是无法安装的非cadidate依赖项(请参阅apt-get install specific version with non-cadidate dependencies)。

如果您明确要求apt-get install安装特定版本,它会这样做(除非它需要另一个非候选包,在这种情况下你需要在命令行上明确地列出这个...)