32ビットまたは64ビットのOSがあるかどうかを確認するにはどうすればよいですか?


489

公式サイトからUbuntuをダウンロードしてインストールしました。ただし、32ビットバージョンをインストールしたか64ビットバージョンをインストールしたかはわかりません。

Windows 7では、[ マイコンピューター ]を右クリックすると、バージョンが一覧表示されました。

Ubuntuでチェックインする簡単な方法はありますか?






インストールアーキテクチャとカーネルアーキテクチャは2つの異なるものです。たとえば、32ビットUbuntu 16.04でdebian multiarchサポートを実装し、dpkg --add-architecture amd64いくつかのamd64パッケージをインストールしました。現在、問題なく64ビットカーネルで32ビットインストールを実行しています。だから、dpkg --print-architecture印刷しながらi386uname -m印刷しx86_64ます。wiki.debian.org/Multiarch/HOWTOを参照してください(トリッキーなプロセスです)
kenn

回答:


629

少なくとも2つの方法を知っています。ターミナルを開き(Ctrl+ Alt+ T)、次を入力します。

  1. uname -a

    32ビットUbuntuの結果:

    Linux discworld 2.6.38-8-generic#42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 i686 i686 i386 GNU / Linux

    一方、64ビットのUbuntuは次のように表示されます。

    Linux discworld 2.6.38-8-generic#42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 x86_64 x86_64 x86_64 GNU / Linux

    短いバージョン:

    $ uname -i
    x86_64
    

    または

  2. file /sbin/init

    32ビットUbuntuの結果:

    / sbin / init:ELF 32ビット LSB共有オブジェクト、Intel 80386、バージョン1(SYSV)、動的にリンク(共有ライブラリを使用)、GNU / Linux 2.6.15用、削除

    一方、64ビットバージョンの場合は次のようになります。

    / sbin / init:ELF 64ビット LSB共有オブジェクト、x86-64、バージョン1(SYSV)、動的にリンク(共有ライブラリを使用)、GNU / Linux 2.6.15用、削除

    systemd(16.04)を使用するシステムでも同じです:

    file /lib/systemd/systemd

    64ビットの結果:

    / lib / systemd / systemd:ELF 64ビット LSB共有オブジェクト、x86-64、バージョン1(SYSV)、動的リンク、インタープリター/lib64/ld-linux-x86-64.so.2、GNU/Linux 2.6用。 32、BuildID [sha1] = 54cc7ae53727d3ab67d7ff5d66620c0c589d62f9、削除済み

11
広く利用可能な実行可能ファイルの(バイナリ)コンテンツを「スニッフィング」する方法2は、非常に間接的で厄介です。ほとんどのセットアップで機能しますが、64ビットの実行可能ファイルが存在するだけでは、実行中の OSアーキテクチャを検出する信頼できる方法ではありません。特別に考慮する場合multiarchia32_libsそして、あなたのinit例では特別にupstart
メストレリオン

8
あなたはおそらく正しいですが、方法1は私を表示するi68632または64の出力のどちらも私のために表示されていた
ALEKS

6
32ビットの@aleks(ハイライトされたテキストを参照してください:回答の `i686 i686 i386`)
Rinzwind 14年

32ビットです。2番目の方法を使用しましたが、最初の方法では次のようなものは表示されませんでしたi386が:) どうもありがとう
アレクス14年

1
# file /sbin/init- /sbin/init: symbolic link to upstart'` - # file /sbin/upstart-/sbin/upstart: ELF 64-bit LSB shared object, x86-64...
Nakilon

142

Unityを使用したUbuntu 12.04以降

  • Command(mac)またはWindowキーを押します。
  • を入力しDetails、「詳細」アイコンを選択します
  • 「OSタイプ」フィールドを読み取る
  • 64ビットOSは「64ビット」を読み取ります

ここに画像の説明を入力してください

上記の画面を表示する代わりに:

  • [システムメニュー](右上隅の歯車)をクリックします
  • 「このコンピューターについて」をクリックします

端末の応答は良好ですが、これがGUIの答えだと思います。:)

Unityを使用したUbuntu 11.04

  • Command(mac)またはWindowキーを押します。
  • を入力しSystem info、システム情報アイコンを選択します
  • 「OSタイプ」フィールドを読み取る
  • 64ビットOSは「64ビット」を読み取ります

14
+1:Windowsに慣れており、簡単な方法を特に求められているユーザーには、ターミナルコマンドよりもGUIの方法が推奨されます。
メストレリオン2013年

1
また、同じ画面に移動する別の(GUI)方法:System Menu (top right corner, near the clock) -> System Settings -> Details
MestreLion

最も簡単な方法を念頭に置いてください:古いUbuntuを実行している人は、GUIの同等物を提供してください!特にLucid Lynxの場合(LTSは2015年までサポートされているため、人々の手に負えないラップトップで実行される可能性が高いため)
JP

