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


22

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


1
いつでもパーティションを再分割し、バックアップから/ homeを復元できます。バックアップはありますか?
キースB

回答:


13

あなたの質問は中立的なので、もしあなたが持っていない特定のことを言うなら、あなたの側で同等のものを使ってください。

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

何が必要

  • / homeディレクトリのサイズ
  • / homeディレクトリのサイズ以上の空きスペース
  • ディスクパーティションツール、私はgpartedをお勧めします

何をすべきか

  • / homeディレクトリのサイズを確認します(最後の結果はhome totalになります)。

    du -h /home

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

    df -h

  • gpartedをインストールする

    sudo apt-get install gparted

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

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

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

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

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

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

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

ls -l /dev/disk/by-uuid

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

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

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

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

保存して再起動し、新しいパーティションが/ homeにマウントされるかどうかをテストします。実行df -hすると、マウントされているすべてのパーティションが一覧表示され、/ homeがその一覧に表示されます。


ノート

  • よくわからない場合は、fstab慣れることを勧めします。時間をかけて各ステップについて考えてください。
  • 新しいディストリビューションをインストールし、同じログイン名を使用すると、古い/ homeファイルは自動的に所有者になります。
  • これは1つの投稿でカバーする簡単なトピックではありませんが、私はそれの大部分を得たと思います。:)

gpartedを使用しようとしていますが、/パーティションのサイズを変更できません。ルートパーティションのサイズを変更する方法に関する推奨事項はありますか?ライブCDからParted Magicを使用することもあります。
バニラ池

1
はい、ファイルシステムは実行中のOSによってマウントされるため、Live CDから実行する必要があります。Ubuntu Live CD、Knoppix、Parted Magicはすべて動作します。
反転

3

投稿のタイトルとあなたの質問が私を混乱させました。あなたを分離したいですかhomeパーティションに、またはあなただけの再インストールと同じを維持したいですかhome

必要なのは、OS全体を再インストールするhomeだけでよい場合はhome、インストールの影響を受けない場所にバックアップし、その後、アクセス許可を修正して(chown -R username:groupname所有権が正しいことを確認するために使用します) )。

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


混乱させて申し訳ありません。私の家をパーティションに分けたい
バニライケ

警告:「権限修正」のリンクは現在2つの異なるWebサイトに1つずつバウンスし、最後の1つは非常に危険なインストーラーダイアログレプリカにAdobe Flashをインストールするように促します。
user66001

「許可の修正」のリンクを解除し、アーカイブされていることがわかった元の記事のアドバイスをコピーしました。
mattdm

2

すでに別のパーティションがあると仮定し(そうでない場合は、おそらくgpartedなどを使用してパーティションを作成します)、単純に次の操作を実行します(ルートユーザーとして実行することが望ましい)。

 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など)がまだ指している)、それが機能すると仮定して、作成したバックアップコピーを削除し、コピーを宛先ファイルシステムに残します。


これは/home、新しいパーティションのマウントポイントとして実際には使用していません。シンボリックリンクです。
マシューフラシェン

事実上同じことです。/ home / usernameがシンボリックリンクであるからといって、それが機能しないという意味ではありません。あなたが他のパーティション上のすべてのユーザーアカウントを置きたい場合は、単に行う/家庭の代わりに/ホーム/ユーザ名に「CP -R」行に変更
マット・シモンズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.