SRM मैकओएस सिएरा में गया (10.12)


33

मैंने अभी macOS 10.12 को अपडेट किया है और जब मैं srmटर्मिनल में निष्पादित करने का प्रयास करता हूं , तो यह कहता है -bash: srm: command not found

है srmहटाया? इसे कैसे ठीक करें?


एक साइड नोट के रूप में: srm2000 की शुरुआत में वापस मरने की परियोजना थी। Apple ने परियोजना में कुछ संसाधन डाले और यह पहली बार 10.3 में दिखाई दिया। आपको इस बात की जानकारी होनी चाहिए कि srmडेटा की गारंटी का उपयोग करना ठीक नहीं है।
fd0

@ fd0, क्या आप एक बेहतर विचार या नए मैक पर SSD से सुरक्षित रूप से फ़ाइलों को हटाने के साथ आ सकते हैं?
निकितिन रोमन

1
पूर्ण डिस्क एन्क्रिप्शन, हालांकि मैं इसका उपयोग नहीं करता हूं, और rmGUI में कचरा खाली कर देता हूं ।
fd0

4
SSDs srm के लिए @NiktinRoman, rm से अधिक सुरक्षित नहीं है - srm केवल हार्ड डिस्क के लिए समझ में आता है। मुझे संदेह है कि यह वह कारण है जिसे हटा दिया गया है
user151019

जवाबों:


3

अभी तक के लिए MacOS 10.12 आदमी पेज नहीं चल रहा तथापि के तहत ओएस एक्स 10.8.5 srmमें NOTESखंड कहता है:

Srm का विकास और चर्चा < http://sourceforge.net/project/?group_id=3297 > पर की जाती है, जो < http://srm.sourceforge.net > के माध्यम से भी सुलभ है ।

अब आपको सोर्स कोड डाउनलोड करना होगा और इसे अपने लिए संकलित करना होगा। इसके लिए Xcode के लिए Command Line Tools स्थापित करना होगा। यकीन नहीं है कि अगर अभी भी macOS 10.12 के तहत लागू है, तो देखें कि विवरण के लिए OS X Mavericks & Yosemite (बिना Xcode) में कमांड लाइन टूल इंस्टॉल कैसे करें । या टर्मिनल में निम्नलिखित कमांड का उपयोग करें:xcode-select --install

मैंने नवीनतम स्रोत कोड डाउनलोड किया और इसे ओएस एक्स 10.8.5 के तहत त्रुटियों के बिना संकलित किया गया, हालांकि इसका मतलब यह नहीं है कि यह मैकओएस 10.12 के तहत होगा, लेकिन यह शायद एकमात्र विकल्प है जिसे आपने srmहटा दिया है।

उस ने कहा, मैं शायद केवल srmHDD के SSD के नहीं है।


3
यदि आप होमब्रे का उपयोग करते हैं तो NB 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/issues/725 । मुझे कुछ संदेह है कि उनके मन में ठीक यही कारण था, लेकिन यह बात बनी हुई है कि सिक-डिलीट कमांड ssd पर स्पिनिंग रस्ट की तुलना में कम उपयोगी है। (यह शायद कभी नहीं होता है Apple कि किसी को एक कताई जंग दूर हुक करना चाहते हो सकता है।)
kojiro

27

इस टिप्पणी से:

क्या आप एक बेहतर विचार या नए मैक पर SSD से सुरक्षित रूप से फ़ाइलों को हटाने के साथ आ सकते हैं? - निकितिन रोमन

इसकी कोई आवश्यकता नहीं है srm; बशर्ते कि TRIM आपके मशीन 1 पर सक्षम हो

TRIM समर्थन आपके लिए इसे संभालता है। जब आप अपनी ड्राइव से कोई फ़ाइल हटाते हैं, तो OS फ़ाइल स्थान को "उपयोग में नहीं" के रूप में चिह्नित करेगा - यह किसी भी ड्राइव पर लागू होता है। SSD पर, HDD के विपरीत, एक TRIM कमांड को उस चिह्नित स्थान पर किसी भी डेटा को पोंछने के लिए भेजा जाता है। यह आपके SSD को उस चिह्नित स्थान पर डेटा लिखने में सक्षम बनाता है जैसे कि वह बिल्कुल नया था और कभी उपयोग नहीं किया गया था, और पारंपरिक विलोपन प्रक्रिया को छोड़ दें।

यदि आप अधिक सुरक्षा की तलाश कर रहे हैं, तो FileVault को चालू करें ।

प्रति Apple समर्थन :

नोट: SSD ड्राइव के साथ, सिक्योर इरेज़ और इरेज़िंग फ्री स्पेस डिस्क यूटिलिटी में उपलब्ध नहीं हैं। SSD ड्राइव के लिए इन विकल्पों की आवश्यकता नहीं है क्योंकि एक मानक मिटा एक SSD से डेटा को पुनर्प्राप्त करना मुश्किल बनाता है। अधिक सुरक्षा के लिए, जब आप अपने SSD ड्राइव का उपयोग शुरू करते हैं, तो FileVault एन्क्रिप्शन को चालू करने पर विचार करें।