1
@JP:Lucid Lynxなどの古いUbuntuの場合、私が知っている最も簡単なGUI方法はGnomeのSystem Monitorです。そのSystemタブにはアーキテクチャが表示されます。
メストレリオン

1
GUIウィンドウは素敵ですが、GUIをインストールせずにサーバーエディションを実行している場合、しばらくお待ちください。
クリス

79

非常に簡単で短い方法は次のとおりです。

ターミナルを開き、次のように書き、を押しEnterます。

getconf LONG_BIT

結果の数値(私の場合は64)が答えです。

ターミナル-getconf LONG_BIT


7
私の32ビットシステムでは、これも正しい答えを提供します。さまざまな回答にリストされているすべてのコマンドの中で、このコマンドの出力は最も簡単です。
スティーブンオステルミラー

例外:$ getconf LONGBIT getconf:認識されない変数 `LONGBIT '
Auspex

1
下線が欠落している@Auspex LONG_BIT
マイケル

@Michael Damn、そうだった。私はそれをどのように管理したのかわかりません。また、先月これらの2台のマシンを64ビットにアップグレードしたので、今はほとんど意味がありません;-)とにかくありがとう!
Auspexの

58

参照:32ビットまたは64ビットのLinuxを実行しているかどうかを知る方法

次のコマンドを使用します。

uname -m

通常、次のものが得られます。

i686

32ビット(またはi586またはi386)の場合、および:

x86_64

64ビット用。


/ etc / releaseがそれに言及していないように思われるのは難しい。
rogerdpack

uname -mpiで述べたすべてのものを与えuname -a、彼らは通常、すべて同じであっても...、
Wilf

27

ターミナルを開き、archコマンドを試してください。出力がx86_64の場合、64ビットです。i686、i386などと表示されている場合、32ビットです。

ただし、アーキテクチャを決定する最良の方法は、archコマンドを実行して出力をグーグル検索することです。


11
archuname -m(マンページにも記載されている)とまったく同じです。;-)
htorque

私のコンピューター(Ubuntu 9.04)では、archコマンドは存在しないようです。したがって、uname -mの方が信頼性が高いと思います。
ジョナサンスターンバーグ

@JonathanSternberg:数ヶ月後に追加され、同じ作者によって開発さunameれ、同じcoreutilsパッケージに含まれています。そのため、Ubuntu 10.04以降では両方のコマンドを使用できます。
メストレリオン

21

dpkg --print-architecture コマンドは、32ビットまたは64ビットのUbuntu OSをインストールしたかどうかを表示します。

64ビットシステム

$ dpkg --print-architecture
amd64          

32ビットシステム

$ dpkg --print-architecture
i386

`


6
これまでのところ、64ビットカーネルを実行している32ビットOSを正しく検出する唯一の方法です。
ダンガースウェイト

8

アーキテクチャチェッカー

ここに画像の説明を入力してください

ダウンロードリンク

  1. ダウンロードしてください
  2. それを抽出します。
  3. ファイルArchitecture Checker.sh実行可能ファイルをマークして実行します。

スクリプトは基本的にこれです:

#!/bin/bash
ARCH=$(uname -m)
if [ "$ARCH" = "i686" ]; then
 zenity --info --title="Architecture Checker" --text="Your Architecture is 32-Bit"
fi
if [ "$ARCH" = "x86_64" ]; then
 zenity --info --title="Architecture Checker" --text="Your Architecture is 64-Bit"
fi

これは実行可能なテキストファイルにあるzenity必要があり、インストールする必要があります。


8
その8行のファイルをダウンロードして抽出する必要がありますか?ここのコードブロックに入れてください。
キリ

の出力が... でuname -mはないi686場合はzenity、を使用することnotify-sendもできます。
ウィルフ

5

行くシステム設定と下のシステムセクション、ヒット詳細を。OS、プロセッサ、およびシステムが64ビットバージョンと32ビットバージョンのどちらを実行しているかという事実を含むすべての詳細を取得します。


それは素晴らしいようです。しかし、「システム設定に移動する」方法がわかりません。(ところで)12.4 MATEを使用しています。
パポウ

3

Ubuntu Software Centerを開き、を検索しlib32ます。結果が判明した場合は、64ビットインストールを使用しています(結果は、64ビットインストールで32ビットアプリケーションを実行するための互換性ライブラリです)。

正確な答えではありませんが、少なくとも端末は必要ありません... ;-)

編集

私はさらに簡単なものを見つけました:ヘルプ-> Mozilla Firefoxについて-そこに表示されます... ;-)

一番下に、たとえば64ビットシステムで「ユーザーエージェント文字列」が表示されます。

Mozilla/5.0 (X11; U; Linux x86_64; nl; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12

または私の32ビットシステムで:

Mozilla/5.0 (X11; U; Linux i686; nl; rv:1.9.2.12) Gecko/20101027 Ubuntu/10.10 (maverick) Firefox/3.6.12

x86_6464ビット、i68632ビット

(しかし、これはまだあるべき答えではありません;))


