実行している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
を見ると、バージョン7.7
を使用していることがわかります。
これらの場所にリストされている非常に多くの異なるDebianバージョンが表示されるのはなぜですか?また、番号の違いは何ですか?
GCCバージョンは、カーネルのビルドに使用されたGNU Cコンパイラのバージョンです。
Debianのドキュメント によると、3.2.0-4-686-pae
は、説明されているカーネルバージョンですupstreamversion [-abiname] [-featureset] -flavour。したがって、アップストリームバージョンは3.2です(wheezyに.0が追加されています)。最終的な3.2.63-2 + deb7u2は、おそらくパッケージバージョンです。
最初のバージョン(3.2.0)はABI互換性のためであり、パッケージ名はpacakgeデータベースの実際のバージョンを反映していると思います。
文字列全体gcc version 4.6.3 (Debian 4.6.3-14)
は、GCCのバージョンを参照します。括弧は、DebianチームによってパッチでカスタマイズされたGCCを実行していることを示すためにあります。4.6.3はGCCバージョンであり、14は適用されたパッチ間の違いを示すためにDebianによって追加されたサフィックスです。
最後のバージョンが何を指しているのかわかりません(ただし、完全にカーネルバージョンのように見えます)。これはベンダー固有のOS名の一部であるため、Debian開発者は実際に好きなものをそこに置くことができます。これは、リリースをビルドしたマシンで実行されているカーネルのバージョンなどである可能性があります。
詳細については、uname -aまたはuname --helpを試してください。
これは実際には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
)を参照しています。
3番目の部分は/proc/sys/kernel/version
からのもので、ビルド番号(例:#1
)とそれがビルドされたマシンへの参照(SMP
=対称型マルチプロセッシング、つまり通常のPC)が含まれていますそしてそれが建てられた日時。
電子メールアドレスもビルドからのものであり、gccバージョンはそれを行うために使用されるコンパイラです。