문제를 더 정확하게 찾아낼 수 있었지만, 며칠 동안 패키지를 설치하는 데 어려움을 겪었고 어디에서도 해결책을 찾을 수 없습니다. 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
오류가 발생하는 이유는 무엇입니까?
나에게 이것은 패키징 버그처럼 보입니다.