cp mówi, że usuwa pliki, ale nie powinno tak być

10

Szybkie tworzenie kopii zapasowej:

root@guilmon:/mnt/backup/guilmon/home# cp -uvfrx --preserve=all /home/rena/ .

Wynik jest zaskakujący - mówi się, że niektóre pliki zostały usunięte!

removed ‘./rena/dev/lua/conkybitcoin/conkybitcoin.lua’

Usuwane pliki wydają się być losowe i nie uległy zmianie. Dlaczego mówi, że je usuwa? Co dziwniejsze, nie wydaje się, aby faktycznie usunął ten plik (ani źródło). Co się dzieje?

Rena
źródło

Odpowiedzi:

15

cpz opcjami --forcei --verbose( -foraz -vw wierszu poleceń) wyświetla komunikat „usunięty” za każdym razem, gdy usuwa plik docelowy przed skopiowaniem. ( --forcenakazuje cpusunięcie pliku docelowego, jeśli nie można go otworzyć, przed ponowną próbą kopiowania).

W twoim przykładzie oznacza to, że ./rena/dev/lua/conkybitcoin/conkybitcoin.luanie można go otworzyć do pisania, więc cpusuń go i skopiuj ponownie /home/rena.

Stephen Kitt
źródło
Widzę. Zatem pytanie brzmi: dlaczego nie można go otworzyć ...
Rena
Czy to jest tylko do odczytu?
Stephen Kitt
1
Prawdziwe pytanie brzmi: czy to był (wcześniej istniejący plik w katalogu docelowym) tylko do odczytu przed uruchomieniem cppolecenia?
G-Man mówi „Przywróć Monikę”
Oba są w trybie 0644, a ja uruchomiłem cp jako root, więc powinno tam być dobrze. Istniejące miejsce docelowe również powinno być w porządku, ponieważ użyłem tego samego polecenia, aby skopiować wszystko /homena dysk kopii zapasowej wczoraj po utworzeniu na nim świeżego, pustego systemu plików. btrfs scrubnie zgłasza błędów na żadnym dysku.
Rena