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できます。

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

エラーが発生するのはなぜですか?

私にとって、これはパッケージングのバグのようです。

関連情報