Jak mogę usunąć pliki Time Machine za pomocą wiersza polecenia

68

Chcę usunąć niektóre pliki / katalogi z mojej partycji Time Machine przy użyciu rm , ale nie mogę tego zrobić. Jestem prawie pewien, że problem związany jest z jakimś rozszerzonym atrybutem kontroli dostępu do plików w kopii zapasowej, ale nie wiem, jak je zastąpić / wyłączyć, aby rm działał. Przykładem błędu, który otrzymuję jest:

% sudo rm -rf Backups.backupdb/MacBook/Latest/MacBook/somedir
rm: Backups.backupdb/MacBook/Latest/MacBook/somedir: Directory not empty
rm: Backups.backupdb/MacBook/Latest/MacBook/somedir/somefile: Operation not permitted

Istnieje wiele powodów, dla których nie chcę używać do tego interfejsu graficznego Time Machine ani Findera. Jeśli to możliwe, chciałbym móc zachować rozszerzoną ochronę dla wszystkich innych plików (nie chcę ich wyłączać globalnie, chyba że będę mógł je ponownie włączyć po zakończeniu pracy).

Tim
źródło
Zbliżyłem się. Najpierw musiałem wyłączyć listy ACL na dysku Time Machine. Wcześniej używano do tego fsaclctl, ale Snow Leopard tego nie zawiera. Wziąłem kopię pliku binarnego ze starszej wersji OSX i uruchomiłem to:% sudo fsaclctl -p / Volumes / tmvol -d Następnie spróbowałem użyć „sudo rm -rf” do usunięcia katalogu, ale nadal miałem problemy z niektóre pliki (choć inne poszły dobrze). W szczególności nie powiodło się na miękkich linkach. Bardzo dziwny. Na plus, linki nie zajmują prawie żadnej przestrzeni. Z drugiej strony nadal mam katalogi, które trzymają się w pobliżu.
Tim
Wydaje się, że zaakceptowana odpowiedź jest dość niebezpieczna podczas usuwania migawek lub folderów w migawkach, takich jak Twoja rm -r Backups.backupdb/MacBook/Latest/MacBook/somedir; jeśli się zgadzasz, to proszę przyjąć odpowiedź Arne?
Arjan

Odpowiedzi:

115

Aby obejść błędy „niedozwolona operacja”, użyj programu „obejście” Time Machine Safety Net :

sudo /System/Library/Extensions/TMSafetyNet.kext/Contents/MacOS/bypass rm -rfv /Volumes/[disk]/Backups.backupdb/[path]

W 10.8 Mountain Lion obwodnica została przeniesiona do „Pomocników”:

/System/Library/Extensions/TMSafetyNet.kext/Helpers/bypass

W 10.10 Yosemite, obwodnica przeniesiona tutaj:

/System/Library/Extensions/TMSafetyNet.kext/Contents/Helpers/bypass

Uważaj, gdy używasz tego do usuwania określonych migawek: ponieważ Time Machine używa twardych linków, używanie rm -rw folderach może również wpływać na starsze i nowsze migawki tego samego komputera . (Zobacz inne odpowiedzi dotyczące tmutil deletebezpiecznego usuwania określonej migawki.) Używanie rmdo usuwania wszystkich migawek dla pojedynczego komputera jest jednak w porządku. I tak jest używany rmdo usuwania określonego pliku, który usunie tylko ten plik połączony z określonej migawki (migawek), zakładając, że plik nie znajduje się w katalogu połączonym, ponieważ wtedy faktycznie usuniesz plik ze wszystkich te twarde linki do katalogów.

