問題をより正確に見つけることができましたが、数日間パッケージをインストールするのが困難で、どこにも解決策が見つかりませんでした。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
エラーが発生するのはなぜですか?
私にとって、これはパッケージングのバグのようです。