curl
종속성 불일치 문제로 인해 업데이트하거나 설치할 수 없습니다. (도움이 될 것 같아 제거하고 다시 설치해 보았으나 소용이 없었습니다.)
내 curl
시도:
pi@RECOVERY:~ $ sudo apt-get install curl
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
curl : Depends: libcurl3 (= 7.52.1-5+deb9u1) but 7.38.0-4+deb8u5 is to be installed
E: Unable to correct problems, you have held broken packages.
그런 다음 종속성 중 하나를 시도해 보세요.
pi@RECOVERY:~ $ sudo apt-get install libcurl3
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libcurl3 : Depends: libgssapi-krb5-2 (>= 1.14+dfsg) but 1.12.1+dfsg-19+deb8u2 is to be installed
Depends: libnghttp2-14 (>= 1.12.0) but it is not installable
Depends: libpsl5 (>= 0.13.0) but it is not installable
Depends: libssh2-1 (>= 1.7.0) but 1.4.3-4.1+deb8u1 is to be installed
Depends: libssl1.0.2 (>= 1.0.2d) but it is not installable
E: Unable to correct problems, you have held broken packages.
나도 그것을 시도했지만 sudo apt-get update && sudo apt-get upgrade && sudo apt-get -f install
성공하지 못했습니다. 도 아니고 sudo apt-get purge
.
일부 하위 종속성(예: libnghttp2-14
등 libpsl5
)이 "설치할 수 없음"으로 표시됩니다. 이것이 이것과 관련이 있습니까?
이 어려움을 어떻게 극복할 수 있습니까?
- 편집하다 -
의견에서 요청한 대로 여기에 내 결과 /etc/apt/sources.list
와 다음 결과가 있습니다 apt-cache policy curl
.
소스.목록
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi
deb http://security.debian.org stable/updates main
deb-src http://security.debian.org/ stable/updates main
적절한 캐시
pi@RECOVERY:~ $ apt-cache policy curl
curl:
Installed: (none)
Candidate: 7.52.1-5+deb9u1
Version table:
7.52.1-5+deb9u1 0
500 http://security.debian.org/ stable/updates/main armhf Packages
7.38.0-4+deb8u6 0
500 http://mirrordirector.raspbian.org/raspbian/ jessie/main armhf Packages
500 http://archive.raspbian.org/raspbian/ jessie/main armhf Packages
답변1
sources.list
Raspbian Jessie와 "안정적인" Debian(현재 Stretch(Debian 9))이 혼합되어 있으므로 이 문제가 발생합니다. 설치 시 Raspbian curl
Jessie의 종속성을 사용하여 Debian 9에서 보안 업데이트를 설치하려고 시도 curl
하지만 그렇지 않습니다. 일하다 .
이 문제를 해결하려면 stable
다음으로 교체하십시오.jessie
sources.list
deb http://security.debian.org jessie/updates main
deb-src http://security.debian.org jessie/updates main
완료되면 실행 apt update
하면 curl
.
안정적인 데비안 릴리스를 따를 때는 새 버전이 출시될 때 갑자기 버전이 바뀔 수 있는 "stable"보다는 항상 버전 코드명을 사용해야 합니다.
답변2
배포판에 이러한 종속성에 대한 릴리스 후보가 없으면 Debian 저장소를 /etc/apt/sources.list에 추가하고 종속성을 직접 설치할 수 있습니다.
제안을 따르세요여기
/etc/apt/sources.list에 다음 줄이 있는지 확인하세요.
deb-src http://ftp.debian.org/debian/ stable main non-free contrib
APT는 이러한 deb-src 라인(일반 바이너리 deb 라인 대신)을 찾고 소스 패키지를 다운로드하기 위해 "apt-get source" 명령을 제공합니다. 이 튜토리얼에서는 "apt-get source"에 대한 편의 래퍼인 "apt-src"를 사용합니다. 2 단계
apt-get update
3단계
sudo aptitude install apt-src
apt-src는 소스 코드 패키지를 쉽게 컴파일할 수 있게 해주는 도우미 프로그램입니다. 이는 필수는 아니지만 너무 많은 명령을 입력하는 것을 방지합니다. 4단계
apt-src -bi install $package
'libnghttp2-14'를 설치하려면 다음 명령을 실행하십시오.
apt-src -bi install libnghttp2-14
"b"는 "build"를 의미하고 "i"는 "생성된 패키지 설치"를 의미하며 "install"이라는 단어는 "sources.list에서 데비안 소스 라인에 있는 알파인 소스를 다운로드한다"는 뜻입니다. apt-src는 소스 코드를 현재 디렉터리에 "설치"하고, 이를 빌드하는 데 필요한 모든 패키지가 있는지 확인하고("빌드 종속성 충족"이라는 프로세스) 이를 빌드한 후 결과 .debs를 설치합니다.