
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 位元。 LONG_BIT 為 32,因為您使用的某些應用程式是 32 位,在您的情況下可能是 gcc 編譯為 32 位。
所以你的 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 位元的。