Connaître la date d'installation d'un système Linux


Fried Chicken fetus
La date d'installation d'un système Linux est une information difficile à obtenir. Tout d'abord, parce qu'elle n'est enregistrée dans aucun endroit du système. Ensuite, parce que certaines distributions bénéficient de mises à jour régulières, appelées aussi upgrade, qui ont la fâcheuse tendance de remplacer tous les packages et fichiers du système. On ne peut donc plus se fier à certaines informations, comme par exemple, la date d'installation du premier logiciel.

When Linux was born ?

Il existe tout de même une astuce, qui consiste à lister tous les fichiers de configuration du répertoire /etc et à prendre la date la plus ancienne. Après l'avoir testée sur plusieurs machines, cette méthode semble plutôt fiable.

Voici la commande à utiliser :

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

Une autre astuce assez fiable donnée par zapple en commentaire, consiste à afficher la date de création du système de fichiers à l'aide de la commande tune2fs. A lancer avec le compte root de la machine :

# df / | awk '{print $1}' | grep dev | xargs tune2fs -l | grep create
Filesystem created: Tue Jan 17 20:27:43 2006

Pour les utilisateurs d'Ubuntu, il y a aussi cette commande :

sudo dumpe2fs -h $(df | awk '/\/$/ {print $1}') | grep created

Attention tout de même, ces astuces peuvent ne pas fonctionner si le BIOS n'était pas à l'heure le jour de l'installation. Si vous connaissez d'autres techniques, n'hésitez pas à les partager.


23 Commentaires pour "Connaître la date d'installation d'un système Linux"

