काम समय पर न करके फाइलें क्यों छांट रहा है?


12

मैंने कमांड का उपयोग करने की कोशिश की ls --time=atime

यह एक डायरेक्टरी में काम कर रहा था लेकिन दूसरी डायरेक्टरी में काम नहीं कर रहा था। मैंने vim, evince और अन्य एप्लिकेशनों में कुछ फाइलें खोलीं, लेकिन कमांड फाइल एक्सेस समय के बाद परिवर्तित नहीं की गईं।

जब मैं टाइप touch file.txtकरता हूं तो एक्सेस टाइम बदल जाता है, लेकिन जब मैं टाइप vim file.txtकरता हूं तो एक्सेस टाइम नहीं बदला जाता।

यहाँ क्या गलत है?


आप कौन सा ओएस चला रहे हैं? कई आधुनिक लिनक्स वितरण बंद हो जाते हैं; यह हाल ही में लिनक्स कर्नेल में डिफ़ॉल्ट रूप से बंद है।
गिल्स एसओ- बुराई को रोकना '

मैं Ubuntu 10.04 चला रहा हूं।
xralf

दौड़ने के बाद आप क्या करते हैं vim file.txt? क्या आप विम को छोड़ देते हैं :qया :wq? यदि आप नहीं लिखते हैं, vimतो फ़ाइल के एक्सेस समय को संशोधित नहीं करता है - यह डिज़ाइन द्वारा है।
22

अब मेरे पास निर्देशिका में कम फाइलें हैं और पहुंच समय विम के साथ बदल जाता है और मुझे फ़ाइल को संपादित करने की आवश्यकता नहीं है, लेकिन जब मैं फ़ाइल को .jpgएक्सटेंशन के साथ खोलता हूं तो यह परिवर्तित नहीं होती है। जब मैंने इसे छवि दर्शक में खोला तो यह भी नहीं बदला है। मुझे हर बार फ़ाइल को किसी एप्लिकेशन द्वारा पढ़े जाने के लिए एक्सेस समय बदलने की आवश्यकता है।
xralf

जवाबों:


14

डिफ़ॉल्ट mounts विकल्पों के साथ, एक्सेस समय को लिनक्स पर एक विशेष तरीके से नियंत्रित किया जाता है:

relatime- इस विकल्प के साथ एक फाइलसिस्टम आरोहित होने के कारण एक्सेस टाइम अपडेट होने का कारण बनता है (यदि अपडेट होने से पहले) संशोधन समय से पहले। यह महत्वपूर्ण अद्यतन के कारण लिखे गए लेखों को काट देता है।

relatimeविकल्प माउंट डिफ़ॉल्ट विकल्प बनाया गया था के बाद से लिनक्स कर्नेल 2.6.30। यही कारण है ls --time=atimeकि आप क्या उम्मीद नहीं सूचीबद्ध करने के लिए है।

समाधान: Atime के लिए सख्त (विरासत) व्यवहार का उपयोग करने के लिएstrictatimeमाउंट विकल्प (जैसे/etc/fstab) का उपयोग करें।

नोट: Atime अपडेट को पूरी तरह से डिसेबल करने के लिए, कोई भी उपयोग कर सकता है noatime


इससे मदद मिली। धन्यवाद। सिस्टम कितना धीमा होगा strictatime?
xralf

atime uptades काफी महंगे हैं (हर बार जब उनकी फ़ाइल सामग्री एक्सेस की जाती है तो इनोड को अपडेट करने के लिए एक अनुसूचित डिस्क एक्सेस)। विशेष रूप से, यदि बहुत सी छोटी फाइलें शामिल हैं, तो atime अपडेट डिस्क लोड को दोगुना कर सकता है। ज्यादातर समय, एक्सेस टाइम पर भरोसा करने वाले प्रोग्राम केवल यह देखना चाहते हैं कि atime> mtime है या नहीं। तो, नया डिफ़ॉल्ट विकल्प relatimeउन कार्यक्रमों के लिए संगतता बनाए रखता है। वास्तव में, बहुत कम कार्यक्रम अभी भी इस पर भरोसा करते हैं, और यह अक्सर उपयोग करने के लिए सुरक्षित है noatime
स्टेफेन जिमेनेज

मुझे यह strictatimeसुविधा पसंद है जैसा कि मैंने आज कोशिश की, लेकिन अगर यह सिस्टम को धीमा कर देगा, तो मैं strictatimeकेवल कुछ निर्देशिकाओं में सेट करना चाहूंगा , अगर यह संभव होगा।
xralf

1
अच्छी तरह से व्यवहार में यह 1% या 2% धीमा है, शायद उच्च डिस्क लोड वाले सर्वर पर 5% तक। ठीक है, अगर आप वास्तव में प्रदर्शन के बारे में परवाह करते हैं, तो एक विशेष निर्देशिका में atime अद्यतनों को प्रतिबंधित करना संभव है, इसके साथ माउंट किए गए समर्पित fs का उपयोग करके strictatimeइस निर्देशिका को आरोह बिंदु के रूप में उपयोग किया जाएगा।
स्टीफन जिमेनेज़

2

आप कुछ फ़ाइल सिस्टम (देखो के लिए ) noatimeमें प्रवेश समय रिकॉर्डिंग बंद कर सकते हैं /etc/fstab। यह परीक्षण करने के लिए, आप कोशिश कर सकते हैं touch -a file; ls -l --time=atime file, फिर touch -a file; ls -l --time=atime fileदेखें कि क्या यह बदलता है।

lsव्यवहार द्वारा समझाया गया है man ls: ls -l --time=atimeशो दिनांक / समय स्तंभ में समय का उपयोग। इस कुंजी को क्रमबद्ध करने के लिए आपको उपयोग करने की आवश्यकता है --sort=time

यदि आप "समय नहीं बदला गया है" तो इसका मतलब है कि यह समान परिणाम दिखाता है, ऐसा इसलिए है क्योंकि फ़ाइल सिस्टम (देखें /etc/fstab) के लिए atime अक्षम है या क्योंकि एक्सेस समय वास्तव में संशोधन समय (काफी सामान्य) के समान है।

ध्यान दें कि फाइलों को सूचीबद्ध करने से उनकी पहुंच का समय नहीं बदलता है - फाइल lsकेवल इनकोड कैश द्वारा एक्सेस नहीं की जाती हैं ।


जब मैं टाइप ls -l --time=atimeकरता हूं तो समय नहीं बदला जाता है (मेरा मानना ​​है कि समय के साथ कॉलम है) )।
xralf

@xralf क्या आपने दोनों को दोहराया touchऔर ls? मैंने इसका उत्तर और स्पष्ट करने के लिए संपादित किया।
रोज़ज़ेट्रिएवेज़ज़ सिप

जब मैं फ़ाइल टाइप करता हूं। एक्सेस टाइम बदल जाता है, लेकिन जब मैं फाइल टाइप करता हूं। तो एक्सेस टाइम नहीं बदला जाता है।
१२:११ बजे १२ बजे xralf

1

--full-timeध्वज को जोड़ने के लिए इस तरह का परीक्षण करते समय यह उपयोगी हो सकता है lsताकि आपको सेकंड और उप-सेकंड देखने को मिलें ताकि आप मिनट सीमाओं से विवश हुए बिना प्रभाव देख सकें।

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