Làm cách nào để xóa các tập tin Time Machine bằng cách sử dụng dòng lệnh


68

Tôi muốn xóa một số tệp / thư mục khỏi Phân vùng cỗ máy thời gian của mình bằng rm , nhưng không thể làm như vậy. Tôi khá chắc chắn rằng vấn đề có liên quan đến một số loại thuộc tính mở rộng kiểm soát truy cập trên các tệp trong bản sao lưu, nhưng không biết cách ghi đè / vô hiệu hóa chúng để làm cho rm hoạt động. Một ví dụ về lỗi tôi nhận được là:

% 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

Có một số lý do tôi không muốn sử dụng GUI của Time Machine hoặc Finder cho việc này. Nếu có thể, tôi muốn có thể duy trì bảo vệ mở rộng cho tất cả các tệp khác (Tôi muốn không vô hiệu hóa chúng trên toàn cầu, trừ khi tôi có thể bật lại sau khi hoàn thành công việc của mình).


Tôi đã tiến gần hơn. Đầu tiên, tôi cần phải tắt ACL trên đĩa Time Machine của mình. Trước đây, người ta sẽ sử dụng fsaclctl để làm điều này, nhưng Snow Leopard không bao gồm điều này. Tôi đã lấy một bản sao của nhị phân từ một phiên bản OSX cũ hơn và chạy nó:% sudo fsaclctl -p / Volume / tmvol -d Sau đó tôi đã thử sử dụng "sudo rm -rf" để xóa một thư mục, nhưng vẫn gặp sự cố với một số tập tin (mặc dù những người khác đã đi tốt). Cụ thể, nó đã thất bại trên các liên kết mềm. Rất lạ. Về mặt tích cực, các liên kết chiếm gần như không có không gian. Về mặt tiêu cực, tôi vẫn có các thư mục dính xung quanh.
Tim

Có vẻ như câu trả lời được chấp nhận là khá nguy hiểm khi xóa ảnh chụp nhanh hoặc thư mục trong ảnh chụp nhanh, như của bạn rm -r Backups.backupdb/MacBook/Latest/MacBook/somedir; Nếu bạn đồng ý, sau đó xin vui lòng chấp nhận câu trả lời của Arne?
Arjan

Câu trả lời:


115

Để khắc phục các lỗi "không được phép hoạt động", hãy sử dụng chương trình "bỏ qua" của Time Machine Safety Net :

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

Trong 10.8 Mountain Lion, bỏ qua chuyển sang 'Người trợ giúp':

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

Trong 10.10 Yosemite, bỏ qua chuyển đến đây:

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

Cẩn thận khi sử dụng điều này để xóa các ảnh chụp nhanh cụ thể: vì Time Machine sử dụng các liên kết cứng, sử dụng rm -rtrên các thư mục cũng có thể ảnh hưởng đến các ảnh chụp nhanh cũ hơn và mới hơn của cùng một máy . (Xem các câu trả lời khác đề cập đến tmutil deleteviệc xóa một ảnh chụp nhanh cụ thể một cách an toàn.) Sử dụng rmđể xóa tất cả các ảnh chụp nhanh cho một máy là được. Và vì vậy, việc sử dụng rmđể xóa một tệp cụ thể sẽ chỉ xóa tệp được liên kết cứng đó khỏi (các) ảnh chụp nhanh mà bạn chỉ định, giả sử tệp không nằm trong thư mục được liên kết cứng vì khi đó bạn thực sự xóa tệp khỏi tất cả những thư mục liên kết cứng.


+1 !! Điều này đã giúp tôi. Tôi thậm chí đã không thử những người khác bởi vì điều này có vẻ như "đúng cách" và thực sự, nó cho phép tôi giải quyết vấn đề mà không cần phải hỏi thêm. Cảm ơn!
tripleee

Tôi đã tạo một tài khoản chỉ để +1 bạn. Tôi đã tìm kiếm một giải pháp tốt hơn cho vấn đề này, và đây là nó. Nó đã khiến tôi phát điên. Cảm ơn bạn.
CWSpear

