У меня есть система с невосстанавливаемым /usr
разделом. Боясь, что диски испортятся, я загрузил ее в среду LiveCD, и не могу вспомнить, какая была архитектура установки, максимум, что у меня есть, это CentOS 5.5.
Из-за среды Live ни один из стандартных методов, таких как uname или проверка, не работает /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*
скажет вам, какую архитектуру поддерживает пользовательское пространство. Например, если есть /lib/ld-linux.so.2
в системе x86, то у вас есть как минимум базовая поддержка 32-бит. Если есть /lib/ld-linux-x86-64.so.2
или /lib64/ld-linux-x86-64.so.2
то у вас есть как минимум базовая поддержка 64-бит (amd64). file /bin/ls
скажет вам, из какой архитектуры скомпилированы утилиты (обычно все пользовательское пространство ОС скомпилировано для одной архитектуры, возможно, с дополнительными библиотеками для другого ABI для пользовательских приложений).
Ядро и пользовательское пространство не всегда имеют одну и ту же архитектуру. Ядра Amd64 могут запускать 32-битные пользовательские программы (но не наоборот). Если вы хотите узнать, какая у вас версия CentOS — 32-битная или 64-битная, проверьте, /bin/ls
является ли программа 32-битной или 64-битной.
решение2
Просто запустите file
образ ядра. Он покажет, в какой архитектуре был скомпилирован двоичный файл
file vmlinuz-2.6.18-194.32.1.el5
.
EDIT: Запуск файла на ядре OP не возвращает точную архитектуру, поэтому ответ недействителен. Я попробую это на своих ядрах и посмотрю, получу ли я больше информации.
решение3
Найдите каталог /lib64. Если он там есть и не пустой, скорее всего, у вас 64-битная версия, если нет, то 32-битная.
решение4
rpm
/ все yum
еще работает? rpm -q kernel
Если он в конце, значит x86_64
, это 64-битная установка.