데비안 / 우분투에 2 개의 glibc 설치


15

동일한 컴퓨터에 두 개의 다른 glibc 버전을 설치하고 사용할 수 있습니까? 이전 glibc 바이너리에 의존하는 레거시 소프트웨어를 실행하는 데 하나의 버전 만 사용되는 곳은 어디입니까?

가능 패키지 관리자의 도움으로 그렇게 할 수 있나요 (같은 것은 "이 패키지 및 종속성에 설치 /opt/old-glibc하는 대신 무서운 그것을 관리)


4
하지만 ... 아, 너무 아파요
tshepang

아마도 자세한 내용을 알려줘야 할 것입니다. 정확히 어떤 OS (Debian / Ubuntu 버전), 더 중요한 레거시 소프트웨어는 무엇이며 어떤 libc 버전을 사용합니까? 나는 ldd당신에게 무언가를 말할 것이라고 생각 합니다. 가능하면 레거시 libc 라이브러리를 다시 컴파일하거나 지원 패키지를 설치 / 재 컴파일해야 할 수도 있습니다. 앱의 나이에 따라 까다로울 수 있습니다. 현재 데비안 libc6libc-bin (= 2.13-0exp5)and 에 의존한다는 것을 알기 libgcc1때문에 libc6의존성이 많지 않지만 여전히 문제가 발생할 수 있습니다.
Faheem Mitha

답변:


8

네 가능합니다. 라이브러리로드 경로에 매우주의해야하며 다른 라이브러리를 다시 컴파일해야 할 수도 있습니다.

가장 마찰이 적은 경로로 chroot 에 이전 버전의 데비안 또는 우분투를 설치하는 것이 좋습니다 . 즉, 디렉토리를 만들고 /old/etch거기에 뿌리를 둔 트리에 오래된 배포판을 설치하십시오. 문제가있는 프로그램을 실행 chroot하려면 파일 시스템의보기를로 제한하도록 호출 하십시오 /old/etch.

데비안 (또는 우분투)에는 chroot에 다른 시스템을 설치하는 데 도움이되는 패키지가 있습니다 : schroot ( dchroot의 후속). 먼저 debootstrap 을 사용하여 이전 배포판을 설치하십시오 (기본 시스템과 프로그램에 필요한 서버 만 설치). 그런 다음 (로 편리하게 프로그램을 실행 schroot을 설정 /dev, /proc, /home등의 "위성"접근 된 파일 시스템).

따라서 계획은 다음과 같습니다. debootstrap, dchroot. 에서 어떻게 64 비트 데비안 / 우분투에서 32 비트 프로그램을 실행합니까? , 나는 다른 버전의 배포판, 다른 아키텍처 또는 다른 데비안 유사 배포판을 실행하든, 적절한 패키지 소스를 선택하는 것만으로 나머지는 동일합니다.


이미 최신 버전이 설치되어있는 경우 그 버전부터 시작하여 최신 버전보다 이전 버전을 설치할 수 /old/etch있습니까?
n611x007

@naxa 그렇습니다. 실제로 여기에 설명 된 상황이지만 다른 방향으로 가면 같은 방식으로 작동합니다 (이전 버전에서는 더 최신 버전). 나는이 답변을 작성한 후 며칠 후에 debootstrap / schroot 튜토리얼을 작성했으며 링크를 추가했습니다.
Gilles 'SO- 악마 그만해
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.