別のディストリビューションをインストールしたいのですが、ホームディレクトリは維持したいと思います。ホームディレクトリを別のパーティションに移動する方法はありますか?データをバックアップする外付けハードドライブがありません。提案されているようにパーティションを設定したいと思います。ここ。
答え1
あなたの質問は配布中立であるため、あなたが持っていない具体的な内容に言及している場合は、あなたの側で適切なものを使用してください。
外部バックアップを購入することをお勧めします。私を信じてください。データ損失は最悪です。引き続きリスクを取る- しかし、生きていなければこうしてもいいです。
何が必要ですか
- /homeディレクトリのサイズ
- 空き容量が/ homeディレクトリサイズを超えています。
- ディスクパーティショニングツール、gpartedをお勧めします
何をすべきか
/homeディレクトリのサイズを確認してください(最終結果はホームディレクトリの合計サイズです)。
du -h /home
新しいパーティションに十分な空き容量があることを確認してください。
df -h
gpartedのインストール
sudo apt-get install gparted
/homeディレクトリサイズよりも多くの空き容量が必要です。空き領域がないと新しいパーティションを作成できず、とにかくデータを外部パーティションに移動する必要があります。
スペースがある場合は、gpartedを使用して既存のパーティションを縮小し、解放された未割り当てスペースを使用して新しいパーティションを作成します。新しいパーティションが準備されたら、/dev/sdax(表示用)であることを確認し、sudo fdisk -l
/homeファイルをここにコピーします。
新しいリリースでパーティションを使用する
別のディストリビューションをインストールすると言いましたが、現在のディストリビューションを上書きする場合は、インストール中にパーティションを設定するように求められます。この時点で、パーティションを/ homeとして指定し、次を選択できます。いいえフォーマットすると問題が解決します。次のセクションをスキップできます。
ただし、現在のディストリビューションで新しい/homeパーティションを使用できるようにするには、次のセクションに従ってください。
既存のディストリビューションへのパーティションのマウント
このパーティションを新しい/homeとして使用するようにオペレーティングシステムに指示する必要があります。 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ファイルは自動的に所有されます。
- この内容は、一文で扱えるマイナーなテーマではありませんが、ほとんど扱っているようです。 :)
答え2
投稿のタイトルと質問が少し混乱しています。home
パーティションに分割しますか、または再インストールして変更せずにそのままにしますかhome
?
オペレーティングシステムをそのままにして、オペレーティングシステム全体を再インストールしたい場合は、インストールに影響されない場所にオペレーティングシステムをバックアップし、後で復元して権限のhome
回復(Makeの場合)を実行します。所有権が正しいことを確認してください))。home
chown -R username:groupname
いくつかのベストプラクティスに従ってコードを分離するには、home
こちらをご覧ください。あなたに必要なガイド。 Ubuntu用に書かれていますが、他のディストリビューションでも同じだとします。
答え3
すでに別々のパーティションがあるとします(そうでない場合は、次のものを使用できます)。割れたまたは同様の操作を実行するには、次のようにします(可能なルートとして):
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)はまだディレクトリを指します。その後、動作すると仮定し、作成したバックアップコピーを削除し、ターゲットファイルシステムに配置したコピーを残します。