/ tmp में बचत वास्तव में बचत नहीं है?


10

फ़ायरफ़ॉक्स से एक मेल अनुलग्नक खोलें (पहले इसे सहेजे बिना); यह एक लिब्रे ऑफिस दस्तावेज़ है, आप इसे संपादित करते हैं, और फिर सेव (पुश के रूप में नहीं बचा) और पाठ संपादक और ब्राउज़र दोनों को बंद करते हैं। फिर दस्तावेज़ गायब हो जाता है, क्योंकि यह डिफ़ॉल्ट रूप से संग्रहीत किया गया था /tmp। कम से कम मेरे उबुन्टु 12.04 पर यही स्थिति है।

क्या आपको लगता है कि यह सही व्यवहार है? कार्यक्रम को कम से कम आपको यह याद नहीं दिलाना चाहिए कि आप वास्तव में कुछ भी नहीं बचा रहे हैं? या फ़ाइल को पुनर्प्राप्त करने का कोई तरीका है (लॉगआउट और / या रिबूट के बाद भी)?

जवाबों:


10

इसके साथ खेलने पर मुझे पता चलता है कि जब आप फ़ायरफ़ॉक्स में किसी बाहरी प्रोग्राम के साथ कोई डॉक्यूमेंट खोलने के लिए चुनते हैं, तो क्या होता है कि फ़ायरफ़ॉक्स प्रोग्राम को डाउनलोड करता है /tmpऔर फिर चुने हुए प्रोग्राम को डाउनलोड की गई फ़ाइल के साथ एक तर्क के रूप में चलाता है (पढ़ें) के साथ फाइल को खोलता है चुना कार्यक्रम ')।

यदि आप Save Asप्रोग्राम के भीतर से फाइल को (बिना या समतुल्य चुने) सेव करते हैं , तो यह इस फाइल का उपयोग करेगा /tmp

फ़ायरफ़ॉक्स बंद होने पर इन अस्थायी फ़ाइलों को साफ कर देगा। तो आप फ़ाइल पुनर्प्राप्त कर सकते हैं यदि आप लिबर ऑफिस को बंद करते हैं, लेकिन फ़ायरफ़ॉक्स नहीं। हालाँकि, जैसे ही फ़ायरफ़ॉक्स बंद हो जाएगा, फ़ाइल हटा दी जाएगी।

अधिकांश (सभी?) डिस्ट्रोस पर, /tmpफ़ोल्डर को रिबूट पर भी खाली कर दिया जाएगा (फाइलें /var/tmpलंबे समय तक बनी रहनी चाहिए)।

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

अपडेट करें

संदर्भ के लिए (जब तक यह आवश्यक न हो, मैं ऐसा करने की सलाह नहीं देता), आप /tmpफ़ायरफ़ॉक्स को browser.helperApps.deleteTempFileOnExitविकल्प का उपयोग करते हुए बंद करने पर फ़ाइलों को हटाने को अक्षम कर सकते हैं । यह about:configपृष्ठ के माध्यम से सेट किया जा सकता है (बस इसे पता बार में टाइप करें और एंटर दबाएं)। यदि यह मौजूद है और है false, तो बस इस पर राइट क्लिक करें और टॉगल चुनें। अन्यथा, राइट क्लिक करके इसे जोड़ें-> नया-> बूलियन , फिर विकल्प का नाम दर्ज करें और गलत चुनें।

