GNU/Linux >> Linux の 問題 >  >> Linux

実行している Linux が 32 ビットか 64 ビットかはどうすればわかりますか?

解決策 1:

「uname -m」は、探しているコマンドです。最新の Intel および AMD プロセッサでは 32 ビットと 64 ビットの両方を実行できるため、「uname -p」は役に立ちません (さらに、最近はほとんど機能しません。は「不明」です)。

/usr/lib64 の存在を探しても (提案されているように)、役に立ちません。ハードウェアとシステムに関連するパッケージの中には、安全のために 32 ビットと 64 ビットの両方のライブラリをインストールするものがあるからです。私の (debian) システムでは、fakeroot パッケージがまさにそれを行います。

「uname -m」の出力に関しては、i386 または i686 の場合は 32 ビットであり、x86_64 (またはアルファ、または ia64、または私が見たことのない他の 64 ビット アーキテクチャ:) の場合は 64 ビットです。

(余談ですが、私の 64 ビット FreeBSD サーバーは "amd64" を返します。これはインテルのクアッドコアには少し奇妙かもしれませんが、x86 64 ビット アーキテクチャの歴史を知っていれば完全に理解できます)

解決策 2:

uname -a を実行し、x86_64 を探します。 CPU が 64 ビットを処理できるかどうかを知りたい場合は、cat /proc/cpuinfo を実行し、フラグ内で lm を探します。

解決策 3:

RedHat/CentOS の場合:

$ uname -a
Linux cs-centos 2.6.18-92.1.22.el5 #1 SMP Tue Dec 16 12:03:43 EST 2008 i686 athlon i386 GNU/Linux

32 ビット

  • i686 および/または i386

64 ビット

  • x86_64 が必要です uname -a で 出力

解決策 4:

混乱させるために、32 ビットのユーザーランドで 64 ビットのカーネルを実行できます。これは私が行っていることです。この場合、uname -m x86_64 を返します しかし、64 ビット ライブラリがインストールされていないため、ほとんどの 64 ビット プログラムは実行されません。

uname をチェックしたら、/lib64/ld-linux-x86-64.so.2 を探す必要があります。 、 /lib64/libc-2.7.so/lib/ld-linux.so.2/lib/libc-2.7.so 64 ビットと 32 ビットのライブラリが利用可能かどうかを確認します。本当に確認するには、これらのファイルを実行して、正しく実行されるかどうかを確認してください。

もう 1 つの有用な情報は、lsb_release -a の出力です。 これはクロスディストリビューションであり、利用可能なアーキテクチャ固有の LSB モジュールを報告します。

解決策 5:

$> getconf LONG_BIT 答え:32 か 64 です。


Linux
  1. Linux – Dmesgで何をgrepするかを知る方法は?

  2. Linux の特定のポートで実行されているプロセスを強制終了するには?

  3. Linux カーネルが 32 ビットまたは 64 ビットで実行されているかどうかを確認するにはどうすればよいですか?

  1. ビット数(32または64)を返すLinuxコマンド?

  2. 自分の CPU が Linux で 64 ビット オペレーティング システムをサポートしていることを確認するにはどうすればよいですか?

  3. Linuxでプログラムがスタックしている場所を知る方法は?

  1. Linux –実行中のLinuxディストリビューションを特定する方法は??

  2. Linuxで実行中のプロセスを再起動(またはリセット)する方法は?

  3. Linux の画面内で実行しているかどうかを確認するにはどうすればよいですか?