Il n’y a pas de façon simple et fiable de savoir quand un ordinateur sous Linux a été installé. La technique la plus fiable que j’ai trouvé consiste à regarder la date de création du système de fichiers :
[pastacode lang= »bash » manual= »df%20%2F%20%7C%20awk%20’%7Bprint%20%241%7D’%20%7C%20grep%20%2Fdev%20%7C%20xargs%20tune2fs%20-l%20%7C%20grep%20create » message= » » highlight= » » provider= »manual »/]
Il s’agit d’un enchaînement de plusieurs commandes. En voici une analyse :
- df / : Affiche des infos sur la partition /
- awk ‘{print $1}’ : Ne garde que la première colonne, qui contient l’emplacement de la partition / sur le disque dur (/dev/…)
- grep /dev/ : Sert a supprimer la ligne d’en-tête
- xargs : Permets de passer ce qui est affiché à l’écran en paramètre du script suivant (tune2fs dans notre cas). C’est indispensable, mais ça ne modifie aucune valeur.
- tune2fs -l : Affiche des informations détaillées sur la partition.
- grep create : Ne conserve que la ligne indiquant la date de création de la partition.
Chez moi, ça donne :
# df / | awk '{print $1}' | grep /dev | xargs tune2fs -l | grep create Filesystem created: Tue Sep 18 09:56:24 2018
Ce qui correspond bien à la date d’installation de Linux sur mon ordinateur.
Il y a deux précautions à prendre avec cette commande :
- Elle doit être lancée en root
- S’il s’agit d’un serveur virtuel, cette commande retournera la date de création du modèle utilisé pour déployer le serveur. Ça peut potentiellement être beaucoup plus ancien que le serveur lui-même