macOS SierraでSRMが削除されました(10.12)


33

macOS 10.12にアップデートしたばかりsrmで、ターミナルで実行しようとすると、が表示されます-bash: srm: command not found

されてsrm削除?これを修正する方法は?


サイドノートとして:srm2000年代初期に死にかけているプロジェクトでした。Appleはプロジェクトにいくつかのリソースを注ぎ込み、10.3で最初に登場しました。使用srmしても、データが回復できないことを保証しないことに注意してください。
fd0

@ fd0、より新しいアイデアを思いついたり、新しいMacのSSDからファイルを安全に削除したりできますか?
ニティンローマン

1
私はそれを使用しませんが、フルディスク暗号化、rmまたはGUIでゴミ箱を空にします。
fd0

4
SSD用の@NiktinRoman srmはrmほど安全ではありません-srmはハードディスクに対してのみ意味があります。これが削除された理由だと思う
マーク

回答:


3

まだmacOS 10.12を実行していませんが、OS X 10.8.5 srmでは、NOTESセクションのmanページに次のように記載されています:

srmの開発と議論は< http://sourceforge.net/project/?group_id=3297 > で行われます。これは< http://srm.sourceforge.net > からもアクセスできます。

ここで、ソースコードをダウンロードして、自分でコンパイルする必要があります。これには、Xcodeのコマンドラインツールをインストールする必要があります。ただし、macOS 10.12でまだ適用可能かどうかはわかりません。詳細については、OS X Mavericks&Yosemiteでコマンドラインツールをインストールする方法(Xcodeなし)を参照してください。または、ターミナルで次のコマンドを使用します。xcode-select --install

最新のソースコードをダウンロードし、OS X 10.8.5でエラーなしでコンパイルしましたが、それはmacOS 10.12で動作するという意味ではありませんsrmが、削除された場合はおそらく唯一の選択肢です。

そうは言っても、私はおそらく、srmSSDではなく、回転HDD のみを使用します。


3
NB srmは、homebrewを使用する場合、homebrew / dupesで使用できます。MacOSはすでにこのソフトウェアを提供していると文句を言うでしょう。シエラではそうではありませんが、いずれにしてもhomebrewを使用してインストールする必要がありますbrew install srm && brew link --force srm
-kojiro

1
@kojiroは機能しません。「コミット7957c4b98でhomebrew / coreからsrmが削除されました」
-AfterWorkGuinness

