วิธีการทางผู้ไม่เชื่อเรื่องพระเจ้ากำหนดวันที่ติดตั้งระบบปฏิบัติการคืออะไร?


10

ฉันอยู่ในเครื่อง CrunchBang และพยายามเขียนสคริปต์ที่ต้องมีวันที่ติดตั้งระบบปฏิบัติการเป็นข้อมูลอ้างอิง

ฉันค้นหาและพบคำสั่งนี้:

ls -lct /etc | tail -1 | awk '{print $6, $7, $8}'

มันพิมพ์

Mar 31 21:24

ฉันไม่เข้าใจtail -1ส่วนนี้ แต่ก็สามารถเข้าใจได้ว่า $ 6 $ 7 $ 8 เป็นเหตุการณ์ที่เกิดขึ้นครั้งที่ 6 ในลำดับที่ 6 ของลำดับที่ 6 ที่ 7 ซึ่งเป็นคำสั่งที่อ้างอิง

อย่างไรก็ตามฉันตระหนักว่าปีที่ไม่สามารถรวมเป็นปีที่ไม่ได้แสดงในls -ltcคำสั่ง

บางคนแนะนำให้หาวันที่ที่/etcถูกสร้างขึ้นและบางคนกำลังตรวจสอบและ/var/log/syslogอื่น ๆ ฉันคิดว่าสิ่งเหล่านี้อาจจะเฉพาะเจาะจงสำหรับ distro

อะไรคือคำแนะนำของคุณสำหรับวิธีการที่ไม่เชื่อเรื่องพระเจ้าอย่างแท้จริงในการค้นหาวันที่ติดตั้งระบบปฏิบัติการ?


1
ทำไมคุณคิดว่า/etcวันที่สร้างการตรวจสอบนั้นมีความเฉพาะเจาะจง
เควิน

ฉันเพิ่งอ่านว่ามี distros ที่มีลำดับชั้นของระบบไฟล์ที่แตกต่างกันเช่น gobolinux และอยู่ภายใต้การแสดงผลที่อาจมี distros คล้ายกับ gobolinux
Animesh

1
ฉันคิดว่าการตรวจสอบ / etc นั้นพกพาได้มากกว่าที่คิดว่าเป็นระบบไฟล์ ext /หรือเพียงแค่ตรวจสอบไดเรกทอรีที่เก่าแก่ที่สุดใน
เควิน

1
เพื่อความสมบูรณ์ฉันจะทราบว่าผลลัพธ์ของ ls แสดงเวลาที่มันอายุน้อยกว่าหกเดือนและปีที่มันมากกว่าหกเดือน
Random832

@Kevin หากคุณคลายไฟล์เก็บถาวรในขณะที่สงวนสิทธิ์ไดเรกทอรี / ไฟล์ที่เก่าที่สุดอาจเก่ากว่าวันที่ติดตั้งระบบ
scai

คำตอบ:


8

หากสมมุติว่าคุณมีระบบไฟล์ ext {2,3,4} และคุณได้ฟอร์แมตระบบไฟล์รูทเมื่อคุณติดตั้งระบบปฏิบัติการ (และไม่ทำการอัปเกรดจากระบบปฏิบัติการอื่นโดยไม่ต้องลบล้าง) คุณสามารถใช้ dumpe2fs:

% dumpe2fs -h /dev/mapper/vg_desktop-lv_root 2>&1 |grep 'Filesystem created'
Filesystem created:       Sat Jul 23 04:28:07 2011

ผลลัพธ์ถูกเปลี่ยนเส้นทางไปยังที่อื่นหรือไฟล์เพราะไม่มีอะไรเกิดขึ้นเมื่อฉันเรียกใช้คำสั่ง
Animesh

คุณจะต้องจัดหาอุปกรณ์สำหรับระบบไฟล์รูทของคุณแทนที่จะเป็น / dev / mapper / vg_desktop-lv_root ตรวจสอบผลลัพธ์ของdf /การรับ ฉันแน่ใจว่าคุณสามารถทำให้เป็นแบบอัตโนมัติได้
jsbillings

ฉันรู้ว่าฉันมี_แทนที่จะ-พิมพ์คำสั่ง ฉันได้รับวันที่ตอนนี้ ขอบคุณ
Animesh

หรือว่าคุณไม่ได้สำรองข้อมูลฟอร์แมตและกู้คืน
psusi

3
ระบบไฟล์ของฉันคือ reiserfs อิมโฮกำลังมองหา / etc เป็นวิธีที่ดีกว่า
ผู้ใช้ที่ไม่รู้จัก

0

ฉันไม่รู้วิธีการแบบเป็นทางการสำหรับสิ่งนี้

สิ่งที่ฉันทำมาตลอดคือ:

touch /install-`date +"%F"` && chattr +i /install-20*

ที่สร้างไฟล์ชื่อ 'install-' ตามด้วยวันที่ปัจจุบัน (หากวิ่งวันนี้มันจะเป็น install-2012-04-03) และตั้งเป็นไฟล์ไม่เปลี่ยนรูปดังนั้นจึงไม่สามารถลบได้โดยไม่ตั้งใจ

จากนั้นเป็นเพียงเรื่องของการดูไฟล์นั้นเพื่อดูว่ามีการติดตั้งระบบปฏิบัติการเมื่อใด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.