मुझे कैसे पता चलेगा कि लिनक्स सिस्टम कितने समय पहले स्थापित किया गया था?


97

लिनक्स सिस्टम पहली बार स्थापित होने के बाद से मैं कैसे समय पा सकता हूं, बशर्ते कि किसी ने इसे छिपाने की कोशिश न की हो?


उम्र से आपका क्या मतलब है?
Let_Me_Be

@ लेट: जिस समय से इसे स्थापित किया गया था।

1
@ लेट: मैं "कुछ / दोस् त / फ़ाइल की टाइमस्टैम्प की जाँच" की तर्ज पर एक उत्तर की उम्मीद कर रहा था, यह कभी संशोधित नहीं होता है। " कृपया इसका उत्तर दें।

2
क्या ऐसा नहीं है कि [थिसस शिप] (en.wikipedia.org/wiki/Ship_of_Theseus) की उम्र पूछने जैसा कोई सा है?
तोबू

2
जब एक लिनक्स इंस्टॉलेशन के प्रत्येक भाग को वर्षों में बदल दिया गया है, तो क्या यह अभी भी वही इंस्टॉलेशन है? (एक जहाज के मूल सादृश्य के रूप में भी, जिसके सभी भागों को धीरे-धीरे बदल दिया गया था) मैं पूछता हूं क्योंकि मेरा रूट विभाजन डिस्क और फाइल सिस्टम बदल गया है, और मेरा घर विभाजन उससे भी पुराना है। कुछ उपकरणों को एक बार सोने की छवियों के रूप में तैयार किया जाता है, फिर तैनाती पर कस्टम होस्टनाम, एसएच होस्ट कुंजी और एफएस यूआईडी प्राप्त करते हैं। सोने की छवियों को फिर से संशोधित और जमे हुए किया जा सकता है, जैसे टर्नकी लिनेन वंश।
तोबू

जवाबों:


99
tune2fs -l /dev/sda1 **OR** /dev/sdb1*  | grep 'Filesystem created:'

यह आपको बताएगा कि फ़ाइल सिस्टम कब बनाया गया था।

* = आप के पहले कॉलम में df /उपयोग करने के लिए सटीक विभाजन पा सकते हैं।


4
आमतौर पर /dev/sda1या ऐसा कुछ (जो df /पहले कॉलम में दिखाता है), लेकिन सिद्धांत ध्वनि है।
गाइल्स

1
अरे, यह जानना आसान है, धन्यवाद। और यह जानकारी फाइलसिस्टम को कॉपी करने से भी बचती है। +1।
फहीम मीठा

4
समाधान अच्छा है, लेकिन फाइलसिस्टम निर्भर है और रूट विशेषाधिकारों की आवश्यकता है।
गोलेम

7
+1। हालाँकि, मुझे यह ध्यान रखना होगा कि मेरा वर्तमान डेस्कटॉप 1994 के आसपास बनाया गया था। इसके बारे में बिल्कुल सब कुछ तब से कई बार बदल गया है (डिस्क सहित, और फाइलसिस्टम प्रकार मैं उपयोग करता हूं) लेकिन यह अभी भी एक ही प्रणाली है। यह विधि केवल, सबसे अच्छी तरह से, मुझे एक नई फाइलसिस्टम के लिए सबसे हालिया कदम की तारीख बताएगी।
कैस

यह स्वीकृत उत्तर नहीं होना चाहिए क्योंकि यह केवल ext2 (शायद ext4 तक) के साथ काम करता है?
सोगर

23

डंप 2 एफ के साथ रूट फाइल सिस्टम की तारीख की जांच करें। मैं वास्तव में यह नहीं सोच सकता कि आप जिस तारीख की तलाश में हैं, उसके अलावा कुछ और कैसे हो सकता है:

dumpe2fs $(mount | grep 'on \/ ' | awk '{print $1}') | grep 'Filesystem created:'

1
... याtune2fs -l
फोर्सफेक

2
आप यह उल्लेख करना भूल गए कि यह केवल ext2 / ext3 / ext4 फाइल सिस्टम पर लागू है।
Let_Me_Be

आपको मेरी कई मशीनों पर गलत तारीख मिलेगी, जहां मैंने हार्ड ड्राइव को अपग्रेड किया है, और बस इंस्टॉल को कॉपी किया है।
derobert

1
@derobert, मुझे अभी भी लगता है कि मेरा उत्तर सही होगा, ओपी प्रश्न दिया। एक नई डिस्क नई रैम से अलग नहीं है - आपके पास अभी भी एक ही 'इंस्टॉलेशन' है, भले ही आप एक नई डिस्क को पॉप
अप करें

