Migawka Ubuntu btrfs nie może wykonać mv w / home


2

Chcę móc zrobić migawkę i przywrócić ją w czasie rzeczywistym.

Działa to w Fedorze i wykonuje „wycofywanie” na żywo:

btrfs subvolume snapshot /home /home/snapshot
mv /home/snapshot /home

Ale w Ubuntu mówi tylko, że nie może przenieść się w to samo miejsce.
Zgodzi się przenieść folder migawki w inne miejsce /home, ale go nie zastąpi.

Czy istnieje sposób na obejście problemu?


Nie obwiniałbym Ubuntu za odmowę wykonania tego polecenia mv. Być może powinieneś umieścić migawkę nie w tym samym folderze, który próbujesz zastąpić.
harrymc

Wiem, że to wygląda dziwnie, ale działało na Fedorze.
Dan

Ubuntu może robić mv w bardziej inteligentny / zoptymalizowany sposób niż Fedora.
harrymc

Proszę edytować swoje pytanie to wyjście btrfs subvolume list | grep /home, mount | grep /home, df | grep /homei uname -a, z obu systemów (wyraźnie oznaczone, więc możemy powiedzieć, który z nich jest który). Pachnie mi to bardzo albo różnicą wersji jądra (możliwości), albo różnicą w hierarchii systemu plików. ( btrfsPolecenie może wymagać dostosowania, ale pomysł polega na uzyskaniu listy pomysłów btrfs na temat tego, jak wygląda twój / home i wszystko poniżej).
CVn

Dlaczego nie podzielisz tego na 2 kroki: (1) cp /home/snapshot /home, (2) rm -r -f /home/snapshot?
harrymc

Odpowiedzi:


1

Najwyraźniej Ubuntu może robić mv w inny sposób niż Fedora, dlatego odrzuca operację, która wymaga usunięcia źródła przeniesienia. Najprawdopodobniej jest to zbyt silne sprawdzenie poprawności w programie mv, ponieważ przenoszenie plik po pliku powinno zakończyć się powodzeniem zarówno w systemie Ubuntu, jak iw Fedorze.

Rozwiązaniem jest wykonanie operacji w dwóch krokach:

  1. Skopiuj / zsynchronizuj folder /home/snapshotdo/home
  2. Usuń folder /home/snapshot(jeśli jest to naprawdę wymagane).
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.