लिनक्स सिस्टम पहली बार स्थापित होने के बाद से मैं कैसे समय पा सकता हूं, बशर्ते कि किसी ने इसे छिपाने की कोशिश न की हो?
लिनक्स सिस्टम पहली बार स्थापित होने के बाद से मैं कैसे समय पा सकता हूं, बशर्ते कि किसी ने इसे छिपाने की कोशिश न की हो?
जवाबों:
tune2fs -l /dev/sda1 **OR** /dev/sdb1* | grep 'Filesystem created:'
यह आपको बताएगा कि फ़ाइल सिस्टम कब बनाया गया था।
* = आप के पहले कॉलम में df /
उपयोग करने के लिए सटीक विभाजन पा सकते हैं।
/dev/sda1
या ऐसा कुछ (जो df /
पहले कॉलम में दिखाता है), लेकिन सिद्धांत ध्वनि है।
डंप 2 एफ के साथ रूट फाइल सिस्टम की तारीख की जांच करें। मैं वास्तव में यह नहीं सोच सकता कि आप जिस तारीख की तलाश में हैं, उसके अलावा कुछ और कैसे हो सकता है:
dumpe2fs $(mount | grep 'on \/ ' | awk '{print $1}') | grep 'Filesystem created:'
tune2fs -l
आसपास कुछ तारीखें पड़ी हैं।
डेबियन या उबंटू और उनके डेरिवेटिव पर, /var/log/installer/syslog
निश्चित उत्तर के लिए देखें यदि यह मौजूद है तो यह टपकाना के लॉग का हिस्सा है।
लेकिन खबरदार यह गारंटी नहीं है। (कुछ कारणों से अन्य उत्तर / टिप्पणियाँ देखें यह काम नहीं कर सकता है।)
Red Hat आधारित वितरण (जैसे CentOS, वैज्ञानिक, Oracle आदि) पर आप इसका उपयोग कर सकते हैं:
rpm -qi basesystem
Name : basesystem
Version : 10.0
Release : 7.el7
Architecture: noarch
Install Date: Mon 02 May 2016 19:20:58 BST
Group : System Environment/Base
Size : 0
License : Public Domain
Signature : RSA/SHA256, Tue 01 Apr 2014 14:23:16 BST, Key ID 199e2f91fd431d51
Source RPM : basesystem-10.0-7.el7.src.rpm
Build Date : Fri 27 Dec 2013 17:22:15 GMT
Build Host : ppc-015.build.eng.bos.redhat.com
Relocations : (not relocatable)
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor : Red Hat, Inc.
Summary : The skeleton package which defines a simple Red Hat Enterprise Linux system
Description :
Basesystem defines the components of a basic Red Hat Enterprise Linux
system (for example, the package installation order to use during
bootstrapping). Basesystem should be in every installation of a system,
and it should never be removed.
या
rpm -q basesystem --qf '%{installtime:date}\n'
Mon 02 May 2016 19:20:58 BST
rpm -qi
देता है Install Date: Mon 07 Jul 2014 03:20:44 PM UTC
, जबकि tune2fs
कहता है Filesystem created: Sat Dec 20 23:41:41 2014
?
फाइलसिस्टम और डिस्ट्रीब्यूशन (जो मैं साथ आ सकता हूं) के लिए सबसे तटस्थ समाधान द्वारा दी गई सबसे पुरानी फाइल का उपयोग करना है ls -lact /etc
, जो निर्माण समय के लिए प्रत्येक फाइल के मेटाडेटा को देखता है। हालांकि इसका लाभ उठाया जा सकता है, यह touch
अभिलेखागार (जैसे tar -p
टाइमस्टैम्प को संरक्षित करने के लिए) द्वारा बनाई गई फ़ाइलों या फ़ाइलों से प्रभावित नहीं होता है ।
मुझे लगता है कि निर्देशिका फ़ाइलों के बजाय को देखने के लिए के बाद से निर्देशिका सबसे अच्छा है है उनके निर्माण समय मेटाडाटा में बदलाव होने पर उनकी सामग्री को बदलने (शायद किसी को ऐसा क्यों है पर प्रकाश डाला सकता है?)
ls -lact --full-time /etc |tail
जिन सिस्टमों में GNU Coreutils की कमी है, उन्हें --full-time
विकल्प को हटा देना चाहिए (क्रम क्रम अभी भी सही होगा और आपको अभी भी दिन मिलेगा)। आप फ़ाइल के मेटाडेटा से निर्माण समय प्राप्त कर सकते हैं stat FILE |grep Change
(इसके द्वारा सूचीबद्ध सबसे पुरानी फ़ाइल पर ls -lact
)।
अन्य गैर-लिनक्स प्रणालियों पर, stat
संभावना है कि थोड़ी अलग व्यवस्था में जानकारी हो, संभवतः अलग-अलग झंडे की आवश्यकता हो। ध्यान दें कि यह अभी भी फ़ाइल के मेटाडेटा का उपयोग करता है और सटीकता की गारंटी नहीं है।
यह भी ध्यान रखें कि stat
GNU coreutils से एक "जन्म" समय जो गलत हो जाता है है (लिनक्स के साथ ext4 पैदावार 0
यह अज्ञात है इंगित करने के लिए, साथ FreeBSD UFS एक "जन्म" समय है कि प्रणाली मैं पूछे से अधिक पुराना है पता चला है)। सही मान को इसके "परिवर्तन" समय के रूप में सूचीबद्ध किया गया था।
यदि आप कल्पना हो और प्राप्त करना चाहते हैं तो बस के सबसे पुराने फ़ाइल के निर्माण के समय /etc
:
ls -lact --full-time /etc |awk 'END {print $6,$7,$8}'
इस आदेश ने मेरे लिए एक पुरानी FreeBSD प्रणाली (UFS, नो GNU बर्तनों) पर काम किया:
stat "/etc/$(ls -act /etc |tail -1)" |awk -F\" '{print $6}'
(हाँ, यह परस है ls
और यह वर्जित है, लेकिन इसमें शरारती नाम नहीं होना चाहिए /etc
।)
आप stat
अन्य समय प्रारूप प्राप्त करने के लिए भी उपयोग कर सकते हैं । उदाहरण के लिए, यूनिक्स के युग में निर्माण का समय पाने के लिए : stat -c %Z FILE
(जीएनयू के साथ, ध्यान दें कि %Z
"अंतिम स्थिति परिवर्तन का समय" है, लेकिन यह मेरे लिनक्स और बीएसडी सिस्टम के लिए सही ध्वज है, जैसा कि ऊपर उल्लेख किया गया %W
है, "फ़ाइल जन्म का समय" है) ) या stat -f %c FILE
(बीएसडी के साथ)।
फेडोरा में, एनाकोंडा इंस्टॉलर रूट के होम फ़ोल्डर में आपके इंस्टॉल के कॉन्फ़िगरेशन विवरण को संग्रहीत करता है, जो आपको कुछ विचार दे सकता है।
डेबियन पर (कम से कम हाल ही में), स्थापित से कई लॉग में संग्रहीत हैं /var/log/installer/
। पुराने संस्करणों ने उन्हें संग्रहीत किया /var/log/installer.*
। यह कम से कम 2003 तक है।
जैसा कि ओपी ने निवेदन किया है।
यदि आप उस समय की तलाश कर रहे हैं, जब सिस्टम सेटअप किया गया था, तो यह निर्धारित करने का कोई तरीका नहीं है। एक के लिए, सिस्टम क्लोन किया जा सकता है (स्थापित नहीं) जो प्रभावी रूप से फ़ाइल निर्माण समय को नकली करेगा।
आप सबसे पुरानी फाइलों की खोज करके उम्र का अनुमान लगा सकते हैं।
मैं इसी तरह के उपकरण की तलाश में हूं, और सबसे अच्छा मैं साथ आ सकता था ls -lAhF /etc/hostname
, बस होस्टनाम फ़ाइल की उम्र। मुझे लगता है, सामान्य तौर पर, सिस्टम का होस्टनाम शुरुआत में सेट होता है, और सिस्टम के जीवन के दौरान अपरिवर्तित छोड़ दिया जाता है। फाइलसिस्टम के निर्माण की तिथि प्रमाणित योग्य है, लेकिन भ्रामक हो सकती है। मैं, उदाहरण के लिए, अक्सर वर्चुअल मशीन छवि का उपयोग करता हूं, जिसे मैंने कुछ समय पहले स्थापित किया है, इसे कॉपी करें, होस्टनाम बदलें और इसके साथ एक नया सर्वर बनाएं। इसलिए, मेरे मामले /etc/hostname
में इससे बेहतर संकेत हैtune2fs -l /dev/sda1
ls -alct /root
-> रूट होम निर्देशिका स्थापित समय पर बनाई गई है
/
यदि कर्नेल को रखा नहीं गया है, तो समय थोड़ा कम होने की संभावना है /
, लेकिन यह अभी भी बहुत अच्छा संकेतक नहीं है। (अनुस्मारक: -c
निर्माण का समय नहीं है, यह मेटाडेटा परिवर्तन का समय है। अधिकांश यूनिक्स फाइल सिस्टम फ़ाइल के निर्माण समय को संग्रहीत नहीं करते हैं।)
/root
समय को स्वाभाविक रूप से बदलने की संभावना है (उदाहरण के लिए हर बार जब कोई व्यक्ति वहां एक फ़ाइल बनाता है)।
एक समय से पहले, मैं आमतौर पर चूने के समय स्थापित करता हूं कि लिनक्स वितरण टपटीम नामक एक पैकेज है , जो चल रहे समय, स्टार्टअप, शटडाउन के बारे में उपयोगी आंकड़े रखता है ...
आपके प्रश्नों के लिए, लाइन "सिस्टम लाइफ" में वह जानकारी है। उदाहरण के रूप में:
System startups: 110 since 10:15:27 08/08/15
System shutdowns: 107 ok - 2 bad
System uptime: 4.04 % - 1 days, 22 hours, 4 minutes and 44 seconds
System downtime: 95.96 % - 45 days, 13 hours, 57 minutes and 30 seconds
System life: 47 days, 12 hours, 2 minutes and 15 seconds
Largest uptime: 2 hours, 10 minutes and 44 seconds from 20:49:17 09/08/15
Shortest uptime: 9 seconds from 10:23:36 08/08/15
Average uptime: 25 minutes and 8 seconds
Largest downtime: 7 days, 10 hours, 17 minutes and 26 seconds from 06:09:45 10/08/15
Shortest downtime: 15 seconds from 19:27:24 19/09/15
Average downtime: 9 hours, 56 minutes and 42 seconds
Current uptime: 23 minutes and 33 seconds since 21:54:09 24/09/15
अधिक जानकारी: https://github.com/rfrail3/tuptime/
यह एक और तरीका है
# rpm -q -last basesystem
basesystem-10.0-7.el7.noarch Tue 11 Jul 2017 03:57:52 PM UTC
मुझे एक साधारण फाइल मिली। नाम "1"। शायद पहली फाइल है।
▶ ls -lact --full-time /1
-rw-r--r--. 1 root root 0 2017-03-23 12:02:46.880994133 +0800 /1