@AfterWorkGuinness確かに、Appleは表面上はsrmを削除しました。これは、人々のssdを破壊すると思っていたためです。github.com/Homebrew/homebrew-dupes/issues/725。私は彼らがまさにその理由を念頭に置いていたことに幾分疑念を抱いていますが、安全な削除コマンドは、さびを回すよりもssdではあまり役に立たないという点が残っています。(おそらく、誰かが回転している錆びた
距離をつなぎ

27

このコメントから:

より新しいアイデアを思いついたり、新しいMacでSSDからファイルを安全に削除したりできますか?–ニクチンロマン

の必要はありませんsrm。TRIMがマシンで有効になっている場合1

TRIMサポートがこれを処理します。ドライブからファイルを削除すると、OSはファイルスペースを「未使用」としてマークします-これはすべてのドライブに適用されます。SSDでは、HDDとは異なり、TRIMコマンドが送信され、そのマークされたスペース内のデータが消去されます。これにより、SSDはマークされたスペースにデータをまったく新しいものとして使用することができ、従来の削除プロセスをスキップすることができます。

セキュリティを強化したい場合は、FileVaultをオンにしてください。

Appleサポートごと:

注:SSDドライブでは、ディスクユーティリティでSecure EraseおよびErasing Free Spaceを使用できません。標準の消去ではSSDからデータを回復することが困難になるため、SSDドライブにはこれらのオプションは必要ありません。セキュリティを強化するには、SSDドライブの使用を開始するときにFileVault暗号化を有効にすることを検討してください。

またsrm、SSDへの書き込み操作が不必要に多くなり、寿命が短くなるため、使用しないことをお勧めします。manページから:

srmは、上書き、名前変更、および
リンク解除前に切り捨てる


1お使いのMacにSSDがプリインストールされている場合、TRIMはデフォルトで有効になっています。事後にSSDを追加した場合はsudo trimforce enable、ターミナルでコマンドを発行してTRIMを有効にする必要があります。


3
これは受け入れられた答えでなければなりません。
LS

ターミナルでファイルをrmするとき(削除されたファイルはゴミ箱に表示されません)、または「定期的に」削除する(ゴミ箱に移動する)ときに、TRIMはスペースをこのようにマークしますか?ありがとう!
ScienceFriction

1
「ゴミ箱」は、ホームディレクトリ内の単なる隠しフォルダです- ~/.Trash。したがって、「ファイルをゴミ箱に移動する」とは、ファイルを移動することです。ゴミ箱を空にするのは、実際にファイルを削除するときです。このメソッドを介しrmて、またはTRIMが有効になった時点で、ファイルが実際に削除されたとき。
アラン

2
SSD上のデータを確実に消去するために、TRIMコマンドを信頼するべきではありません。これにより、OSが特定のブロックが使用されなくなったことをSSDに伝えることができます。TRIMを正しく実装するのはSSDファームウェアコントローラー次第です。ドライブメーカーはここで良い実績がありません。より強力な「セキュア消去」ATAコマンドでさえ一貫性がなく、すべてのデータがドライブに残っているときに成功を報告することさえあります。詳細については、cseweb.ucsd.edu /〜swanson / papers / Fast2011SecErase.pdfを参照してください。
ウィリアムバディントン

1
@WilliamBudington-あなたの情報はひどく時代遅れです。この投稿を参照してください: apple.stackexchange.com/questions/269863/…–
アラン

25

rmには、削除する前にファイルを3回上書きする-Pスイッチがあります。何もないよりはましだと思う。


このユースケースでは、これは技術的に正しいです。3回は、何よりも優れているものはありません。
リミアン

9

外部ユーティリティは使用せずにしっかりとMacOSのシエラ上のファイル/フォルダを削除するrm-Pスイッチ:

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

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

manページから:

 -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

:デフォルトの名前でhomebrewからGNU coreutilsをインストールした場合、たとえばbrew install coreutils --default-names、PATHの設定方法に応じて、GNUバージョンはrmMacバージョンをシャドウする可能性/bin/rmがあり、-Pオプションを受け入れません。which -a rmダブルチェックに使用します。


7

この質問には当初回答があったため、次の2つのことが起こりました。

  • homebrew-dupes に統合されました homebrew-core
  • srm から削除されました homebrew-core

今すぐインストールしようとすると、削除コミットの詳細と、まだ必要な場合は独自のタップを作成する提案が表示されます。私はここでそうしました

Homebrewを使用してインストールできます。brew install khell/homebrew-srm/srm



0

(安全な削除ツールを使用しない理由はたくさんありますsrmshredrm -P(TRIM対応のSSDおよび/または軸支ファイルシステムで)現代のシステムでは、など)。特に@Allanの答えは注目されています。

ただし、本当に本当に復元したい場合はsrm誰かがここで動作するHomebrewタップを公開しました。すなわち:

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

Homebrewをインストールした後、明らかに。)


-2

sudo port install srm


3
おそらく-bash: port: command not foundエラーにつながるので、ここでさらに詳細が必要になる場合があります。
nohillside

1
macportsのインストール:macports.org/install.php
eggonlegs

これは、おそらくOSのアップグレード中にMacportsがアンインストールされたときにしたことです。これは私の本では好ましい方法ですが、完全な答えではないので、投票できません...まあ。次に、sudo srm -RfvD TargetDirectoryToWipeコマンドを使用しました。ないSSD上の...
NOTjust - user4304
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.