it-swarm-vi.com

Làm cách nào để tìm hệ thống Linux được cài đặt cách đây bao lâu?

Làm thế nào tôi có thể tìm thấy thời gian kể từ khi một hệ thống Linux được cài đặt lần đầu tiên, với điều kiện không ai cố gắng che giấu nó?

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

Điều này sẽ cho bạn biết khi hệ thống tập tin được tạo ra.

* = Trong cột đầu tiên của df / bạn có thể tìm phân vùng chính xác để sử dụng.

101
RailOcelot

Kiểm tra ngày của hệ thống tập tin gốc với dumpe2fs. Tôi thực sự không thể nghĩ làm thế nào đó có thể là bất cứ điều gì khác ngoài ngày bạn đang tìm kiếm:

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

Có một vài ngày nằm xung quanh.

  • Tất cả các tập tin có ngày.
  • Các tệp nhật ký có ngày trong đó.

Trên Debian hoặc Ubuntu và các dẫn xuất của chúng, xem /var/log/installer/syslog cho câu trả lời dứt khoát nếu nó tồn tại, nó là một phần của nhật ký thấm nhuần.

Nhưng hãy cẩn thận điều này không được đảm bảo. (xem câu trả lời/nhận xét khác cho một số lý do có thể không hoạt động.)

17
ctrl-alt-delor

Trên các bản phân phối dựa trên Red Hat (ví dụ: CentOS, Khoa học, Oracle, v.v.), bạn có thể sử dụng:

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.

hoặc là

rpm -q basesystem --qf '%{installtime:date}\n'
Mon 02 May 2016 19:20:58 BST
14
el_viejillo

Giải pháp trung lập nhất cho hệ thống tệp và phân phối (mà tôi có thể đưa ra) là sử dụng tệp cũ nhất được cung cấp bởi ls -lact /etc, xem xét siêu dữ liệu của mỗi tệp cho thời gian tạo. Mặc dù điều này có thể được chơi, nhưng nó không bị ảnh hưởng bởi touch hoặc các tệp được tạo bằng cách trích xuất tài liệu lưu trữ (ví dụ: tar -p để bảo toàn dấu thời gian).

Tôi nghĩ tốt nhất là xem các tệp thay vì thư mục vì các thư mục làm thay đổi siêu dữ liệu thời gian tạo của chúng khi nội dung của chúng thay đổi (có lẽ ai đó có thể làm sáng tỏ lý do tại sao điều đó Là?)

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

Các hệ thống thiếu GNU Coreutils sẽ xóa --full-time tùy chọn (thứ tự sắp xếp vẫn sẽ chính xác và bạn vẫn sẽ nhận được ngày). Bạn có thể lấy thời gian tạo từ siêu dữ liệu của tệp bằng stat FILE |grep Change (chạy tệp đó trên tệp cũ nhất được liệt kê bởi ls -lact).

Trên các hệ thống không phải Linux khác, stat có thể có thông tin đó theo cách sắp xếp hơi khác, có thể yêu cầu các cờ khác nhau. Lưu ý rằng điều này vẫn sử dụng siêu dữ liệu của tệp và độ chính xác không được đảm bảo.

Cũng lưu ý rằng stat from GNU Coreutils có thời gian "Sinh" có xu hướng sai (Linux với ext4 mang lại 0 để cho biết nó chưa được biết, FreeBSD với UFS hiển thị thời gian "Sinh" cũ hơn hệ thống tôi đã truy vấn). Giá trị chính xác được liệt kê là thời gian "Thay đổi".

Nếu bạn muốn nhận được ưa thích và nhận chỉ cần thời gian tạo tệp cũ nhất trong/etc:

ls -lact --full-time /etc |awk 'END {print $6,$7,$8}'

Lệnh này hoạt động với tôi trên một hệ thống FreeBSD cũ (UFS, no GNU utils):

stat "/etc/$(ls -act /etc |tail -1)" |awk -F\" '{print $6}'

(Có, phân tích cú pháp này ls và đó là điều cấm kỵ, nhưng không nên có các tệp được đặt tên tinh nghịch trong /etc.)

Bạn cũng có thể sử dụng stat để có các định dạng thời gian khác. Ví dụ: để có được thời gian tạo trong nix Epoch : stat -c %Z FILE (với GNU, lưu ý rằng %Z là "thời gian thay đổi trạng thái lần cuối" nhưng đó là cờ chính xác cho các hệ thống Linux và BSD của tôi, như đã lưu ý ở trên; %W là "thời gian sinh tệp") hoặc stat -f %c FILE (với BSD).

