RHEL 서버에 설치할 RPM 세트를 구축한 소프트웨어 프로젝트를 상속받았습니다. 서버에 패키지를 설치하려고 하면 패키지에 libc.so.6이 필요하다는 "Depsolve를 사용한 트랜잭션 확인" 오류가 표시됩니다. glibc.i686을 설치하면 오류가 사라지는 것을 발견했습니다.
여기서 문제는 이 패키지가 x86_64 아키텍처에 적합해야 하며 32비트 라이브러리에 의존해서는 안 된다는 것입니다. 오류를 유발하는 원인을 찾을 수 있는 방법이 있습니까? 지금까지 확인한 패키지의 모든 바이너리는 x86_64용으로 빌드되었습니다.
답변1
결국 RPM을 추출하고 한 줄의 코드를 사용하여 문제가 되는 바이너리를 찾았습니다.
find . -print0 | xargs -0 file | grep 'ELF 32'
디렉터리에 있는 모든 32비트 바이너리가 나열됩니다.