파일에서 Linux 아키텍처 결정

파일에서 Linux 아키텍처 결정

복구할 수 없는 파티션이 있는 시스템이 있습니다 /usr. 드라이브가 나빠질까봐 겁이 나서 LiveCD 환경으로 부팅했는데 설치 아키텍처가 무엇인지 기억이 나지 않습니다. 제가 가지고 있는 가장 많은 것은 CentOS 5.5입니다.

Live 환경으로 인해 uname 또는 check 등의 표준 방법은 작동하지 않습니다 /proc.

사용된 커널은 다음과 같습니다: vmlinuz-2.6.18-194.32.1.el5 아키텍처가 32비트인지 64비트인지 알아내기 위해 파일을 스캔할 수 있는 것이 있습니까?

아니면 파일 시스템에서 볼 수 있는 다른 것이 있나요? /usr해당 파티션이 이제 죽었기 때문에 아무것도 작동하지 않습니다.

답변1

file vmlinuz-2.6.18-194.32.1.el5커널이 어떤 아키텍처용으로 컴파일되었는지 알려줄 것입니다. 파일이 있으면 /boot/config-2.6.18-194.32.1.el5프로세서 아키텍처를 포함하여 커널 컴파일 옵션에 대한 추가 정보를 제공합니다.

ls /lib*사용자 영역이 어떤 아키텍처를 지원하는지 알려줄 것입니다. 예를 들어 x86 시스템에 있는 경우 /lib/ld-linux.so.2최소한 기본 32비트 지원이 가능합니다. 있는 경우 /lib/ld-linux-x86-64.so.2최소한 /lib64/ld-linux-x86-64.so.2기본 64비트(amd64) 지원이 가능합니다. file /bin/ls어떤 아키텍처 유틸리티가 컴파일되는지 알려줍니다(일반적으로 전체 OS 사용자 영역은 하나의 아키텍처에 대해 컴파일되며 아마도 사용자 정의 애플리케이션을 위한 다른 ABI에 대한 추가 라이브러리와 함께 컴파일될 수도 있습니다).

커널과 사용자 영역이 항상 동일한 아키텍처는 아닙니다. Amd64 커널은 32비트 사용자 프로그램을 실행할 수 있지만 그 반대는 아닙니다. CentOS가 32비트인지 64비트 버전인지 알고 싶다면 /bin/ls프로그램이 32비트인지 64비트인지 확인하세요.

답변2

file커널 이미지에서 실행하면 됩니다 . 바이너리가 어떤 아키텍처로 컴파일되었는지 보여줍니다. file vmlinuz-2.6.18-194.32.1.el5.

편집: OP 커널에서 파일을 실행해도 정확한 아키텍처가 반환되지 않으므로 대답이 유효하지 않습니다. 내 커널에서 시도해 보고 더 많은 정보를 얻을 수 있는지 확인해 보겠습니다.

답변3

/lib64 디렉토리를 찾으십시오. 해당 디렉토리가 있고 비어 있지 않으면 아마도 64비트 설치가 있었을 것입니다. 그렇지 않으면 32비트였습니다.

답변4

rpm/ 아직도 작동 하나요 yum? 마지막에 rpm -q kernel있으면 64비트 설정이라는 것을 말해야 합니다 .x86_64

관련 정보