uname -m
私に与えてくれる
x86_64
、しかし
getconf LONG_BIT
与える
32
私のシステムは 64 ビットですか、それとも 32 ビットですか? (Gentoo ですが、ルート アクセス権がありません)
答え1
CPU は 64 ビットです。カーネルは 64 ビットです。他に 32 ビットのものもありますが、どれが 32 ビットかはわかりません。おそらく、getconf
パスの最初にあるのが 32 ビットです。/usr/libexec/getconf
手がかりを探してください。
アップデート: 主に 32 ビットのユーザー スペースがあるようです。 4 GB を超える物理メモリのサポートを得るために、誰かが 64 ビット OS をインストールしたのかもしれません。 64 ビットの実行可能ファイルもいくつかあるのかもしれません。 しかし、混在環境であることは明らかです。
答え2
x86_64 と表示される場合は、64 ビットであることを意味しますarch
。LONG_BIT が 32 になるのは、使用しているアプリケーションの一部が 32 ビットであるためです。この場合は、gcc が 32 ビットとしてコンパイルされている可能性があります。
つまり、Arch は実際には 64 ビットであり、64 ビット アプリケーションを実行できますが、32 ビット gcc がインストールされています。
答え3
Gentooでmake.confを読むためにルートアクセスが必要かどうかは覚えていませんが、試してみてください
grep CHOST /etc/make.conf
あなたが取得する場合
CHOST="x86_64-pc-linux-gnu"
これで、システムは64ビットパッケージをコンパイルしてインストールするように設定されます。
CHOST="i686-pc-linux-gnu"
これで、システムは 32 ビット用に設定されます。
どちらも取得できない場合は、ルート権限が必要になる可能性があります。ただし、uname
あなたのシステムを考慮すると、64 ビットであると思われます。