मैं उपयोग करने के खिलाफ भी सलाह देता हूं srmक्योंकि यह एसएसडी को अधिक और अनावश्यक लेखन संचालन जारी करता है, इस प्रकार यह जीवनकाल को छोटा करता है। से आदमी पेज :

srm ओवरराइटिंग, नामकरण और, द्वारा प्रत्येक निर्दिष्ट फ़ाइल को हटा देता है
अनलिंक करने से पहले इसे काट देना


यदि आपका मैक SSD प्रीइंस्टॉल्ड के साथ आया है तो 1 TRIM डिफ़ॉल्ट रूप से सक्षम हो जाता है। यदि आपने इस तथ्य के बाद SSD जोड़ा है, तो आपको sudo trimforce enableटर्मिनल में कमांड जारी करके TRIM को सक्षम करना होगा ।


3
यह स्वीकृत उत्तर होना चाहिए।
एलएस

क्या TRIM इस तरह से स्पेस को चिन्हित करता है जब आप फ़ाइल को टर्मिनल में हटाते हैं (डिलीट की गई फाइल / s ट्रैश में दिखाई नहीं देगी) या केवल तभी जब आप "नियमित रूप से" डिलीट करते हैं (इसे ट्रैश में स्थानांतरित करें)? धन्यवाद!
साइंसफ्रंट

1
"कचरा" आपके घर निर्देशिका में सिर्फ एक छिपा हुआ फ़ोल्डर है - ~/.Trash। तो "एक फ़ाइल को कचरा में स्थानांतरित करना" बस इतना है - एक फ़ाइल को स्थानांतरित करना। जब आप कचरा खाली करते हैं, जब आप वास्तव में फ़ाइल को हटाते हैं। जब फ़ाइल वास्तव में इस विधि या माध्यम से हटा दी जाती हैrm जब TRIM प्रभावी होता है।
एलन

2
टीआरआईएम कमांड को एक एसएसडी पर डेटा को मज़बूती से हटाने के लिए विश्वसनीय नहीं होना चाहिए। यह बस ओएस को एसएसडी को यह बताने की अनुमति देता है कि कुछ ब्लॉक अब उपयोग में नहीं हैं। यह TRD को सही ढंग से लागू करने के लिए SSD फर्मवेयर कंट्रोलर पर निर्भर है। ड्राइव निर्माताओं का यहां अच्छा ट्रैक रिकॉर्ड नहीं है। यहां तक ​​कि मजबूत "सुरक्षित मिटाएं" एटीए कमांड को असंगत रूप से लागू किया जाता है, यहां तक ​​कि कभी-कभी सफलता की रिपोर्टिंग करते हैं जब सभी डेटा ड्राइव पर बने रहे। अधिक जानकारी के लिए cSHeb.ucsd.edu/~swanson/papers/Fast2011SecErase.pdf देखें ।
विलियम बुडिंगटन

1
@WilliamBudington - आपकी जानकारी बहुत पुरानी है। इस पोस्ट को देखें: Apple.stackexchange.com/questions/269863/…
एलन

25

rm के पास एक-स्विच है जो फ़ाइल को हटाने से पहले तीन बार अधिलेखित करेगा। कुछ नहीं से बेहतर है, मुझे लगता है।


इस उपयोग के मामले में, यह तकनीकी रूप से सही है। तीन बार कुछ नहीं से बेहतर है।
रिमियान

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 कोरुटिल्स को डिफ़ॉल्ट नामों के साथ स्थापित किया है , उदाहरण के लिए brew install coreutils --default-names, तब, आपने अपने पैट को कैसे कॉन्फ़िगर किया था, इस पर निर्भर करता है कि rmमैक संस्करण छाया कर सकता है /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-सक्षम SSDs और / या journalled फाइल सिस्टम के साथ)। @ एलन का जवाब विशेष रूप से हाजिर है।

हालांकि, यदि आप वास्तव में , वास्तव में बहाल करना चाहते हैं srm, तो किसी ने यहां होमब्रेव टैप प्रकाशित किया है जो काम करता है। अर्थात:

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

(आपके द्वारा Homebrew स्थापित करने के बाद , जाहिर है।)


-2

sudo port स्थापित srm जो करेगा


3
यह संभवतः एक -bash: port: command not foundत्रुटि पैदा करेगा , इसलिए यहां कुछ और विवरणों की आवश्यकता हो सकती है।
15


यह वही है जो मैंने तब किया जब Macports को कुछ OS अपग्रेड के दौरान अनइंस्टॉल किया गया। यह मेरी पुस्तक में पसंदीदा तरीका है, लेकिन पूर्ण उत्तर नहीं है इसलिए वोट नहीं कर सकते ... ओह अच्छा। कमांड मैंने तब sudo srm -RfvD TargetDirectoryToWipe का उपयोग किया । SSD पर नहीं ...
Notjust - user4304
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.