स्थापना के बाद से लिनक्स सिस्टम की "आयु" का निर्धारण कैसे करें?


39

मुझे लगा कि मैं विशेष फाइलों के टाइमस्टैम्प की आसानी से जांच कर सकता हूं। तब मुझे एहसास हुआ कि जब मैंने टाइमस्टैम्प को देखा तो यह इतना आसान नहीं होगा 1991


मुझे इन सभी उत्तरों से प्यार है, और कुछ को उकेरा है, और उनसे सीखा है। लेकिन मेरे साथ ऐसा होता है कि यह प्रश्न अच्छी तरह से परिभाषित नहीं है: उदाहरण के लिए, मेरा कोलॉइड बॉक्स मदरबोर्ड के दो अवतारों और HDD के चार पूर्ण परिवर्तनों के माध्यम से चल रहा है, जो एफएस डंप हो रहा है। हर बार बहाल। मेरे सभी एसएस सार्वजनिक कुंजी दिनांक 19 फरवरी, 2001 हैं; लेकिन रूट FS को जून 11 2010, 20:59:01 बनाया गया था, जब मोबो को अंतिम बार अपग्रेड किया गया था (डिस्क के साथ); अभी तक अन्य परीक्षण अभी तक अलग-अलग परिणाम देते हैं, और यह मेरे लिए होता है: आप एक लिनक्स सिस्टम की उम्र को कैसे परिभाषित करते हैं (खोज नहीं)?
मडहर्ट

4
जाहिर तौर पर इसे शिप ऑफ थिसस समस्या के रूप में भी जाना जाता है; en.wikipedia.org/wiki/Ship_of_Theseus देखें ।
मडहर्ट

मेरे पास हमेशा एक विभाजन के साथ एक hdd होता है जो मशीन खरीदने के बाद से मौजूद होता है ... मैं एक नया ड्राइव खरीदने या नए कर्नेल के साथ एक नया रूट विभाजन बनाने के लिए आवश्यक सभी सामान डालता हूं। मेरे साथ नहीं हुआ :-)
१is

जवाबों:


47

सबसे सरल तरीका शायद होगा (अनुमान sda1 है आपका / जड़ /):

tune2fs -l / dev / sda1 | grep बनाया गया

यह आपको उस तारीख को दिखाना चाहिए जिस पर फ़ाइल सिस्टम बनाया गया था। Ext2 से ext4 पर काम करने की पुष्टि की, अन्य फाइल सिस्टम के बारे में निश्चित नहीं है!


1
जब मुझे अपने पीसी के लिए एक नई ड्राइव मिलती है तो मैं आमतौर पर उस पर विभाजन बनाता हूं और फिर cp -aडेटा ओवर करता हूं । इसलिए संक्षेप में: सभी मामलों में प्रणाली की आयु निर्धारित करना संभव नहीं है।
ह्यूबर्ट करियो

शायद उपयोग /dev/rootकरना थोड़ा अधिक सामान्य है।
दोपहर

मैंने पिछले एक के ऊपर एक नई प्रणाली स्थापित की, sda1 FS को रखते हुए, और इस प्रकार नीचे MishM (ssh कीज़) का समाधान अधिक सटीक था।
रिंग Ø

14

एक तंत्र जो मैं अक्सर उपयोग करता हूं वह रूट होम डायरेक्टरी के भीतर फाइलों पर परिवर्तन समय (समय) की जांच करना है। चूंकि /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 फरवरी निश्चित रूप से अनुमानित समय के साथ ट्रैक करती है, जो मैंने पहली बार उस सिस्टम को स्थापित किया होगा।