Eric W.
źródło
+1 !! To mi pomogło. Nie wypróbowałem nawet innych, ponieważ wyglądało to na „właściwą drogę” i rzeczywiście pozwoliło mi rozwiązać problem bez dalszych pytań. Dzięki!
tripleee
Utworzyłem konto, aby dać Ci +1. Szukałem lepszego rozwiązania tego problemu i to było to. Doprowadzało mnie to do szału. Dziękuję Ci.
CWSpear
3
Niesamowite. To działa. (chociaż pomijam opcję „v”, aby uniknąć wyświetlenia wpisu dla każdego z kilkuset tysięcy plików), tj .:sudo ...bypass rm -rf /Volumes/...
Brent Faust
6
Jest to niezwykle niebezpieczna metoda zarządzania plikami Time Machine; Time Machine używa katalogów na stałe, aby odwoływać się do folderów, które nie zmieniły się od czasu poprzedniej kopii zapasowej, ale rmproces ich nie rozumie i będzie podążał za tymi linkami i usuwał z nich pliki. Oznacza to, że możesz potencjalnie usunąć pliki, które również znajdują się w starszych i nowszych kopiach zapasowych niż ten, który wybrałeś, potencjalnie powodując nieodwracalne uszkodzenie kopii zapasowych. Zalecenia Arne Stenström tmutilsą zdecydowanie najlepszym rozwiązaniem.
Haravikk,
1
Aby nieco rozszerzyć komentarz Haravikk: używanie rmdo plików z linkami jest w porządku, ale w przypadku folderów z linkami nie jest. Odpowiedź Kenta wymienia ten sam problem. A w Co to jest polecenie Uniksa, aby utworzyć dowiązanie twarde do katalogu w OS X? w 2010 roku ktoś napisał dla 10.5: „Usuwanie to inna historia: jeśli zajdziesz do tego zwykłym sposobem usuwania katalogów, usuniesz zawartość. Więc musisz„ odłączyć ”katalog: unlink new_hard_link”. Dlatego używaj tego tylko do usuwania wszystkich kopii zapasowych (migawek) dla danego komputera.
Arjan
26

BLUF (dolna linia z góry):

sudo tmutil delete snapshot-dir


Korzystanie usunąć wszystkie listy ACL od hierarchii folderów nie działa na plikach i folderach w programie Time Machine Backups.backupdb , ze względu na TM siatka bezpieczeństwa mechanizmu i kryteria opisane w tym 318 Tech Journal postu (ale być może nie dokładnie tak, jak to opisano) .     (Przed zapoznaniem się z tym, patrząc na siatkę bezpieczeństwa wspomnianą w odpowiedzi Erica W. (która działa), testowałem tylko folder sklonowany z podfolderu kopii zapasowej TM i tam chmod działał. Ale próba chmod na folderze w rzeczywistym Kopia zapasowa TM wyświetla błąd „Operacja niedozwolona”).sudo chmod -R -N folder

Możliwe zastosowanie: w
    systemie Mac OS 10.7+ istnieje polecenie tmutil (którego nie próbowałem, ponieważ wciąż korzystam z systemu Snow Leopard). Ma czasownik usuwający , który zgodnie z opisem „może usuwać migawki z kopii zapasowych, które nie zostały utworzone przez bieżącą maszynę lub nie są przez nią zgłaszane” (gdzie „migawka” jest datowanym folderem reprezentującym pojedynczą przyrostową kopię zapasową). To nie jest dla mnie jasne, czy oznacza to, że nie można usunąć migawek, które dokonywane przez lub zgłaszanych przez obecnego urządzenia. (?)

