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.

Autres articles du même sujet


20 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
 

Ajouter un commentaire

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