3
Tuyệt vời. Những công việc này. (mặc dù tôi bỏ tùy chọn 'v' để tránh nhìn thấy một mục nhập cho mỗi vài trăm nghìn tệp) tức là:sudo ...bypass rm -rf /Volumes/...
Brent Faust

6
Đây là một phương pháp cực kỳ nguy hiểm để quản lý các tệp Time Machine; Time Machine sử dụng các thư mục được liên kết cứng với các thư mục tham chiếu không thay đổi kể từ lần sao lưu trước, tuy nhiên rmquá trình không hiểu những điều này và sẽ theo các liên kết này và xóa các tệp khỏi chúng. Điều này có nghĩa là bạn có khả năng có thể xóa các tệp cũng trong các bản sao lưu cũ hơn và mới hơn so với tệp bạn đã chọn, có khả năng gây ra thiệt hại không thể khắc phục cho (các) bản sao lưu. Khuyến nghị sử dụng của Arne Stenström cho tmutilđến nay là giải pháp ưu việt.
Harastak

1
Để mở rộng nhận xét của Harastak một chút: sử dụng rmcho các tệp được liên kết cứng là được, nhưng đối với các thư mục được liên kết cứng thì không. Câu trả lời của Kent đề cập đến cùng một vấn đề. Và trong lệnh Unix để tạo một liên kết cứng đến một thư mục trong OS X là gì? ai đó đã viết cho 10.5 trong năm 2010: "Xóa là một câu chuyện khác: nếu bạn thực hiện theo cách thông thường để xóa thư mục, bạn sẽ xóa nội dung. Vì vậy, bạn phải" hủy liên kết "thư mục: unlink new_hard_link". Vì vậy, chỉ sử dụng điều này để xóa tất cả các bản sao lưu (ảnh chụp nhanh) cho một máy nhất định.
Arjan

26

BLUF (dòng dưới cùng lên phía trước):

sudo tmutil delete snapshot-dir


Sử dụng để loại bỏ tất cả các ACL từ một hệ thống phân cấp thư mục không hoạt động trên các tập tin và thư mục trong Time Machine của Backups.backupdb , vì các TM Safety Net cơ chế và tiêu chuẩn được mô tả trong này 318 Tech Journal bài (nhưng có thể không chính xác như mô tả) .     (Trước khi tìm hiểu điều này khi tìm kiếm Safety Net được đề cập trong câu trả lời của Eric W (hoạt động), tôi chỉ thử nghiệm trên một thư mục được sao chép từ thư mục con của bản sao lưu TM và có chmod hoạt động. Nhưng thử chmod trên một thư mục trong thực tế Sao lưu TM đưa ra lỗi "Thao tác không được phép".)sudo chmod -R -N folder

Có thể sử dụng:
    Trong Mac OS 10.7+, có lệnh tmutil (mà tôi chưa thử, vì tôi vẫn đang sử dụng Snow Leopard). Nó có một động từ xóa , theo mô tả "có thể xóa các snapshot khỏi các bản sao lưu không được tạo bởi hoặc không được yêu cầu bởi máy hiện tại" (trong đó "snapshot" là một thư mục ngày đại diện cho một bản sao lưu gia tăng). Tôi không rõ nếu điều này có nghĩa là nó không thể xóa các ảnh chụp nhanh được tạo bởi hoặc được yêu cầu bởi máy hiện tại. (?)


2
Thật vậy, tmutil rất hữu ích và sẽ cho phép bạn xóa các bản sao lưu ( tmutil delete /Volumes/DISK/Backups.backupdb/HOST/DATE_FOLDER). Tuy nhiên, bạn vẫn cần thủ thuật bỏ qua của Eric để xóa chính thư mục "Backups.backupdb".
mivk

OSX 10.8.3 của tôi (Mountain Lion) không yêu cầu bỏ qua. Chỉ cần sudo tmutil delete <snapshot-dir>. bypass rmCâu trả lời phổ biến đã lỗi thời.
John Mee

Có thể sử dụng tmutilđể xóa chỉ một số tệp từ ảnh chụp nhanh không? Nó không làm việc cho tôi ( Invalid deletion target (error 22)) vì vậy tôi đã đi với bypassthay thế.
Robert Tupelo-Schneck