Arne Stenström
źródło
2
Rzeczywiście, tmutil jest przydatny i umożliwia usuwanie kopii zapasowych ( tmutil delete /Volumes/DISK/Backups.backupdb/HOST/DATE_FOLDER). Nadal jednak potrzebujesz obejścia Erica, aby usunąć sam folder „Backups.backupdb”.
mivk
Mój OSX 10.8.3 (Mountain Lion) nie wymagał obejścia. Właśnie sudo tmutil delete <snapshot-dir>. Popularna bypass rmodpowiedź jest nieaktualna.
John Mee,
Czy można użyć tmutildo usunięcia tylko niektórych plików z migawki? Nie działało to dla mnie ( Invalid deletion target (error 22)), więc bypasszamiast tego poszedłem .
Robert Tupelo-Schneck,
+1 dla BLUF. Czy dostałeś to od (całkowicie niesamowitych) Narzędzi Menedżera? :)
Olie,
Ponadto: wciąż znajduję odniesienia do Backups.backupdbkatalogu, którego nie widzę na dysku z kopią zapasową (Time Capsule). Po prostu mam rzeczy w formie MachineName.sparsebundle. Czy format się zmienił? Próbuję użyć polecenia usuwania kopii zapasowej TM, ale utknęło na pasku postępu 99,99% na kilka godzin.
Olie,
12

Ostrzeżenie o użyciu bypasspolecenia do usunięcia starej kopii zapasowej: jeśli usunięta kopia zapasowa zawiera foldery, które są dokładnie takie same we wcześniejszych lub późniejszych kopiach zapasowych, wówczas pliki mogą zostać usunięte również z wcześniejszych lub późniejszych kopii zapasowych !

Time Machine nie tylko używa twardych linków do niezmienionych plików, ale także używa twardych linków do folderów, w których żadne pliki nie zostały dodane, zmienione lub w ogóle usunięte. Powoduje to coś takiego:

/2014-11-06/folder/file1
                  /file2
                  /file3
/2014-11-13/folder/file1 = hard link to file /2014-11-06/folder/file1
                  /file2 (changed; new inode)
                  /file3 = hard link to file /2014-11-06/folder/file3
/2014-11-20/folder/ = hard link to folder /2014-11-13/folder/
/2014-11-27/folder/ = hard link to folder /2014-11-20/folder/

W związku z powyższym usunięcie dowolnego pliku /2014-11-06/folder/jest prawidłowe i wpływa tylko na kopię zapasową dla tej daty. Liczba odwołań do twardego łącza jest zmniejszona, więc „i- węzeł ” dla file2zostanie usunięty, ale dla file1i- węzłów liczba odniesień i file3nadal będzie wynosić 1 z powodu późniejszych kopii zapasowych. Dlatego też rm -R /2014-11-06jest w porządku.

Jednak usunięcie dowolnego pliku z albo /2014-11-13/folder/, /2014-11-20/folder/albo /2014-11-27/folder/skutecznie usunąć go ze wszystkich tych 3 folderach.

Problem polega na tym, rm -Rże nie dba o foldery na stałe. Po prostu rekursuje w dowolnym znalezionym folderze, odważnie usuwa wszystkie swoje pliki, a następnie usuwa pusty folder.

Tak więc: usuwając starą kopię zapasową, nie należy ponownie zapisywać jej w folderze połączonym na stałe i usuwać jej zawartość. Zamiast tego należy usunąć tylko twardy link do samego folderu . Więc zamiast rm -Rużywać, tmutil deletejak wyjaśniono w odpowiedzi Arne .

Tak na marginesie, wydaje się, że OS X unlinkkomenda nie może być stosowany na foldery : „tylko jeden argument, który nie może być katalogiem, mogą być dostarczane” . Interfejs API OS X może usuwać foldery na stałe , podobnie jak GNU Coreutils , na przykład instalowane przy użyciu Homebrew .

Wreszcie, aby udowodnić wszystkie powyższe, przypadek testowy (OSX 10.6.8):

sh-3.2# ls -lFa 2014-11*/Users/USERNAME/Library/Safari/TopSites.plist 
-rw-r--r--@ 2 USERNAME  staff  1551 10 30  2014 2014-11-06-012454/Users/USERNAME/Library/Safari/TopSites.plist
-rw-r--r--@ 2 USERNAME  staff  1551 10 30  2014 2014-11-13-024438/Users/USERNAME/Library/Safari/TopSites.plist
-rw-r--r--@ 2 USERNAME  staff  1551 10 30  2014 2014-11-20-014044/Users/USERNAME/Library/Safari/TopSites.plist
-rw-r--r--@ 2 USERNAME  staff  1551 10 30  2014 2014-11-27-025033/Users/USERNAME/Library/Safari/TopSites.plist

