Bir Linux sistemi ilk kurulduğundan beri, kimsenin onu saklamaya çalışmadığı sürece, nasıl bulabilirim?
Bir Linux sistemi ilk kurulduğundan beri, kimsenin onu saklamaya çalışmadığı sürece, nasıl bulabilirim?
Yanıtlar:
tune2fs -l /dev/sda1 **OR** /dev/sdb1* | grep 'Filesystem created:'
Bu, dosya sisteminin ne zaman oluşturulduğunu size söyleyecektir.
* = İlk sütunda, df /
kullanılacak tam bölümü bulabilirsiniz.
/dev/sda1
ya da onun gibi bir şey ( df /
ilk sütunda ne varsa), ama ilke sestir.
Kök dosya sisteminin tarihini dumpe2fs ile kontrol edin. Bunun, aradığınız tarihten başka bir şey olabileceğini düşünemiyorum:
dumpe2fs $(mount | grep 'on \/ ' | awk '{print $1}') | grep 'Filesystem created:'
tune2fs -l
Yalan söyleyen birkaç buluşma var.
Debian veya Ubuntu ve türevlerinde, /var/log/installer/syslog
eğer var ise, kesinleşme cevabını, damlatma günlüğünün bir parçası olarak görün.
Ancak bunun garanti edilmediğine dikkat edin. (Çalışmama nedenlerinden bazıları için diğer cevaplara / yorumlara bakınız.)
Red Hat tabanlı dağıtımlarda (örneğin CentOS, Scientific, Oracle vb.) Kullanabilirsiniz:
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.
veya
rpm -q basesystem --qf '%{installtime:date}\n'
Mon 02 May 2016 19:20:58 BST
rpm -qi
bana verir Install Date: Mon 07 Jul 2014 03:20:44 PM UTC
iken tune2fs
diyor Filesystem created: Sat Dec 20 23:41:41 2014
?
Dosya sistemi ve dağıtım için en nötr olan çözüm (bulabildiğim kadarıyla), ls -lact /etc
her bir dosyanın meta verilerini oluşturma süresi boyunca inceleyen tarafından verilen en eski dosyayı kullanmaktır . Bu oyun oynanabilmesine rağmen, touch
arşivlerin çıkarılmasıyla yaratılan dosyalardan veya dosyalardan etkilenmez (örn tar -p
. Zaman damgalarını korumak için).
Ben dizinleri sonra dosyalarda yerine dizinleri bakmak en iyisi yapmak içerikleri değiştirdiğinizde onların oluşturulma zamanı meta verileri değiştirme (belki birileri bu nedenine ışık tutabilir?)
ls -lact --full-time /etc |tail
GNU Coreutils içermeyen sistemler --full-time
seçeneği kaldırmalıdır (sıralama düzeni hala doğru olacak ve hala günü alacaksınız). Oluşturma zamanını bir dosyanın meta verilerinden alabilirsiniz stat FILE |grep Change
(tarafından listelenen en eski dosyada çalıştırın ls -lact
).
Diğer Linux dışı sistemlerde, stat
muhtemelen farklı bayraklar gerektiren bu bilgiyi biraz farklı bir düzende vardır. Bunun hala dosyanın meta verilerini kullandığını ve doğruluğunun garanti edilmediğini unutmayın.
Ayrıca unutmayın stat
GNU coreutils yanlış olma eğilimindedir bir "Birth" zamanı var dan (Linux ext4 verim 0
bilinmeyen var göstermek için, ile FreeBSD UFS ben sorgulanan sistemin daha eski bir "Birth" zaman gösterdi). Doğru değer "Değiştirme" zamanı olarak listelenmiştir.
Fantezi ve sadece en eski dosyanın yaratma zamanını almak istiyorsanız /etc
:
ls -lact --full-time /etc |awk 'END {print $6,$7,$8}'
Bu komut benim için eski bir FreeBSD sisteminde çalıştı (UFS, GNU araçları yok):
stat "/etc/$(ls -act /etc |tail -1)" |awk -F\" '{print $6}'
(Evet, bu ayrıştırıyor ls
ve bu tabu, ama yaramaz şekilde adlandırılmış dosyalar olmamalı /etc
.)
stat
Diğer zaman biçimlerini almak için de kullanabilirsiniz . Örneğin, Unix çağında yaratma zamanını almak için : stat -c %Z FILE
(GNU ile, %Z
"son durum değişim zamanı" dır, ancak yukarıda belirtildiği gibi Linux ve BSD sistemlerim için doğru bayrak %W
budur; "dosya doğum zamanı" dır. ) veya stat -f %c FILE
(BSD ile).
Fedora'da, anaconda yükleyicisi, kurulumunuzun yapılandırma ayrıntılarını kökünün ana klasöründe depolar ve bu da size bir fikir verebilir.
Debian'da (en azından daha yeni olanları), kurulumdan birkaç günlük kaydedilmiştir /var/log/installer/
. Eski sürümler onları saklar /var/log/installer.*
. Bu en azından 2003 yılına döndü.
OP tarafından talep edildiği gibi.
Zaman arıyorsanız, sistem kurulduğunda, bunu belirlemenin bir yolu yoktur. Birincisi, sistem dosya oluşturma zamanını etkili bir şekilde sahte klonlanmış (kurulmamış) olabilir.
En eski dosyaları arayarak yaşını tahmin edebilirsiniz.
Benzer bir araç arıyordum ve bulabildiğim en iyi şey ls -lAhF /etc/hostname
, yalnızca ana bilgisayar adı dosyasının yaşıydı. Bence, genel olarak, bir sistemin ana bilgisayar adı başında ayarlanmış ve sistemin ömrü boyunca değişmeden bırakılmıştır. Dosya sisteminin oluşturulmasının tarihi çok yararlıdır, ancak yanıltıcı olabilir. Örneğin, genellikle bir süre önce yüklediğim sanal makineler görüntüsünü kullanıyorum, kopyaladım, ana bilgisayar adını değiştirip ondan yeni bir sunucu oluşturdum. Bu nedenle, benim durumumda /etc/hostname
daha iyi bir göstergedirtune2fs -l /dev/sda1
ls -alct /root
-> root home dizini kurulum sırasında oluşturulur
/
çekirdeği muhafaza değilse değişmiş biraz daha az olasıdır /
, ama yine de çok iyi bir gösterge değil. (Hatırlatma: -c
oluşturma zamanı değil, meta veri değiştirme zamanıdır. Çoğu unix dosya sistemi bir dosyanın yaratma zamanını depolamaz.)
/root
doğal olarak olası değişme (örn her zaman birileri bir dosya oluşturur).
Bir süre önce genellikle linux dağıtımını Tuptime adında bir paketle yüklerim , bu da çalışma süresi, başlangıçlar, kapatmalar hakkında faydalı istatistikler tutar.
Sorularınız için "Sistem ömrü" satırı bu bilgilere sahiptir. Örnek olarak:
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
Daha fazla bilgi: https://github.com/rfrail3/tuptime/
Bu başka bir yol
# rpm -q -last basesystem
basesystem-10.0-7.el7.noarch Tue 11 Jul 2017 03:57:52 PM UTC
Basit bir dosya buldum. "1" adını verin. Belki de ilk dosyadır.
▶ ls -lact --full-time /1
-rw-r--r--. 1 root root 0 2017-03-23 12:02:46.880994133 +0800 /1