@ पीबॉइन नहीं, जब मैं इंस्टॉल को कॉपी करता हूं, तो इसकी एक बड़ी डिस्क, इसलिए मैं रिपर्टिशन और एमकेएफएस (फिर इसे कॉपी करने के लिए टार / सीपी का उपयोग करता हूं, डीडी नहीं)। यहां तक ​​कि एक अलग फाइल सिस्टम हो सकता है (उदाहरण के लिए, ext2 -> ext3 -> ext4) तो आपको उस समय मिलेगा जब मैंने इंस्टॉल को कॉपी किया था। ओपी को जिस तारीख की तलाश है, उसके अलावा यह कैसे हो सकता है।
derobert

16

आसपास कुछ तारीखें पड़ी हैं।

  • सभी फाइलों में तारीखें हैं।
  • लॉग फाइल में तारीखें होती हैं।

डेबियन या उबंटू और उनके डेरिवेटिव पर, /var/log/installer/syslogनिश्चित उत्तर के लिए देखें यदि यह मौजूद है तो यह टपकाना के लॉग का हिस्सा है।

लेकिन खबरदार यह गारंटी नहीं है। (कुछ कारणों से अन्य उत्तर / टिप्पणियाँ देखें यह काम नहीं कर सकता है।)


हालांकि यह डेबियन / उबंटू के लिए विशिष्ट हो सकता है।
फहीम मीठा

@ फहीम मीठा: उबंटू के लिए एक ही फ़ाइल / निर्देशिका का उपयोग किया जाता है।
बिलथोर

1
@ बिल: हां, मैंने डेबियन / उबंटू के लिए विशिष्ट कहा। मतलब यह नुस्खा डेबियन और उबंटू दोनों के लिए काम करेगा, लेकिन संभवतः अन्य (गैर-डेबियन-आधारित) लिनक्स वितरण के लिए नहीं।
फहीम मीठा

लेकिन सभी फाइलें एक सृजन तिथि नहीं हैं। AFAIK जन्म तिथि केवल ext4 में पेश की गई थी, और यह वैसे भी POSIX नहीं है।
कोनराड गजेस्की

@KonradGajewski लेकिन इस उत्तर पर, या इसके किसी भी टिप्पणी में फ़ाइल निर्माण की तारीख का उल्लेख है।
ctrl-alt-delor

12

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

1
कैसे rpm -qiदेता है Install Date: Mon 07 Jul 2014 03:20:44 PM UTC, जबकि tune2fsकहता है Filesystem created: Sat Dec 20 23:41:41 2014?
बेंजामिन

मेरे एज़्योर के वीएम पर सभी का समय समान है, इसलिए आरपीएम बिल्कुल भी विश्वसनीय नहीं है
क्रिस

10

फाइलसिस्टम और डिस्ट्रीब्यूशन (जो मैं साथ आ सकता हूं) के लिए सबसे तटस्थ समाधान द्वारा दी गई सबसे पुरानी फाइल का उपयोग करना है ls -lact /etc, जो निर्माण समय के लिए प्रत्येक फाइल के मेटाडेटा को देखता है। हालांकि इसका लाभ उठाया जा सकता है, यह touchअभिलेखागार (जैसे tar -pटाइमस्टैम्प को संरक्षित करने के लिए) द्वारा बनाई गई फ़ाइलों या फ़ाइलों से प्रभावित नहीं होता है ।

मुझे लगता है कि निर्देशिका फ़ाइलों के बजाय को देखने के लिए के बाद से निर्देशिका सबसे अच्छा है है उनके निर्माण समय मेटाडाटा में बदलाव होने पर उनकी सामग्री को बदलने (शायद किसी को ऐसा क्यों है पर प्रकाश डाला सकता है?)

ls -lact --full-time /etc |tail

जिन सिस्टमों में GNU Coreutils की कमी है, उन्हें --full-timeविकल्प को हटा देना चाहिए (क्रम क्रम अभी भी सही होगा और आपको अभी भी दिन मिलेगा)। आप फ़ाइल के मेटाडेटा से निर्माण समय प्राप्त कर सकते हैं stat FILE |grep Change(इसके द्वारा सूचीबद्ध सबसे पुरानी फ़ाइल पर ls -lact)।

अन्य गैर-लिनक्स प्रणालियों पर, statसंभावना है कि थोड़ी अलग व्यवस्था में जानकारी हो, संभवतः अलग-अलग झंडे की आवश्यकता हो। ध्यान दें कि यह अभी भी फ़ाइल के मेटाडेटा का उपयोग करता है और सटीकता की गारंटी नहीं है।

यह भी ध्यान रखें कि statGNU 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(बीएसडी के साथ)।


6