Zauważ, że liczba linków dla każdego wystąpienia wynosi 2 (druga kolumna). Usuńmy pierwsze wystąpienie:

sh-3.2# /System/Library/Extensions/TMSafetyNet.kext/Contents/MacOS/bypass unlink 2014-11-06-012454/Users/USERNAME/Library/Safari/TopSites.plist 
sh-3.2# ls -lFa 2014-11*/Users/USERNAME/Library/Safari/TopSites.plist 
-rw-r--r--@ 1 USERNAME  staff  1551 10 30  2014 2014-11-13-024438/Users/USERNAME/Library/Safari/TopSites.plist
-rw-r--r--@ 1 USERNAME  staff  1551 10 30  2014 2014-11-20-014044/Users/USERNAME/Library/Safari/TopSites.plist
-rw-r--r--@ 1 USERNAME  staff  1551 10 30  2014 2014-11-27-025033/Users/USERNAME/Library/Safari/TopSites.plist

Po odłączeniu jednego z plików liczba łączy spadła do 1 dla każdego wystąpienia, chociaż plik jest nadal wyświetlany 3 razy. Jeszcze żadnych problemów. Usuń pierwsze wystąpienie ponownie:

sh-3.2# /System/Library/Extensions/TMSafetyNet.kext/Contents/MacOS/bypass unlink 2014-11-13-024438/Users/USERNAME/Library/Safari/TopSites.plist 
sh-3.2# ls -lFa 2014-11*/Users/USERNAME/Library/Safari/TopSites.plist 
ls: 2014-11*/Users/USERNAME/Library/Safari/TopSites.plist: No such file or directory

Teraz wszystko zniknęło. Najwyraźniej plik TopSites.plistzostał ostatnio zmieniony 2014-11-06 i połączony na twardo w dniu 13.11.2014, ponieważ niektóre inne pliki zostały dodane, zmienione lub usunięte w Safarifolderze. Następnie zawartość Safarifolderu nie zmieniła się w dwóch kolejnych kopiach zapasowych, więc w dniach 2014-11-20 i 2014-11-27 Safarifolder został na stałe połączony z poprzednią kopią zapasową.

Rzeczywiście, 4 foldery używają tylko 2 i-węzłów (pierwsza kolumna):

