APT는 내 패키지의 종속성이 손상되었거나 충족되지 않았다고 불평하지만 내 저장소에서 사용할 수 있습니다. 어떻게 고치나요?

APT는 내 패키지의 종속성이 손상되었거나 충족되지 않았다고 불평하지만 내 저장소에서 사용할 수 있습니다. 어떻게 고치나요?

PACKAGE나는 종속성이 있는 패키지에 대한 적절한 저장소를 관리합니다 (DEPENDENCY<<1.2). PACKAGE둘 다 DEPENDENCY내 저장소에서 사용할 수 있습니다.

방금 버전(버전 4.0.0)을 출시했습니다 DEPENDENCY. 이제 동일한 버전을 설치하세요.PACKAGE 완전히 깨끗한 기계에서오류로 인해 실패합니다:

The following packages have unmet dependencies:
 PACKAGE : Depends: DEPENDENCY (< 1.2.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

사용 가능한 DEPENDENCY 버전을 확인하면 요구 사항을 충족하는 알려진 패키지가 있음을 알 수 있습니다 << 1.2.

sudo apt list -a DEPENDENCY
Listing... Done
DEPENDENCY/stable 4.0.0 all
DEPENDENCY/stable 1.1.12 all
DEPENDENCY/stable 1.1.11 all
DEPENDENCY/stable 1.1.10 all
...

제가 실제로 패키지를 관리하기 때문에그리고저장소 측에서 이 종속성을 해결할 수 있지만 어떻게 해야 할까요? apt올바른 종속성이 인식되지 않는 이유는 무엇입니까 ?

apt --fix-broken( 패키지가 서버 측에서 손상되었기 때문에 이렇게 하면 작동하지 않습니다.)

답변1

APT는 요구 사항을 기준으로 패키지 버전을 확인하는 것이 아니라 가용성(및 우선 순위)을 기준으로 패키지 버전을 확인합니다. 즉, 실제로 일관된 저장소와 함께 작동하도록 설계되었습니다.모든 관련 패키지를 저장소의 버전과 함께 설치할 수 있는 단일 버전의 패키지가 있는 저장소입니다. (이것은 데비안 저장소가 대부분의 경우 작동하는 방식이며 저장소를 게시하기 위한 요구 사항입니다.)

DEPENDENCY동일한 제품군에서 여러 버전을 사용할 수 있지만 달리 명시되지 않는 한 APT는 가장 높은 버전인 4.0.0만 고려합니다.

APT가 상황을 해결하도록 수동으로 도와야 할 수도 있습니다.

apt install PACKAGE DEPENDENCY=1.1.12

그럼에도 불구하고 이것이 효과가 있을지 100% 확신할 수는 없습니다.

일반적인 솔루션으로 저장소에서 다른 패키지를 사용해야 하며 동일한 패키지에서 상호 허용 가능한 버전이 있는지 확인해야 합니다. 따라서 4.0.0 버전은 PACKAGE호환 가능한 버전이 나올 때까지 다른 패키지에 들어가지 않습니다 .DEPENDENCYDEPENDENCYPACKAGEPACKAGE

답변2

내가 겪고 있는 문제는 패키지의 다운로드 소스를 변경했다는 것입니다. 설정 > 정보 > 다운로드 소스에서. 향상된 애플리케이션 다운로드 속도, 특히 Flatpak 패키지로 인해 내 위치에 더 가까운 서버로 변경했습니다.

설정을 "Main"으로 되돌려 문제를 해결했는데 모든 것이 잘 작동합니다. 다른 장치와 운영 체제 간에 마우스를 공유할 수 있게 해주는 프로그램인 Barrier를 설치하려고 했을 때 이 문제가 발생했습니다.

관련 정보