SRM з'явився в macOS Сьєрра (10.12)


33

Я щойно оновив до macOS 10.12, і коли я намагаюся виконати srmв Terminal, він говорить -bash: srm: command not found.

Є чи srmвидалений? Як це виправити?


Як зауваження: це srmбув вмираючий проект на початку 2000-х. Apple вклала деякі ресурси в проект, і він вперше з'являється в 10.3. Ви повинні знати, що використання srmне гарантує, що дані не підлягають відновленню.
fd0

@ fd0, чи можете ви придумати кращу ідею або безпечно видалити файли з SSD на нових комп’ютерах?
Ніктин Роман

1
Повне шифрування диска, хоча я його не використовую, rmабо порожнє кошик у графічному інтерфейсі.
fd0

4
@NiktinRoman для SSD-файлів srm не є більш безпечним, ніж rm - srm має сенс лише для жорстких дисків. Я підозрюю, що це було причиною її видалення
user151019

Відповіді:


3

Ще не запущено macOS 10.12, однак під ОС X 10.8.5 на головній сторінці srmв NOTESрозділі зазначено:

Розробка та обговорення srm здійснюється за адресою < http://sourceforge.net/project/?group_id=3297 >, яка також доступна через < http://srm.sourceforge.net >.

Тепер вам доведеться завантажити вихідний код і скласти його для себе. Для цього знадобиться встановити інструменти командного рядка для Xcode. Не впевнений, чи все ще застосовується в macOS 10.12, однак, див. Як встановити інструменти командного рядка в OS X Mavericks & Yosemite (без Xcode) для деталей. Або в Терміналі використовуйте таку команду:xcode-select --install

Я завантажив останній вихідний код і він скомпільований без помилок під ОС X 10.8.5, хоча це не означає, що він буде в macOS 10.12, але це, мабуть, єдиний вибір, який ви отримали, якщо srmйого було видалено.

При цьому, мабуть, я б тільки srmна обертовому жорсткому диску не був на SSD.


3
Примітка: srm доступний на домашньому / шкірному, якщо ви використовуєте домашню. Він скаржиться, що MacOS вже надає це програмне забезпечення. Це не вірно в Сьєррі, але в будь-якому випадку використовувати домашню мову для її встановлення ви повинніbrew install srm && brew link --force srm
kojiro

1
@kojiro не працює. "srm був видалений з homebrew / core в команді 7957c4b98"
AfterWorkGuinness