sh-3.2# ls -lFaid 2014-11*/Users/USERNAME/Library/Safari/
648651968 drwxr-xr-x@ 86 USERNAME  staff  2924  9 10 16:06 2014-11-06-012454/Users/USERNAME/Library/Safari//
650804457 drwxr-xr-x@ 86 USERNAME  staff  2924  9 10 16:07 2014-11-13-024438/Users/USERNAME/Library/Safari//
650804457 drwxr-xr-x@ 86 USERNAME  staff  2924  9 10 16:07 2014-11-20-014044/Users/USERNAME/Library/Safari//
650804457 drwxr-xr-x@ 86 USERNAME  staff  2924  9 10 16:07 2014-11-27-025033/Users/USERNAME/Library/Safari//
Kent
źródło
1
Trochę tła: w przypadku plików twarde linki działają zgodnie z oczekiwaniami; usuwany jest tylko twardy link, który chcesz usunąć. Jak: touch file1; ln file1 file2; ln file2 file3; ls -li; rm file2; ls -liusunie tylko jeden twardy link. Ale w przypadku folderów w Co to jest polecenie systemu Unix, aby utworzyć dowiązanie twarde do katalogu w OS X? w 2010 roku ktoś napisał dla 10.5: „Usuwanie to inna historia: jeśli zajdziesz do tego zwykłym sposobem usuwania katalogów, usuniesz zawartość. Więc musisz „ odłączyć ”katalog: unlink new_hard_link”. Jest to prawdopodobnie nadal aktualne.
Arjan
Na stronie man unlink(w 10.6.8) mówi, że nie może być stosowany na katalogach: When the utility is called as unlink, only one argument, which must not be a directory, may be supplied.
Kent
Hmmm, tajemnica. Co więcej, twoja odpowiedź jest ważna: nie używaj [bypass] rm -rw połączonych katalogach. (Ale nie muszę ci tego tłumaczyć.)
Arjan
Właśnie eksperymentowałem trochę więcej. Bieganie bypass unlink FILEma takie same (niezamierzone?) Konsekwencje jak bypass rm FILE. Identyczny PLIK jest usuwany ze wszystkich kopii zapasowych, a nie tylko z jednej określonej lokalizacji. I unlinkNIE bierze katalogu lub więcej niż jednego pliku jako argumentu (serwer 10.6.8; ale nie sądzę, aby zmieniło się to w nowszych wersjach systemu operacyjnego)
Kent
Wow, jestem bardzo zaskoczony przez twoją bypass rm FILEi bypass unlink FILEusuwając wszystkie identyczne pliki, które nie pasują do tego, co widzi za touch file1; ln file1 file2; ln file2 file3; ls -li; unlink file2; ls -li, ani za touch file1; ln file1 file2; ln file2 file3; ls -li; /System/Library/Extensions/TMSafetyNet.kext/Contents/Helpers/bypass unlink file2; ls -li. Nigdy nie usunę niczego z kopii zapasowej ...
Arjan,
3

Uwaga: Ze względu na „sieć bezpieczeństwa TM” wspomnianą przez Erica W, ta odpowiedź nie działa w przypadku kopii zapasowej Time Machine, której pytanie konkretnie dotyczy. Ale w większości pozostałych przypadków informacja o tym, jak pozbyć się list ACL, jest istotna.


Nie ma potrzeby używania narzędzi ACL skopiowanych ze starszego systemu operacyjnego.

Służy ls -ledo przeglądania list ACL i chmodich modyfikowania.

Aby uzyskać więcej informacji, wpisz man chmodi zajrzyj do „Opcje manipulacji ACL”.

Polecenie usunięcia wszystkich list ACL z hierarchii folderów to:

chmod -R -N foldername
Baran
źródło
2

Wehikuł czasu działa jak rshapshot. Tworzy drzewo twardych linków dla każdej nowej kopii zapasowej. Twarde linki do plików już istniejących w poprzedniej kopii zapasowej zajmują bardzo mało dodatkowego miejsca. Dopiero po usunięciu ostatniego twardego łącza do pliku plik jest faktycznie usuwany z systemu plików.

Usunięcie całej pojedynczej kopii zapasowej nie zaszkodzi. Usuwasz tylko twarde linki. Nie wpłynie to na żadną inną kopię zapasową. Ale można to osiągnąć za pomocą tmutil.

Jednym ze scenariuszy, w których może być konieczne obejście ochrony, jest usunięcie określonego pliku ze wszystkich kopii zapasowych (i powód, dla którego skończyłem na tym poście).

Mój dysk z kopią zapasową jest pełny. Mam bardzo duży plik (wiele gigabajtów), którego kopię zapasową tworzy się od miesięcy. Jest jedna fizyczna kopia, ale wiele migawek z twardymi linkami do tej kopii. Aby faktycznie pozbyć się tego pliku, muszę usunąć twardy link z każdej kopii zapasowej.

Zauważ, że numer i-węzła jest taki sam dla wszystkich twardych łączy do tego samego pliku.