2
純粋なGUI、確認が、非常に壊れやすい1 ...名前(パッケージまたは説明)が含まれてlib32確かにあるではないアーキテクチャを検出するための信頼性の高い方法。
メストレリオン2013年

2

電源ボタン(最上部、右端)には「このコンピューターについて」オプションがあります。:)


2
ない12.04 LTSに
törzsmókus

1

私の知る限り、32ビットシステムにx86_64カーネルをインストールすることは可能です。ここにいくつか書いたように、あなたが持っているライブラリ/システムにインストールしたパッケージを見てください。ですから、最も安全な方法は、あなたが持っているかどうか、/lib64そしてそれがへのシンボリックリンクであるかどうかをチェックすることです/lib

別の可能な方法は、ダウンロードしたパッケージを確認することです/var/cache/apt/archive。_amd64.debが含まれている場合、それは64ビットシステムです。つまり、パッケージをインストールしていて、キャッシュをクリアしていない場合です。

これらのすべては、Konqueror / Dolphinからポイントまたはクリックするだけで実行できます。

ls -la / |grep lib

1

32ビットカーネルのインストール中に64ビットCPUを使用する場合があることに注意してください。つまり、CPUが64であっても、OSが64であることを意味するのではなく、インストールしたものに依存します。

man uname

   -m, --machine
          print the machine hardware name

   -p, --processor
          print the processor type or "unknown"

   -i, --hardware-platform
          print the hardware platform or "unknown"

そのため、ハードウェアプラットフォームの使用状況を取得するにはuname -muname -pまたはuname -iカーネルタイプを取得するには、getconf LONG_BITコマンドを実行することをお勧めします。

このSOの質問を確認してください


実際にはこの質問には関係ありません。彼 64ビットCPUを搭載しており、どのOSがインストールされたかを知りたいと考えています。
オースペックス

0

SynapticまたはSoftware Centreのソフトウェアソースをご覧ください。元のソース(cdromなど)を削除していない場合、アーキテクチャを示します(?)。これはGUIですが、「32ビット」や「64ビット」とは表示されません。


-1

OSを32ビットと呼ぶのかわかりません。

具体的には、カーネルとデスクトップのディストリビューションは64ビットDebian / Sidですが、-ed環境内で-ed 32ビットDebian schrootを実行するために日常的に使用しています(テスト目的)。deboostrapchroot

私の32ビット環境は、32ビット(そう信じている)または64ビット(結局、64ビットカーネル内で実行される)と呼ばれるべきだと感じますか?その環境でuname -mi686、すべてのライブラリと実行可能ファイルとプロセスは32ビットです。

実用的にuname -mは十分なはずです。このfileコマンドは、ELF実行可能ファイルが32ビットか64ビットかを示します。

Linux固有のパーソナリティ(2)システムコール(およびuname(2)システムコールも参照してください。

また、プロセッサに関するハードウェア情報は、たとえば

 cat /proc/cpuinfo

その出力は、デスクトップの64ビットシステムと32ビットのschroot環境で同じです。


4
-1:あなたは追加たくさん追加することなく、不必要な混乱を任意の便利な新しい情報を。「32ビットのOSを何と呼ぶか​​わからない」と言うのはなぜですか?ご存知のとおり、これは非常に簡単な質問です。あなたのchroot例は無意味です:それは仮想マシンに似ているので、32ビットOSでブートストラップした場合はもちろんuname -m出力されi686ます。しかし、「ホスト」はまだ64ビットでありuname -m、chroot環境の外部で実行すると、そう言うでしょう
-MestreLion

2
また、/proc/cpuinfo誤解を招く可能性があります。実際にインストールされた(および実行されている)OSアーキテクチャではなく、CPU 能力を示しています。過去5年間に販売されたほぼすべてのデスクトップCPUは64ビットですが、これは 質問とはまったく関係ありません。もちろん、CPU ハードウェアは同じであり、32ビットと64ビットの両方のOSを実行できるため、両方のシナリオで同じことを報告します。
メストレリオン

@ MestreLion、Basileが言おうとしていることは、たとえばLXCまたはを使用している場合などchroot、64ビットカーネルで純粋に32ビットシステムを実行できる場合があるということです。これらの場合uname、カーネルアーキテクチャ、64ビットがわかりますが、他の方法では、ユーザーランドアーキテクチャ、32ビットがわかります。2つのうちどちらが「アーキテクチャ」であるかは不明です。
ジョニ

@ジョニ:わかりました、わかりました。しかし、それは極めて限られたケースのシナリオであり、OPのケースではありません。
メストレリオン

おそらくそれはOPの場合ではなく、Basileが作成しようとしているポイントを明確にしたかっただけです(また、答えを修正するための以前の編集が拒否されたように見えますか?この環境uname -mでは、i686ではなくx86_64であるカーネルのアーキテクチャを出力します。 )
ジョニ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.