현재 문제

현재 문제

Debian 9에서 이 패키지를 설치하고 싶습니다 libicu57(저장소) 하지만 어떤 이유로든 다음 작업을 수행할 수 없습니다.

$ sudo apt install libicu57
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libicu57 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libicu57' has no installation candidate

내 안에는 /etc/apt/sources.list이것이 있다(무엇보다도):

deb http://ftp.cvut.cz/debian/ testing main non-free contrib

문제는 무엇이며 어떻게 해결합니까?

답변1

현재 문제

libicu57다음에서 설치하고 싶습니다 .테스트 저장소. 그러나 이 패키지는 x86테스트 및 .amd64armel mipsmipsel

항목 sources.list에 Debian 테스트(Buster 또는 10)가 있습니다 . Debian 9(Stretch 또는 Stable)를 사용하고 있다고 보고하셨습니다. 당신이 창조했습니다프랑켄데비안. sources.list이 문제를 해결하려면 이 항목을 적절하게 제거하고 테스트 저장소에서 설치된 모든 패키지를 롤백하거나 제거하도록 구성을 구성해야 합니다 .

이 작업을 완료한 후에는 libicu57ARM 변형이 필요한 경우 크로스 컴파일 솔루션이나 더 나은 가상화를 고려할 수 있습니다.

소스 목록 수정

첫 번째 단계는 저장소가 다음과 같은지 확인하는 것 /etc/apt/sources.list입니다.좋아요. /etc/apt/sources.list.d/각 저장소를 자체 파일로 만드는 것이 좋지만 이를 하나의 파일로 수행할 수도 있습니다.

#stable.list
deb http://deb.debian.org/debian stable main contrib non-free 
deb-src http://deb.debian.org/debian stable main contrib non-free

#updates.list
deb http://deb.debian.org stable-updates main contrib non-free 
deb-src http://deb.debian.org stable-updates main contrib non-free 

#security.list 
deb http://deb.debian.org/debian-security stable/updates main contrib non-free
deb-src http://deb.debian.org/debian-security stable/updates main contrib non-free

귀하의 source.list는 다음과 같아야 합니다. 원하는 미러와 일치하도록 정확한 http 주소를 변경할 수 있습니다. 반드시 테스트 저장소가 있어야 한다면 위와 비슷한 방식으로 항목을 추가하고 다음을 사용하세요.적절한 선호도정신의 수준을 유지하십시오. apt-pinning은 FrankenDebian이 생성될 수 있으므로 주의해서 사용해야 합니다.

소프트웨어 설치

이제 남은 것은 패키지를 설치하는 것뿐입니다. 이 작업은 다음 명령을 사용하여 수행할 수 있습니다.

 apt-get install libicu57

또는

apt-get install -t stable libicu57 **or** apt-get install libicu57/stable

소스에서 원하는 패키지를 설치하도록 선택하거나 데비안 패키지 사이트에서 해당 패키지와 해당 종속성을 다운로드하여 사용할 수도 있습니다.dpkg -i [packageName].deb

이 설치해야합니다 libicu57. 다른 오류가 있는 경우 댓글을 남겨주시면 해결 방법을 찾아보도록 하겠습니다. 다음 섹션에서는 ARM 또는 MIPS 버전의 소프트웨어가 절대적으로 필요한 경우 이 버전의 라이브러리를 안전하게 사용하기 위해 크로스 컴파일을 고려하거나 적절한 명령어 세트로 가상 환경을 생성하는 것을 고려할 수 있다고 설명합니다.

이것은 Multiarch에 관한 Debian Wiki 항목입니다.그리고이것은 크로스 컴파일된 위키입니다.. 아래 단계에 따라 dpkg크로스 컴파일 없이 적절한 구성 변경 등을 수행할 수 있습니다.

그러나 동일한 소프트웨어의 여러 버전을 설치할 수는 없습니다!

따라서 ARM 버전에 이미 버전이 있는 종속성 및 라이브러리가 필요한 경우 x86이를 amd64수행할 수 없습니다. 또 다른 접근 방식은 선택한 가상화 솔루션(올바른 명령어 세트 사용)을 사용하여 ARM용 데비안 가상 머신을 생성하는 것입니다.

키보드 가상 머신좋은 선택이지만 사용 사례에 가장 적합한 솔루션을 사용할 수 있습니다.

결론적으로

제발이 기사를 전문으로 읽으십시오. 실제로 명령을 실행하기 전에 제가 제공하는 모든 링크를 주의 깊게 읽어보시기 바랍니다. 본 포스팅에 대해 궁금한 점이나 우려사항이 있으시면 언제든지 저에게 문의해 주세요. 이 답변에 수정 사항이나 오해가 있으면 알려 주시기 바랍니다. 필요에 따라 게시물을 업데이트할 수 있습니다.

행운을 빌어요!

답변2

문제가 특정 리포지토리와 관련된 경우 적절한 구성을 확인해보세요: /etc/apt/preferences.d/

이러한 특정 패키지의 업그레이드를 허용하지 않는 고정된 파일이 있을 수 있습니다.

패키지 버전 변경으로 인해 문제가 발생할 수 있는 경우 Docker 이미지에서 이런 일이 발생할 수 있습니다.

이게 도움이 되길 바란다.

관련 정보