% cd /Volumes/WD\ 500G\ USB/Backups.backupdb/csm-laptop
% ls -li */Macintosh\ HD/Users/csm/vm.img
...
2740350 -rw-r--r--@ 28 csm  staff  42949672960 Feb 17 16:12 2015-05-08-005636/Macintosh HD/Users/csm/vm.img
2740350 -rw-r--r--@ 28 csm  staff  42949672960 Feb 17 16:12 2015-05-08-015812/Macintosh HD/Users/csm/vm.img
2740350 -rw-r--r--@ 28 csm  staff  42949672960 Feb 17 16:12 2015-05-08-030036/Macintosh HD/Users/csm/vm.img
2740350 -rw-r--r--@ 28 csm  staff  42949672960 Feb 17 16:12 2015-05-08-041307/Macintosh HD/Users/csm/vm.img
2740350 -rw-r--r--@ 28 csm  staff  42949672960 Feb 17 16:12 Latest/Macintosh HD/Users/csm/vm.img

(Najnowsze to tylko dowiązanie symboliczne do ostatnio datowanego katalogu)

% sudo bypass rm -f */Macintosh\ HD\Users\csm\vm.img

Plik jest usuwany ze wszystkich kopii zapasowych i zwracane jest miejsce. Jeśli plik zmienia się w czasie, każda kopia zapasowa będzie miała pełną kopię, a zwrócone miejsce będzie ogromne.

Lakoniczny
źródło
Jeśli chodzi o „Usunięcie całej pojedynczej kopii zapasowej nie zaszkodzi. Usuwasz tylko twarde linki. Nie wpłynie to na żadną inną kopię”. Jeżeli ta odnosi się do migawek ciągu kopii zapasowych na jednym komputerze, a następnie podano (stary) odpowiedź hrabstwie Kent użyciu rm -rmoże być (lub: były) niebezpieczne. Lepiej bądź bezpieczny niż żałuj i używaj tmutildo tego.
Arjan
0

Jeśli nie wykonujesz polecenia jako użytkownik, który jest „właścicielem” kopii zapasowej, będziesz miał trudności z usunięciem z wiersza polecenia. Właśnie miałem ten problem z migracją i musieliśmy zrobić całą kopię zapasową Time Machine (1tb +) i sformatować dysk, zanim uzyskamy jakikolwiek dostęp do niego - i zaufaj mi, próbowałem wszystkiego, aby zastąpić uprawnienia.

Nic
źródło
2
sudo powinno dać mi dostęp do wszystkich plików, ponieważ działam jako administrator. Jestem prawie pewien, że jest to problem ACL i pracuję nad tym.
Tim
1
Nic, kilka lat spóźnienia, ale na wypadek, gdybyś to przegapił: zobacz odpowiedź Erica .
Arjan
@Tim: twierdzenie to byłoby nawet nieprawdziwe w innych systemach unixoid, biorąc pod uwagę niezmienny atrybut ( chattr). To, co teoretycznie da ci root, to obejście dowolnej sieci bezpieczeństwa.
0xC0000022L,
0

Jeśli chcesz usunąć wszystkie pliki w folderze, a nie tylko określone pliki, możesz to zrobić, dodając folder do listy wykluczeń Time Machine. (Preferencje systemowe -> Wehikuł czasu -> Opcje. Przeciągnij folder tutaj.)

Następnym razem, gdy wykonasz kopię zapasową, kopie tego folderu zostaną usunięte z poprzednich kopii zapasowych.

Teraz, jeśli naprawdę chcesz to zrobić z poziomu interfejsu wiersza polecenia, istnieje sposób, choć trochę kłopotliwy.

  1. Utwórz kopię zapasową /Library/Preferences/com.apple.TimeMachine.plist
  2. Skopiuj / Library / Preferences/com.apple.TimeMachine.plist gdzieś, gdzie możesz się nim bawić.
  3. CD, gdziekolwiek to umieścisz.
  4. Wykonaj,
    plutil -convert xml1 com.apple.TimeMachine.plist
    aby przekonwertować go z postaci binarnej.
  5. Otwórz przekonwertowaną listę w preferowanym edytorze tekstu, wyszukaj „ścieżki pomijania”
  6. Wstaw nowy wiersz w tej sekcji, sformatowany jako <string>/Path/To/Exclude</string>
  7. Zapisz i wyjdź, przekonwertuj z powrotem wykonując
    plutil -convert binary1 com.apple.TimeMachine.plist
  8. Skopiuj edytowany plik z powrotem do / Library / Preferences /
  9. Rozpocznij tworzenie kopii zapasowej, wykonując
    /System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper -auto

