Một cách phân phối không xác định ngày cài đặt hệ điều hành là gì?


10

Tôi đang sử dụng máy CrunchBang và đang cố gắng viết một tập lệnh cần có ngày cài đặt hệ điều hành làm tài liệu tham khảo.

Tôi đã tìm kiếm và tìm thấy lệnh này:

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

Nó in

Mar 31 21:24

Tôi không hiểu tail -1phần này, nhưng có thể nhận ra rằng $ 6 $ 7 $ 8 là lần xuất hiện thứ 6 thứ 8 của dòng cuối cùng mà lệnh đang tham chiếu.

Tuy nhiên, tôi nhận ra rằng năm không thể được bao gồm vì năm không được hiển thị trong ls -ltclệnh.

Một số người đề nghị tìm ngày /etcđược tạo và một số kiểm tra, /var/log/syslogv.v ... Tôi nghĩ rằng đây có thể là một chút cụ thể cho bản phân phối.

Khuyến nghị của bạn cho một cách thực sự không rõ ràng để tìm ngày cài đặt hệ điều hành là gì?


1
Tại sao bạn nghĩ ngày kiểm tra /etclà đặc biệt?
Kevin

Gần đây tôi đã đọc được rằng có một số distro có hệ thống phân cấp hệ thống tệp khác nhau như gobolinux và có ấn tượng rằng có thể có nhiều distro tương tự như gobolinux.
Animesh

1
Tôi nghĩ rằng việc kiểm tra / etc dễ mang theo hơn là giả sử một hệ thống tập tin ext. Hoặc chỉ cần kiểm tra thư mục cũ nhất trong /.
Kevin

1
Để hoàn thiện, tôi sẽ lưu ý rằng đầu ra của ls hiển thị thời gian khi nó chưa đến sáu tháng tuổi và năm khi nó còn hơn sáu tháng.
Random832

@Kevin nếu bạn giải nén tệp lưu trữ trong khi vẫn giữ quyền, thư mục / tệp cũ nhất có thể cũ hơn ngày cài đặt hệ thống.
scai

Câu trả lời:


8

Nếu giả định là bạn có hệ thống tệp mở rộng {2,3,4} và bạn đã định dạng hệ thống tệp gốc khi bạn cài đặt HĐH (và không thực hiện nâng cấp từ hệ điều hành khác mà không xóa), bạn có thể sử dụng dumpe2fs:

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

Là đầu ra được chuyển hướng đến một nơi nào đó hoặc một tập tin, bởi vì không có gì xảy ra khi tôi chạy lệnh.
Animesh

Bạn sẽ phải cung cấp thiết bị cho hệ thống tập tin gốc của bạn, thay vì / dev / mapper / vg_desktop-lv_root. Kiểm tra đầu ra của df /để có được nó. Tôi chắc rằng bạn có thể tự động hóa nó.
jsbillings

Tôi nhận ra rằng tôi đã _thay vì -khi gõ lệnh. Tôi nhận được ngày bây giờ. Cảm ơn.
Animesh

Hoặc là bạn đã không sao lưu, định dạng lại và khôi phục.
psusi

3
Hệ thống tập tin của tôi là reiserfs. Imho, tìm kiếm / vv là một cách tiếp cận tốt hơn.
người dùng không xác định

0

Tôi không biết bất kỳ phương pháp chính thức nào cho việc này.

Những gì tôi đã luôn luôn làm là:

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

Điều đó tạo ra một tệp có tên 'install-' theo sau là ngày hiện tại (nếu được chạy hôm nay thì nó sẽ được cài đặt-2012-04-03) và đặt nó là bất biến, vì vậy nó không thể bị xóa một cách tình cờ.

Sau đó, nó chỉ là một vấn đề nhìn vào tập tin đó để xem khi hệ điều hành được cài đặt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.