Linux管理・運用の基本
システム管理者のための実践ガイド
システム管理者のための実践ガイド
Linuxシステムを運用する上で、現在稼働しているシステムの情報を正確に把握することは非常に重要です。特に、トラブルシューティングや新しいソフトウェアの導入時、さらにはハードウェア障害時の初動調査においても、カーネルのバージョンやCPU、メモリ、ディスクなどのハードウェア情報は不可欠です。
この記事では、Linuxシステムが持つ様々な情報を確認するための基本的なコマンドとその使い方を解説します。これらのコマンドは、root権限なしで実行できるものがほとんどのため、手軽にシステムの状況を素早く把握し、適切な対応ができるようになります。
システムの最も基本的な情報であるカーネルのバージョンやシステムアーキテクチャは、uname
コマンドで確認できます。
uname -a
uname
は「unix name」の略で、システム情報を表示するコマンドです。-a
オプションは「all」の意味で、利用可能なすべての情報を表示します。
オプション | 意味 |
---|---|
-s |
カーネル名 (例: Linux) |
-n |
ネットワークノードのホスト名 |
-r |
カーネルリリース (例: 5.15.0-78-generic) |
-v |
カーネルバージョン (ビルド日付など) |
-m |
ハードウェアの種類 (CPUアーキテクチャ、例: x86_64) |
-p |
プロセッサタイプ |
-i |
ハードウェアプラットフォーム |
-o |
オペレーティングシステム (例: GNU/Linux) |
$ uname -a
Linux example-host 5.15.0-78-generic #85~20.04.1-Ubuntu SMP Thu Aug 10 09:59:45 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Linuxは様々なディストリビューションが存在するため、OSの種類やバージョンを正確に知ることは、パッケージのインストールやトラブルシューティングにおいて不可欠です。
lsb_release -a
lsb_release
は、Linux Standard Base (LSB) に準拠したディストリビューション情報を表示します。
オプション | 意味 |
---|---|
-i |
ディストリビューションID |
-d |
ディスクリプション(詳細な説明) |
-r |
リリース番号 |
-c |
コードネーム |
-a |
利用可能なすべての情報を表示 |
利用できない場合: UbuntuやDebian系ではデフォルトでインストールされていることが多いですが、Red Hat系などの一部ディストリビューションでは、sudo dnf install redhat-lsb-core
(またはsudo yum install redhat-lsb
)のようにパッケージのインストールが必要な場合があります。 また、極端に古いディストリビューションや最小構成でインストールされた環境では、lsb_release
コマンドや関連ファイルが存在しない可能性もあります。
lsb_release
コマンドがない場合でも、/etc/os-release
ファイルを参照することでディストリビューション情報を確認できます。これは、systemdを導入している多くのモダンなLinuxディストリビューションで利用可能です。
cat /etc/os-release
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
BUILD_ID="20230308"
UBUNTU_CODENAME=focal
CPU、メモリ、ディスクなどのハードウェア情報は、それぞれ専用のコマンドや擬似ファイルシステムから確認できます。
CPUの詳細情報は/proc/cpuinfo
ファイルで確認できます。
cat /proc/cpuinfo | grep "model name" | uniq
このコマンドは、CPUのモデル名のみを抽出し、同じCPUが複数搭載されていても、1種類だけ表示されます。 補足: CPU構成によっては「model name」以外の項目が使われたり、ARM環境などでは項目名が異なる場合があります。
メモリの使用状況や総容量はfree
コマンドで確認できます。
free -h
-h
オプションは、容量を人間が読みやすい形式(GBやMBなど)で表示します。
$ free -h
total used free shared buff/cache available
Mem: 15Gi 2.5Gi 10Gi 144Mi 2.8Gi 12Gi
Swap: 2.0Gi 0B 2.0Gi
さらに詳細なメモリ情報(物理メモリやスワップの使用状況など)は/proc/meminfo
で確認できます。
cat /proc/meminfo
ディスク(ストレージ)の情報はlsblk
やdf
コマンドで確認できます。
lsblk
: 物理ディスクやUSBストレージなど、すべてのブロックデバイスをツリー状に一覧表示できます。マウントポイントも一緒に確認できるため、接続されているディスクデバイスとそのパーティション構成を把握するのに便利です。
lsblk
$ lsblk
NAME MAJ:MIN RM SIZE RO type mountpoint
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 19G 0 part /
sdb 8:16 0 100G 0 disk
└─sdb1 8:17 0 100G 0 part /mnt/data
df
: ファイルシステムのディスク使用量を表示します。マウントされている各パーティションの空き容量や使用率を確認できます。
df -h
-h
オプションは、容量を人間が読みやすい形式で表示します。
この記事では、Linuxシステムのカーネル、OS、そして主要なハードウェア情報を確認するためのコマンドを紹介しました。これらのコマンドは、システムの現状を把握し、トラブル発生時の原因特定やパフォーマンスチューニングの基礎となります。
補足: どれかのコマンドで「Permission denied」や「No such file or directory」と表示される場合は、ご利用のLinuxディストリビューションやインストールオプションによってファイルやコマンドが存在しないことがあります。その場合は管理者やシステム担当者にご相談ください。
今回ご紹介したコマンドをぜひ活用して、よりスムーズなLinuxシステム管理を目指してください。この記事が、Linuxのシステム情報の調べ方について理解を深める一助となれば幸いです。ご覧いただきありがとうございました。
より詳細なハードウェア構成(PCIデバイスやネットワークデバイス情報など)の調べ方については、今後の連載で取り上げる予定です。