web-dev-qa-db-ja.com

CentOSで/ homeパーティションを再分割する

/ homeパーティションが大きすぎるCentOS 7システムを使用しています。サイズを小さくしたいのですが、XFSなのでほとんど不可能です。とにかくユーザーデータが少ないので(現在1人のユーザーしかいない)、パーティションデータ全体をtarでコピーし、コピーして、パーティションを削除し、より小さいサイズのext4などに再パーティションできますか?

もしそうなら、それを行うためのコマンドは何ですか?

4
user1118764

これはルートパーティションではないため(/)、データを失うことなくこれを実行できるはずです。通常のユーザーとしてログインすると、ホームディレクトリの下のさまざまなファイルが更新されます(バックグラウンドの電子メールの閲覧、サーフィンなどから)。 )。バックアップと復元の間に届いたメールを失いたくない場合)。

パーティションを再分割できるようにするための重要なことは、rootとして、または/homeの下にホームディレクトリがないユーザーとしてログインすることです。これは、使用せずに/homeをアンマウントして再パーティション化して再フォーマットできるようにするためです。

グラフィカルインターフェイスからrootとしてログインできない可能性があるか、少なくとも推奨されていません(X、CentOS 7を実行していないため確認できません)。ただし、これらの方法の経験が少ない場合は、グラフィカルツールの方が使いやすいでしょう。また、ログインしていて通常のデスクトップを使用している場合でも、問題が発生した場合にインターネットを使用して解決策を検索することができます。したがって、以下では、コマンドラインツールの使用への依存を最小限に抑えます。

既存のユーザーの/home/XYZディレクトリを、たとえば/home2/XYZ(ルートパーティションにあります)が、そのディレクトリの下にデータが多すぎるため、実行できません。したがって、次の手順をお勧めします(commandsの場合は、ターミナルを開く必要があります)。

  1. ホームディレクトリ/home2/xyzを使用して新しい一時ユーザーxyzを作成します
  2. このユーザーがSudoコマンドを発行できることを確認してください
  3. このユーザーとしてログアウトしてログインします(login:プロンプトではなくGUIを使用)
  4. /homeをアンマウントし、再マウントして、現在何も使用していないことを確認します。

    Sudo umount /home
    Sudo mount /home
    
  5. バックアップメディアが利用可能であることを確認します。これが/mnt/USB01以下であると想定します(通常、バックアップが適切かどうかを確認しますが、データが少ないことを示したため、そうであると想定します)。

  6. tarまたはcpioを使用して、/homeの下からバックアップします(これは、個々のファイルをコピーするよりも高速で、バックアップメディアがVFATの場合でも機能します)。

    Sudo  tar --create --verbose --file=/mnt/USB01/homebup.tar.bz2 -C /home .
    
  7. 作成したファイルを読み戻すことができることを確認します。

    Sudo tar tvf /mnt/USB01/homebup.tar.bz2
    
  8. マウントされているパーティション/homeを確認し、パーティションを書き留め(sdX2など)、umountします。

     mount | grep -f /home
     umount /home
    
  9. /home内の/etc/fstabのエントリをコメント化します。sdX2の代わりにUUIDを使用している可能性があります。次のようにして、sdXに属するUUIDを検索できます。

    ls -l /dev/disk/by-uuid/ | grep -F sdX2
    
  10. 前の手順で見つけたパーティションであるドライブsdXを再パーティション化するには、 `sdX2パーティションを削除して再作成します(小さい場合は、ここで追加のパーティションを作成するか、延期できます)。
  11. 新しく作成したパーティションの1つでファイルシステムを選択します(_sdX2を再度使用できますが、そのパーティションには新しいUUIDがあるため、調べてください)。
  12. /etc/fstabを編集し、次のようにして/homeをマウントできることを確認します。

    mount /home
    

    /etc/fstabを編集してこの方法でマウントすると、再起動時にパーティションがマウントされます)。

  13. (オプション)再起動して、/homeがマウントされていることを確認します
  14. /homeのデータを復元するには:

    Sudo tar xvf /mnt/USB01/homebup.tar.bz2 -C /home
    
  15. 通常どおり再起動してログイン
  16. 一時ユーザーアカウントを削除する
2
Anthon

あなたは clonezilla のようなものを見るかもしれません。小さなusbスティックとデータを(ローカルまたはネットワーク)にバックアップする場所にclonezillaを使用すると、説明した内容をほぼ正確に実行できます-コピーし、パーティションを削除し、異なるファイルシステムと小さいサイズの両方でパーティションを再作成します、それを復元します。パーティションイメージ(通常、最も簡単なオプション)を直接操作することは、大きいものから小さいものまでうまく機能しませんが、それでも機能させることができます。見てみな!

0
memilanuk