SRM đã có trong macOS Sierra (10.12)


33

Tôi vừa cập nhật lên macOS 10.12 và khi tôi cố gắng thực thi srmtrong Terminal thì nó báo -bash: srm: command not found.

Được srmgỡ bỏ? Làm thế nào để khắc phục điều này?


Như một lưu ý phụ: srmlà một dự án hấp hối vào đầu những năm 2000. Apple đã đổ một số tài nguyên vào dự án và nó xuất hiện lần đầu tiên vào 10.3. Bạn nên lưu ý rằng việc sử dụng srmkhông đảm bảo dữ liệu không thể phục hồi được.
fd0

@ fd0, bạn có thể đưa ra ý tưởng tốt hơn hoặc xóa tệp khỏi SSD trên các máy Mac mới hơn không?
Niktin Roman

1
Mã hóa toàn bộ đĩa, mặc dù tôi không sử dụng nó và rmhoặc Thùng rác trong GUI.
fd0

4
@NiktinRoman cho SSD srm không an toàn hơn rm - srm chỉ có ý nghĩa đối với đĩa cứng. Tôi nghi ngờ đây là lý do nó đã bị xóa
user151019

Câu trả lời:


3

Chưa chạy macOS 10.12, tuy nhiên, trong OS X 10.8.5, trang man srmtrong NOTESphần nêu:

Việc phát triển và thảo luận về srm được thực hiện tại < http://sourceforge.net/project/?group_id=3297 >, cũng có thể truy cập thông qua < http://srm.sourceforge.net >.

Bây giờ bạn phải tải xuống mã nguồn và tự biên dịch nó. Điều này sẽ yêu cầu Công cụ dòng lệnh cho Xcode được cài đặt. Tuy nhiên, không chắc chắn nếu vẫn áp dụng được trong macOS 10.12, hãy xem Cách cài đặt Công cụ dòng lệnh trong OS X Mavericks & Yosemite (Không có Xcode) để biết chi tiết. Hoặc trong Terminal sử dụng lệnh sau:xcode-select --install

Tôi đã tải xuống mã nguồn mới nhất và nó được biên dịch không có lỗi trong OS X 10.8.5, mặc dù điều đó không có nghĩa là nó sẽ nằm trong macOS 10.12 nhưng có lẽ đó là lựa chọn duy nhất bạn có nếu srmđã bị xóa.

Điều đó nói rằng, tôi có lẽ sẽ chỉ srmtrên ổ cứng xoay chứ không phải ổ SSD.


3
NB srm có sẵn trong homebrew / dupes nếu bạn sử dụng homebrew. Nó sẽ phàn nàn rằng MacOS đã cung cấp phần mềm này. Điều đó không đúng ở Sierra, nhưng trong mọi trường hợp để sử dụng homebrew để cài đặt, bạn phảibrew install srm && brew link --force srm
kojiro

1
@kojiro không hoạt động. "SRM đã bị xóa từ homebrew / lõi trong phạm 7957c4b98"
AfterWorkGuinness

@AfterWorkGuinness Đúng, Apple đã loại bỏ srm vì họ nghĩ rằng nó sẽ phá hủy ssds của mọi người. github.com/Homebrew/homebrew-dupes/issues/725 . Tôi hơi nghi ngờ rằng họ có chính xác lý do đó trong đầu, nhưng vấn đề vẫn là các lệnh xóa an toàn ít hữu ích hơn trên ssd so với quay gỉ. (Có lẽ chưa bao giờ xảy ra với Apple rằng ai đó có thể muốn nối một cuộn gỉ sét.)
kojiro

27

Từ nhận xét này:

bạn có thể đưa ra một ý tưởng tốt hơn hoặc loại bỏ các tệp khỏi SSD trên các máy Mac mới hơn không? - La Mã Niktin

Không cần srm; với điều kiện TRIM được bật trên máy của bạn 1

Hỗ trợ TRIM xử lý việc này cho bạn. Khi bạn xóa một tệp khỏi ổ đĩa của mình, HĐH sẽ đánh dấu không gian tệp là "không sử dụng" - điều này áp dụng cho bất kỳ ổ đĩa nào. Trên ổ SSD, không giống như ổ cứng, lệnh TRIM được gửi để xóa bất kỳ dữ liệu nào trong không gian được đánh dấu đó. Điều này cho phép SSD của bạn có thể ghi dữ liệu vào không gian được đánh dấu đó như thể nó là thương hiệu mới và chưa từng sử dụng và bỏ qua quy trình xóa truyền thống.

Nếu bạn đang tìm kiếm bảo mật hơn, hãy bật FileVault .

Theo hỗ trợ của Apple :

Lưu ý: Với ổ SSD, Xóa an toàn và Xóa không gian trống không khả dụng trong Disk Utility. Các tùy chọn này không cần thiết cho ổ SSD vì việc xóa tiêu chuẩn gây khó khăn cho việc khôi phục dữ liệu từ SSD. Để bảo mật hơn, hãy xem xét bật mã hóa FileVault khi bạn bắt đầu sử dụng ổ SSD.

Tôi cũng khuyên bạn không nên sử dụng srmvì nó gây ra nhiều thao tác ghi không cần thiết cho SSD, do đó rút ngắn tuổi thọ của nó. Từ trang người đàn ông :

srm xóa từng tệp được chỉ định bằng cách ghi đè, đổi tên và
cắt ngắn nó trước khi hủy liên kết


