Linuxのバージョン情報を復号化する方法

Linuxのバージョン情報を復号化する方法

Linux バージョンに関する情報を表示および解釈するのは、見た目よりも少し複雑です。

単純なバージョン番号を参照する以外にも、Linux のバージョンを識別する方法は多数あります。 uname コマンドの出力をざっと見るだけでも、何かがわかります。この情報とは何ですか? 何を伝えているのでしょうか?

この記事では、una​​me コマンドの出力と、他のコマンドやファイルによって提供されるバージョンの説明を詳しく見ていきます。

unameの使用

Linux システムのターミナル ウィンドウで uname -a コマンドを実行すると、多くの情報が表示されます。これは、小さな a が uname コマンドに、コマンドが提供できるすべての出力を表示するように指示するためです。結果の表示には、システムに関するさまざまな情報が表示されます。実際、表示される各情報は、システムについて異なる情報を伝えます。

たとえば、uname -a の出力は次のようになります。

$ uname -a
Linux dragonfly 5.4.0-37-generic #41-Ubuntu SMP 水曜日 6月 3日 18:57:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

これは重要ではないかもしれませんが、すべての uname オプションを適切な順序で含むコマンドを使用して同じ情報を表示できます。

$ uname -snmrvpio
Linux dragonfly 5.4.0-37-generic #41-Ubuntu SMP 水曜日 6月 3日 18:57:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

この長い情報リストを個別のチャンクに分割するには、次のように for ループを使用して各オプションを反復処理します。

$ snmrvpio のオプション; echo -n "$option: "; uname -$option; 完了
s: Linux
n: トンボ
メートル: x86_64
r: 5.4.0-37-ジェネリック
v: #41-Ubuntu SMP 水曜日 6月3日 18:57:02 UTC 2020
: x86_64 の言語
i: x86_64
o: GNU/Linux

このループは、このオプションが提供する情報を表示します。 uname のマニュアル ページには各オプションの説明が記載されています。リストは次のとおりです:

  • Linux – カーネル名(オプション)
  • dragonfly --ノード名 (オプション n)
  • x86_64 – マシンのハードウェア名 (オプション m)
  • 5.4.0-37-generic – カーネルリリースバージョン(オプション r)
  • #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020 -- カーネル バージョン (オプション v)
  • x86_64 – プロセッサ (オプション p)
  • x86_64 – ハードウェア プラットフォーム (オプション i)
  • GNU/Linux – オペレーティング システム (オプション o)

表示された情報を詳しく調べるには、表示されたカーネル リリース データを詳しく調べます。 4 行目の 5.4.0-37 は単なる任意の数字の文字列ではありません。すべての数字が重要です。

  • 5はカーネルバージョンを示します
  • 4はメジャーバージョンを示します
  • 0はマイナーバージョンを意味します
  • 37は最新のパッチを示します

さらに、上記のループの 5 行目 (カーネル バージョン) の出力の #41 は、このリリースが 41 回コンパイルされたことを示しています。

すべての情報のうち 1 つの項目のみを表示する場合は、単一オプションが便利です。たとえば、コマンド uname -n はシステム名だけを表示しますが、 uname -r はカーネルのリリースだけを表示します。これらおよびその他のオプションは、サーバーのインベントリを作成したり、スクリプトを構築したりするときに役立ちます。

Red Hat システムでは、una​​me -a コマンドで同じ種類の情報が提供されます。次に例を示します。

$ uname -a
Linux fruitfly 4.18.0-107.el8.x86_64 #1 SMP 金曜日 6月14日 13:46:34 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

リリース情報

実行しているディストリビューションを知る必要がある場合、uname の出力はあまり役に立ちません。結局のところ、カーネルのバージョンはディストリビューションのバージョンと同じではありません。この情報については、Ubuntu やその他の Debian ベースのシステムでは lsb_release -r コマンドを使用できます。また、Red Hat では /etc/redhat-release ファイルの内容を表示できます。

Debian システムの場合:

$ lsb_release -r
リリース: 20.04

Red Hat および関連システムの場合:

$ cat /etc/redhat-release
Red Hat Enterprise Linux リリース 8.1 ベータ (Ootpa)

/proc/version の使用

/proc/version ファイルには、Linux バージョンに関する情報も記載されています。このファイルで提供される情報は、una​​me -a の出力と多くの共通点があります。いくつか例を挙げます。

Ubuntuの場合:

$ cat /proc/バージョン
Linux バージョン 5.4.0-37-generic (buildd@lcy01-amd64-001) (gcc バージョン 9.3.0 (Ubuntu 9.3.0-10ubuntu2)) #41-Ubuntu SMP Wed Jun 3 18:57:02 UTC 2020

RedHatの場合:

$ cat /proc/バージョン
Linux バージョン 4.18.0-107.el8.x86_64 ([email protected]) (gcc バージョン 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC)) #1 SMP Fri Jun 14 13:46:34 UTC 2019

要約する

Linux システムは、カーネルとディストリビューションのインストールに関する多くの情報を提供します。どこで、どのように探すかを知って、それが何を意味するかを理解するだけで十分です。

Linux バージョン情報の復号化方法についてはこれで終わりです。Linux バージョン情報の復号化の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linuxでバージョン情報を表示する方法
  • Python で Linux 上のファイルのバージョン情報、会社名、製品名を取得する方法
  • Linux で AES 暗号化アルゴリズムが復号化できない問題の解決策
  • Linux オペレーティングシステムでの AES 復号化の失敗の問題に対する完璧なソリューション

<<:  Vue での keepAlive の使用例の詳細な説明

>>:  MySQL データベースは何をしますか?

推薦する

Nginx proxy_redirect の使用方法の詳細な説明

今日、Apache の nginx リバース プロキシを実行していたときに、ちょっとした問題に遭遇し...

Web ページのソース ファイルを表示できない場合はどうすればよいですか?

Q: Outlook または IE のどちらを使用している場合でも、マウスを右クリックすると、ポッ...

Windows 10 での MySQL 8.0.20 のインストールと設定方法のグラフィック チュートリアル

Win10システムにMySQL8.0.20をローカルにインストールし、個人的にテストして利用可能であ...

nginxのリソースキャッシュ設定の詳細な説明

私はずっとキャッシュについて学びたいと思っていました。結局のところ、キャッシュはフロントエンドのパフ...

JavaScriptのアロー関数の特徴と通常の関数との違い

目次1. 矢印関数の使用1. 通常関数から矢印関数へ2. 中括弧を省略してリターンする3. 括弧を省...

Linux でバックグラウンド タスクを実行するために nohup と screen を使用する例と違いの簡単な分析

SSH ターミナル (putty、xshell など) を使用して Linux サーバーに接続し、時...

未来志向の総合的なウェブデザイン:プログレッシブエンハンスメント

<br />原文: プログレッシブエンハンスメントを理解するアーロン・ガスタフソン翻訳:...

JavaScript を使用してカルーセル効果を実装する

この記事では、カルーセルマップの特殊効果を実現するためのJavaScriptの具体的なコードを参考ま...

MySQL 8.0.20 のインストールと設定方法のグラフィックチュートリアル

MySQLのダウンロードとインストール(バージョン8.0.20)のチュートリアルは参考までに、具体的...

jsドラッグ効果の原理と実装

ドラッグ機能は主に、ドラッグによる並べ替え、ポップアップ ボックスのドラッグと移動など、ユーザーがカ...

Linuxでテキスト比較を実現するコツを教えます

序文コードを書く過程で、必然的にコードに何らかの変更を加えることになります。しかし、変更を加えるとき...

MySQL双方向バックアップの実装方法

MySQL 双方向バックアップはマスター-マスター バックアップとも呼ばれ、両方の MySQL サー...

Dockerコンテナのデータを復元する方法

プロジェクトのテスト環境データベースのデータが失われてしまったので、記録しておきたいと思います。当時...

React Nativeプロジェクトフレームワークの構築経験

React Native は、2015 年 4 月に Facebook によってオープンソース化され...