फेडोरा में, एनाकोंडा इंस्टॉलर रूट के होम फ़ोल्डर में आपके इंस्टॉल के कॉन्फ़िगरेशन विवरण को संग्रहीत करता है, जो आपको कुछ विचार दे सकता है।

डेबियन पर (कम से कम हाल ही में), स्थापित से कई लॉग में संग्रहीत हैं /var/log/installer/। पुराने संस्करणों ने उन्हें संग्रहीत किया /var/log/installer.*। यह कम से कम 2003 तक है।


4

जैसा कि ओपी ने निवेदन किया है।

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

आप सबसे पुरानी फाइलों की खोज करके उम्र का अनुमान लगा सकते हैं।


mattdm सही है; आप पहुँच समय, संशोधन समय और परिवर्तन समय प्राप्त कर सकते हैं; समय अंतिम है। इस SO पोस्ट को
माइकल मर्जेक


2

मैं सबसे पुरानी फ़ाइल / बूट में देखता हूं ("ls -ltr / boot के ऊपर"। अक्सर पहली स्थापना से एक मूल बूट सेक्टर होता है। मेरी सबसे पुरानी प्रणाली पर यह सब कुछ बदलने के बावजूद मूल स्थापना की तारीख देता है। मशीन और कुछ समय के आसपास फाइल सिस्टम की सामग्री को कॉपी किया :)


2

मैं इसी तरह के उपकरण की तलाश में हूं, और सबसे अच्छा मैं साथ आ सकता था ls -lAhF /etc/hostname, बस होस्टनाम फ़ाइल की उम्र। मुझे लगता है, सामान्य तौर पर, सिस्टम का होस्टनाम शुरुआत में सेट होता है, और सिस्टम के जीवन के दौरान अपरिवर्तित छोड़ दिया जाता है। फाइलसिस्टम के निर्माण की तिथि प्रमाणित योग्य है, लेकिन भ्रामक हो सकती है। मैं, उदाहरण के लिए, अक्सर वर्चुअल मशीन छवि का उपयोग करता हूं, जिसे मैंने कुछ समय पहले स्थापित किया है, इसे कॉपी करें, होस्टनाम बदलें और इसके साथ एक नया सर्वर बनाएं। इसलिए, मेरे मामले /etc/hostnameमें इससे बेहतर संकेत हैtune2fs -l /dev/sda1


1

यदि आपने स्थापना के दौरान LVM का उपयोग किया है, तो आप स्थापना दिवस पर किए गए लॉजिकल वॉल्यूम की निर्माण तिथि देख सकते हैं, उदाहरण:

$ sudo lvdisplay /dev/mapper/KUbuntu_VG-rootFS | grep Creation
  LV Creation host, time kubuntu, 2014-12-28 20:52:15 +0100

0

ls -alct /root -> रूट होम निर्देशिका स्थापित समय पर बनाई गई है


1
लेकिन बाद में इसमें बदलाव हो सकता है। /यदि कर्नेल को रखा नहीं गया है, तो समय थोड़ा कम होने की संभावना है /, लेकिन यह अभी भी बहुत अच्छा संकेतक नहीं है। (अनुस्मारक: -cनिर्माण का समय नहीं है, यह मेटाडेटा परिवर्तन का समय है। अधिकांश यूनिक्स फाइल सिस्टम फ़ाइल के निर्माण समय को संग्रहीत नहीं करते हैं।)
गाइल्स

मुझे किसी भी समय दिखा सकते हैं जिसे बदला नहीं जा सकता :)
जेट

सवाल यह था कि "किसी ने इसे छिपाने की कोशिश नहीं की"। के /rootसमय को स्वाभाविक रूप से बदलने की संभावना है (उदाहरण के लिए हर बार जब कोई व्यक्ति वहां एक फ़ाइल बनाता है)।
गाइल्स

0

एक समय से पहले, मैं आमतौर पर चूने के समय स्थापित करता हूं कि लिनक्स वितरण टपटीम नामक एक पैकेज है , जो चल रहे समय, स्टार्टअप, शटडाउन के बारे में उपयोगी आंकड़े रखता है ...

आपके प्रश्नों के लिए, लाइन "सिस्टम लाइफ" में वह जानकारी है। उदाहरण के रूप में:

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/



-4

मुझे एक साधारण फाइल मिली। नाम "1"। शायद पहली फाइल है।

▶ ls -lact --full-time /1
-rw-r--r--. 1 root root 0 2017-03-23 12:02:46.880994133 +0800 /1

नीचे क्यों यह समय वास्तव में अंतिम प्रणाली स्थापित समय को इंगित करता है।
यूटोपिक एक्‍सप्रेस

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