+1 cho BLUF. Bạn có nhận được điều đó từ (Công cụ quản lý hoàn toàn tuyệt vời) không? :)
Olie

Ngoài ra: Tôi tiếp tục tìm các tài liệu tham khảo đến một Backups.backupdbthư mục mà tôi không thấy trên ổ đĩa sao lưu của mình (Time Capsule). Tôi chỉ có những thứ của hình thức MachineName.sparsebundle. Định dạng đã thay đổi? Tôi đang cố gắng sử dụng lệnh sao lưu xóa của TM, nhưng nó đã bị kẹt trên thanh tiến trình 99,99% trong vài giờ.
Olie

12

Một cảnh báo về việc sử dụng bypasslệnh để xóa bản sao lưu cũ: nếu bản sao lưu bị xóa có các thư mục giống hệt nhau trong các bản sao lưu trước hoặc sau, thì các tệp cũng có thể bị xóa khỏi các bản sao lưu trước hoặc sau !

Time Machine không chỉ sử dụng các liên kết cứng cho các tệp không thay đổi mà còn sử dụng các liên kết cứng cho các thư mục không có tệp nào được thêm, thay đổi hoặc xóa. Điều này dẫn đến một cái gì đó như:

/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/

Với cách trên, xóa bất kỳ tệp nào /2014-11-06/folder/là ổn và chỉ ảnh hưởng đến bản sao lưu cho ngày đó. Số lượng tham chiếu liên kết cứng bị giảm, do đó, " inode " file2sẽ bị xóa, nhưng inode cho file1file3vẫn sẽ có số tham chiếu là 1 do các bản sao lưu sau này. Do đó, rm -R /2014-11-06cũng tốt.

Tuy nhiên, loại bỏ bất kỳ tập tin từ một trong hai /2014-11-13/folder/, /2014-11-20/folder/hoặc /2014-11-27/folder/một cách hiệu quả sẽ loại bỏ nó khỏi tất cả những 3 thư mục.

Vấn đề là rm -Rkhông quan tâm đến các thư mục liên kết cứng. Nó chỉ truy xuất vào bất kỳ thư mục liên kết cứng nào mà nó tìm thấy, mạnh dạn xóa tất cả các tệp của nó và sau đó xóa thư mục trống.

Vì vậy: khi xóa một bản sao lưu cũ, bạn không nên truy cập vào một thư mục được liên kết cứng và xóa nội dung của nó. Thay vào đó, người ta chỉ nên loại bỏ liên kết cứng cho chính thư mục . Vì vậy, thay vì rm -Rsử dụng tmutil deletenhư được giải thích trong câu trả lời của Arne .

Bên cạnh đó, dường như unlinklệnh OS X không thể được sử dụng trên các thư mục : "chỉ một đối số, không phải là một thư mục, có thể được cung cấp" . API OS X có thể xóa các thư mục được liên kết cứng và GNU Coreutils cũng vậy, như được cài đặt bằng Homebrew .