1 TRIM được bật theo mặc định nếu máy Mac của bạn được cài đặt sẵn SSD. nếu bạn đã thêm một ổ SSD sau khi thực tế, thì bạn phải kích hoạt TRIM bằng cách phát lệnh sudo trimforce enabletrong Terminal.


3
Đây phải là câu trả lời được chấp nhận.
LS

TRIM có đánh dấu khoảng trống theo cách này khi bạn rm tệp trong thiết bị đầu cuối (tệp / s đã xóa sẽ không xuất hiện trong Thùng rác) hay chỉ khi bạn xóa "thường xuyên" (di chuyển tệp vào Thùng rác)? Cảm ơn!
Khoa học ma sát

1
"Thùng rác" chỉ là một thư mục ẩn trong thư mục nhà của bạn - ~/.Trash. Vì vậy, "di chuyển một tập tin vào thùng rác" chỉ là - di chuyển một tập tin. Khi bạn dọn sạch thùng rác là khi bạn thực sự xóa tệp. Khi tệp thực sự bị xóa thông qua phương thức này hoặc thông qua rmlà khi TRIM có hiệu lực.
Allan

2
Lệnh TRIM không nên được tin cậy để xóa dữ liệu trên ổ SSD một cách đáng tin cậy. Nó chỉ đơn giản cho phép HĐH nói với SSD rằng một số khối nhất định không còn được sử dụng. Tùy thuộc vào bộ điều khiển phần sụn SSD để thực hiện TRIM chính xác. Các nhà sản xuất ổ đĩa không có một hồ sơ theo dõi tốt ở đây. Ngay cả lệnh ATA "xóa an toàn" mạnh hơn cũng được triển khai không nhất quán, thậm chí đôi khi báo cáo thành công khi tất cả dữ liệu vẫn còn trên ổ đĩa. Xem cseweb.ucsd.edu/~swanson/ con / Fast2011SecErase.pdf để biết thêm thông tin.
William Budington

1
@WilliamBudington - thông tin của bạn đã hết hạn. Xem bài đăng này: apple.stackexchange.com/questions/269863/ từ
Allan

25

rm có công tắc -P sẽ ghi đè tập tin ba lần trước khi xóa. Tốt hơn là không có gì, tôi cho là vậy.


Trong trường hợp sử dụng này, điều này là đúng kỹ thuật. Ba lần không có gì tốt hơn là không có gì.
Rimian

9

Để xóa an toàn tệp / thư mục trên MacOS Sierra mà không cần các tiện ích bên ngoài sử dụng rmvới công -Ptắc:

## delete a single file
rm -Pv wikileak1.txt

## delete a folder recursively
rm -Pvrf ~/.wikileaks

Từ trang người đàn ông :

 -P          Overwrite regular files before deleting them.  Files are
             overwritten three times, first with the byte pattern 0xff,
             then 0x00, and then 0xff again, before they are deleted.

 -v          increase verbosity

LƯU Ý : Trong trường hợp bạn đã cài đặt các lõi GNU từ homebrew với các tên mặc định, ví dụ brew install coreutils --default-names, tùy thuộc vào cách bạn định cấu hình PATH của mình, phiên bản GNU rmcó thể phủ bóng phiên bản Mac tại /bin/rmvà nó sẽ không chấp nhận -Ptùy chọn. Sử dụng which -a rmđể kiểm tra lại.


7

Vì câu hỏi này ban đầu đã được trả lời, hai điều đã xảy ra:

  • homebrew-dupes đã được sáp nhập vào homebrew-core
  • srm đã bị xóa khỏi homebrew-core

Nếu bạn cố gắng cài đặt nó ngay bây giờ, nó sẽ cung cấp cho bạn thông tin chi tiết về việc xóa cam kết và một đề xuất để tạo một vòi riêng nếu bạn vẫn cần nó. Tôi đã làm như vậy ở đây .

Bạn có thể cài đặt nó bằng Homebrew :brew install khell/homebrew-srm/srm



0

Có rất nhiều lý do chính đáng không sử dụng công cụ xóa an toàn ( srm, shred, rm -P, vv) trên các hệ thống hiện đại (với ổ SSD TRIM-enabled và / hoặc các hệ thống tập tin journalled). Câu trả lời của @ Allan nói riêng là tại chỗ.

Tuy nhiên, nếu bạn thực sự , thực sự muốn khôi phục srm, ai đó đã xuất bản một vòi Homebrew ở đây hoạt động. I E:

brew install khell/homebrew-srm/srm
srm secrets.txt

(Sau khi bạn đã cài đặt Homebrew , rõ ràng.)


-2

sudo port cài đặt srm sẽ làm


3
Nó có thể sẽ dẫn đến một -bash: port: command not foundlỗi, vì vậy một số chi tiết có thể được yêu cầu ở đây.
nohillside

1
Cài đặt macports: macports.org/install.php
eggonlegs

Đây là những gì tôi đã làm khi Macports bị gỡ cài đặt trong một số nâng cấp hệ điều hành có lẽ. Đây là phương pháp ưa thích trong cuốn sách của tôi, nhưng không phải là một câu trả lời đầy đủ vì vậy không thể bỏ phiếu ... ồ tốt. Lệnh tôi sau đó đã sử dụng sudo srm -RfvD TargetDirectoryToWipe . Không phải trên ổ SSD ...
KHÔNG chính xác - người dùng4304
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.