Je gère un serveur ubuntu 12.04 LTS. Et je pense que ce serait bien si je pouvais être informé quand des mises à jour sont disponibles. Mais je ne sais pas comment savoir...
J'ai essayé de consulter la page de manuel de apt-get
. À partir de là, j'ai pu utiliser apt-get -s upgrade
pour obtenir la sortie de apt-get dans un script sans être bloqué par des questions.
Maintenant, je vois clairement la différence :
Mises à jour disponibles :
apt-get -s upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Les paquets suivants seront mis à jour :
dpkg dpkg-dev libdpkg-perl
3 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Inst dpkg [1.16.1.2ubuntu7.2] (1.16.1.2ubuntu7.3 Ubuntu:12.04/precise-updates [amd64])
Conf dpkg (1.16.1.2ubuntu7.3 Ubuntu:12.04/precise-updates [amd64])
Inst dpkg-dev [1.16.1.2ubuntu7.2] (1.16.1.2ubuntu7.3 Ubuntu:12.04/precise-updates [all]) []
Inst libdpkg-perl [1.16.1.2ubuntu7.2] (1.16.1.2ubuntu7.3 Ubuntu:12.04/precise-updates [all])
Conf libdpkg-perl (1.16.1.2ubuntu7.3 Ubuntu:12.04/precise-updates [all])
Conf dpkg-dev (1.16.1.2ubuntu7.3 Ubuntu:12.04/precise-updates [all])
Mises à jour non disponibles :
apt-get -s upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Mais je ne sais pas comment procéder à partir de là. Comment puis-je dire, depuis un script bash (ou script php) s'il y a des mises à jour disponibles ou non ?
Modifier :
Voici mon code bash actuel. Il ne fonctionne pas.
updates_available=`/etc/update-motd.d/90-updates-available`
if [ "${updates_available}" = "0 packages can be updated. 0 updates are security updates." ];
then
echo "Aucune mise à jour disponible"
else
echo "Il y a des mises à jour disponibles"
fi