42 votes

Trouver la dernière fois où la mise à jour a été effectuée avec apt-get

Je dois trouver la dernière fois que la

apt-get update

commande a été exécutée sur mon serveur. Comment puis-je déterminer cette information?

31voto

peterdemin Points 163

Dans les systèmes Ubuntu, il existe au moins un fichier /etc/apt/apt.conf.d/15update-stamp qui contient :

APT::Update::Post-Invoke-Success {"touch /var/lib/apt/periodic/update-success-stamp 2>/dev/null || true";};

Donc, vérifiez si vous avez le fichier /var/lib/apt/periodic/update-success-stamp et si vous l'avez, vous pouvez utiliser

stat -c %y /var/lib/apt/periodic/update-success-stamp

pour obtenir l'heure de la dernière invocation de "apt-get update".

Et si votre système n'a pas ce fichier de configuration apt, vous pouvez toujours l'ajouter.

12voto

Hans Lambermont Points 121

Un apt-get update peut ne pas créer ou mettre à jour des fichiers, mais il met à jour le répertoire du cache. Nous pouvons utiliser cela pour obtenir le timestamp de la dernière exécution de apt-get update :

stat -c %Y /var/cache/apt/

11voto

rkthkr Points 8463

Vous pourriez vérifier les heures d'accès des fichiers dans /var/lib/apt/lists qui sont mis à jour lorsque vous exécutez apt-get update. Si apt-get update a été exécuté avec sudo, vous devriez avoir une ligne enregistrée dans /var/log/auth.log lorsque c'était fait.

4voto

Aaron Belovsky Points 49

Ne consultez pas les fichiers de verrouillage. Les fichiers de verrouillage ne sont pas fiables, ils ont tendance à se déplacer avec le temps avec les nouvelles versions de Linux, et de nombreux programmes nettoient (suppriment) les fichiers de verrouillage lorsqu'ils ont terminé avec eux.

La commande suivante vous donnera ce que vous cherchez.

ls -lt --time-style="long-iso" /var/log/apt | grep -o '\([0-9]\{2,4\}[- ]\)\{3\}[0-9]\{2\}:[0-9]\{2\}' -m 1

Il s'agit de deux commandes en une. Les résultats de la première commande se filtrent dans la seconde via le symbole pipe (|).

Dans la première commande, j'utilise "ls" pour lister le contenu du répertoire /var/log/apt, qui est le répertoire qui stocke les journaux d'historique d'accès pour apt-get. La partie "-lt" est en fait deux commutateurs. Le premier commutateur "l" indique à "ls" de lister un fichier par ligne avec des détails. Le second commutateur "t" indique à "ls" de trier par date et heure. "--time-style" force l'affichage de la date et de l'heure dans le format "AAAA-MM-JJ HH:MM".

Dans la portion "grep" de la commande, le commutateur "-o" indique à grep de ne montrer que les portions de chaque ligne qui correspondent exactement à l'expression régulière. L'expression régulière que j'ai utilisée ici détecte les dates et heures qui sont dans le format spécifié dans la commande "ls". Vous remarquerez également le véritable petit tour de magie à la fin de la commande "grep", où il y a un commutateur "-m" avec le chiffre "1" immédiatement après. Cela indique à "grep" d'arrêter de chercher des correspondances après avoir trouvé la première.

Donc, en résumé, nous listons les détails du fichier journal apt pour pouvoir voir la dernière date de modification, nous les trions ensuite par date et disons à grep de récupérer la première date en haut, qu'il renvoie ensuite. C'est la dernière date à laquelle apt-get a été exécuté.

Pour jouer le rôle de l'avocat du diable pendant un moment, cependant, il est courant pour les plateformes Debian comme Ubuntu de planifier apt-get comme une tâche qui s'exécute régulièrement. Si vous cherchez la personne à l'autre bout de l'exécution de apt-get, vous pourriez en fait trouver une machine. Vous pourriez toujours faire correspondre les journaux d'accès avec les journaux apt pour voir si des horodatages coïncident. Il est également possible d'examiner l'historique des commandes d'un utilisateur dans une certaine mesure.

En espérant que cela vous aide!

2voto

Sebastian Points 238

Je soupçonne que vous pouvez vérifier les heures de dernière modification des fichiers /var/cache/apt pour savoir quand les dernières mises à jour ont été appliquées aux listes de paquets.

Je viens de tester cela, et j'ai exécuté "sudo apt-get update" deux fois de suite, et les dates n'ont pas changé de leur valeur actuelle, mais je soupçonne que c'est parce qu'il n'y avait pas de nouvelles mises à jour à appliquer, et que les caches sont à jour.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X