@AfterWorkGuinness Щоправда, Apple нібито видалила srm, бо думала, що це знищить ssds людей. github.com/Homebrew/homebrew-dupes/isissue/725 . Я дещо скептично налаштований на те, що вони мали на увазі саме цю причину, але справа в тому, що команди безпечного видалення менш корисні для ssd, ніж спінінг іржі. (Напевно, Apple ніколи не
сприймає,

27

З цього коментаря:

чи можете ви придумати кращу ідею або безпечно видалити файли з SSD на нових комп’ютерах? - Ніктин Роман

Не потрібно srm; за умови, що TRIM увімкнено на вашій машині 1

Підтримка TRIM вирішує це за вас. Коли ви видалите файл з диска, ОС позначить простір файлів як "не використовується" - це стосується будь-якого диска. На SSD, на відміну від жорсткого диска, команда TRIM відправляється для видалення будь-яких даних у зазначеному просторі. Це дозволяє вашому SSD мати можливість записувати дані в цей позначений простір так, ніби він був абсолютно новим і ніколи не використовується, і пропустити традиційний процес видалення.

Якщо ви шукаєте додаткову безпеку, увімкніть FileVault .

За підтримку Apple :

Примітка. За допомогою SSD-накопичувача безпечна стирання та стирання вільного простору недоступні у програмі Disk Utility. Ці параметри не потрібні для накопичувача SSD, оскільки стандартне стирання ускладнює відновлення даних з SSD. Для більшої безпеки розгляньте ввімкнення шифрування FileVault під час запуску SSD-накопичувача.

Я також раджу не використовувати, srmоскільки це видає більше і зайвих операцій запису на SSD, тим самим скорочуючи термін їх експлуатації. На чоловіковій сторінці :

srm видаляє кожен вказаний файл шляхом перезапису, перейменування та
обрізання його перед від’єднанням


1 TRIM увімкнено за замовчуванням, якщо на вашому Mac було встановлено попередньо встановлений SSD. якщо ви додали SSD після факту, вам слід увімкнути TRIM, видавши команду sudo trimforce enableв Terminal.


3
Це має бути прийнятою відповіддю.
LS

Чи позначає TRIM таким чином пробіл, коли ви переводите файл у терміналі (видалений файл / и не відображатиметься в кошику) або лише якщо ви видаляєте "регулярно" (переміщуєте його у кошик)? Спасибі!
ScienceFriction

1
"Сміття" - це просто прихована папка у вашому домашньому каталозі - ~/.Trash. Тож "переміщення файлу в кошик" - це саме те, що - переміщення файлу. Коли ви спорожняєте кошик, це коли ви фактично видаляєте файл. Коли файл фактично видалено за допомогою цього методу або через те rm, коли TRIM набирає чинності.
Алан

2
Команді TRIM не слід довіряти надійно стирати дані на SSD. Це просто дозволяє ОС повідомити SSD, що певні блоки вже не використовуються. TRIM-контролер програмного забезпечення повинен правильно реалізовувати TRIM. Виробники дисків тут не мають хорошого досвіду. Навіть сильніша команда ATA "безпечного стирання" реалізується непослідовно, навіть іноді повідомляє про успіх, коли всі дані залишалися на диску. Дивіться cseweb.ucsd.edu/~swanson/papers/Fast2011SecErase.pdf для отримання додаткової інформації.
Вільям Будінгтон

1
@WilliamBudington - Ваша інформація жахливо застаріла. Дивіться цей пост: apple.stackexchange.com/questions/269863/…
Аллан

25

rm має комутатор -P, який перезапише файл тричі перед видаленням. Я вважаю, що краще, ніж нічого.


У цьому випадку це технічно правильно. Три рази нічого кращого, ніж нічого.
Рім’ян

9

Для того, щоб надійно видалити файл / папку на MacOS Sierra без зовнішніх утиліт використовувати rmз -Pперемикачем:

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

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

На чоловіковій сторінці :

 -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

ПРИМІТКА . Якщо ви встановили GNU coreutils з домашньої мови з іменами за замовчуванням, наприклад brew install coreutils --default-names, тоді, залежно від того, як ви налаштували свій PATH, версія GNU rmможе затінити версію Mac на, /bin/rmі вона не прийме цю -Pопцію. Використовуйте which -a rmдля подвійної перевірки.


7

Оскільки спочатку на це запитання відповіли, відбулося дві речі:

  • homebrew-dupes було об'єднано в homebrew-core
  • srm було видалено з homebrew-core

Якщо ви спробуєте встановити його зараз, він дасть вам інформацію про видалення комітету та пропозицію створити власний кран, якщо він все ще потрібен. Я зробив це тут .

Ви можете встановити його за допомогою Homebrew :brew install khell/homebrew-srm/srm



0

Існує маса вагомих причин не використовувати захищені засоби видалення ( srm,shred , rm -P, і т.д.) на сучасних системах (з TRIM підтримкою SSD - накопичувачів і / або цапфами файлових систем). @ Відповідь Аллана, зокрема, це місце.

Тим НЕ менше, якщо ви дійсно , дійсно хочете відновити srm, хто - то опублікував Homebrew кран тут , що працює. Тобто:

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

( Очевидно, після встановлення Homebrew .)


-2

порту sudo встановити srm, що буде робити


3
Це, ймовірно, призведе до -bash: port: command not foundпомилки, тому тут можуть знадобитися ще деякі деталі.
nohillside

1
Установка MacPorts: macports.org/install.php
eggonlegs

Це те, що я робив, коли Macports було видалено під час певної оновлення ОС, імовірно. Це кращий метод у моїй книзі, але не повний відповідь, тому не можна голосувати ... о добре. Потім я використовував команду sudo srm -RfvD TargetDirectoryToWipe . Не на SSD ...
NOTjust - user4304
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.