安装 libsocket-perl,apt-get 搜索错误的文件扩展名,得到 404

安装 libsocket-perl,apt-get 搜索错误的文件扩展名,得到 404

尽管我已经能够更准确地找出问题所在,但我在安装软件包时遇到了很多天的麻烦,并且在任何地方都找不到解决方案。libsocket-perl在存档镜像中搜索特定依赖包时,apt-get 或 aptitude 似乎会向文件附加不正确的扩展名。

通过查看存档,我可以找到该包的许多版本:

http://ftp.us.debian.org/debian/pool/main/libs/libsocket-perl/

libsocket-perl_2.014-1+b2_s390x.deb
libsocket-perl_2.014-1.debian.tar.xz
libsocket-perl_2.014-1.dsc
libsocket-perl_2.014-1_amd64.deb
libsocket-perl_2.014-1_armel.deb
libsocket-perl_2.014-1_armhf.deb
libsocket-perl_2.014-1_i386.deb
libsocket-perl_2.014-1_kfreebsd-amd64.deb
libsocket-perl_2.014-1_kfreebsd-i386.deb
libsocket-perl_2.014-1_mips.deb
libsocket-perl_2.014-1_mipsel.deb
libsocket-perl_2.014-1_powerpc.deb
libsocket-perl_2.014.orig.tar.gz
...

但是当 apt-get 或 aptitude 尝试获取并安装它时,我会抛出以下错误:

E: Failed to fetch http://ftp.us.debian.org/debian/pool/main/libs/libsocket-perl/libsocket-perl_2.014-1+b1_amd64.deb  404  Not Found [IP: 64.50.233.100 80]

+b1_amd64.deb在存档中找不到该扩展名。

现在我真的不明白为什么我需要+b1该包的版本或者为什么它在存档中不可用。有没有一种方法可以让包管理器搜索可以替代的可用版本?

答案1

您可以运行以下命令apt-cache来查找给定包的可用版本:

$ apt-cache showpkg libsocket-perl

然后根据该输出,转向apt-get选择特定版本,如下所示:

$ apt-get install <package name>=<version>

例如:

$ apt-get install libsocket-perl=2.014-1_amd64

update也可以使用 an 来完成此操作。

$ apt-get update libsocket-perl=2.014-1_amd64

为什么会出现错误?

对我来说这看起来像是一个包装错误,仅此而已。

相关内容