web-dev-qa-db-fra.com

Comment savoir depuis combien de temps un système Linux a été installé?

Comment puis-je trouver le temps écoulé depuis la première installation d'un système Linux, à condition que personne n'ait essayé de le cacher?

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

Cela vous indiquera quand le système de fichiers a été créé.

* = Dans la première colonne de df / vous pouvez trouver la partition exacte à utiliser.

101
RailOcelot

Vérifiez la date du système de fichiers racine avec dumpe2fs. Je ne peux pas vraiment penser à comment cela pourrait être autre chose que la date que vous recherchez:

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

Il y a quelques dates qui traînent.

  • Tous les fichiers ont des dates.
  • Les fichiers journaux contiennent des dates.

Sur Debian ou Ubuntu et leurs dérivés, voir /var/log/installer/syslog pour la réponse définitive si elle existe elle fait partie du log de l'instillation.

Mais attention, ce n'est pas garanti. (Voir d'autres réponses/commentaires pour certaines des raisons pour lesquelles cela peut ne pas fonctionner.)

17
ctrl-alt-delor

Sur les distributions basées sur Red Hat (par exemple CentOS, Scientific, Oracle, etc.), vous pouvez utiliser:

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.

ou

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

La solution la plus neutre vis-à-vis du système de fichiers et de la distribution (que je peux trouver) est d'utiliser le fichier le plus ancien donné par ls -lact /etc, qui examine les métadonnées de chaque fichier pour l'heure de création. Bien que cela puisse être joué, il n'est pas affecté par touch ou les fichiers créés en extrayant des archives (par exemple tar -p pour conserver les horodatages).

Je pense qu'il est préférable de regarder les fichiers plutôt que les répertoires car les répertoires modifient leurs métadonnées de temps de création lorsque leur contenu change (peut-être que quelqu'un peut faire la lumière sur pourquoi cela est?)

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

Les systèmes qui manquent GNU Coreutils devraient supprimer le --full-time option (l'ordre de tri sera toujours correct et vous aurez toujours le jour). Vous pouvez obtenir l'heure de création à partir des métadonnées d'un fichier avec stat FILE |grep Change (exécutez-le sur le fichier le plus ancien répertorié par ls -lact).

Sur d'autres systèmes non Linux, stat a probablement ces informations dans une disposition légèrement différente, nécessitant éventuellement des drapeaux différents. Notez que cela utilise toujours les métadonnées du fichier et que la précision n'est pas garantie.

Notez également que stat de GNU Coreutils a une heure de "naissance" qui a tendance à être erronée (Linux avec ext4 donne 0 pour indiquer qu'il est inconnu, FreeBSD avec UFS a montré une heure de "Naissance" plus ancienne que le système que j'ai interrogé). La valeur correcte a été répertoriée comme son heure de "modification".

Si vous voulez obtenir de la fantaisie et obtenir juste l'heure de création du fichier le plus ancien dans/etc:

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

Cette commande a fonctionné pour moi sur un ancien système FreeBSD (UFS, pas GNU utils):

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

(Oui, cela analyse ls et c'est tabou, mais il ne devrait pas y avoir de fichiers mal nommés dans /etc.)

Vous pouvez également utiliser stat pour obtenir d'autres formats d'heure. Par exemple, pour obtenir l'heure de création dans Epoque Unix : stat -c %Z FILE (avec GNU, notez que %Z est "l'heure du dernier changement d'état" mais c'est le bon indicateur pour mes systèmes Linux et BSD, comme indiqué ci-dessus; %W est le "moment de la naissance du fichier") ou stat -f %c FILE (avec BSD).

10
Adam Katz

Dans Fedora, le programme d'installation anaconda stocke les détails de configuration de votre installation dans le dossier principal de root, ce qui peut vous donner une idée.

Sur Debian (au moins les plus récents), plusieurs journaux de l'installation sont stockés dans /var/log/installer/. Les anciennes versions les stockaient dans /var/log/installer.*. Cela remonte au moins à 2003.

6
rajaganesh87

Comme demandé par OP.

Si vous recherchez l'heure, lorsque le système a été configuré, il n'y a aucun moyen de le déterminer. D'une part, le système peut avoir été cloné (non installé), ce qui aurait pour effet de simuler le temps de création du fichier.

Vous pouvez estimer l'âge en recherchant les fichiers les plus anciens.

4
Šimon Tóth

Je cherchais un outil similaire, et le meilleur que j'ai pu trouver était ls -lAhF /etc/hostname, simplement l'âge du fichier de nom d'hôte. Je pense que, généralement, le nom d'hôte d'un système est défini au début et est resté inchangé pendant la durée de vie du système. La date de création du système de fichiers est certes utile, mais peut être trompeuse. Par exemple, j'utilise souvent l'image de machines virtuelles, que j'ai installée il y a quelque temps, je la copie, je change le nom d'hôte et j'en fais un nouveau serveur. Par conséquent, dans mon cas /etc/hostname est une meilleure indication que tune2fs -l /dev/sda1

4
user1968963

Je regarde le fichier le plus ancien dans/boot (en haut de "ls -ltr/boot". Souvent, il y a un secteur de démarrage d'origine à partir de la première installation là-bas. Sur mon système le plus ancien, cela donne la date de l'installation d'origine, bien qu'il ait tout remplacé dans la machine et copié le contenu du système de fichiers plusieurs fois :)

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

Si vous avez utilisé LVM lors de l'installation, vous pouvez vérifier la date de création d'un volume logique effectué le jour de l'installation, exemple:

$ 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 -> le répertoire personnel racine est créé au moment de l'installation

0
jet

Veuillez exécuter comme suit:

  1. rpm -qa | grep système de base

Et puis utilisez la commande ci-dessous.

  1. rpm -qi (résultat de la première commande)
0
hamid karimi

Le traitement des machines virtuelles, une partie du système de fichiers, etc. ont été créés lors de la création de l'image, peut prendre longtemps avant la création de l'instance.

L'horodatage sur /etc/locale.conf semble modifié au démarrage de l'instance lors de la création de l'instance. Cela peut être un bon moment à utiliser, sauf si les paramètres régionaux sont modifiés ultérieurement.

Le /etc/hostname est similaire, sauf que nous le modifions dans certaines situations.

Une idée des autres fichiers modifiés lors de la création d'une instance mais non modifiés par la suite?

0
user9114372

Depuis un certain temps, j'installe généralement au moment sime que la distribution linux un package appelé Tuptime , qui conserve des statistiques utiles sur le temps d'exécution, les démarrages, arrêts ...

Pour vos questions, la ligne "Durée de vie du système" contient ces informations. Comme exemple:

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

Plus d'informations: https://github.com/rfrail3/tuptime/

0
Rfraile

C'est une autre façon

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