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 データベースは何をしますか?

推薦する

vscodeを使用してReact Native開発環境を構築する方法を教えます

質問コードにはプロンプトがありません: RN 開発に不慣れな、フロントエンド以外の学生の多くは、「ど...

表の境界線の CSS 構文

<br />表の境界線の CSS 構文具体的な内容には、上境界線の幅、右境界線の幅、下境...

Vue.js での $emit の使用に関する詳細な説明

1. 親コンポーネントは props を使用して子コンポーネントにデータを渡すことができます。 2....

nginx+WordPressで個人ブログを構築するプロセス全体の詳細な説明

0x00 はじめにWordPress は、世界で最も人気のある CMS システムです。PHP と M...

タグのhref属性とonclickイベントの使用例

a タグは主にページ ジャンプを実装するために使用され、これは href 属性または onclick...

CentOS 7 はネットワークカードを変更した後、インターネットにアクセスできません

不明なドメイン名 www.baidu.com を Ping するホストのIPアドレスを変更する右クリ...

初心者向けウェブサイト構築チュートリアルの概要

これら 6 つの記事を書いた後、私は少し混乱し始めました。次にどこに書けばいいのか分かりません。ドメ...

...

VueはBaidu Mapsを使用して都市の位置特定を実現

この記事では、参考までに、Baidu Mapsを使用して都市の位置特定を実現するVueの具体的なコー...

Apache ab同時負荷ストレステストの実装方法

腹筋コマンドの原則Apache の ab コマンドは、マルチスレッドの同時リクエストをシミュレートし...

64 ビット CentOs7 ソース コードのインストール mysql-5.6.35 プロセス共有

インストールプロセス中に問題が発生しないように、まず依存パッケージをインストールします。 [root...

Vue における v-for のキーの一意性の詳細な説明

目次1. DOM の違い2. 同じレイヤーの同じタイプの要素にキー属性を追加する3. キーはインデッ...

VMware Workstation 14 Pro(仮想マシン)にシステムをインストールする方法の詳細な説明

この記事では、VMware Workstation 14 Pro (仮想マシン) にシステムをインス...

JSホモロジー戦略とCSRFの詳細な説明

目次概要同一生成元ポリシー (SOP)相同制限クロスドメインをバイパスクロスサイトリクエストフォージ...