Если тип ядра (64/32) не указывает на разрядность вашего дистрибутива, как мне узнать, что я использую? Я использую Ubuntu, и, к своему удивлению, я только что узнал, что вы можете использовать 64-битное ядро в 32-битном дистрибутиве Linux ... так как я могу точно сказать, какой тип программного обеспечения я использую, 64-битный или 32 бит?
Просто запустите это в командной строке
getconf LONG_BIT
Он вернет 32 или 64
cat /proc/version
cat /etc/issue
uname -a
в терминале должна отображать полезную информацию, чтобы прояснить, что вы запускаете на той или иной машине.
Я бы сказал, что очень редко у вас будет ядро, которое настроено не синхронно с программным обеспечением дистрибутива в целом, конечно, я никогда не встречал никого, кто настраивал его таким образом, поэтому обычно вы можете ожидать x86_64 чтобы представить 64-битную операционную систему и ядро практически всякий раз, когда вы с этим сталкиваетесь.
Поскольку вы находитесь в ubuntu, для любого заданного программного обеспечения вы можете просто запустить:
apt-cache policy <packagename>
и ищите контрольные признаки, например мои результаты по скайпу:
apt-cache policy skype
skype:
Installed: 4.2.0.11-0ubuntu0.12.04.1
Candidate: 4.2.0.11-0ubuntu0.12.04.1
Version table:
*** 4.2.0.11-0ubuntu0.12.04.1 0
500 http://archive.canonical.com/ubuntu/ precise/partner amd64 Packages
100 /var/lib/dpkg/status
Вы знаете, что с 32-битным ядром все приложения должны быть 32-битными. С 64-битным ядром может быть любое сочетание 32-битных и 64-битных приложений и библиотек. Вы должны проверить приложения, которые вам интересны, чтобы узнать, к какому типу они относятся. Вы можете использовать file
команда для проверки разрядности библиотеки или исполняемого файла.
Если вы не можете вспомнить никого из других, а я не могу, то следующий трюк сработает, просто выведите длину указателя на C / C ++:
#include <iostream>
using namespace std;
int main( int argc, char *argv[] ) {
cout << sizeof( void *) << endl;
return 0;
}
Это даст «4» для 32-битной ОС (т. Е. 4 байта = 32 бита) и «8» для 64-битной ОС (т. Е. 8 байтов = 64 бита).