apt-cache show
다양한 버전의 패키지를 보여줍니다.
# apt-cache show libc6:i386
Package: libc6
Version: 2.17-97
Architecture: i386
...
Package: libc6
Status: install ok installed
Version: 2.17-7
Architecture: i386
Multi-Arch: same
...
Package: libc6
Version: 2.13-38
Architecture: i386
...
# apt-get show libc6:amd64
Package: libc6
Version: 2.17-97
Architecture: amd64
...
Package: libc6
Version: 2.13-38
Architecture: amd64
...
하지만 stable/testing/unstable과 같은 릴리스 코드명에 패키지 버전을 매핑하는 방법은 무엇입니까?
[XY 문제 노트] - 내가 시도한 것과 무슨 일이 일어나는지:
amd64 바이너리도 실행하기 위해 i386 데비안을 부트스트랩하려고 합니다(i386을 기본 아치로 유지).
- 새로운 amd64 세계를 시도하는 첫걸음으로 프로그램을 실행해보았는데,
- libssl.so.1.0.0을 찾지 못했습니다.
- libssl1.0.0:amd64를 설치하려고 했는데,
- libgcc1 비호환으로 인해 중지되었습니다.
- libgcc1:amd64 설치를 시도했는데 비호환성 오류가 발생했습니다.
- 시스템을 최신 패키지(예:
apt-get upgrade
0 표시)로 업그레이드했습니다. - 지정된 명시적 버전으로 설치하여 i386 libgcc 관련 패키지를 강제로 업그레이드함(
apt-get install libstdc++6=4.8.2-1 gcc-4.8-base=4.8.2-1 libgcc1=1:4.8.2-1 libgfortran3=4.8.2-1 libquadmath0=4.8.2-1 libgcc-4.8-dev=4.8.2-1 libgomp1=4.8.2-1 libitm1=4.8.2-1 libatomic1=4.8.2-1 libasan0=4.8.2-1 libstdc++-4.8-dev=4.8.2-1
) - libgcc1:amd64 설치를 시도했는데 이전에 비해 오류가 줄어들었지만 여전히 libc6:amd64가 없어 중지되었습니다.
- libc6:amd64 설치를 시도했지만 엄청난 비호환성으로 인해 중단되었습니다.
- (에 따르면
apt-cache info
) libc6의 "내" i386 버전에는 현재 해당하는 amd64 버전이 없다는 것을 발견했습니다. - 다양한 버전으로 인해 혼동됩니다. 여전히 "squeeze"(너무 오래됨)에서 발생하고 "sid"에서 발생합니다(업그레이드용이 아닌 수동 설치에만 사용 가능). 방금 완전히 업그레이드했는데도 "내" 버전의 라이브러리가 없는 이유는 무엇입니까?..
[/XY 문제 참고]
업데이트시험을 마친 apt-cache policy
:
# apt-cache policy libc6:i386
libc6:
Installed: 2.17-7
Candidate: 2.17-7
Version table:
2.17-97 0
10 http://ftp.de.debian.org/debian/ sid/main i386 Packages
10 http://ftp.mgts.by/debian/ testing/main i386 Packages
*** 2.17-7 0
100 /var/lib/dpkg/status
2.13-38 0
900 http://ftp.mgts.by/debian/ wheezy/main i386 Packages
내 libc6이 그 사이에 있는 것 같습니다.
답변1
패키지 버전의 코드명("wheezy" 또는 "sid")을 어떻게 얻나요?
데비안은 롤링 릴리스이기 때문에 패키지는 어디에도 없거나 첨부되지 않습니다 sid
. wheezy
패키지를 어디에 설치했는지 알 수 있는 유일한 방법은 apt-cache policy package
.
libc6 문제 정보:
32비트에서 64비트로 "업그레이드"하려는 경우에는 불가능하거나 시스템이 손상될 가능성이 높습니다.
패키지 libc6
는 모든 종속성의 어머니 군주입니다. 시스템이 64비트인지 32비트인지 궁극적으로 알려주는 시스템이며 이를 변경하는 것은 쉽지 않습니다. 오래된마이그레이션 가이드Multiarch라는 아름다움이 있기 때문에 더 이상 작동하지 않습니다.또 다른 안내가 있어요하지만너무 위험해프로덕션(가정용 PC라고도 함)에서 시도하면 재설치라는 유일한 솔루션으로 부팅할 수 없는 시스템(유일한 경우 울음 시작)으로 끝날 것입니다. 그렇다면 코어에 64비트 시스템을 원하고 32비트가 이미 설치되어 있습니까? 솔루션:
- VM 사용
- LXC를 사용하세요
- 재설치
- 건너가려고 해봐
- 울었다가 다시 설치하세요
이것이 유일한 해결책입니다.
답변2
apt-cache madison을 사용해 보셨나요?
eclipxe@localhost:~# apt-cache madison iceweasel
iceweasel | 25.0-1 | http://ftp.debian.org/debian/ experimental/main amd64 Packages
iceweasel | 24.1.0esr-1 | http://ftp.debian.org/debian/ unstable/main amd64 Packages
iceweasel | 17.0.9esr-1~deb7u1 | http://ftp.debian.org/debian/ testing/main amd64 Packages
eclipxe@localhost:~# apt-cache madison iceweasel | awk '{print $1,$6}'
iceweasel experimental/main
iceweasel unstable/main
iceweasel testing/main
(저는 불안정한 [핀: 200]과 실험적인 [핀: 1]로 데비안 테스트를 실행하고 있습니다.)
또한 상위 버전에서 패키지를 설치할 때 --target-release를 사용해 보세요.
apt-get install -t unstable iceweasel