LinuxデスクトップまたはサーバーのいずれかでHOMEディレクトリを再配置する必要がある場合がいくつかあります。これは、スペースまたはセキュリティの問題が原因である可能性があります。いずれにせよ、すべてのユーザーファイルとディレクトリを含むディレクトリをあるドライブから別のドライブに移行するのはかなり困難な作業のように思えるかもしれません。少し時間のかかるプロセスですが、それほど難しいことではありません。
オープンソース:必読の記事
それでは、それがどのように行われるかを見てみましょう。
必要なもの
これを機能させるには、少なくとも2つのドライブがインストールされたLinuxの実行中のインスタンスが必要です。 Ubuntu Server 20.04でデモンストレーションを行いますが、これは使用しているディストリビューションに関係なく機能するはずです。
宛先ドライブを見つける方法
最初に行う必要があるのは、HOMEディレクトリを格納するドライブを見つけることです。ドライブの正確な名前を知っていることを確認する必要があります。これを行うには、サーバー(またはデスクトップ)にログインして、次のコマンドを発行します。
lsblk
ドライブ名だけでなく、ターゲットドライブのマウントポイントも表示されます(図A 。
図A

私のドライブはすでにフォーマットされています。これが新しいフォーマットされていないドライブの場合は、最初に次のパーティションを作成する必要があります。
sudo fdisk /dev/sdb
新しいパーティションの場合はnと入力し、次に pと入力します。 プライマリパーティションを作成します。続いて、1を入力してパーティション番号を指定します。 Enterキーを押して、次の2つの質問(最初のセクター/最後のセクター)のデフォルトを受け入れます。次のコマンドで/dev/sdb1が表示されます。
sudo fdisk /dev/sdb
pと入力して、パーティションの情報を出力します。
次に、ドライブをext4としてパーティション分割する必要があります:
sudo mkfs.ext4 /dev/sdb1
次のコマンドを使用して、新しいパーティションのマウントポイントとして機能する新しいディレクトリを作成しましょう。
sudo mkdir -p /data/home
ドライブをマウントします:
sudo mount /dev/sdb1 /data/home
/homeから新しいドライブにファイルをコピーする方法
/ homeから新しいドライブにすべてをコピーします:
sudo cp -aR /home/* /data/home
/ homeの名前を次のように変更します:
sudo mv /home /home.bak
次のコマンドで新しいホームディレクトリを作成します:
sudo mkdir /home
/ dev / sdb1を次のコマンドでアンマウントします:
sudo umount /dev/sdb1
/ dev / sdb1を再マウントします。今回は、次のコマンドを使用して、新しく作成した/homeディレクトリにのみ再マウントします。
sudo mount /dev/sdb1 /home
新しいパーティションを永続的にマウントする方法
ここで、マシンが再起動された場合でも、新しいパーティションがマウントされていることを確認する必要があります。そのために、/ etc/fstabにエントリを作成します。その前に、次のコマンドを使用してパーティションのUUIDを見つける必要があります。
sudo blkid /dev/sdb1
出力にUUID=” 13557fad-d203-4448-991b-c8011907dc1d”のようなものが表示されるはずです(図B 。
図B

次のコマンドで編集するためにfstabを開きます:
sudo nano /etc/fstab
ファイルの下部(図C )、次のようなものを追加します:
UUID=ID /home /ext4 defaults 0 2
ここで、IDは新しいパーティションのUUIDです。
図C

ファイルを保存して閉じます。次のコマンドでパーティションを再マウントします:
sudo mount -a
これで、/homeディレクトリを独自のドライブに正常に移動できました。ユーザーがLinuxOSサーバードライブのすべてのスペースを消費することを心配する必要はもうありません。
ワークフローに必要なマシンで試す前に、本番以外のマシンでこれを練習して、プロセスが停止していることを確認してください。
TechRepublicに登録する YouTubeでテクノロジーを機能させる方法 ジャックウォレンからのビジネスプロ向けの最新の技術アドバイス。
ソースリンク