Czy „Bezpieczne opróżnianie kosza” bezpiecznie usuwa ukryte pliki wersji dokumentów w Koszu w OS X Lion?

12

Nowa funkcja wersji w Lion tworzy ukryte pliki, w których przechowywane są stare wersje dokumentu, nad którym pracujesz, na wypadek gdybyś chciał przywrócić starszą wersję dokumentu. Jeśli przeciągnę dokument do Kosza, a następnie wybierz Bezpieczne opróżnij kosz z menu Findera, czy pliki wersji ukrytej zostaną bezpiecznie usunięte wraz z dokumentem?

Phil M.
źródło
a co z kopiami w nowej lokalnej pamięci podręcznej wehikułu czasu?
Thilo,
@ thilo - w ogóle mało prawdopodobne - dlaczego nie zadać tego jako własnego pytania?
bmike

Odpowiedzi:

7

Domyślam się, że nie, ale nie jest to ostateczna odpowiedź.

Najpierw utworzyłem bardzo duży (~ 160 MB) plik .txt i wprowadziłem zmiany w pliku w TextEdit. Zgodnie z oczekiwaniami ten plik i jego wersje pojawiły się w /.DocumentRevisions-V100/PerUID. Pliki wyglądały na ~ 160 MB ls, ale zgodnie z tym, du -hże użyły 0B na dysku. Liczba linków twardych dla każdego pliku wynosiła 1. Folder o nazwie .cs(pamięć masowa) /.DocumentRevisions-V100został powiększony o około 110 MB.

Za każdym razem, gdy zmieniałem plik, następowały następujące zdarzenia /.DocumentRevisions-V100:

  1. Plik ~ 160 MB został utworzony w /.DocumentRevisions-V100/staging/. Liczba linków twardych dla tego pliku wynosi 1.
  2. Ten plik wydaje się przenieść do /.DocumentRevisions-V100/PerUID/<UID>/<#>/com.apple.documentVersions. Liczba linków twardych pozostała 1.
  3. Ten ~ 160 MB plik stał się 0B, a rozmiar /.DocumentRevisions-V100/.cspowiększył się o około 2 MB.

Wolne miejsce na dysku ( df) było zgodne z tym du, co mi powiedział. Wolne miejsce znacznie by spadło, a następnie powróciło do prawie tego, co było przed zapisaniem nowej wersji.

Następnie próbowałem zniszczyć plik za pomocą Secure Empty Trash. Wydaje się, że OS X używa programu wywoływanego w Locumcelu bezpiecznego usunięcia pliku. Dołączanie fs_usagedo Locumpokazuje bardzo dużo odczytów i zapisów do oryginalnego pliku .txt. Podczas gdy Locumrobi to, wszystkie dostępne poniżej wersje /.DocumentRevisions-V100/PerUIDnadal są dostępne przy zachowaniu nienaruszonych danych. Po zakończeniu Locumzapisywania danych odłącza oryginalny plik .txt, a wersje /.DocumentRevisions-V100/PerUIDnagle znikają. Locumnastępnie przechodzi do czegokolwiek innego w Koszu, nigdy nie dotykając /.DocumentRevisions-V100.

Cokolwiek jest, /.DocumentRevisions-V100nie jest bezpiecznie usuwane.

EDYCJA: Powinienem dodać, że wszystko, co jest, jest w /.DocumentRevisions-V100jakiś sposób zaciemnione lub skompresowane (folder miał tylko ~ 120 MB). Nie przeczytałem jeszcze wersji ani sekcji systemu plików recenzji Siracusa… może są tam jakieś wskazówki.

FrostedMint
źródło
7

Właśnie to przetestowałem i wydaje się, że starsze pliki rzeczywiście zostają usunięte. Nie miało znaczenia, czy wybrałem Bezpieczne opróżnianie kosza, czy zwykłe opróżnianie kosza, również zostały usunięte.

Trochę więcej szczegółów:

Aby to przetestować, włączyłem użytkownika root, aby mógł zajrzeć do /.DocumentRevisions-V100plików i plików znajdujących się w nim. Dokładna struktura tego folderu i jego zawartość są lepiej wyjaśnione w przeglądzie Lion Johna Siracusa (Wewnętrzne, Dokumenty).

Utworzyłem kilka plików, a następnie wprowadziłem zmiany, zapisując nowe wersje. Folder zawierający wersje wypełnione nowymi plikami podczas zapisywania nowych wersji. W tym folderze najwyższego poziomu znajduje się folder o nazwie PerUID, który zawiera podfoldery dla każdego konta użytkownika. Każdy folder konta użytkownika zawiera serię ponumerowanych folderów, po jednym folderze dla każdego pliku, który ma zapisane wersje. Tak więc aktualne wersje są zapisywane jako pliki kilka poziomów w tej hierarchii, z zaszyfrowanymi nazwami plików. Opróżnienie kosza (w obie strony) spowoduje usunięcie tych plików, ale poprzednia struktura folderów pozostanie na miejscu.

Przed usunięciem: W /.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions tym folderze nadal znajdują się poprzednie wersje.

Po usunięciu: /.DocumentRevisions-V100/PerUID/0/5/com.apple.revisions ten folder nadal istnieje, ale jest pusty.

Nie sprawdziłem innych folderów /.DocumentRevisions-V100/, więc nie sprawdziłem zawartych w nich baz danych. Siracusa jest bardziej szczegółowy, ale wydaje się, że istnieją, aby zawierać bazy danych do śledzenia zmian i mapowania plików użytkownika na wersje zapisane przez system. Jestem całkiem pewien, że nie zapisano tam żadnej zawartości dokumentu, chociaż nie jestem pewien co do nazw plików, a jeśli nazwy plików są obecne, czy są one mieszane, czy nie.

Gazowy
źródło
2
To dobry postęp, ale myślę, że to tylko dowodzi, że pliki zostały usunięte, niekoniecznie bezpiecznie usunięte. Aby udowodnić bezpieczne usuwanie, pomyślałbym, że musisz albo odwołać się do dokumentacji programisty Apple, albo uruchomić oprogramowanie do odzyskiwania plików i zobaczyć, co można odzyskać.
Phil M
Ach, przepraszam, źle cię zrozumiałem. powinien być dość prostym eksperymentem dla kogoś, kto odtworzy i uruchomi aplikację do odzyskiwania. nie jestem na ADC, więc nie jestem zbyt przydatny.
Gauzy
iostat i inaczej „wciąż” mac powinny ułatwić sprawdzenie przepustowości zapisu.
bmike