`pacman`으로 시스템을 업데이트할 수 없습니다

`pacman`으로 시스템을 업데이트할 수 없습니다

시스템을 업데이트하려고 하면 오류가 발생합니다: 트랜잭션을 준비하지 못했습니다(종속성을 충족할 수 없습니다).

이것이 내가 얻는 것입니다:

~> sudo pacman -Syu
:: Synchronising package databases...
 gremlins is up to date
 system is up to date
 world is up to date
 galaxy-gremlins is up to date
 galaxy is up to date
 lib32 is up to date
 extra is up to date
 community is up to date
 multilib is up to date
:: Starting full system upgrade...
:: Replace libcanberra-pulse with gremlins/libcanberra? [Y/n] n
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing expat (2.4.1-1) breaks dependency 'expat=2.3.0' required by lib32-expat
:: installing libcap (2.50-1) breaks dependency 'libcap=2.49' required by lib32-libcap
:: installing libelf (0.185-1) breaks dependency 'libelf=0.184' required by lib32-libelf
:: installing libcanberra (0.30+2+gc0620e4-4) breaks dependency 'libcanberra=0.30+2+gc0620e4-3' required by libcanberra-pulse

그런 다음 패키지를 제거하려고 시도했지만 expat"주의: 제거 목록에 금지된 패키지가 있습니다!"라는 메시지가 나타납니다.

나는 이것을 보았다웹 페이지, 그러나 여기서는 문제가 있는 패키지를 제거할 수 있지만 나는 할 수 없습니다. 왜냐하면 는 expat코어의 일부이기 때문입니다.

이 시점에서 어떻게 해야 합니까?

답변1

lib32다양한 라이브러리의 32비트 버전인 저장소 의 패키지는 동일한 버전의 64비트 버전에 따라 달라집니다.

와 같은 최신 버전의 패키지를 제공하는 gremlins및 와 같은 불안정한 테스트 저장소가 있습니다 . 그러나 저장소가 없으므로 해당 패키지의 32비트 대응 항목에 대해 동일한 업데이트를 받을 수 없습니다. 즉, 이전(안정적인) 패키지를 유지하게 됩니다. 그리고 안정적인 32비트 패키지는 안정적인 저장소의 64비트 대응 패키지에 의존하기 때문에 시스템을 더 오래 유지하거나(이전 32비트 패키지 종속성을 충족하기 위해) 충돌이 발생합니다. 최신 64비트 패키지를 설치합니다(32비트 패키지 종속성을 깨뜨립니다. 즉, 해당 패키지를 제거해야만 이를 수행할 수 있음을 의미합니다).galaxy-gremlinsexpatlib32-gremlinslib32-expat

또는 lib32-gremlins64비트 테스트 리포지토리에서 32비트 버전의 패키지를 제공하는 리포지토리를 활성화하거나 모든 테스트 리포지토리를 비활성화할 수 있습니다. 이 두 가지 작업 중 하나를 수행하면 64비트 및 32비트 리포지토리가 동기화되고 종속성을 해결할 수 있습니다. 사용 가능한 최신 패키지가 포함되어 있습니다.

관련 정보