4
ctime वास्तव में एक फ़ाइल का निर्माण समय नहीं है, बल्कि परिवर्तन का समय है। यह आखिरी बार है जब मैंने इनोड में बदलाव किया था। यदि आप किसी फ़ाइल के अनुमतियों या स्वामी को बदलते हैं तो यह बदल जाएगा। संभावना मालिक हैं / / रूट फ़ोल्डर की अनुमतियाँ ही नहीं बदली है यही कारण है कि यह अस्तर है। (मुझे नहीं पता कि सी वास्तव में किस लिए खड़ा है - सिंगल यूनिक्स विनिर्देशन में "time_t st_ctime अंतिम स्थिति परिवर्तन का समय" है।
काइल ब्रांट

दरअसल, इंस्टॉलर लॉग की तारीख / समय। जो आपके वितरण / ओएस के आधार पर हो सकता है या नहीं हो सकता है।
Koos van den Hout

6

प्रयत्न

ls -alp /etc/ssh/ssh_host_dsa_key.pub | cut -d " " -f6

जब आप ओएस स्थापित करते हैं, तो कुंजी उत्पन्न होती है।


3
यह एक अच्छा विचार है, हालांकि एसएसएच कुंजी में कुछ कमजोरियां पाई गई हैं और यदि आपने सिस्टम अपडेट किया है (और आपको सिस्टम अपडेट करना चाहिए!) तो चाबियाँ फिर से तैयार हो गई होंगी।
जोश

उत्कृष्ट विचार! हालाँकि, यदि कुंजी पर्याप्त नई है, lsतो दिनांक को अलग से दिखाता है (कम से कम मेरी मशीन पर) इसलिए cutकमांड सही से काम नहीं करता है। मैं अब उपयोग करूंगा stat -c %y /etc/ssh/ssh_host*pub। इसके अलावा, मुझे आश्चर्य है कि फ़ाइल निर्माण के समय ने लिनक्स पर अधिक प्यार क्यों नहीं प्राप्त किया ...
रेनेक्स

3

हार्डवेयर की जाँच करना एक अच्छी शर्त होगी, यदि आपके पास इसकी पहुँच है। आप सिस्टम और / या हार्डवेयर घटकों का निरीक्षण कर सकते हैं कि कब इसे इकट्ठा किया गया था।

वैकल्पिक रूप से, यदि आप BIOS स्क्रीन तक पहुंच प्राप्त कर सकते हैं तो अक्सर तारीख की जानकारी होती है जिसका उपयोग यह निर्धारित करने के लिए किया जा सकता है कि मशीन कितनी पुरानी है।

यदि आप हार्ड ड्राइव पर SMART जानकारी तक पहुँच प्राप्त कर सकते हैं ( smartctl -a /dev/sda) वहाँ जाने के लिए कुछ हो सकता है। मुझे स्मार्ट में एक विशिष्ट टाइमस्टैम्प दिखाई नहीं देता है लेकिन कम से कम एक घंटे का उपयोग काउंटर है। यह मशीन कितनी पुरानी है इस पर एक कम बाउंड प्रदान करेगा (यदि हार्ड ड्राइव 100 घंटे से चल रही है, तो सिस्टम 100 घंटे से कम नहीं हो सकता है)।

फाइलसिस्टम जांच के लिए, आप उस तारीख की जानकारी देख सकते हैं /lost+found- जब फाइलसिस्टम बनाया गया था तब वह निर्देशिका बनाई गई थी। इस पर तारीख को पिछले उत्तर से ट्यूनफ़ोर्स जानकारी से सहमत होना चाहिए।


/lost+foundसंकेत के लिए +1 , क्योंकि यह जानकारी गैर-विशेषाधिकार प्राप्त उपयोगकर्ताओं के लिए उपलब्ध है। सुपर फाइलर के रूप में रूट फाइलसिस्टम पर ट्यून 2 एफएस जैसा बैच ऑपरेशन चलाना थोड़ा चिंताजनक है। इसके अलावा, यह समाधान FreeBSD और गैर-ext2 / 3/4 फाइल सिस्टम पर काम करता है।
स्टीफन लासिवस्की

3

RedHat और डेरिवेटिव के साथ, फ़ाइल आयु और अन्य सिस्टम फ़ाइलों के संयोजन के माध्यम से OS संस्करण / विंटेज का एक सामान्य विचार प्राप्त करना बहुत आसान है। मैं आमतौर पर /root/anaconda-ks.cfgफ़ाइल की जांच करता हूं , क्योंकि इसमें प्रारंभिक सर्वर सेटअप और पैकेज पैरामीटर शामिल हैं। कभी-कभी uname -aकर्नेल बिल्ड डेट के बारे में अच्छी जानकारी होगी। उसी तिथि में फ़ाइलों का एक समूह भी होगा /etc; आम तौर पर rcx.d लिंक, आरसी स्क्रिप्ट, इनटैब आदि।


3

यह Red Hat सिस्टम के लिए भी काम करता है:

rpm -qi basesystem | grep "Install Date"

ध्यान दें कि यह (और tune2fs चाल) आभासी मशीनों के साथ कम अच्छी तरह से काम करता है, अगर वे एक आम छवि से अलग हो रहे हैं। Ssh होस्ट कीज़ की जाँच मेरे लाइनोड पर सटीक है, हालाँकि।
cjc
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.