Je sais que la commande pour mettre à jour les listes de référentiels est apt-get update
.
Comment vérifier si elle a été exécutée aujourd'hui ou au cours des dernières 24 heures?
Je ne sais pas s'il faut vérifier un horodatage de fichier. Ou lancez une autre commande apt. Ou utilisez l'utilitaire dpkg.
Impossible de trouver quelque chose d'utile dans les pages de manuel.
history | grep 'apt-get update'
:)HISTTIMEFORMAT
n'est pas défini,.bashrc
cette commande n'aura que des horodatages corrects pour les commandes réellement exécutées à partir de la session shell actuelle . Pour toutes les autres commandes qui ne proviennent pas de la session en cours, l'horodatage n'affichera que l'horodatage de modification du~/.bash_history
fichier. Il ne peut pas afficher les horodatages des commandes d'autres sessions car ces horodatages ne sont pas enregistrés dans le~/.bash_history
fichier. Il peut afficher des horodatages pour la session en cours car ces tampons sont toujours en mémoire.apt
ou quand votre.bash_history
a été coupé.Vérifiez l'horodatage de
/var/lib/apt/periodic/update-success-stamp
.Ici , le temps est
Jan 25 01:41
enapt-get
dernière exécution. Pour obtenir l'heure uniquement, utilisez la commande suivante dans le terminal,C'est le meilleur endroit pour vérifier l'heure de la dernière mise à jour. Si vous avez trouvé
/var/lib/apt/periodic/
vide, vous pouvez essayer,Mise à jour
Il est constaté que pour certaines raisons, les fichiers ci-dessus
update-success-stamp
ouhistory.log
restent indisponibles dans certains systèmes. Il y a une nouvelle proposition de derobert pour examiner le fichier/var/cache/apt/pkgcache.bin
.pkgcache.bin
est l'emplacement du cache de package mappé en mémoire d'Apt. Il est renouvelé après chaque mise à jour. C'est donc le candidat parfait pour savoir la dernière fois où aapt
été mis à jour.On peut utiliser la commande suivante pour connaître l'heure exacte,
ou
la source
/var/lib/apt/periodic/
répertoire est vide/var/cache/apt/pkgcache.bin
. Aussi, veuillez ne pas analyser la sortie dels
; utiliser à lastat
place. Gardez à l'esprit que lals
sortie dépend des paramètres régionaux, de l'âge du fichier, etc. (De plus, je pense que vous n'obtiendrez le premier fichier que si vous avez installé update-notifier-common)/var/cache/apt/pkgcache.bin
concerne également l'installation du package, ce n'est donc pas un moyen fiable de vérifier la dernièreapt-get update
exécution.apt-get clean
a été exécuté récemment n'en aura pas/var/cache/apt/pkgcache.bin
. Je vais essayer d'utiliser le mtime from à la/var/lib/apt/lists
place, car cela semble être les données brutes non mises en cache quiapt-get update
manipulent réellement.J'utilise
/var/cache/apt
pour déterminer si j'ai besoin de courirapt-get update
. Par défaut, si la différence entre l'heure actuelle et l'heure du cache/var/cache/apt
est inférieure à 24 heures, je n'ai pas besoin de courirapt-get update
. L'intervalle de mise à jour par défaut peut être remplacé en passant un nombre à la fonctionrunAptGetUpdate()
Exemple de sortie:
J'ai extrait ces fonctions de mon github personnel: https://github.com/gdbtek/ubuntu-cookbooks/blob/master/libraries/util.bash
la source
Vous pouvez également être intéressé par le fichier:
Ouvrez-le avec moins ou chat comme racine .
la source
apt-get update
, et qui n'est évidemment pas enregistré.J'utilise cette commande
stat /var/cache/apt/ | grep -i -e access -e modify
pour montrer la dernière fois qu'il a été accédé c.-à-d. exécutant «apt-get update» également la dernière fois qu'il a été réellement mis à jour.
notez que si les horaires sont différents, il se peut qu'aucune mise à jour n'ait été disponible. Étant donné que mes mises à jour et mises à niveau sont exécutées par crontab à des moments précis, je peux dire si mes mises à jour ont fonctionné ou non.
la source
Combinant le dernier commentaire de @ ssokolow avec la réponse d' ici , cette commande s'exécutera
apt-get update
si elle ne s'est pas exécutée au cours des 7 derniers jours:Explication:
-mtime -7
recherche les fichiers dont l'heure de modification a été modifiée au cours des 7 derniers jours. Vous pouvez utiliser-mmin
si vous vous souciez de temps plus courts.-maxdepth 0
assure que find ne rentrera pas dans le contenu du répertoire.-H
déréférences/var/lib/apt/lists
s'il s'agit d'un lien logicielfind
, la commande échoue, la commande s'exécute. Cela me semble être la valeur par défaut sûre. Si vous souhaitez inverser la valeur par défaut, utilisez-la-n
dans le test et-mtime +7
dans la commande find.la source
Je viens de poster une réponse à cette question sur le sujet suivant
Où puis-je consulter mon historique de mise à jour?
La réponse peut être moins appropriée pour cette rubrique, car elle recherche spécifiquement la "mise à niveau apt-get". Voici un exemple de sortie.
Voir l'autre rubrique pour le code source et plus d'explications.
la source
la source