/tmpहाल के डेबियन आधारित सिस्टम पर अगले रिबूट से पहले फ़ाइलों को स्टोर करने के लिए , पहले देखें /etc/default/tmpfsऔर सुनिश्चित करें कि यह कोई RAMTMP=yesरेखा नहीं है । यदि यह टिप्पणी की गई है ( #शुरुआत में), यह ठीक है (यदि इसे सेट किया गया था तो मेमोरी में /tmpएक tmpfsफाइल सिस्टम पर होगा और डिस्क पर संग्रहीत नहीं किया जाएगा)। अगली TMPTIMEपंक्ति को लाइन में जोड़ें या बदलें /etc/default/rcS/tmpफ़ाइलों को अनिश्चित काल के लिए संग्रहीत करने के लिए:

TMPTIME=infinite

या आप infiniteउन्हें उस दिन की संख्या के लिए रखने के बजाय एक सकारात्मक संख्या का उपयोग कर सकते हैं , एक बार उनका समय समाप्त हो जाने पर उन्हें अगले रिबूट पर हटा दिया जाएगा। जाहिर है अगर इस लाइन पर टिप्पणी की जाती है, तो इसे अनसुना कर दें।


ध्यान दें कि /tmpरिबूट पर क्लियर होने वाला तथ्य यह है कि इसे /tmpएक के रूप में रखा गया है tmpfs, जो रैम (या स्वैप) में अपनी फ़ाइलों को संग्रहीत करता है, इस प्रकार इसकी सामग्री को अनमाउंट करने के बाद खो देता है।
Darkhogg

1
@ दारोगा, मामला नहीं। /tmpफाइलें आमतौर पर विशेष रूप से साफ हो जाती हैं। मैंने इसके साथ अद्यतन किया है कि इसके लिए सेटिंग्स को डेबियन आधारित सिस्टम पर कैसे बदला जा सकता है।
ग्रीम

उस के बारे में पता नहीं था! उस टिप्पणी पर +1।
डार्कहॉग


1
जब एक फ़ाइल फ़ायरफ़ॉक्स में एक प्लगइन के माध्यम से खोली जाती है, तो प्लगइन यह निर्दिष्ट कर सकता है कि वह कैसे फ़ाइल डिलीवर करना चाहता है: डिस्क पर, या सीधे मेमोरी में। अधिकांश प्लगइन्स मेमोरी का चयन करते हैं।
मार्क

3

फ़ायरफ़ॉक्स में फ़ाइलों को "खोलने" के लिए कैश है। हर बार फ़ायरफ़ॉक्स बंद करने पर यह कैश साफ़ हो जाता है। यदि आप LO के साथ उस फ़ाइल को खोलते हैं, और फ़ायरफ़ॉक्स को बंद करते हैं, तो आप देखेंगे कि फ़ाइल गायब हो जाएगी। यह सभी फ़ायरफ़ॉक्स के लिए सच है स्वतंत्र रूप से वे इसमें संग्रहीत हैं /tmpया नहीं।


2

क्या आपको लगता है कि यह सही व्यवहार है?

मुझे कहना है कि मुझे नहीं लगता कि यह है। लेकिन फिर मैं थोड़ा पक्षपाती हूं, इस छटपटाहट के कारण लगभग छह घंटे काम करना पड़ा।

मुझे लगता है कि कोई भी GUI जो उपयोगकर्ता को चेतावनी के बिना संभावित रूप से विनाशकारी कुछ करने देता है, चाहे वह कितना भी तार्किक क्यों न हो, उसके पीछे डिजाइन निर्णय "तार्किक" हो सकता है। यह विशेष रूप से ऐसा तब होता है जब उपयोगकर्ता बिना किसी बुरे प्रभाव के समान कार्यक्रमों (जैसे क्रोम) में ठीक यही काम कर सकते हैं।

कम से कम कार्यक्रम आपको यह याद नहीं दिलाना चाहिए कि आप वास्तव में कुछ भी नहीं बचा रहे हैं?

हम्म् ... शायद एक पॉप-अप एक चेकबॉक्स के साथ कह रहा है "यह संदेश फिर से न दिखाएं" उपयोगी होगा। इससे भी अधिक उपयोगी लिब्रे ऑफिस के लिए एक छोटा सा फिक्स होगा और इसी तरह के प्रोग्राम उपयोगकर्ता को चेतावनी देते हैं कि यदि वे जिस फ़ाइल को सहेज रहे हैं वह / tmp या जहाँ भी सहेजा जा रहा है। मेरा मतलब है, यदि आप "सेव" दबाते हैं, तो आप उम्मीद करते हैं कि फाइल कहीं और सेव होगी?

या फ़ाइल को पुनर्प्राप्त करने का कोई तरीका है (लॉगआउट और / या रिबूट के बाद भी)?

हां, अगर आप भाग्यशाली हैं। मैंने अपने कंप्यूटर को एक USB लिनक्स इंस्टॉलेशन से बूट किया और एक्स्टेंडेलेट का उपयोग करके फ़ाइल को पुनर्प्राप्त करने में कामयाब रहा।


2

मुझे समझाने दो। जब आप संवाद में "डाउनलोड के साथ" के रूप में "के साथ खुला" चुनते हैं, तो फ़ाइल अभी भी डाउनलोड की जाती है, जिस बिंदु पर फ़ायरफ़ॉक्स एप्लिकेशन के साथ डाउनलोड की गई फ़ाइल को खोलता है। हालाँकि, धारणा यह है कि आप फ़ाइल को रखना नहीं चाहते थे, इसलिए फ़ायरफ़ॉक्स के बाहर निकलने पर यह फ़ाइल हटा दी जाती है। यदि आप इसे रखना चाहते थे, तो आपको अपने एप्लिकेशन में "डाउनलोड करें", या "इस रूप में सहेजें" का उपयोग किया जाना चाहिए, या बस फ़ाइल को / var / tmp से बाहर ले जाया जाना चाहिए (जहाँ फ़ाइलफ़ॉक्स इसे रखता है); विलोपन केवल मूल स्थान में फ़ाइल पर लागू होता है।

ध्यान दें कि फ़ाइल हटा दी जाती है, भले ही दूसरा एप्लिकेशन उसे (तकनीकी अर्थों में) खुला रखता हो। यूनिक्स जैसी प्रणालियों में यह कोई समस्या नहीं है: जबकि निर्देशिका प्रविष्टि चली जाती है, फ़ाइल स्वयं बनी रहती है और तब तक नहीं हटाई जाती जब तक कि आवेदन बंद न हो जाए [इस बिंदु पर कोई दुर्घटना डिस्क को असंगत स्थिति में छोड़ सकती है; fsck इस स्थिति को "अनलिंक इनकोड" के रूप में रिपोर्ट करता है]


-1

क्या आपको लगता है कि यह सही व्यवहार है?

निश्चित ही यह सही व्यवहार है। यह केवल तब होता है जब आपने फ़ाइल को सहेजना नहीं चुना, बल्कि इसे खोलने के लिए चुना । मेरी राय में, यह आमतौर पर खोलने के बजाय सब कुछ बचाने के लिए बेहतर है।

कम से कम कार्यक्रम आपको यह याद नहीं दिलाना चाहिए कि आप वास्तव में कुछ भी नहीं बचा रहे हैं?

क्यों? यदि आप सहेजना चाहते हैं, तो आपने फ़ाइल डाउनलोड करने का विकल्प क्यों नहीं चुना?

या फ़ाइल को पुनर्प्राप्त करने का कोई तरीका है (लॉगआउट और / या रिबूट के बाद भी)?

नहीं। जब यह अभी भी tmp में है तो आपको इसे कॉपी करना होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.