如果内核types(64/32)没有指明你的发行版是什么,那我怎么知道我在运行什么?

如果内核types(64/32)没有指明你的发行版是什么,那我怎么知道我在运行什么? 我在Ubuntu上,刚发现,你可以在32位的Linux发行版上使用64位的内核……那么我怎样才能确定我正在运行的是什么types的软件,64位或32位?

只要在命令行上运行这个

getconf LONG_BIT 

它将返回32或64

使用32位内核,您知道所有的应用程序必须是32位的。 使用64位内核,可以混合使用32位和64位应用程序和库。 你必须检查你所关心的应用程序,看看它们是什么types。 您可以使用file命令来检查库或可执行文件的位数。

 cat /proc/version cat /etc/issue uname -a 

在terminal应该显示有用的信息,以澄清你在任何给定的机器上运行。

我想说,你将会有一个与发行版的软件整体不同步的内核是非常罕见的,当然我从来没有遇到过任何configuration它的人,所以一般来说你可以期望x86_64代表一个64位操作系统和内核几乎每当你遇到它。

既然你是在Ubuntu的,任何给定的软件,你可以简单地运行:

 apt-cache policy <packagename> 

并寻找告示牌,例如我的Skype的结果:

 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 

如果你不记得任何其他的,我不能,那么下面的“技巧”的作品,只是在C / C + +打印一个指针的长度:

 #include <iostream> using namespace std; int main( int argc, char *argv[] ) { cout << sizeof( void *) << endl; return 0; } 

这将在32位操作系统(即4个字节= 32位)上给出“4”,在64位操作系统上给出“8”(即8个字节= 64位)。