
저는 최근에 내년 9월부터 시작되는 연구 프로젝트를 위해 우리 그룹에 필요한 소프트웨어를 설치했습니다. glibc 2.12.1과 함께 사용할 때 소프트웨어에 알려진 충돌 버그가 있는 것으로 나타났습니다. 내 상사는 glibc를 실행할 서버에서 glibc를 업그레이드할 수 있는지 물었습니다.내 회의적인 침묵에 신호를 보내세요....
어느 시점에서 나는 glibc를 건드리는 것이 배고픈 퓨마를 건드리는 것만큼이나 좋은 생각이라는 생각이 머릿속에 떠올랐습니다. 그러나 나는 이 믿음의 근원을 확인할 수 없었습니다. 따라서 다음과 같이 진행하면 다음과 같습니다.
- 내가 아주 어리석은 일을 하고 있는 걸까요(예: 문제를 해결하지 않거나, 서버를 차단하거나, 좀비 대재앙을 일으키거나)?
- 무엇이 잘못될 수 있나요?
- 무엇이 잘못될 가능성이 있나요?
- 2번과 3번에 대한 답변을 피하려면 어떻게 해야 하나요?
답변1
더 새로운 libc를 컴파일하고 한 소프트웨어가 다른 모든 사람과 다른 라이브러리를 사용하도록 하는 것이 종종 가능합니다.
libc 버전 간의 가장 큰 문제점은 스레드 로컬 저장소인 IIRC입니다. 이 이정표를 통과하면 모든 베팅이 취소됩니다.
모든 것을 말했지만 배포판을 현대적인 것으로 업그레이드하는 것이 좋습니다. 단편적인 업그레이드를 수행하면 몇 달 동안 쫓아다녀야 하는 일종의 고통이 발생할 수 있습니다.
답변2
당신은호환성 테이블바이너리 호환 버전을 결정합니다.
일반적으로 glibc를 최신 버전으로 업그레이드하는 것은 문제가 되지 않지만 배포판에 사용된 것과 동일한 구성 플래그를 사용하여 빌드해야 합니다(해당 SRPM 패키지의 사양 파일 참조).