システムとディスクのパーティションに関する基本情報を取得するにはどうすればよいですか?
1. 序章
管理タスクでは、システムに関する詳細情報が必要になることがよくあります。 したがって、Linuxの場合、カーネルのバージョンと配布に関する知識は私たちにとって非常に基本的です。
さらに、利用可能な物理ストレージに関する情報が必要です。 したがって、Linuxのコンテキストでは、ディスクパーティションを一覧表示する必要があります。
この目標を達成するのに役立つLinuxコマンドを見ていきます。
2. カーネルデータ用のunameコマンド
uname コマンドは、カーネルに関する一連の情報を返します。 それでは、カーネル名を確認しましょう。
$ uname
Linux
2.1. unameのオプション
より具体的な情報を取得するには、オプションを使用する必要があります。 したがって、すべてのフィールドで–aスイッチを使用しましょう:
$ uname -a
Linux 10.0.2.15 5.14.10-300.fc35.x86_64 #1 SMP Thu Oct 7 20:48:44 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
それでは、カーネルに関連する各情報を独自のスイッチで確認してみましょう。
したがって、カーネル名には、 -s (または何も使用しない)を使用しましょう。
$ uname -s
Linux
次に、カーネルリリースでは、-rを使用します。
$ uname -r
5.14.10-300.fc35.x86_64
最後に、カーネルバージョンでは、-vを使用する必要があります。
$ uname -v
#1 SMP Thu Oct 7 20:48:44 UTC 2021
それに気づきましょう、
2.2. 可用性
このコマンドは、sh-utilsまたはcoreutilsパッケージの一部です。 したがって、ほとんどすべてのディストリビューションでそれを見つける必要があります。
3. lsb_releaseを使用した配布情報
次に、lsb_releaseコマンドを使用してLinuxディストリビューションの詳細について学習します。
$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description: Fedora release 35 (Thirty Five)
Release: 35
Codename: ThirtyFive
つまり、オペレーティングシステムがFedora35であることがわかります。
さらに、このコマンドは Linux Standard Base (LSB)の概念に基づいて構築されていることに注意してください。
したがって、LSB準拠の配布の場合、コマンドは / etc /lsb-releaseおよび/etc /distrib-releaseファイルから情報を収集します。 さらに、/etc/lsb-release.dフォルダー内のファイルの名前を解析します。
ただし、Fedora 35の例では、フォルダー/etc/lsb-release.dのみが存在します。
特定のディストリビューションでは、コマンドをそのまま使用することはできません。 lsb_releaseパッケージが付属しています。
4. os-releaseファイルの解析
/ etc / os-release ファイルの内容を解析することで、lsb_releaseを使用した場合と同様の効果を得ることができます。 それでは、catそれをしましょう。
$ cat /etc/os-release
NAME="Fedora Linux"
VERSION="35 (Workstation Edition)"
ID=fedora
VERSION_ID=35
VERSION_CODENAME=""
PLATFORM_ID="platform:f35"
PRETTY_NAME="Fedora Linux 35 (Workstation Edition)"
# more output skipped ...
ここで、より具体的に、grepを使用してPRETTY_NAMEのみを表示しましょう。
$ grep '^PRETTY_NAME' /etc/os-release
PRETTY_NAME="Fedora Linux 35 (Workstation Edition)"
この機能はsystemdマネージャーの一部であるため、ほとんどのLinuxディストリビューションで見つけることができます。 ただし、すべてのフィールドに入力する必要はありません。
5. hostnamectlコマンド
hostnamectlコマンドは、システムのホスト名を管理します。システムのさまざまな機能に関連するコマンドを受け入れます。
したがって、 status コマンドを使用して、カーネルとディストリビューションに関する情報を取得します。
$ hostnamectl status
Static hostname: n/a
Transient hostname: 10.0.2.15
Icon name: computer-vm
Chassis: vm
Machine ID: 588ce19ba22340289d4e9f9ad3c5df63
Boot ID: 5a4584a74a1f4b1596ac4b6d15c96e01
Virtualization: oracle
Operating System: Fedora Linux 35 (Workstation Edition)
CPE OS Name: cpe:/o:fedoraproject:fedora:35
Kernel: Linux 5.14.10-300.fc35.x86_64
Architecture: x86-64
Hardware Vendor: innotek GmbH
Hardware Model: VirtualBox
他のいくつかのコマンドはhostnamectlの出力を絞り込みますが、誰も唯一のカーネル情報を返しません。
hostnamectl コマンドには、systemd-servicesパッケージが付属しています。
6. lsblkを使用したブロックデバイスの一覧表示
lsblk コマンドを使用して、システムのブロックデバイスに関する情報を取得します。
$ sudo lsblk -o NAME,KNAME,FSTYPE,MOUNTPOINT,SIZE
NAME KNAME FSTYPE MOUNTPOINT SIZE
sda sda 78,1G
├─sda1 sda1 ext2 /boot 1,5G
├─sda2 sda2 1K
├─sda5 sda5 ext4 / 5,5G
├─sda6 sda6 ext4 /usr 12,5G
├─sda7 sda7 ext4 /home 54,7G
└─sda8 sda8 swap 4G
sr0 sr0 1024M
-o オプションを使用して、表示する列名のリストを提供する必要があります。 この例では、次を使用しました。
- NAME –デバイス名
- KNAME –内部デバイス名
- FSTYPE –ファイルシステムのタイプ
- MOUNPOINT –デバイスの取り付けポイント
- SIZE –デバイスのサイズ
lsblk -h を発行すると、使用可能な列の完全なリストを取得できます。
さらに、 -b スイッチを使用して、単位をバイトに変更できます。
最後に、このコマンドを実行するためにroot権限は必要ありません。ただし、rootアクセスまたはsudoがないと、一部の列は使用できません。 FSTYPE。
このコマンドは、util-linuxパッケージの一部として配布されています。
7. fdiskを使用したディスクパーティションの一覧表示
よく知られているfdiskコマンドを使用して、ディスクのパーティションを一覧表示してみましょう。
$ sudo fdisk -l
Disk /dev/sda: 83.9 GB, 83886080000 bytes
255 heads, 63 sectors/track, 10198 cylinders, total 163840000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000031b3
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 3106815 1552384 83 Linux
/dev/sda2 3108864 163839999 80365568 5 Extended
/dev/sda5 3110912 14583807 5736448 83 Linux
/dev/sda6 14585856 40724479 13069312 83 Linux
/dev/sda7 40726528 155449343 57361408 83 Linux
/dev/sda8 155451392 163839999 4194304 82 Linux swap / Solaris
パーティションのサイズは512バイトのブロックで示されます。 残念ながら、リストに表示されているユニットを変更することはできません。
7.1. パーティションのサイズをGB単位で取得する
fdisk に引数としてその名前を渡して、パーティションの詳細を表示しましょう。
$ sudo fdisk -l /dev/sda7
Disk /dev/sda7: 58.7 GB, 58738081792 bytes
255 heads, 63 sectors/track, 7141 cylinders, total 114722816 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sda7 doesn't contain a valid partition table
このようにして、パーティションサイズをGB単位で読み取ることができます。
7.2. セキュリティ上の注意と可用性
パーティションリストの提供は、fdiskの機能のごく一部にすぎないことに注意してください。
主に、パーティションを作成、削除、および変更するためのインタラクティブなツールです。
したがって、誤って sudo fdisk / dev / sda ( -l なし)を呼び出した場合、fdiskのすべてのコマンドを使用できるシェルに入ります。 。
次に、パーティションテーブルを変更したくない場合は、qと入力して終了する必要があります。
このコマンドは、util-linuxパッケージに含まれています。
8. 大きなパーティションに対処するために別れました
パーティションを操作するさらに別のコマンドは
$ sudo parted -l
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 83,9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 1591MB 1590MB primary ext2 boot
2 1592MB 83,9GB 82,3GB extended
5 1593MB 7467MB 5874MB logical ext4
6 7468MB 20,9GB 13,4GB logical ext4
7 20,9GB 79,6GB 58,7GB logical ext4
8 79,6GB 83,9GB 4295MB logical linux-swap(v1)
パーティションはデバイス名ではなく番号で識別されていることに注意してください。 さらに、サイズは適切な単位できれいにフォーマットされています。
parted コマンドは、fdiskに似たインタラクティブなツールです。
ただし、その注目すべき機能は、2TBを超えるパーティションを処理できることです。
このユーティリティは、同じ名前のパッケージpartedからインストールする必要があります。
9. 結論
この記事では、Linuxオペレーティングシステムに関する情報を提供する方法を紹介しました。 コンパイルされたカーネルバージョンを取得することから始めました。
次に、LSBの概念を適用するか、 systemd データを使用して、Linuxディストリビューションの詳細を確認する方法を学びました。 また、ホスト名管理ツールを使用して同様の情報を取得しました。
最後に、ディスクのパーティションシステムを照会するためのさまざまなツールを調べました。