回答:
最初に新しいパーティションを準備します(たとえば、partedとmkfs)。
パーティションが/ dev / sda5であるとします
新しいパーティションをマウントします。
mkdir /var2
mount /dev/sda5 /var2
現在の変数を同期します:
rsync -a /var/ /var2
/ etc / fstabにエントリを追加します
/dev/sda5 /var ext4 defaults 2 2
リブート。
古い/ varに戻る必要がある場合は、fstabのエントリをコメントアウトしてください。
/、実行中(ただし再起動後)に、現在のシステムの他の場所にマウントできます。次に、あなたが古いで取得することができます/varし、あなたのような場合はそれを削除
blkid -o list -s UUIDsudoで実行する必要があると思います
雇用主のホスティング会社によってプロビジョニングされた新しい仮想サーバーを引き継いだとき、ルートファイルシステムに十分な空き領域がありませんでした。幸運なことに、彼らは論理ボリュームマネージャ(LVM)を使用して仮想ディスクを細分化し、新しいボリュームを作成するのに十分な空き容量がありました。私はのために余分な論理ボリュームを作成varし、homeそのルートファイルシステム内の通常のディレクトリされていました。仮想サーバープロバイダーは、シングルユーザーモードでサーバーにアクセスできるKVMのようなインターフェイスを提供していなかったため、Aleksanderによって概説された方法と非常によく似た方法を使用しました(この回答には、 LVM固有のコマンドに追加)。
新しいvarファイルシステム用の論理ボリュームを作成し、(一時ディレクトリを使用して)マウントし、現在の/varファイルシステムから新しいファイルシステムにファイルをコピーします。
# Create a new 60GB logical volume in the `VolGroup00` group called `var`.
sudo lvcreate -L 60GB -n var VolGroup00
# Create an ext4 filesystem on this new `var` volume.
sudo mkfs.ext4 /dev/VolGroup00/var
# Mount this filesystem at a temporary mount-point.
sudo mkdir /var.new
sudo mount /dev/VolGroup00/var /var.new
実行中のプロセスはファイルを/var開いたままにして使用するため、ディレクトリツリーを新しいファイルシステムに単純に移動することはできません。ファイル属性と拡張属性(オプション)を保持しながら-r、現在の/varパーティションから新しいファイルシステムにファイルを再帰的に()コピーします-a, --archive。慎重なユーザーは、コピーする前に最初に現在のボリュームのLVMスナップショットを作成するかもしれませんが、この質問にはあまりにも詳細なトピックです。
sudo cp -ra /var/ /var.new/
また、ファイルがでコピーすることができrsync、そので、-a, --archiveタイムスタンプ、所有権、モード、などを保存するためのオプションとその-X, --xattrsようにAppArmorのとSELinuxで使用されるセキュリティラベルなどの拡張属性を保持するためのオプション:
sudo rsync -raX /var/ /var.new/
/var次の行をに追加して、新しいファイルシステムを新しいマウントポイントとして使用するように設定します/etc/fstab。これ0はパス番号(最後のフィールド)として使用されるためfsck、一定回数の再起動後にファイルシステムが自動的にチェックされないようにします()。
/dev/mapper/VolGroup00-var /var ext4 defaults 0 0
シングルユーザーモードに変更することは不可能なので、コンピューターを再起動してこの新しいボリュームをとして使用し/varます。
マシンが再起動すると、新しいファイルシステムがマウントされる/varため、一時的なマウントポイントを安全に削除できます。
sudo rmdir /var.new
古い/varファイルは引き続きルートパーティションのスペースを占有しますが、別のファイルシステムがマウントされ/varている間は簡単にアクセスできません(/varディレクトリをマウントポイントとして使用する新しいファイルシステムによって「マスク」されます)。一時的なマウントポイントを使用してルートファイルシステムをマウントし、元の/varディレクトリのコンテンツが代替パスで利用できるようにします。
sudo mkdir /old-root
sudo mount /dev/mapper/VolGroup00-root /old-root/
sudo rm -rf /old-root/var/*
sudo umount /old-root/
sudo rmdir /old-root/
lvcreateしてmkfs.ext4いるか、その理由を使用しているかを説明せずに。答えの主要なトピックではないので、新しいパーティションを作成するためのものであることがわかります。
/var、のLiveCDから起動をインストールしたシステム上のパーティションをマウントします/とrm -rf /var/*。