このガイドを読んだ後、いくつかのフォルダー(/var
や/home
など)を別のパーティションに移動しようとしています。
this guideに従って、1つのフォルダを正常に移動できました。
ただし、複数のフォルダーでは機能しないようで、適切なフォルダーがなければ、すべてのフォルダーがパーティションにダンプされます。
/var
、/home
、および/tmp
を別のパーティションにマウントしたい。誰かがこれについて私を案内できますか?
1.まず、各マウントポイント(/ var、/ home、/ tmp)のパーティションを作成するために未割り当てのスペースが必要です。これにはGpartedを使用します。
2.次に、それらのパーティション用のファイルシステムを作成する必要があります(Gpartedでも実行できます)または次を使用します。
mkfs.ext4 /dev/sdaX
たとえば、/ dev/sdaXデバイスに新しいext4ファイルシステムを作成するには(/ dev/sdaXを独自のデバイスに置き換えます)
3./mntの下に新しいファイルシステムをマウントします
mkdir /mnt/var
mount /dev/sdaX /mnt/var
4.プロセス中にディレクトリでrwアクティビティが発生しないように、シングルユーザーモードに移動します。
init 1
5.ルートパスワードを入力します。
6.データをvarのみにバックアップします(/ varディレクトリ自体はバックアップしません)
cd /var
cp -ax * /mnt/var
7.データが正常に転送されたら、/ varディレクトリの名前を変更します。
cd /
mv var var.old
8.新しいvarディレクトリを作成します
mkdir var
9.新しいパーティションをアンマウントします。
umount /dev/sdaX
10./varとして再マウントします
mount /dev/sdaX /var
11./etc/fstabファイルを編集して、新しいパーティションを含めます。/varはマウントポイントで、ブート時に自動的にマウントされるようにします。
/dev/sdaX /var ext4 defaults 0 0
12./homeおよび/ tmpについて、手順1〜11を繰り返します。
13.最後にマルチタスクモードに戻ります。
init 5
それらすべてを同じパーティションで使用する場合は、LVM
または3つの単純なバインドマウントを使用できます。
バインドベースのソリューションを作成するには
/mnt/data
としてマウントします移動するすべてのフォルダを移動します。 cp
とmv dir dir.old
を使用する方が安全かもしれませんが、インストール後にこれを行ったので、私には関係ありませんでした。
mv /home /mnt/data/
mv /var /mnt/data/
fstabに適切なバインドマウントエントリを作成します。たとえば、
UUID=01234567-89abc-def0-1234-567890abcde /mnt/data ext4 noatime,nodiratime,relatime 0 0
# Binds
/mnt/data/opt /opt none bind 0 0
/mnt/data/home /home none bind 0 0
/mnt/data/usr /usr none bind 0 0
リブート
個人的には@Fabianのbind-mountソリューションを使用するか、シンボリックリンクを使用します。
新しいパーティションの/etc/fstab
エントリを作成します(blkid
を使用して新しいパーティションの正しいUUIDを取得し、mkdir /mnt/data
を忘れないでください):
UUID=01234567-89abc-def0-1234-567890abcde /mnt/data ext4 defaults 0 0
mount -a
または同様のものを使用して、新しいパーティションをマウントします
元のフォルダーを新しいパーティションに移動します。
mv /var /mnt/data/
mv /home /mnt/data/
# ... (you get the point)
シンボリックリンクを作成する
ln -s /mnt/data/var /var
ln -s /mnt/data/home /home
# ...
Bind-mountメソッドがおそらくベストプラクティスソリューションですが、df
およびmount
パーティションリストが不必要に長くなることがなくなるため、私はこの方法をお勧めします。
Cioby23の手順に加えて、私は次のことも行わなければなりませんでした。
restorecon -R /var
sshdを起動するため。