/ varを新しいパーティションに移動しようとしましたが、データが消えました。

/ varを新しいパーティションに移動しようとしましたが、データが消えました。

/ varフォルダを新しいパーティションに移動しようとしました。私はDebian 10.7を使っていて8GBのプロセッサを持っていて、スペースを節約したいと思います。私はいくつかの方法を試しましたが、一部のデータは常に消えているようです。私が試したことは次のとおりです。

  1. 新しいパーティション/dev/sda7の作成
  2. /etc/fstab の /mnt/newvar に /dev/sda7 をマウントします。
  3. シングルユーザーモードで起動
  4. マウント/-rw -o 再マウント
  5. cp -arpPv /var/* /mnt/newvar(/mnt/newvar フォルダーを確認したとき /var フォルダーとサイズが同じだったのでコピーが正常に機能し、すべてのフォルダーがそこにあるようでした)
  6. mv /var /var.old
  7. mkdir /var
  8. /etc/fstabを編集し、/varに/dev/sda7をマウントします。
  9. システムを再起動してください

システムの起動時に/varにある複数のフォルダは表示されませんが、リカバリUSBから起動すると、そこから/varのすべてのフォルダが表示されます。 /mnt/newvarフォルダを削除できますか?そして/var.oldフォルダ?これにより、表示できないフォルダ/ファイルが永久に失われるようです。システムの残りの部分を読み取り専用にしてスペースを節約するために、このフォルダを新しいパーティションに移動したいと思います。以前のフォルダを削除できない場合は、他のパーティションを使用してもあまり役に立ちません。一部のフォルダが表示されない理由と、永続的なデータ損失を防ぐ方法を教えてくれる人はいますか?

ベストアンサー1

でシンボリックリンクを確認できますか/var?場合によっては、これらのリンクの宛先が特定のディレクトリパスではなく相対パスであるためです。

たとえば、/var/run/を指す場合、/run/これは/runディレクトリですが、/リンク先../run/はリンクの親ディレクトリにあるディレクトリで、run親ディレクトリはそのまま残りますroot

/var/ただし、これにコピーすると、/mnt/newvar/システムがリンクが指すディレクトリを見つけたときに名前付きの親ディレクトリを見つけることになりますrunnewvar//mnt../run/

つまり、コピーに関連するすべてが/var奇妙な動作を引き起こす可能性があるため、私の解決策を提案します。/varインストールするときは、目的のパーティションに直接インストールしてください。その結果、/etc/fstab次のようになります。

UUID=xxx /var            ext4    defaults        0       2

xxxは目的のパーティションのUUIDであり、コマンドを使用して検索できますblkid

おすすめ記事