최근 Fedora 21에서 Fedora 23으로 업그레이드했습니다. .dnf
업그레이드 후 a를 실행하면 dnf upgrade
다음이 표시됩니다.
Skipping packages with broken dependencies:
sqlite x86_64 3.11.0-1.fc23 updates 484 k
An은 rpm -qa | grep sqlite
현재 다른 버전의 sqlite가 설치되어 있음을 알려줍니다.
sqlite-3.10.2-1.fc23.x86_64
이제 를 사용하면 이 문제를 빠르게 해결할 수 있을 것 같습니다 dnf upgrade --best --allowerasing
. 안타깝게도 이번에는 이전 버전이 이미 설치되어 있기 때문에 작동하지 않습니다.
Error: cannot install both sqlite-3.11.0-1.fc23.x86_64 and sqlite-3.10.2-1.fc23.x86_64
나는 단순히 sqlite 패키지를 제거하고 종속 패키지를 제거하고 최신 버전의 sqlite를 설치한 다음 종속 패키지를 설치할 수 있다고 생각했습니다. 분명히 시간이 좀 걸리지만 익숙해졌습니다. 원하는 경우 종속성을 수동으로 해결할 수 있습니다.
그러나 dnf remove sqlite
나에게 이것을 제공합니다 :
Error: The operation would result in removing the following protected packages: systemd, dnf.
그럼 이제부터 어디로 갈까요? 분명히 제거할 수 없습니다 dnf
. 또는 systemd
이와 유사한 것입니다. 차단된 다른 패키지에 의존하는 패키지를 강제로 업그레이드하는 방법이 있습니까?
답변1
sqlite의 특정 문제는 저장소에 잘못된 업데이트로 인해 일시적인 문제였습니다. (부정적인 QA 피드백은 여러 테스터가 이미 승인한 후 너무 늦게 제공됩니다.)테스트 중 업데이트이것은 트릭을 수행해야합니다.
이렇게 하면 즉각적인 문제가 해결될 것입니다. 좀 더 일반적인 답변을 원하는지 잘 모르겠습니다. 불행히도 일반적인 답변은 일반적으로 "글쎄, 실제로는 할 수 없습니다... 저장소를 업데이트할 때 할 수 있는 일이 없습니다. 당신은 일관되지 않은 상태에 있습니다.” 완료. "만약 너라면진짜더 자세히 알아보고 싶다면(예를 들어 심각한 보안 문제가 있는 경우) DNF를 우회하고 rpm을 직접 사용할 수 있습니다(적어도 문제가 RPM 자체에 따라 달라질 때까지는).