Linuxでルートパーティションの空き領域を拡張する方法
Linuxユーザーとして、最終的にはルートパーティション(/)の空き容量がなくなる状況に直面することがあり、これが原因でエラーが発生したり、ソフトウェアのインストールができなくなったり、システムが正常に動作しなくなることさえあります。
ルートパーティションを拡張することは、特に初心者にとっては難しそうに聞こえるかもしれませんが、少しの指導と忍耐があれば、この記事で説明されているように、十分に実行可能です。
ルートパーティションの理解
ルートパーティション(/)は、Linuxオペレーティングシステムが存在する場所であり、すべてのシステムファイル、インストールされたアプリケーション、設定、および場合によっては/homeが別のパーティションにない場合のユーザーデータを含みます。
ルートパーティションがいっぱいになる理由はいくつかあります:
- たくさんのアプリケーションをインストールすること。
- 大きなログファイルがスペースを取っています。
- 自動的にクリーンアップされない一時ファイル。
- データベースまたは開発ツールが
/にデータを保存しています。
ルートパーティションの空き容量が少なくなると、Linux は予測不能な動作を始めることがあります。パーティションを拡張することで、これらの問題を防ぎ、システムをスムーズに動作させることができます。
現在のディスク使用量を確認する方法
最初のステップは、次の df コマンドを使用して、現在のパーティションのレイアウトとどれだけの空きスペースがあるかを確認することです。
df -h
上記のコマンドは、ディスク使用量を人間が読みやすい形式で表示します。ここで、/ がほぼ満杯であること(90% 使用済み)がわかります。
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 18G 2G 90% /
tmpfs 2.0G 1.2M 2.0G 1% /dev/shm
次に、以下の fdisk コマンドでパーティションのレイアウトを確認します。
fdisk -l
上記のコマンドは、システム上のすべてのディスクパーティションを一覧表示します。
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 20G 0 part /
├─sda2 8:2 0 10G 0 part /home
└─sda3 8:3 0 20G 0 part
<code>/</code>が<strong>20GB</strong>しかなく、<code>/home</code>が<strong>10GB</strong>であることに注目してください。ディスクの未使用領域を利用するか、他のパーティションを縮小することを検討するかもしれません。
重要: ルートパーティションをバックアップしてください
パーティションを変更する前に、常に重要なデータをバックアップしてください。パーティション操作中にミスが発生することがあり、データが失われる可能性があるため、安全を期す方が賢明です。
ルートパーティションのバックアップを取るために、以下のように rsync コマンドを使用しますが、他にお好みのバックアップツールを使用することもできます。
rsync -av --progress / /path/to/backup/
ルートパーティションの容量を増やす方法はいくつかあり、どの方法を選ぶかは設定によります。
方法1:GPartedを使用してルートパーティションを拡張する
もしデスクトップを使用しているか、Live CD/USBを持っている場合、GPartedが最も使いやすいツールです。
- ライブUSB/CDから起動する – マウントされたルートパーティションのサイズを変更することはできないため、まずライブLinux環境にブートします。
- GPartedを起動 – メニューからGPartedを開き、すべてのパーティションの一覧を確認します。
- ルートパーティションのサイズ変更 –
/(ルート)パーティションを特定し、その隣に未割り当てのスペースがあるか確認し、パーティションを右クリックして サイズ変更/移動 を選択します。 - 変更を適用 – チェックマークのボタンをクリックして変更を適用してください。数分かかる場合がありますので、しばらくお待ちください。
再起動後、df -h を実行して、ルートパーティションのサイズが増加していることを確認してください。
方法2:LVM(論理ボリュームマネージャ)の使用
もしあなたのルートパーティションがLVM上にある場合(CentOS、RHEL、Ubuntuなど多くの最新のLinuxディストリビューションはLVMをサポートしています)、拡張はより安全で、Live CDから起動する必要はありません。
まず、ルートがLVM上にあるか確認してください。
lsblk
ここで同様のものを見るかもしれません。/ はボリュームグループ vg_root の中の LVM 論理ボリューム (lv_root) です。
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
└─sda2 8:2 0 50G 0 part
├─vg_root-lv_root 253:0 0 20G 0 lvm /
└─vg_root-lv_home 253:1 0 30G 0 lvm /home
ボリュームグループに空き領域がある場合、論理ボリュームを拡張できます。
sudo lvextend -L +10G /dev/vg_root/lv_root
+10Gはルートに10GBを追加することを意味します。- あなたのパスに
/dev/vg_root/lv_rootを置き換えてください。
次に、ファイルシステムのサイズを変更します。
sudo resize2fs /dev/vg_root/lv_root #for ext3
sudo xfs_growfs / #for xfs
リサイズした後、ルートパーティションがサイズ増加していることを確認するために、次のコマンドを実行してください。
df -h
方法3:別のパーティションを縮小する
もし LVM を使用しておらず、未割り当てのスペースがない場合、/home のような別のパーティションを縮小してスペースを作成することができます:
- /homeをバックアップ – すべての重要なファイルが安全な場所に保存されていることを確認してください。
- ライブUSBから起動 – パーティションが使用中でないように、コンピュータをLinux USBから起動します。
- GPartedを使って/homeを縮小する – GPartedを使って/homeパーティションのサイズを縮小し、空きスペースを確保します。
- ルートパーティションを移動する – ルートパーティションを空き領域に注意深く移動します。このステップは上級者向けでリスクがあります。
- ファイルシステムのサイズ変更 – ルートファイルシステムを拡張して、新しいスペースを使用できるようにします。
ヒント: これは初心者には難しいです。可能であれば、LVM を使うか、すでに未割り当てのスペースがあるパーティションを使って作業してください。
結論
ルートパーティションの容量が不足するとストレスを感じることがありますが、システムを理解し、適切な手順に従えば、拡張は完全に管理可能です。
初心者にとって、Live USB を使って GParted を使用することは、ルートパーティションを拡張する最も安全な方法です。一方、LVM ユーザーは、再起動せずに安全に行う柔軟性があります。
変更を行う前に必ず重要なデータをバックアップし、パーティションのサイズを変更する前に必ず確認してください。