मुझे लगा कि मैं विशेष फाइलों के टाइमस्टैम्प की आसानी से जांच कर सकता हूं। तब मुझे एहसास हुआ कि जब मैंने टाइमस्टैम्प को देखा तो यह इतना आसान नहीं होगा 1991
।
मुझे लगा कि मैं विशेष फाइलों के टाइमस्टैम्प की आसानी से जांच कर सकता हूं। तब मुझे एहसास हुआ कि जब मैंने टाइमस्टैम्प को देखा तो यह इतना आसान नहीं होगा 1991
।
जवाबों:
सबसे सरल तरीका शायद होगा (अनुमान sda1 है आपका / जड़ /):
tune2fs -l / dev / sda1 | grep बनाया गया
यह आपको उस तारीख को दिखाना चाहिए जिस पर फ़ाइल सिस्टम बनाया गया था। Ext2 से ext4 पर काम करने की पुष्टि की, अन्य फाइल सिस्टम के बारे में निश्चित नहीं है!
cp -a
डेटा ओवर करता हूं । इसलिए संक्षेप में: सभी मामलों में प्रणाली की आयु निर्धारित करना संभव नहीं है।
/dev/root
करना थोड़ा अधिक सामान्य है।
एक तंत्र जो मैं अक्सर उपयोग करता हूं वह रूट होम डायरेक्टरी के भीतर फाइलों पर परिवर्तन समय (समय) की जांच करना है। चूंकि /root
होम डाइरेक्टरी को स्थापित समय पर बनाया गया है, और अक्सर इसका उपयोग किया जाता है, यह अपेक्षाकृत अच्छा सन्निकटन प्रदान कर सकता है। जैसा कि टिप्पणियों में काइल द्वारा स्पष्ट किया गया है, क्योंकि समय से तात्पर्य इनोड को संदर्भित करता है, और डेटा को नहीं, फ़ाइल सामग्री को संशोधित करने से समय को नहीं बदलेगा।
डिफ़ॉल्ट रूप से, ls
कमांड फ़ाइल के संशोधन समय (माइम) को प्रिंट करता है। तो अगर इस तरह के समय विकल्प में स्थानापन्न,
ls -alct /root
यह सभी फाइलों को प्रिंट करेगा, क्रिएट टाइम प्रदर्शित करेगा, और समय के अनुसार क्रमित करेगा।
एक उदाहरण के रूप में, यहां /root
मेरे सिस्टम में से एक में 3 सबसे पुरानी फाइलों का एक नमूना है ।
ls -alt install.log.syslog .cshrc .tcshrc
-rw-r--r--. 1 root 10238 Feb 18 2010 install.log.syslog
-rw-r--r--. 1 root 129 Dec 3 2004 .tcshrc
-rw-r--r--. 1 root 100 Sep 22 2004 .cshrc
और फिर परिवर्तन समय की जाँच करके
ls -alct install.log.syslog .cshrc .tcshrc
-rw-r--r--. 1 root 100 Feb 18 2010 .cshrc
-rw-r--r--. 1 root 10238 Feb 18 2010 install.log.syslog
-rw-r--r--. 1 root 129 Feb 18 2010 .tcshrc
2010 की तारीख 18 फरवरी निश्चित रूप से अनुमानित समय के साथ ट्रैक करती है, जो मैंने पहली बार उस सिस्टम को स्थापित किया होगा।
प्रयत्न
ls -alp /etc/ssh/ssh_host_dsa_key.pub | cut -d " " -f6
जब आप ओएस स्थापित करते हैं, तो कुंजी उत्पन्न होती है।
ls
तो दिनांक को अलग से दिखाता है (कम से कम मेरी मशीन पर) इसलिए cut
कमांड सही से काम नहीं करता है। मैं अब उपयोग करूंगा stat -c %y /etc/ssh/ssh_host*pub
। इसके अलावा, मुझे आश्चर्य है कि फ़ाइल निर्माण के समय ने लिनक्स पर अधिक प्यार क्यों नहीं प्राप्त किया ...
हार्डवेयर की जाँच करना एक अच्छी शर्त होगी, यदि आपके पास इसकी पहुँच है। आप सिस्टम और / या हार्डवेयर घटकों का निरीक्षण कर सकते हैं कि कब इसे इकट्ठा किया गया था।
वैकल्पिक रूप से, यदि आप BIOS स्क्रीन तक पहुंच प्राप्त कर सकते हैं तो अक्सर तारीख की जानकारी होती है जिसका उपयोग यह निर्धारित करने के लिए किया जा सकता है कि मशीन कितनी पुरानी है।
यदि आप हार्ड ड्राइव पर SMART जानकारी तक पहुँच प्राप्त कर सकते हैं ( smartctl -a /dev/sda
) वहाँ जाने के लिए कुछ हो सकता है। मुझे स्मार्ट में एक विशिष्ट टाइमस्टैम्प दिखाई नहीं देता है लेकिन कम से कम एक घंटे का उपयोग काउंटर है। यह मशीन कितनी पुरानी है इस पर एक कम बाउंड प्रदान करेगा (यदि हार्ड ड्राइव 100 घंटे से चल रही है, तो सिस्टम 100 घंटे से कम नहीं हो सकता है)।
फाइलसिस्टम जांच के लिए, आप उस तारीख की जानकारी देख सकते हैं /lost+found
- जब फाइलसिस्टम बनाया गया था तब वह निर्देशिका बनाई गई थी। इस पर तारीख को पिछले उत्तर से ट्यूनफ़ोर्स जानकारी से सहमत होना चाहिए।
/lost+found
संकेत के लिए +1 , क्योंकि यह जानकारी गैर-विशेषाधिकार प्राप्त उपयोगकर्ताओं के लिए उपलब्ध है। सुपर फाइलर के रूप में रूट फाइलसिस्टम पर ट्यून 2 एफएस जैसा बैच ऑपरेशन चलाना थोड़ा चिंताजनक है। इसके अलावा, यह समाधान FreeBSD और गैर-ext2 / 3/4 फाइल सिस्टम पर काम करता है।
RedHat और डेरिवेटिव के साथ, फ़ाइल आयु और अन्य सिस्टम फ़ाइलों के संयोजन के माध्यम से OS संस्करण / विंटेज का एक सामान्य विचार प्राप्त करना बहुत आसान है। मैं आमतौर पर /root/anaconda-ks.cfg
फ़ाइल की जांच करता हूं , क्योंकि इसमें प्रारंभिक सर्वर सेटअप और पैकेज पैरामीटर शामिल हैं। कभी-कभी uname -a
कर्नेल बिल्ड डेट के बारे में अच्छी जानकारी होगी। उसी तिथि में फ़ाइलों का एक समूह भी होगा /etc
; आम तौर पर rcx.d लिंक, आरसी स्क्रिप्ट, इनटैब आदि।