Linux partprobe コマンド
partprobe は、Linux システムでオペレーティングシステムにパーティションテーブルの再読み込みを通知するためのユーティリティツールです。システムを再起動せずにディスクのパーティションテーブルを変更した場合、partprobe はカーネルがこれらの変更を認識するのに役立ちます。
partprobe が必要な理由
Linux システムでは、fdisk、parted などのツールを使用してディスクパーティションを変更した後、これらの変更はすぐにはカーネルに認識されません。従来の方法はシステムを再起動することですが、これは本番環境ではしばしば実行できません。partprobe は、再起動せずにカーネルにパーティションテーブルを再読み込みさせる方法を提供します。
コマンド構文
partprobe [选项] [设备...]
よく使うオプションとパラメータ
| オプション | 説明 |
|---|---|
-d |
カーネルを更新しない |
-s |
サマリー情報を表示 |
-h |
ヘルプ情報を表示 |
-v |
バージョン情報を表示 |
使用例
基本的な使い方
指定したディスクのパーティションテーブルを再読み込み:
sudo partprobe /dev/sda
サマリー情報を表示
sudo partprobe -s
出力例:
/dev/sda: msdos partitions 1 2 3
すべてのディスクのパーティションテーブルを再読み込み
sudo partprobe
動作原理
partprobe はカーネルに BLKRRPART ioctl リクエストを送信することでパーティションテーブルの再読み込みをトリガーします。このプロセスには以下のステップが含まれます:
例
sequenceDiagram
ユーザー->>partprobe: コマンドを実行
partprobe->>カーネル: BLKRRPARTリクエストを送信
カーネル->>ディスクドライバ: パーティションテーブルを再読み込み
ディスクドライバ-->>カーネル: 新しいパーティション情報を返す
カーネル-->>partprobe: 操作結果
partprobe-->>ユーザー: 結果またはエラーを表示
ユーザー->>partprobe: コマンドを実行
partprobe->>カーネル: BLKRRPARTリクエストを送信
カーネル->>ディスクドライバ: パーティションテーブルを再読み込み
ディスクドライバ-->>カーネル: 新しいパーティション情報を返す
カーネル-->>partprobe: 操作結果
partprobe-->>ユーザー: 結果またはエラーを表示
注意事項
- 権限要件:partprobe は通常 root 権限が必要です
- 使用シナリオ:主にパーティションツールを使用してパーティションテーブルを変更した後に使用します
- 代替手段:代わりに
blockdev --rereadptコマンドも使用できます - リスク警告:不適切な使用はシステムの不安定化を引き起こす可能性があります
よくある質問
Q: partprobe と partx の違いは何ですか?
A: partprobe はカーネルにパーティションテーブル全体の再読み込みを通知しますが、partx は特定のパーティションの追加や削除をより細かく制御できます。
Q: partprobe を実行してもパーティションが表示されないのはなぜですか?
A: 考えられる原因は次のとおりです:
- パーティションテーブルの変更がディスクに正しく書き込まれていない
- デバイスが他のプロセスによって使用されている
- カーネルが新しいパーティションタイプをサポートしていない
実際の適用シナリオ
シナリオ1:LVM物理ボリュームの拡張
例
# 1. fdisk を使用して古いパーティションを削除し、より大きな新しいパーティションを作成する
sudo fdisk /dev/sdb
# 2. カーネルに新しいパーティションテーブルを認識させる
sudo partprobe /dev/sdb
# 3. 物理ボリュームを拡張する
sudo pvresize /dev/sdb1
sudo fdisk /dev/sdb
# 2. カーネルに新しいパーティションテーブルを認識させる
sudo partprobe /dev/sdb
# 3. 物理ボリュームを拡張する
sudo pvresize /dev/sdb1
シナリオ2:新しいパーティション追加後の処理
例
# 1. parted を使用して新しいパーティションを作成する
sudo parted /dev/sdc mkpart primary ext4 1GB 5GB
# 2. カーネルに通知する
sudo partprobe /dev/sdc
# 3. 新しいパーティションをフォーマットする
sudo mkfs.ext4 /dev/sdc1
sudo parted /dev/sdc mkpart primary ext4 1GB 5GB
# 2. カーネルに通知する
sudo partprobe /dev/sdc
# 3. 新しいパーティションをフォーマットする
sudo mkfs.ext4 /dev/sdc1
ベストプラクティス
- パーティション操作を実行する前に重要なデータをバックアップする
- 使用して
lsblk或fdisk -lパーティションの変更を検証する - 本番環境では、まずテストシステムでパーティション計画を検証する
- 使用を検討する
-sオプションでサマリー情報を先に確認する
まとめ
partprobe は、Linux システム管理者がディスクパーティションを管理するための重要なツールであり、パーティションテーブル変更後にシステムを再起動する必要があるという問題を解決します。partprobe の使用方法を習得すると、特にパーティションを頻繁に調整する必要がある環境で、ディスク管理の効率を大幅に向上させることができます。
その他の拡張
Linux コマンド大全