私は非常に一般的な「ルートパーティションがいっぱい」の状況に直面しました。私のハードドライブは100%割り当てられています。私のプライマリパーティション(ext4)には、フルルートパーティション(rootfs)に十分なスペースがあります。
ext4パーティション(マイホームパーティション)を縮小した後にルートパーティション(rootfs)を拡張する必要があるこのシナリオについて、驚くべき段階的なチュートリアルはありますか?
答え1
サイズを変更する方法とパーティションの設定方法によって、多くが異なります。パーティションを増やすのは簡単ですが(パーティションの終わりをディスクの下に移動)、ファイルシステムを縮小することは困難です(特にパーティションの開始を最後に移動)。現場でやりたいと思うとほとんど不可能です。。あなたは:
- 縮小したいパーティションを別のドライブにバックアップします(または、十分に勇敢な場合は、少なくともまったく触れないパーティションに)
- パーティション sw の実行 (fdisk/gdisk/parted/...):
- 拡張する必要があるパーティションの後のパーティションを削除します。
- 前のパーティションの終わりを移動します。プログラムはこれを一段階で行うことができます。または、開始位置を記録して削除した後、まったく同じ開始位置に再作成する必要があります。また、一部のプログラムは新しく作成されたパーティションをフォーマットする傾向があり、その場合は完全に再インストールされます。
- 残りの小さなスペースに次のパーティションを作成します。
- 成長するパーティションからファイルシステムを拡張します。
- より小さな新しいパーティションに新しいファイルシステムを作成し、バックアップからデータをコピーします。
しかし、私は別のものを提案したいと思います(再インストール以外に必ずしもそうではありません)。それシステム構成を正しく保存した場合):
- スペースの問題がオーバーフロー
/tmp
や/var
ディレクトリによって発生していないことを確認し、クリーンアップを実行することもできます。 - 廃止予定のデッドパッケージがあることを確認してください。これはセキュリティリスクです。
- 次に、rootfsのいくつかの重要な部分を別のパーティションに移動できることを確認してください。可能な候補は
/tmp
、、、、/var
です。この場合は、別のファイルシステムを作成してディレクトリを作成し、そこにファイルシステムをマウントし、問題のあるサブディレクトリをそこに移動し、以前の場所(たとえば)にバインドマウントします。必要なすべてのマウントをに追加することを忘れないでください。サブツリーのみを移動する場合は、バインドマウントを台無しにすることなく元の場所に直接マウントできます。/opt
/usr/local
/
mount --bind /new_partition/var /var
/etc/fstab
編集する:
ルートパーティションの内容をより大きな別のパーティションに移動することもできます。変更する唯一のことは、ルートパーティション(デバイス)への参照です。
/etc/fstab
(またはファイルシステムをマウントするために使用される他のファイル)ブートローダの設定
a) カーネルと initrd をロードする
/boot
パーティションb)
root=
kerenl にマウントするカーネルオプションを知らせます/
(initrd の場合かどうかはわかりませんが、どこかで変更する必要があります)。
変更しようとしているシステムでは、これらのタスクを実行しないでください(特に他のファイルシステムに移動および
/tmp
/または移動 -/var
デーモンがそのファイルをそこに残すことができ、実行中のシステムを破損する可能性があります) - ライブCDまたは他の最小限のファイルシステムのインストールが必要です。