Edycja: Po wykonaniu kroku 9 wszystkie kopie nowo wykluczonego folderu zostaną usunięte z poprzednich kopii zapasowych.

Aby usunąć wyjątek, skopiuj kopię zapasową z powrotem do / Library / Preferences.

Mróz
źródło
Nie próbuję wykluczyć katalogu. Próbuję usunąć katalog z istniejącej kopii zapasowej i zrobić coś z wiersza polecenia. Naprawdę chciałbym tylko dowiedzieć się, jak zezwolić rm na działanie w katalogu Backups.backupdb.
Tim
OK, być może nie było jasne z moich instrukcji, że folder jest faktycznie usuwany z kopii zapasowych podczas wykonywania powyższych kroków. Zobacz moją edycję. Ale jeśli to nie jest rozwiązanie szukasz, to przypuszczam, że zawsze można su - root, a następnie rm -rffoldery, ale myślę, błahy z czegoś tak cennego jak tworzenie kopii zapasowych w ten sposób jest coś trzeba z reguły starają się unikać.
Frost
Ale dodanie go jako wykluczenia spowoduje usunięcie wszystkich jego kopii ze wszystkich kopii zapasowych. Ponadto, chociaż jest to kopia zapasowa TimeMachine, nie wykonuję tej pracy na komputerze, więc nie jest to już aktywna TimeMachine. sudo ma taki sam efekt jak „su - root”, a następnie „rm -rf”. Jestem prawie pewien, że to się nie udaje, ponieważ Apple dodał poziom bezpieczeństwa do systemu plików poza prostymi uprawnieniami * nix.
Tim
Może to zabrzmieć głupio, ale nie jestem do końca pewien, czy sudoma taki sam efekt jak su - rootna komputerze Mac. Wydaje mi się, że pamiętam okazję, kiedy próbowałem usunąć coś, co sudonie wystarczyło, ale sudo - rootzałatwiło sprawę.
Frost
3
@ Frost- Nie sądzę, że Time Machine działa tak, jak sugerujesz. Właśnie próbowałem wykluczyć folder, a następnie uruchomić TM, a starsze kopie zapasowe tego folderu są nadal obecne w TM. A może jego zachowanie się zmieniło, odkąd opublikowałeś to prawie rok temu.
Caffeine Coma
0

Możesz tworzyć lsrozszerzone atrybuty listy w długim widoku za pomocą -@flagi. Wyświetli listę ACL po dostarczeniu -eflagi. Dzięki temu możesz dowiedzieć się, z czym masz do czynienia ls -lea@ DIR.

Sądząc z moich lokalnych kopii zapasowych Time Machine, wygląda na to, że Time Machine stosuje rozszerzone atrybuty z metadanymi o najnowszych i najstarszych migawkach. Dane przechowywane przez xattrs wydają się być listą binarną. Te wydają się niewinne.

Time Machine chce także zastosować listy ACL do niektórych katalogów, o których wie, takich jak te umieszczone w standardowym katalogu użytkownika. Istnieją dwa rodzaje list ACL, które potencjalnie stoją na twojej drodze: te stosowane bezpośrednio do pliku lub katalogu, które odmawiają usunięcia, oraz te stosowane do elementu nadrzędnego pliku, który odmawia delete_child.

Niestety, Mac OS X nie dostarcza narzędzi użytkownika getfacli setfaclokreślona przez POSIX.2c przeglądanie i manipulowanie ACL. Aby zadzierać z listami ACL, trzeba będzie trochę zaprogramować; zobacz stronę acl(3)podręcznika.

Jeremy W. Sherman
źródło