10
Adam Katz

Trong Fedora, trình cài đặt anaconda lưu trữ các chi tiết cấu hình của cài đặt của bạn trong thư mục gốc của root, có thể cung cấp cho bạn một số ý tưởng.

Trên Debian (ít nhất là những cái gần đây hơn), một số nhật ký từ bản cài đặt được lưu trữ trong /var/log/installer/. Các phiên bản cũ hơn đã lưu trữ chúng trong /var/log/installer.*. Điều đó ít nhất là trở lại năm 2003.

6
rajaganesh87

Theo yêu cầu của OP.

Nếu bạn đang tìm kiếm thời gian, khi hệ thống được thiết lập, không có cách nào để xác định điều đó. Đối với một, hệ thống có thể đã được nhân bản (không được cài đặt) sẽ giả mạo thời gian tạo tập tin một cách hiệu quả.

Bạn có thể ước tính tuổi bằng cách tìm kiếm các tập tin cũ nhất.

4
Šimon Tóth

Tôi đã tìm kiếm công cụ tương tự, và thứ tốt nhất tôi có thể nghĩ ra là ls -lAhF /etc/hostname, chỉ đơn giản là tuổi của tệp tên máy chủ. Tôi nghĩ, thông thường, tên máy chủ của một hệ thống được đặt ở đầu và không thay đổi trong suốt vòng đời của hệ thống. Ngày tạo ra hệ thống tập tin là hữu ích, nhưng có thể gây hiểu nhầm. Tôi, ví dụ, thường sử dụng hình ảnh máy ảo mà tôi đã cài đặt cách đây một thời gian, sao chép nó, thay đổi tên máy chủ và tạo một máy chủ mới từ nó. Do đó, trong trường hợp của tôi /etc/hostname là dấu hiệu tốt hơn tune2fs -l /dev/sda1

4
user1968963

Tôi xem tập tin cũ nhất trong/boot (đầu "ls -ltr/boot". Thường có một khu vực khởi động ban đầu từ lần cài đặt đầu tiên ở đó. Trên hệ thống cũ nhất của tôi, ngày này cài đặt ban đầu, mặc dù đã thay thế mọi thứ trong Máy và sao chép nội dung của hệ thống tệp một vài lần :)

3
pjc50
ls -alct /|tail -1|awk '{print $6, $7, $8}'
3
altmas5

Nếu bạn đã sử dụng LVM trong khi cài đặt, bạn có thể kiểm tra ngày tạo Khối lượng hợp lý được thực hiện vào ngày cài đặt, ví dụ:

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

ls -alct /root -> thư mục gốc được tạo khi cài đặt

0
jet

Hãy chạy như sau:

  1. hệ thống cơ sở vòng/phút

Và sau đó sử dụng lệnh dưới đây.

  1. vòng/phút (kết quả của lệnh đầu tiên)
0
hamid karimi

Đối phó với các máy ảo, một số hệ thống tệp vv được tạo khi hình ảnh được tạo, có thể rất lâu trước khi thể hiện được tạo.

Dấu thời gian trên /etc/locale.conf dường như được sửa đổi khi cá thể khởi động trong khi tạo cá thể. Đây có thể là thời điểm tốt để sử dụng trừ khi ngôn ngữ được sửa đổi sau này.

Các /etc/hostname là tương tự, ngoại trừ việc chúng tôi sửa đổi nó trong một số tình huống.

Bất kỳ ý tưởng nào về các tệp khác được sửa đổi khi một phiên bản được tạo nhưng không được sửa đổi sau đó?

0
user9114372

Từ một thời gian trước, tôi thường cài đặt vào thời điểm sime rằng gói phân phối linux có tên Tuptime , giữ các số liệu thống kê hữu ích về thời gian chạy, khởi động, tắt máy ...

Đối với câu hỏi của bạn, dòng "Cuộc sống hệ thống" có thông tin đó. Ví dụ như:

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

Thêm thông tin: https://github.com/rfrail3/tuptime/

0
Rfraile

Đây là một cách khác

# rpm -q -last basesystem
basesystem-10.0-7.el7.noarch                  Tue 11 Jul 2017 03:57:52 PM UTC
0
Shirish Shukla