क्या rm -rf / tmp / * सुरक्षित है?


29

यह कुछ ऐसा है जो मैं विंडोज पर बहुत कुछ करता था, लेकिन मेरे हाल के फ़ैसको के बाद मैं यह सुनिश्चित करना चाहता हूं। क्या ऐसा करना सुरक्षित है

sudo rm -rf /tmp/*

?


क्या यह कभी चलने वाला सर्वर है, या दैनिक बंद के साथ एक डेस्कटॉप मशीन है?
प्रयोक्ता अज्ञात

मैं पूछना चाहता हूं कि आप / tmp में फाइलें क्यों हटाना चाहते हैं? क्या यह इसलिए है क्योंकि यह भर रहा है, या यह गोपनीयता कारणों से है? यदि यह एक अंतरिक्ष मुद्दा है, तो यह एक बुरी तरह से व्यवहार किए गए अनुप्रयोग के कारण हो सकता है, या यह हो सकता है कि इसे बड़े विभाजन पर होना चाहिए। यदि गोपनीयता है, तो अन्य विकल्प हैं, जैसे कि एन्क्रिप्टेड फ़ाइल सिस्टम का उपयोग करना जिसे आप विचार करना चाह सकते हैं।
रोब

यह आपके सिस्टम पर विभिन्न समस्याओं का कारण बन सकता है, लेकिन मुख्य रूप से यह काम करेगा।
पीटर कहते हैं मोनिका

जवाबों:


19

सामान्य तौर पर, नहीं।

यदि यह कबाड़ से भर रहा है, तो आप यह देखना चाहते हैं कि स्वयं के बाद कौन सा सॉफ्टवेयर सफाई नहीं कर रहा है।

आप उन फ़ाइलों को पहचानने के लिए भी उपयोग कर सकते हैं जिन्हें लंबे समय में संशोधित या एक्सेस नहीं किया गया है जो संभवतः हटाना सुरक्षित है।


9
यहाँ 'नहीं' के कोरस के साथ सम्‍मिलित करें, और परिशिष्ट कि अधिकांश लीनियर डिस्‍ट्रोस स्‍वचालित रूप से /tmp/स्‍टार्टअप पर आउट हो जाते हैं। हालांकि यह आवश्यक रूप से मदद नहीं करता है यदि हम यहां नो-रिबूट्स-एवर सर्वर के बारे में बात कर रहे हैं, तो एक संभावना find ./ -type f -atime 14 -exec rm {} \; हर हफ्ते या तो चल रही हो सकती है और पिछले दो हफ्तों में किसी भी सादे फ़ाइल को एक्सेस नहीं किया जा सकता है। ..
शादुर

find ./ -type f -atime 14 -deleteके साथ gnu-find
उपयोगकर्ता अज्ञात

@ यह निश्चित रूप से मान लें कि /tmpवर्तमान कर्नेल डिफॉल्ट का उपयोग नहीं कर रहा है, जो relatimeकेवल तभी संशोधित होता है जब फ़ाइल संशोधित होती है, या noatime। जो मामले atimeमें दूर से मददगार नहीं होने जा रहा है।
xenoterracide

8

असली जवाब है - यह निर्भर करता है। / tmp का उपयोग उन अनुप्रयोगों द्वारा किया जा सकता है जिन्हें चलाने के लिए लॉकफाइल्स या अस्थायी लॉग की आवश्यकता होती है, या यह नहीं हो सकता है। वहाँ सहानुभूति हो सकती है ... निश्चित नहीं कि किसलिए, लेकिन यह हमेशा संभव है।

इससे पहले कि आप इसे हटाने का फैसला करें, आपको वास्तव में देखना चाहिए। कुछ भी पर rf -rf करना स्वाभाविक रूप से खतरनाक है।


3
मेरे सिस्टम पर, लॉगफ़ाइल्स / var / log, lockfiles से / var / लॉक पर जाते हैं।
उपयोगकर्ता अज्ञात

3
@user यकीन है, सिस्टम डेमोंस के लिए ... इसका मतलब यह नहीं है कि उपयोगकर्ताओं के आवेदन के लिए ताले या लॉग नहीं हैं /tmpक्योंकि सामान्य उपयोगकर्ता /var/log|lockमुझे नहीं लिख सकता है मेरे पास एक शेल स्क्रिप्ट है जो लॉक को लिखती है/tmp
xenoterracide

7

उदाहरण के लिए, यदि आपके पास एक MySQL डेटाबेस है जो आपके कंप्यूटर पर चल रहा है जो इसके सॉकेट को मार देगा, या यदि आप emacs को सर्वर के रूप में उपयोग कर रहे हैं जो सर्वर प्रक्रिया को मार देगा। कई अन्य मामले हैं जहां इन फ़ाइलों को निकालना सुरक्षित नहीं है। सबसे अच्छी बात यह है कि एक स्क्रिप्ट लिखना है जो फ़ाइल की तारीख की जांच करता है और केवल इसे हटा देता है अगर यह पुराना है।


त्वरित सवाल जब आप कहते हैं कि "इसके सॉकेट को मार देंगे" तो आप 'सॉकेट' से क्या समझते हैं?
कासिम


2

नहीं।

लेकिन आप / tmp dir के लिए रैमडिस्क ले सकते हैं तो यह सिस्टम के हर रिबूट के बाद खाली हो जाएगा। और साइड इफेक्ट के रूप में आपका सिस्टम थोड़ा बड़ा हो सकता है।

Google के पास tmpfs और / या ramfs की जानकारी बहुत है।


क्या पुनः आरंभ करने पर स्वचालित रूप से साफ़ / साफ़ करना आम नहीं है? Gentoo करता है, और मैं उबंटू करता है लगता है, लेकिन यह एक हो गया है, जबकि बाद से मैं इसका इस्तेमाल किया
माइकल Mrozek

नहीं, मुझे नहीं लगता कि उबंटू की तरह डेबियन व्युत्पन्न डिस्ट्रोस इसे (वैसे भी अभी) करता है। लेकिन अगर आपको यह पसंद है तो इसे जोड़ना काफी आसान है।
जोहान

उबंटू मैटी (या जो भी वर्तमान रिलीज कहा जाता है) करता है। लेकिन अगर आप नियमित रूप से अपनी मशीन को रिबूट नहीं करते हैं, तो ऐसा नहीं होगा।
रॉब

ठीक है, वर्तमान की जाँच नहीं की। मैं अभी LTS ट्रैक का उपयोग कर रहा हूं।
जोहान

उबंटू करता है, और हर लिनक्स मैंने पहले परीक्षण किया था: नोपेपिक्स, मूंगफली, हैलोवीन, रेड हैट, सुसे। यह प्रणाली को तेज क्यों करेगा? क्या वास्तव में तेज होगा? गणना, डिस्क एक्सेस, नेटवर्किंग, बूट अप?
उपयोगकर्ता अज्ञात

-4

मेरा सुझाव यह है कि इस निर्देशिका से क्या प्रभावित हो रहा है यह देखने के लिए पहले अपने tmp फ़ोल्डर का नाम बदलें। इसे "tmp" से "old_tmp" नाम दें। इसके अलावा, "tmp" नाम से एक नया खाली फ़ोल्डर बनाएं क्योंकि कुछ सेटअप या सिस्टम प्रक्रिया के लिए इस फ़ोल्डर को लॉग फ़ाइलों के साथ इस निर्देशिका के अंदर कुछ फ़ाइलों को बनाने की आवश्यकता हो सकती है। Tmp दिनांक को सुरक्षित रूप से हटाने के लिए इन चरणों का पालन करें।

1- मौजूदा "tmp" निर्देशिका को "old_tmp" नाम दें। 2- नई खाली "tmp" निर्देशिका बनाएं 3- इस नई बनाई गई निर्देशिका के लिए "0777" के रूप में सभी अनुमति दें ताकि सिस्टम / सेटअप को इस निर्देशिका के अंदर लॉग और अन्य फ़ाइलों को बनाने / रखने की अनुमति मिल सके। 4- सब कुछ ठीक चल रहा है और हमेशा की तरह व्यवहार करना सुनिश्चित करने के लिए सिस्टम और एप्लिकेशन चलाएं। 2-3 दिनों के लिए निरीक्षण में रखें। 5- यदि आपकी "tmp" निर्देशिका को "old_tmp" नाम देने के कारण कुछ भी प्रभावित नहीं है, तो आप "old_tmp" निर्देशिका को हटा सकते हैं।

नोट: "tmp" निर्देशिका का नाम "old_tmp" करने के कारण समस्या के कारण कुछ भी हो, तो इस निर्देशिका को उसके मूल "tmp" नाम पर वापस आने दें।


2
यह वास्तव में बुरा विचार है। रहे हैं कई मानक खोल उपयोगिताओं कि में अस्थायी फ़ाइलों को लिखने /tmpऔर कहा कि जैसा कि आप मूल नाम बदलने में नाकाम रहने के रूप में जल्द ही शुरू होगा /tmp। यह भी ध्यान दें कि /tmpनिर्देशिका में विशिष्ट अनुमतियाँ (उदाहरण के लिए चिपचिपा सा सेट) होनी चाहिए।
Kusalananda

कृपया ध्यान से पढ़ें कि मैंने क्या कहा: आप सही हैं कि कई मानक शेल उपयोगिताओं हो सकती हैं जो अस्थायी फ़ाइलों को "/ tmp" निर्देशिका में लिखते हैं, यही कारण है कि मैंने एक नया "tmp" निर्देशिका बनाने के लिए कहा और पुरानी मौजूदा का नाम बदलने के बाद उसे पूर्ण अनुमति दी "tmp" निर्देशिका।
ए। अलीम 11

1
हां, और आपने कहा कि अनुमति 0777तब होनी चाहिए जब वास्तव में उन्हें होना चाहिए 1777
कुसलानंद an
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.