Flux des commentaires de cet article Ajouter un commentaire
  •  

    Hello,

    Cette commande provient du site commandlinefu ?
    ++

    RépondreRépondre
    dcddtc , le 7 septembre 2009 à 09:34
  •  

    @dcddtc : oui.

    RépondreRépondre
    pti-seb , le 7 septembre 2009 à 12:22
  •  

    Chez moi : mai 21 05:50

    C'est la date de création du fichier nscd.conf du /etc :)

    RépondreRépondre
    Tuxargon , le 7 septembre 2009 à 12:49
  •  

    @Tuxargon : en faite, quand le système à été installé dans l'année courrante, la commande affiche uniquement le mois, le jour et l'heure.

    Voici un exemple pour un système installé il y a plusieurs années :
    Nov 10 2006

    RépondreRépondre
    pti-seb , le 7 septembre 2009 à 12:55
  •  

    Cette méthode est plus efficace chez moi et me retourne la bonne date :
    ls -ltr /var/lib/dpkg/info/*.list | head -n 1

    RépondreRépondre
    Chris , le 7 septembre 2009 à 13:45
  •  

    @chris : ouai sur un linux à base de Debian... Je le trouve où le répertoire dpkg sur ma Gentoo ? ;-))

    RépondreRépondre
    dcddtc , le 7 septembre 2009 à 13:51
  •  

    Chez moi, ça me dit le 4 juin, ce qui me paraît plausible.

    La commande de Chris (sur Ubuntu en fait) me donne le 20 avril. Et ça je sais que c'est trop tôt, c'est normal?

    RépondreRépondre
    Mat , le 7 septembre 2009 à 16:23
  •  

    @Mat : effectivement la commande de chris me donne une date de 2007 alors que le serveur que je viens de tester a été installé par mes soins en 2009.

    Commande inutile en somme

    RépondreRépondre
    dcddtc , le 7 septembre 2009 à 16:30
  •  

    @dcddtc : Ce n'est pas parce qu'elle est inutile sur ton système qu'elle l'est pour tout le monde... en somme.

    RépondreRépondre
    Chris , le 7 septembre 2009 à 18:00
  •  

    @Chris : tout à fait mais avec mat on vient de tester sur une debian et ta commande ne répond pas à la problématique. Voilà

    RépondreRépondre
    dcdtc , le 7 septembre 2009 à 18:11
  •  

    @dcdtc : Conclusion: aucune n'est donc fiable ou assez précise (?)
    N'ayant semble t'il pas de méthode "standard", dépendant du système installé, chacun utilisera celle qui lui semble la mieux adaptée...

    RépondreRépondre
    Chris , le 7 septembre 2009 à 18:53
  •  

    @Chris @dcdtc : j'ai fait pas mal de recherche avant de publier cette commande, afin de trouver celle qui donne le meilleure résultat. Je suis tomber sur une qui ressemblait fortement à celle de Chris au détour d'un forum.

    Je ne l'ai pas garder car elle trop réserver à un seule type de distribution. Néanmoins, quand on rehcrehe la date exacte de l'installation d'un système, on est pas limité à une seule commande et toutes les astuces sont souvent les bienvenues.

    RépondreRépondre
    pti-seb , le 7 septembre 2009 à 19:50
  •  

    Il y a une commande qui permet de donner la date de création d'un File Sytem. Si l'on applique la commande à / qui a été créé à l'installation du système, on a ce qu'on cherche. Voici la commande :

    df / | awk '{print $1}' | grep dev | xargs tune2fs -l | grep create

    RépondreRépondre
    zapple , le 8 septembre 2009 à 17:10
  •  

    Je précise que tune2fs ne s'applique que pour du ext2/ext3.

    RépondreRépondre
    zapple , le 8 septembre 2009 à 17:19
  •  

    En fait, il suffit de taper simplement :

    tune2fs -l /dev/sda1|grep create si votre / est sur /dev/sda1 ...

    :)

    RépondreRépondre
    zapple , le 8 septembre 2009 à 17:22
  •  

    @zapple : pas mal. En faite, j'ai eu un peu cette même idée lors de mes recherches et j'en était arrivé à utiliser la commande stats :

    stat /etc

    Cette dernière ne donnant pas de résultats fiable, j'avais laissé tombé l'idée. Ta méthode est très bonne, je la rajoute à l'article.

    RépondreRépondre
    pti-seb , le 8 septembre 2009 à 20:57
  •  

    Salut !
    je dis peut être une connerie mais dans le fichier de l'historique des commandes, il y a pas un moyen ?? Soit date de création du fichier ou date de la 1ere commande ? Si bien sur le fichier en question n'a pas été touché ... ce qui rend la méthode moins sure :s :D

    RépondreRépondre
    Muy_Bien , le 22 octobre 2009 à 12:34
  •  

    @Muy_Bien: l'historique ayant une taille limité (mais réglable) cette technique ne marcherait pas.

    RépondreRépondre
    Edouard , le 22 octobre 2009 à 14:27
  •  

    Moi je regarde la date de création du filesystem.
    Ca marche seulement si c'est du extX.

    sudo dumpe2fs -h $(df|awk '/\/$/ {print $1}')|grep created

    RépondreRépondre
    dominix , le 28 octobre 2009 à 22:08
  •  

    Salut, priez d'essayer les commandes suivantes :

    sudo -s
    cd /etc
    set -- $(ls -lct | tail -1) ; echo $6 $7
    2009-11-07 19:48 = résultat

    RépondreRépondre
    drali , le 26 novembre 2009 à 23:46
  •  

    Salut, je sais que je réagis bien longtemps après la publication de l'article mais je viens de trouver une solution intéressante et globalement plus simple et semble t-il plus précise...

    Selon moi une bonne façon de trouver la date d'installation d'une machine linux est d'utiliser la commande passwd avec l'option -S.

    Cette option affiche le statut du compte, le troisième champ étant la date du changement de mot de passe précédent. De cette façon, en trouvant la date des utilisateurs qui n'ont jamais changé leur mot de passe, on peut déterminer avec une quasi certitude la date d'installation du système.

    Ces utilisateurs peuvent être des utilisateurs du système comme, sys, bin, daemon, etc

    J'ai vérifié sur un vieux serveur Debian en prod depuis des années et qui a été upgradé au fil des années...

    root@biuintra:~# passwd -S bin
    bin L 08/03/2006 0 99999 7 -1

    RépondreRépondre
    kawasakid , le 7 décembre 2012 à 10:47
  •  

    @kawasakid : pas mal comme méthode.

    RépondreRépondre
    pti-seb , le 7 décembre 2012 à 15:45
  •  

    root@computer: ls -lct /etc | tail -1 | awk '{print $6, $7, $8}'
    2010-07-01 15:44 wvdial.conf

    root@computer: df / | awk '{print $1}' | grep dev | xargs tune2fs -l | grep create
    Filesystem created: Thu Jul 1 15:41:28 2010

    root@computer: dumpe2fs -h $(df | awk '/\/$/ {print $1}') | grep created
    Filesystem created: Thu Jul 1 15:41:28 2010

    root@computer: passwd -S bin
    bin L 10/29/2008 0 99999 7 -1

    donc le passwd -S bin me parait faux

    Merci pour les infos

    RépondreRépondre
    daguette , le 22 août 2013 à 17:12
 

Ajouter un commentaire

actualité android apache apple astuce astuces bash bilboblog blog boot chrome clavier commande commandes conky date debian Desktop développement elementary exploit faille fedora firefox flash gimp gnome google graphique Graphisme hack hacking Hardware humour intel internet iphone jailbreak Jeux Kde kernel libre Linux log logiciels Logiciels Libres lucid lynx maemo mail maquette metasploit microsoft mobile mockup monitoring mozilla multi-touch musique mysql n900 nautilus nokia noyau openoffice open source password photos php Planet publicité red hat redhat rpm réseau screenshot script serveur serveurs shell sql ssh statistiques sysadmin system Sécurité thème tux-planet tv twitter ubuntu unity vidéo vidéos vlc voyage wallpaper windows wordpress yum