web-dev-qa-db-ja.com

ホームディレクトリを別のパーティションに移動するにはどうすればよいですか?

別のディストリビューションをインストールしたいのですが、ホームディレクトリを保持します。ホームディレクトリを別のパーティションに移動する方法はありますか?データのバックアップに使用できる外付けハードドライブがありません。提案されたようにパーティションをセットアップしたいと思います here

23
vanillaike

あなたの質問は逆ニュートラルなので、私があなたが持っていない具体的なことを言ったら、あなたの側で同等のものを使ってください。

バックアップ用に外部を購入することをお勧めします。信頼してください。データを失うことは最悪です。 あなた自身のリスクで続行してください-しかし、あなたがそれを取得できない場合、ここにあなたができることがあるのです。

必要なもの

  • / homeディレクトリのサイズ
  • / homeディレクトリのサイズを超える空き容量
  • ディスクパーティショニングツール、私はgpartedをお勧めします

何をすべきか

  • / homeディレクトリのサイズを確認します(最後の結果はホームの合計になります):

    du -h /home

  • 新しいパーティションに十分な空き容量があるかどうかを確認します。

    df -h

  • Gpartedをインストールする

    Sudo apt-get install gparted

/ homeディレクトリのサイズよりも多くの空き領域が必要です。空き容量がない場合は、その新しいパーティションを作成できず、とにかくデータを外部に移動する必要があります。

スペースがある場合は、gpartedを使用して既存のパーティションを縮小し、解放された未割り当てスペースで新しいパーティションを作成します。新しいパーティションの準備ができたら、それが/ dev/sdaxであることを確認し(これを表示するにはSudo fdisk -lを使用)、/ homeファイルをそのパーティションにコピーします。

新しいディストリビューションでパーティションを使用する

別のディストリビューションのインストールについて説明しましたが、現在のディストリビューションを上書きする場合は、インストール中にパーティションをセットアップするように求められます。この時点で、このパーティションを/ homeとして指定し、notを選択してフォーマットします。すべて順調です。この次のセクションはスキップできます。

ただし、現在のディストリビューションで新しい/ homeパーティションを使用する場合は、次のセクションに従ってください。

既存のディストリビューションにパーティションをマウントします

パーティションを新しい/ homeとして使用するようにOSに指示する必要があります。これはfstabで行いますが、最初にこの新しいパーティションのUUIDを見つけます。

ls -l /dev/disk/by-uuid

新しいパーティションの/ sdaxを相互参照し、そのUUIDをコピーすると、3d866059-4b4c-4c71-a69c-213f0e4fbf32のようになります。

バックアップfstab:Sudo cp /etc/fstab /etc/fstab.bak fstabを編集:sudoedit /etc/fstab

アイデアは、/ homeにパーティションをマウントする新しい行を追加することです。ここに投稿したUUIDではなく、自分のUUIDを使用してください;)

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
UUID=3d866059.. /home           auto    default         0       1

保存して再起動し、新しいパーティションが/ homeにマウントされるかどうかをテストします。 df -hを実行して、マウントされているすべてのパーティションをリストします。これで、/ homeがそのリストに含まれているはずです。


注意事項

  • よく知らない場合は fstabに慣れる をお勧めします。時間をかけて、各ステップについて考えてください。
  • 新しいディストリビューションをインストールし、同じログイン名を使用すると、古い/ homeファイルは自動的に所有権の対象になります。
  • これは1回の投稿で取り上げる簡単なトピックではありませんが、ほとんどは理解できたと思います。 :)
14
invert

投稿のタイトルとあなたの質問が私を混乱させました。 homeをパーティションに分割しますか、それとも再インストールして同じhomeを保持しますか?

homeを保持したままOS全体を再インストールしたい場合は、homeをインストールの影響を受けない場所にバックアップし、その後一緒に復元できます。権限の修正あり(chown -R username:groupnameで所有権が正しいことを確認します)。

いくつかのベストプラクティスに従い、homeを分離する場合は、ここに 必要なガイド を示します。 Ubuntu用に書かれていますが、他のディストリビューションでも同じことが言えると思います。

3
phunehehe

すでに別のパーティションがあると仮定し(そうでない場合は、おそらく gparted または類似のものを使用してパーティションを作成することを望みます)、次の手順を実行します(できればrootユーザーとして)。

 cp -R /home/whatever /path/to/destination
 mv /home/whatever /home/whatever.orig
 ln -s /path/to/destionation /home/whatever 

そして、すべてが正常に機能すると仮定します(ユーザーとしてログインしてテストします)

 rm -rf /home/whatever.orig 

これにより、ディレクトリ全体(およびすべての内容)が宛先のマウントポイントにコピーされ、元のホームディレクトリの名前が変更されます(プロセスで何かが失敗した場合は、回復できます)。新しい場所から元のホームへのシンボリックリンクを作成します。ディレクトリー(すべて(/ etc/passwdなど)がまだ指している)の場合、正常に機能すると想定して、作成したバックアップコピーを削除し、コピー先のファイルシステムに残します。

2
Matt Simmons