私が実行しているDebianのバージョンを見つけようとしたとき、混乱させて、いくつかのコマンドを実行しましたが、ほとんどすべてのコマンドが異なる結果を返しました。
たとえば、/proc/version
私が見つけたものは次のとおりです。
Linux version 3.2.0-4-686-pae ([email protected]) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.63-2+deb7u2
私は3.2.0-4-686-pae
それがカーネルバージョンであると言うことができます。それは私には明らかです。しかし、残りの出力は2つの異なるDebianバージョン番号を提供するようです4.6.3-14
(3.2.63-2+deb7u2
後者は出力にも表示されますuname
)。
また、見れば/etc/debian_version
version を使っているとわかります7.7
。
なぜここにこのようにさまざまなDebianバージョンをリストし、数字の違いは何ですか?
答え1
GCC バージョンは、カーネルの構築に使用される GNU C コンパイラのバージョンです。
~によるとDebian ドキュメント、3.2.0-4-686-pae
説明されているカーネルバージョンです。アップストリーム バージョン [-abiname][-featureset]-flavor。したがって、アップストリームバージョンは3.2です(wheezyに.0が追加されました)。最終的な3.2.63-2+deb7u2はパッケージバージョンである可能性が高いです。
最初のバージョン(3.2.0)はABI互換性のためであり、パッケージ名はパッケージデータベースの実際のバージョンを反映しているようです。
答え2
文字列全体はgcc version 4.6.3 (Debian 4.6.3-14)
GCCバージョンを表します。括弧は、Debian チームがパッチでカスタマイズした GCC を実行していることを示します。 4.6.3はGCCバージョンで、14は適用されるパッチを区別するために追加されたサフィックスDebianです。
最後のバージョンが何を意味するのかよくわかりません(しかし、完全にカーネルバージョンに似ているようです)。これはオペレーティングシステム名のベンダー固有の部分であるため、Debian開発者は実際にここに何をしたいのかを入れることができます。これは、ビルドされたシステムで実行されているカーネルのバージョンであるか、それと似ている可能性があります。
答え3
これはDebianのものではありません(ただしコメントを参照してください)。おそらく、すべてのLinuxシステムで見つけることができます。で文書化された文字列はカーネルインタフェースですman proc
。 /proc
つまり、その中にあるファイルを読むときに実際にカーネルに情報を要求するという意味です。 /proc/version
異なるprocファイルを介して個別に使用できる3つのトランザクションの接続を返します。文字列自体はコンパイル時にカーネルに組み込まれます。
最初の部分はおそらく出てき/proc/sys/kernel/ostype
ますLinux
。
2番目の部分は、例の/proc/sys/kernel/osrelease
実際のカーネルバージョンから来て参照されます3.2.0-4-686-pae
。
/proc/sys/kernel/version
3番目の部分には、ビルド番号(例:)#1
とビルドされたシステムへの参照(SMP
=Symmetric Multiprocessing、つまり通常のPC)とビルドの日時が含まれます。
電子メールアドレスもビルドから来ており、gccバージョンはこれを実行するために使用されるコンパイラです。
答え4
- 3.2.0-4-686-pae はカーネルバージョンです。
- 4.6.3はgccバージョンです。
- #1 SMP Debian 3.2.63-2+deb7u2はカーネルバージョンです。
詳しくは uname -a または uname --help をご覧ください。