wine32를 설치하려고 하면 다음과 같은 메시지가 나타납니다.
❯ sudo apt install wine32
Reading package lists... Done
Building dependency tree... Done
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:
apt : Depends: libapt-pkg6.0 (>= 2.5.0) but it is not going to be installed
Depends: libsystemd0
bsdutils : PreDepends: libsystemd0
util-linux : PreDepends: libsystemd0
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
설치 방법을 이해할 수 없거나 설치 문제일 수도 있습니다 libsystemd0
.libapt-pkg6.0
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===================-============-============-==================================
ii libapt-pkg6.0:amd64 2.5.0 amd64 package management runtime library
ii libsystemd0:amd64 250.4-1 amd64 systemd utility library
이 문제를 어떻게 해결할 수 있나요? 앞으로 이 문제를 어떻게 해결해야 할까요?
내가 실행할 때 dpkg --print-foreign-architectures
그것은 말한다i386
이것이 적절한 정책이다libcap2
❯ apt policy libcap2:{amd64,i386}
libcap2:
Installed: 100:2.48-1
Candidate: 100:2.48-1
Version table:
*** 100:2.48-1 100
100 /var/lib/dpkg/status
1:2.44-1 500
500 http://deb.debian.org/debian bookworm/main amd64 Packages
libcap2:i386:
Installed: (none)
Candidate: 1:2.44-1
Version table:
1:2.44-1 500
500 http://deb.debian.org/debian bookworm/main i386 Packages
답변1
wine32
32비트 패키지( i386
귀하의 경우에는 그럴 수도 있음 armhf
)이고 libcap2
해당 아키텍처와 일치하는 패키지가 필요하기 때문에 설치할 수 없습니다 .
libcap2
은 다중 아키텍처 패키지이므로 일반적으로 문제가 되지 않습니다. 데비안 아키텍처의 버전과 마찬가지로 버전 amd64
을 i386
나란히 설치할 수 있습니다. 하지만 다중 아키텍처 패키징은 모든 아키텍처에 동일한 버전으로 설치되어야 합니다. 귀하와 일치하는 버전을 apt
찾을 수 없으므로 후자와 모든 종속성을 제거하는 것을 고려하여 원래 오류에 설명된 불가능한 상황이 발생합니다.libcap2:i386
libcap2:amd64
조사 측면에서 다중 아키텍처 시나리오의 경우 가장 먼저 확인해야 할 사항은 구성의 외부 아키텍처입니다. 또한 오류에 표시된 패키지 버전이 최신인지 확인했습니다(시스템에 필요하지 않은지 확인하기 위해 apt upgrade
). 그런 다음 오류 상황이 이상하다는 점을 고려하면 더 이상 조사할 필요가 없습니다. 대신 패키지 파서의 디버그 출력을 사용하여 설치를 다시 시도하면 문제에 대한 징후가 나타날 수 있습니다. 첫 번째 문제는 libcap2
아키텍처 간 버전 불일치를 나타내는 불가능한 버전(저장소에 패키지가 없는 에포크 100)과 관련이 있습니다.
Investigating (0) libsystemd0:amd64 < 250.4-1 @ii K Ib >
Broken libsystemd0:amd64 PreDepends on libcap2:amd64 < 100:2.48-1 @ii pR > (>= 1:2.24-9~)
Considering libcap2:amd64 0 as a solution to libsystemd0:amd64 611
Added libcap2:amd64 to the remove list
i386
이 문제를 해결하려면 일치하는 버전을 제공 하거나 저장소의 버전으로 libcap2
다운그레이드 해야 합니다.libcap2:amd64
답변2
설문조사에서 Stephen의 답변은 항상 그렇듯이 정확합니다.
스티븐은또 다른 훌륭한 답변이 있습니다. 이것이 이 질문을 조사해야 하는 두 번째 부분입니다.. Epoch 500 및 패키지가 현재 저장소에 없다는 사실(어디에 따라 패키지를 어디서 얻었는지에 대한 질문이 제기되어야 함)
스티븐은 기본적으로다른 저장소에서 가져온 것인지 확인하세요.. 특히,
devel:kubic:libcontainers:stable.list
다음 줄을 지정 하는 저장소가 있습니다.# deb http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/Debian_Testing/ /
따라서 기본적으로 해당 저장소가 있고 주석 처리되어 있으며 설치하는 패키지는 고정되어
2.48
있으며 i386을 제공하지 않습니다.
사례별 솔루션
이 경우 먼저 패키지를 다운그레이드하려고 합니다.
sudo apt-get install libcap2=1:2.44-1
그런 다음 설치할 수 있었고 wine32
다른 이상한 일이 중지되었습니다.