Cuối cùng, để chứng minh tất cả những điều trên, một trường hợp thử nghiệm (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

Lưu ý rằng số lượng liên kết cho mỗi lần xuất hiện là 2 (cột thứ hai). Hãy loại bỏ sự xuất hiện đầu tiên:

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

Vì vậy, sau khi hủy liên kết một trong các tệp, số lượng liên kết giảm xuống 1 cho mỗi lần xuất hiện, mặc dù tệp vẫn được hiển thị 3 lần. Không có vấn đề nào. Loại bỏ sự xuất hiện đầu tiên một lần nữa:

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

Bây giờ tất cả đã biến mất. Rõ ràng tệp TopSites.plistđã được thay đổi lần cuối 2014-11-06 và được liên kết cứng vào ngày 2014-11-13 khi một số tệp khác được thêm, thay đổi hoặc xóa trong Safarithư mục. Tiếp theo, nội dung của Safarithư mục không thay đổi trong hai lần sao lưu tiếp theo, vì vậy vào ngày 2014-11-20 và 2014-11-27, Safarithư mục được liên kết cứng với bản sao lưu trước.

Thật vậy, 4 thư mục chỉ sử dụng 2 nút (cột đầu tiên):

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//

1
Một số nền tảng: cho các tập tin , liên kết cứng hoạt động như mong đợi; chỉ có liên kết cứng bạn muốn xóa được xóa. Giống như: touch file1; ln file1 file2; ln file2 file3; ls -li; rm file2; ls -lisẽ chỉ loại bỏ một liên kết cứng duy nhất. Nhưng đối với các thư mục , trong lệnh Unix để tạo liên kết cứng đến thư mục trong OS X là gì? ai đó đã viết cho 10.5 vào năm 2010: "Xóa là một câu chuyện khác: nếu bạn thực hiện theo cách thông thường để xóa thư mục, bạn sẽ xóa nội dung. Vì vậy, bạn phải " hủy liên kết "thư mục: unlink new_hard_link". Điều này có lẽ vẫn còn hiệu lực.
Arjan

Trang man cho unlink(trong 10.6.8) nói rằng nó không thể được sử dụng trên các thư mục : When the utility is called as unlink, only one argument, which must not be a directory, may be supplied.
Kent

Hừm, bí ẩn. Thậm chí nhiều hơn, câu trả lời của bạn rất quan trọng: không sử dụng [bypass] rm -rtrên các thư mục được liên kết cứng. (Nhưng tôi không phải giải thích điều đó với bạn.)
Arjan

Tôi chỉ thử nghiệm thêm một chút. Chạy bypass unlink FILEcó cùng một hậu quả (ngoài ý muốn?) Như bypass rm FILE. FILE giống hệt nhau được xóa khỏi tất cả các bản sao lưu, không chỉ vị trí duy nhất được chỉ định. Và, unlinksẽ KHÔNG lấy một thư mục hoặc nhiều tệp làm đối số (máy chủ 10.6.8; nhưng, tôi không nghĩ rằng điều này sẽ thay đổi thông qua các phiên bản HĐH mới hơn)
Kent

Ồ, tôi khá ngạc nhiên về việc bạn xóa bypass rm FILEbypass unlink FILExóa tất cả các tệp giống hệt nhau, không khớp với những gì người ta thấy touch file1; ln file1 file2; ln file2 file3; ls -li; unlink file2; ls -li, cũng không phải touch file1; ln file1 file2; ln file2 file3; ls -li; /System/Library/Extensions/TMSafetyNet.kext/Contents/Helpers/bypass unlink file2; ls -li. Tôi sẽ không bao giờ xóa thứ gì đó khỏi bản sao lưu ...
Arjan

3

Lưu ý: Do "Mạng lưới an toàn TM" được đề cập bởi Eric W, câu trả lời này không hoạt động đối với trường hợp sao lưu Time Machine, mà câu hỏi liên quan cụ thể. Nhưng đối với hầu hết mọi trường hợp khác, thông tin về cách loại bỏ ACL đều có liên quan.


Không cần sử dụng các công cụ ACL được sao chép từ HĐH cũ.

Sử dụng ls -leđể xem ACL và chmodthay đổi chúng.

Để biết thêm thông tin, hãy nhập man chmodvà xem trong Tùy chọn Thao tác ACL.

Lệnh xóa tất cả ACL khỏi hệ thống phân cấp thư mục là:

chmod -R -N foldername

2

Cỗ máy thời gian hoạt động như rshapshot. Nó tạo ra một cây các liên kết cứng cho mỗi bản sao lưu mới. Liên kết cứng đến các tệp đã có trong bản sao lưu trước đó sử dụng rất ít không gian bổ sung. Chỉ khi liên kết cứng cuối cùng đến một tệp bị xóa thì tệp mới thực sự bị xóa khỏi hệ thống tệp.

Loại bỏ toàn bộ một bản sao lưu sẽ không bị tổn thương. Bạn chỉ cần loại bỏ các liên kết cứng. Không có bản sao lưu khác sẽ bị ảnh hưởng. Nhưng điều đó có thể được thực hiện thông qua tmutil.

Một kịch bản trong đó có thể cần phải bỏ qua bảo vệ là xóa một tệp cụ thể khỏi tất cả các bản sao lưu (và lý do tại sao tôi kết thúc bài đăng này).

Đĩa sao lưu của tôi đã đầy. Tôi có một tệp rất lớn (nhiều gigabyte) đã được sao lưu trong nhiều tháng. Có một bản sao vật lý của nó, nhưng nhiều ảnh chụp nhanh có liên kết cứng đến bản sao đó. Để thực sự thoát khỏi tập tin đó, tôi cần xóa liên kết cứng khỏi mọi bản sao lưu.

Lưu ý rằng số inode là giống nhau cho tất cả các liên kết cứng đến cùng một tệp.

% 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

(Mới nhất chỉ là một liên kết tượng trưng đến thư mục ngày cuối cùng)

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

Các tập tin được loại bỏ khỏi tất cả các bản sao lưu, và không gian được trả lại. Nếu tệp đã thay đổi theo thời gian, mỗi bản sao lưu sẽ có một bản sao đầy đủ và không gian được trả lại sẽ rất lớn.


Đối với "Xóa toàn bộ bản sao lưu riêng lẻ sẽ không bị tổn thương. Bạn chỉ cần xóa các liên kết cứng. Không có bản sao lưu nào khác sẽ bị ảnh hưởng." : Nếu điều này đề cập đến ảnh chụp nhanh trong các bản sao lưu cho một máy duy nhất, sau đó đưa ra câu trả lời (cũ) Kent sử dụng rm -rcó thể (hoặc: đã) nguy hiểm. Tốt hơn là an toàn hơn xin lỗi và sử dụng tmutilcho điều đó.
Arjan

0

Nếu bạn không thực thi lệnh với tư cách là người dùng "sở hữu" bản sao lưu, bạn sẽ khó xóa khỏi dòng lệnh. Tôi vừa gặp vấn đề này với việc di chuyển và chúng tôi phải xử lý toàn bộ bản sao lưu Time Machine (1tb +) và định dạng ổ đĩa trước khi chúng tôi có thể có bất kỳ loại quyền truy cập nào vào nó - và tin tưởng tôi, tôi đã thử mọi cách để ghi đè các quyền.


2
sudo sẽ cấp cho tôi quyền truy cập vào tất cả các tệp khi tôi đang chạy với tư cách quản trị viên. Tôi khá chắc chắn đây là vấn đề ACL và tôi đang xử lý vấn đề đó.
Tim

1
Nic, trễ vài năm, nhưng trong trường hợp bạn bỏ lỡ nó: hãy xem câu trả lời của Eric .
Arjan

@Tim: khẳng định này thậm chí sẽ không đúng với các hệ thống unixoid khác, với thuộc tính bất biến ( chattr). Những gì root sẽ cung cấp cho bạn về mặt lý thuyết là phá vỡ bất kỳ mạng bảo mật.
0xC0000022L

0

Nếu bạn muốn xóa tất cả các tệp trong một thư mục và không chỉ các tệp cụ thể, bạn có thể thực hiện việc này bằng cách thêm thư mục vào danh sách loại trừ của Time Machine. (Tùy chọn hệ thống -> Cỗ máy thời gian -> Tùy chọn. Kéo thư mục vào đây.)

Lần tới khi bạn thực hiện sao lưu, các bản sao của thư mục đó sẽ bị xóa khỏi các bản sao lưu trước đó.

Bây giờ, nếu bạn thực sự muốn làm điều này từ CLI, có một cách, mặc dù hơi cồng kềnh.

  1. Tạo bản sao lưu của / L Library /Pferences / com.apple.TimeMachine.plist
  2. Sao chép / L Library / Repferences / com.apple.TimeMachine.plist ở một nơi nào đó mà bạn có thể chơi với nó.
  3. Cd vào bất cứ nơi nào bạn đặt nó.
  4. Thực hiện
    plutil -convert xml1 com.apple.TimeMachine.plist
    để chuyển đổi nó từ dạng nhị phân.
  5. Mở plist đã chuyển đổi trong trình soạn thảo văn bản thích hợp hơn, tìm kiếm "skippaths"
  6. Chèn một dòng mới trong phần đó, được định dạng là <string>/Path/To/Exclude</string>
  7. Lưu và thoát, chuyển đổi trở lại bằng cách thực hiện
    plutil -convert binary1 com.apple.TimeMachine.plist
  8. Sao chép bản chỉnh sửa của bạn trở lại vào / Thư viện / Tùy chọn /
  9. Bắt đầu sao lưu bằng cách thực hiện
    /System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper -auto

Chỉnh sửa: Khi bạn thực hiện bước 9, tất cả các bản sao của thư mục mới được loại trừ sẽ bị xóa khỏi các bản sao lưu trước đó.

Để xóa ngoại lệ, sao chép lại bản sao lưu của bạn vào / Library / Preferences.


Tôi không cố gắng để loại trừ một thư mục. Tôi đang cố gắng xóa một thư mục từ một bản sao lưu hiện có và thực hiện một số từ dòng lệnh. Thực sự, tôi chỉ muốn tìm ra cách cho phép rm hoạt động trong thư mục Backups.backupdb.
Tim

OK, có lẽ không rõ ràng trong hướng dẫn của tôi rằng thư mục thực sự bị xóa khỏi các bản sao lưu khi thực hiện các bước trên. Xem chỉnh sửa của tôi. Nhưng nếu đó không phải là giải pháp mà bạn đang tìm kiếm, thì tôi cho rằng bạn luôn có thể su - rootvà sau đó rm -rflà các thư mục, nhưng tôi nghĩ rằng việc thay đổi thứ gì đó quý giá như sao lưu theo cách đó là điều mà mọi người thường nên tránh.
Sương giá

Nhưng thêm nó dưới dạng loại trừ sẽ xóa tất cả các bản sao của nó khỏi tất cả các bản sao lưu. Ngoài ra, mặc dù đây là bản sao lưu TimeMachine, nhưng nó không phải từ máy mà tôi đang thực hiện công việc này, vì vậy nó không còn là TimeMachine hoạt động nữa. sudo có tác dụng tương tự như "su - root" và sau đó là "rm -rf". Tôi khá chắc chắn rằng điều này không thành công vì Apple đã thêm một mức độ bảo mật cho hệ thống tập tin ngoài các quyền * nix đơn giản.
Tim

Điều này nghe có vẻ ngu ngốc, nhưng tôi không hoàn toàn chắc chắn rằng nó sudocó tác dụng tương tự như su - roottrên máy mac. Tôi dường như nhớ lại một dịp khi tôi đang cố gắng xóa một cái gì đó sudokhông đủ, nhưng sudo - rootđã làm điều đó.
Sương giá

3
@ Frost- Tôi không nghĩ Time Machine hoạt động theo cách bạn đề xuất. Tôi vừa thử loại trừ một thư mục, sau đó chạy TM và các bản sao lưu cũ của thư mục đó vẫn còn hiện diện trong TM. Hoặc có lẽ hành vi của nó đã thay đổi kể từ khi bạn đăng bài này gần một năm trước.
Caffeine Coma

0

Bạn có thể tạo lsdanh sách các thuộc tính mở rộng trong chế độ xem dài bằng cách sử dụng -@cờ. Nó sẽ liệt kê ACL khi bạn cung cấp -ecờ. Vì vậy, bạn có thể tìm hiểu những gì bạn đang giải quyết bằng cách sử dụng ls -lea@ DIR.

Đánh giá bằng các bản sao lưu Time Machine cục bộ của tôi, có vẻ như Time Machine áp dụng các thuộc tính mở rộng với siêu dữ liệu về các ảnh chụp nhanh mới nhất và cũ nhất. Dữ liệu được lưu trữ bởi xattrs có vẻ là một số nhị phân. Những điều này có vẻ vô hại.

Time Machine cũng có vẻ áp dụng ACL cho một số thư mục nhất định mà nó biết, chẳng hạn như những thư mục được đặt trong thư mục người dùng chuẩn. Có hai loại ACL có khả năng cản trở bạn: những loại được áp dụng trực tiếp vào tệp hoặc thư mục từ chối xóa và những loại được áp dụng cho cha mẹ của tệp từ chối xóa_child.

Thật không may, Mac OS X không cung cấp các tiện ích người dùng getfaclsetfaclđược POSIX.2c chỉ định để xem và thao tác với ACL. Để gây rối với ACL, bạn sẽ phải thực hiện một số chương trình; xem acl(3)trang hướng dẫn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.