여러 배포판에서 손상된 패키지를 수정하는 방법에 대한 많은 답변을 보았으며 이는 매우 도움이 되고 문제를 해결한 것 같습니다. 그런데 패키지가 어떻게 손상되었는지 궁금합니다.
명령을 사용하여 파이프라인 문제를 해결하고 있는데 apt-get install
특정 종속성을 설치하는 데 문제가 있습니다. 몇 번의 재시도 후에 파이프라인이 작동하도록 할 수 있었습니다. 그러나 해결책을 검색하면서 apt-get에 매우 유용한 플래그가 있다는 것을 알았고 --fix-broken
이것이 내 문제를 해결했습니다. 하지만 문제는 여전히 존재하는데,문제가 무엇입니까?--fix-broken
나를 위해 해결된 정확한 문제를 찾는 방법을 잘 모르겠습니다 .
매뉴얼 페이지를 살펴보면 다음과 같은 몇 가지 일반적인 정보가 있습니다.
Fix; attempt to correct a system with broken dependencies in place. This option, when
used with install/remove, can omit any packages to permit APT to deduce a likely
solution. If packages are specified, these have to completely correct the problem. The
option is sometimes necessary when running APT for the first time; APT itself does not
allow broken package dependencies to exist on a system. It is possible that a system's
dependency structure can be so corrupt as to require manual intervention.
파이프라인에 관한 한 해당 시스템은 이 시점에서 인스턴스화되었습니다. 손상을 초래한 패키지에는 어떤 일이 발생했을 수 있습니까? 이 플래그가 어떻게 작동하는지 더 자세히 설명해 줄 수 있는 사람이 있나요? 가장 구체적으로, 패키지가 어떻게 손상되었나요?
답변1
해결되는 일반적인 문제는 apt install --fix-broken
종속성 누락입니다. 일반적인 방법저것dpkg
패키지를 직접 설치 하면 dpkg
종속성이 누락되었는지 알 수 있지만 누락된 종속성을 검색할 방법이 없으므로 패키지가 부분적으로 설치됩니다(설치되었지만 구성되지 않음). apt install --fix-broken
손상된 종속성을 해결하고 필요한 패키지를 설치하거나 종속성을 해결할 수 없는 경우 완전히 손상된 패키지를 제거하십시오.
만약 너라면예일반적 으로 직접 사용하는 것이 dpkg
더 좋습니다 apt install
. 로컬 패키지를 가리킬 수 있으며 설치 중에 종속성을 해결합니다.
답변2
패키지는 단순히 종속성 목록이 포함된 소프트웨어 조각입니다. 시스템에 일부 비표준 설치(예: 소스에서 빌드)가 있거나 다른 설치가 중단되는 것을 방지하기 위해 특정 버전의 패키지를 고정한 경우("dpkghold" 또는 "dnf --exclude" 사용) 다음 설치를 시도합니다. 이러한 모든 종속 패키지가 필요한 다른 상태의 패키지는 실패하여 "손상된" 패키지가 됩니다.
패키지나 시스템 상태에 문제가 없을 수도 있다는 점에 유의하는 것이 중요합니다. 원래 패키지는 손으로 편집하는 데 적합할 수 있지만 그렇지 않기 때문에예상되는손상된 것으로 간주됩니다.