uname -m
给我
x86_64
,但
getconf LONG_BIT
给出
32
所以我的系统是 64 位还是 32 位?(它是 Gentoo,我没有 root 权限)
答案1
您的 CPU 是 64 位的。您的内核是 64 位的。其他东西是 32 位的,但很难说清楚是什么。也许getconf
您路径中第一个出现的是 32 位的。查看/usr/libexec/getconf
线索。
更新:听起来您主要拥有 32 位用户空间。也许有人只是安装了 64 位操作系统来支持超过 4GB 的物理内存。也许您有一些 64 位可执行文件。但现在很明显您拥有的是混合环境。
答案2
尝试一下arch
,如果它打印 x86_64,则说明您有 64 位。由于您使用的某些应用程序是 32 位的,因此 LONG_BIT 的值是 32,在您的情况下,可能是编译为 32 位的 gcc。
所以你的 Arch 实际上是 64 位的,你可以运行 64 位应用程序,但你安装了 32 位 gcc。
答案3
我不记得你是否需要 root 权限才能读取 Gentoo 上的 make.conf,但请尝试
grep CHOST /etc/make.conf
如果你得到
CHOST="x86_64-pc-linux-gnu"
然后你的系统就设置为编译和安装 64 位软件包了。否则如果你得到
CHOST="i686-pc-linux-gnu"
然后你的系统就设置为32位了。
如果两者都没有,那么你可能需要 root 权限。考虑到你的uname
情况,我预计你的系统是 64 位的。