Récupérer nombre d'update disponible [apt-get]

Bonjour,

J’essaye d’écrire un script bash qui permet d’envoyer un mail lorsque des updates (via apt-get) sont disponibles.

Je bloque sur comment récupérer le nombre d’update disponible…
Une idée ?

A+

Il y a des scripts tout faits pour.

Sinon, y’a ptet mieux, mais ça ça fait l’affaire:

Salut,

Pourquoi réinventé la roue …

[code][13:31:27] ~ # aptitude show apticron
Paquet : apticron
Nouveau: oui
État: installé
Automatiquement installé: non

Description :

outil simple pour envoyer un courriel en cas de mise à jour de paquet en attente
Apticron est un simple script qui envoie un courriel quotidien lorsqu’une mise à jour de paquet est en attente, comme les mises à jour de sécurité, ou des paquets en attente aussi bien dans dselect qu’aptitude.

[13:31:57] ~ # [/code]

J’ai besoin de connaitre le nombre de paquets qui va être mis à jour…

Ensuite il faut que cela fonctionne en bash car j’ai déjà un script qui mail certaines infos.

Je n’arrive pas a récupérer le “XX mis à jour, 0 nouvellement installées, 0 à enlever et 0 non mis à jour.”

Re,

[quote=“seb”]J’ai besoin de connaitre le nombre de paquets qui va être mis à jour…

Ensuite il faut que cela fonctionne en bash car j’ai déjà un script qui mail certaines infos.

Je n’arrive pas a récupérer le “XX mis à jour, 0 nouvellement installées, 0 à enlever et 0 non mis à jour.”[/quote]

Je ne suis pas sûr de comprendre. :083

[quote=“Sujet : Cron root@Sid test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) 06h29”]/etc/cron.daily/upgrade-system:
binutils:i386/unstable 2.23.90.20131017-1 upgradeable to 2.23.90.20131116-1
cpp-4.8:i386/unstable 4.8.2-4 upgradeable to 4.8.2-5
fail2ban:all/unstable 0.8.11~pre1+git29-gccd2657-1 upgradeable to 0.8.11-1
gcc-4.8-base:i386/unstable 4.8.2-4 upgradeable to 4.8.2-5
libgcc1:i386/unstable 1:4.8.2-4 upgradeable to 1:4.8.2-5
libgomp1:i386/unstable 4.8.2-4 upgradeable to 4.8.2-5
libopus0:i386/unstable 1.1~beta-3 upgradeable to 1.1~beta-4
libpoppler-qt4-3:i386/unstable 0.18.4-8 upgradeable to 0.18.4-9
libpoppler19:i386/unstable 0.18.4-8 upgradeable to 0.18.4-9
libstdc++6:i386/unstable 4.8.2-4 upgradeable to 4.8.2-5[/quote]

[quote=“Sujet : Mises à jour à effectuées Sid@local”]apticron report [Mon, 18 Nov 2013 08:54:44 +0100]

apticron has detected that some packages need upgrading on:

Sid 
[ 192.168.1.10 ]

The following packages are currently pending an upgrade:

binutils 2.23.90.20131116-1
cpp-4.8 4.8.2-5
fail2ban 0.8.11-1
gcc-4.8-base 4.8.2-5
libgcc1 1:4.8.2-5
libgomp1 4.8.2-5
libopus0 1.1~beta-4
libpoppler19 0.18.4-9
libpoppler-qt4-3 0.18.4-9
libstdc++6 4.8.2-5

========================================================================

Package Details:

Lecture des fichiers de modifications (« changelog »)…
— Nouveautés pour fail2ban —
fail2ban (0.8.11-1) unstable; urgency=low

  • retroactive for 0.8.9: by default iptables-* actions do not simply
    DROP packets from offending IP but rather reject with
    icmp-port-unreachable. If DROP behaviour is preferable, provide
    config/action.d/iptables-blocktype.local with [Init] section defining
    blocktype = DROP or override action definition to provide
    blocktype=DROP option in jail.local
  • Many failregex’s were tight-up in this release which could
    theoretically effect operation in comparison to previous release(s).

– Yaroslav Halchenko debian@onerussian.com Sat, 16 Nov 2013 22:27:50 -0500

— Modifications pour poppler (libpoppler19 libpoppler-qt4-3) —
poppler (0.18.4-9) unstable; urgency=medium

  • Remove the custom RPATH handing on Hurd, since the issue does not affect
    the build anymore; remove the hurd-only chrpath build dependency.
  • Backport upstream commits b8682d868ddf7f741e93b791588af0932893f95c (patch
    upstream_pdfseparate-improve-the-path-building.patch)
    and 61f79b8447c3ac8ab5a26e79e0c28053ffdccf75 (patch
    upstream_Allow-only-one-d-in-the-filename.diff) to fix two string/format
    issues in pdfseparate, reported as CVE-2013-4473 and CVE-2013-4474.
    (Closes: #723124, #729064)
  • Bump Standards-Version to 3.9.5, no changes required.

– Pino Toscano pino@debian.org Sun, 17 Nov 2013 18:57:18 +0100

— Modifications pour binutils —
binutils (2.23.90.20131116-1) unstable; urgency=low

  • New upstream snapshot, taken from the 2.24 branch.

– Matthias Klose doko@debian.org Sat, 16 Nov 2013 12:40:28 +0100

— Modifications pour fail2ban —
fail2ban (0.8.11-1) unstable; urgency=low

  • Fresh upstream release
    • this release tightens all shipped filters to preclude
      possible injections leading to targetted DoS attacks.
    • omitted entry for ~pre release changelog:
      • asterisk filter was fixed (Closes: #719662),
      • nginx filter/jail added (Closes: #668064)
      • better detection of log rotation in polling backend (Closes: #696087)
      • includes sever name (uname -n) into subject of sendmail actions
        (Closes: #709196)
  • debian/jail.conf
    • dropbear jail: use dropbear filter (instead of ssh) and monitor
      auth.log instead of non-existing /var/log/dropbear (Closes: #620760)
  • debian/NEWS
    • information for change of default iptables action to REJECT now
      (Closes: #711463)
  • debian/patches
    • changeset_d4f6ca4f8531f332bcb7ce3a89102f60afaaa08e.diff
      post-release change to support native proftpd date format which
      includes milliseconds (Closes: #648276)
    • changeset_ac061155f093464fb6cd2329d3d513b15c68e256.diff
      absorbed upstream

– Yaroslav Halchenko debian@onerussian.com Sun, 17 Nov 2013 17:29:06 -0500

— Modifications pour gcc-4.8 (cpp-4.8 gcc-4.8-base libgcc1 libgomp1 libstdc++6) —
gcc-4.8 (4.8.2-5) unstable; urgency=low

  • Update to SVN 20131115 (r204839) from the gcc-4_8-branch.
  • Update the Linaro support to the 4.8-2013.11 release.
  • Add missing replaces in libgcj14. Closes: #729022.

– Matthias Klose doko@debian.org Sat, 16 Nov 2013 20:15:09 +0100

— Modifications pour opus (libopus0) —
opus (1.1~beta-4) unstable; urgency=low

  • Revert bogus NMU.

– Ron Lee ron@debian.org Mon, 18 Nov 2013 06:26:21 +1030

========================================================================

You can perform the upgrade by issuing the command:

apt-get dist-upgrade

as root on Sid


apticron
[/quote]

[quote="apt-listchanges : journaux des modifications (« changelogs ») "]curl (7.26.0-1+wheezy5) stable-security; urgency=high

  • Fix OpenSSL checking of a certificate CN or SAN name field when the
    digital signature verification is turned off as per CVE-2013-4545
    curl.haxx.se/docs/adv_20131115.html
  • Set urgency=high accordingly

– Alessandro Ghedini ghedo@debian.org Sat, 16 Nov 2013 13:04:23 +0100

icedove (17.0.10-1~deb7u1) stable-security; urgency=low

  • [6f2593b] Imported Upstream version 17.0.10
    • MFSA 2013-93 aka CVE-2013-5590
    • MFSA 2013-95 aka CVE-2013-5604
    • MFSA 2013-96 aka CVE-2013-5595
    • MFSA 2013-98 aka CVE-2013-5597
    • MFSA 2013-100 CVE-2013-5599, CVE-2013-5600, CVE-2013-5601
    • MFSA 2013-101 aka CVE-2013-5602

– Christoph Goehre chris@sigxcpu.org Sun, 03 Nov 2013 18:22:24 -0500[/quote]

Que souhaites de plus … :think:

Après c’est juste une histoire de configuration.

[code]15:17:55] ~ # find / -name “apticron
/usr/sbin/apticron
/usr/share/man/man1/apticron.1.gz
/usr/share/doc/apticron
/usr/share/lintian/overrides/apticron
/var/lib/dpkg/info/apticron.md5sums
/var/lib/dpkg/info/apticron.templates
/var/lib/dpkg/info/apticron.config
/var/lib/dpkg/info/apticron.preinst
/var/lib/dpkg/info/apticron.postinst
/var/lib/dpkg/info/apticron.list
/var/lib/dpkg/info/apticron.postrm
/var/lib/ucf/cache/:etc:cron.d:apticron
/var/lib/ucf/cache/:etc:apticron:apticron.conf
/var/lib/apticron
/etc/apticron
/etc/apticron/apticron.conf
/etc/cron.d/apticron
[15:19:27] ~ #

[15:29:29] ~ #
[15:29:38] ~ # nn /etc/cron.d/apticron
[15:29:42] ~ #
[15:29:44] ~ # nn /etc/apticron/apticron.conf
[15:30:02] ~ # [/code]

8)

Sans chercher loin, j’ai taper: aptitude update, il ma update les données puis à la dernière ligne:
Current status: 1 update [+1].

Cet ligne s’affiche que lorsqu’il y a une mise à jours à faire, sinon il y a rien (sa marche que pour aptitude je crois, j’utilises plus apt-get depuis des lustres).

Donc.

  • aptitude update
  • chercher si une ligne commence par: Current status
    — si pas trouver: aucun mise à jours à faire
    — si trouver:
    -------- tu récupères la ligne en question en complet
    -------- tu examines ce que contient entre le double point : et le mot update
    -------- le contenu sera un ou des chiffres, si le chiffre est supérieure à 0, tu peux te maillé.

Sur ceux je go faire ma mise à jours voyons ce que c’est :laughing:

bonsoir,
cette commande tourne depuis le début de l’AM
j’en suis à + de 700000 (sept cent milles)
c’est normal?
OS version 3.12
A+
JB1
:033

AAAAAAAh comment j’ai envie de te ban de debian !

Techniquement les mises à jour d’une stable sont très restreinte du coup en générale ça passe par le dépôts de sécurité :

  • Pour lister les mises à jour disponible de façon propre :
  • A ne pas utiliser sans comprendre ce qu’il se passe :

La même chose est possible avec aptitude et libre à vous d’adapter mais je pense que que la première commande est on ne peut plus suffisante.

On peu aussi scripter ça avec une tâche cron qui envoie un jolie mail avec le résultat de la commande envoyer dans un simple fichier txt mais c’est pareil libre à vous de vous lancer là-dedans …

Avis personnel les gestion semi-automatique des mises à jour sont à proscrire d’un environnement de production et encore plus sur une environnement de développement, donc a nouveau je pense que la première commande permet une relecture aisée des mises à jour de sécurité disponible et est amplement suffisante.

Bonjour,

Je ne veux pas installer apticron. J’ai un script de gestion qui m’informe de plusieurs éléments sur mon système (espace disque, mémoire, swap) donc je voudrais y rajouter si des updates sont disponibles et le cas échéant le nombre d’update…

Cela via mon script bash qui permet de m’envoyer un mail (pas de pb), je bute uniquement sur la récupération du nombre d’update :frowning:

[mono]man grep
man sed[/mono]

?

Ma méthode devrait fonctionner, fait attention au mot “update” si plusieurs paquet à maj, il devient “updates” (avec s).

bjr a tous

j’ai trouvé ça mais je ne sais plus ou une ligne de commande pour connaitre le nombre de paquets disponibles après update

alias simulate=‘apt-get upgrade --simulate | grep ^Inst | wc -l’

calcule le nombre de paquets disponibles a la mise a jour

j’en ai fait un alias , bien sur faire un update auparavant

[quote=“clahor”]alias simulate='apt-get upgrade --simulate | grep ^Inst | wc -l’
calcule le nombre de paquets disponibles a la mise a jour[/quote]

J’inverses tes lignes et te répond avec tes lignes.
Si tu cherches quelque chose, dit le nous.
Car moi je vois que tu poses une question mais donne la réponse, mais attend un réponse.

[quote=“kripteks”]

[quote=“clahor”][size=85]alias simulate[/size]='apt-get upgrade --simulate | grep ^Inst | wc -l’
calcule le nombre de paquets [mono]disponibles[/mono] [size=150]a la mise a jour[/size][/quote][quote=“clahor”]bjr a tous[quote=“clahor”]
une ligne de commande pour [size=200]connaitre[/size] le nombre de paquets disponibles après update
[/quote][/quote][quote=“kripteks”]J’inverses tes lignes et te répond avec tes lignes.[/quote]

[size=50]Si tu cherches quelque chose[/size], dit le nous.[/quote]
Car moi je vois que tu poses une question mais donne la réponse, mais attend un réponse.[/quote]

Désolé les modos…

Vous jouez à celui qui sera le plus grand connard ?
Si vous voulais paraître plus pédant que moi, d’une part va falloir vous lever tôt, mais en plus il va falloir bon de rester aimable.

Que lui s’exprime mal c’est une chose, mais les 2 postes qui suivent sont à peut prêt du même acabit. Quand on est geek ce n’est pas une obligation de manquer de savoir vivre (le pire c’est que je pense que vous n’êtes pas comme ça AFK, c’est juste ce phénomène de masse qui touche à peu prêt toute les populations qui accèdent à internet et qui rend con sur internet).

Encore désolé les modos.

En fait, j’ai répondu ce que j’ai compris.

  • il cherche le nombre de paquet “à mettre à jours”
  • il a une commande qui affiche le nombre de paquet “à mettre à jours”
    (à mettre à jours: car depuis le début il voulait ce nombre)

J’ai répondu avec ses propres lignes pour lui donné une réponse.

Et j’ai bien préciser:
1- J’inverses tes lignes et te répond avec tes lignes.

2- (au cas où il voulait savoir quelque chose d’autres:)
Si tu cherches quelque chose, dit le nous.

3- (je fais un court résumer de ce que j’ai compris:)
Car moi je vois que tu poses une question mais donne la réponse, mais attend un réponse.

En voyant sa, soit il a sa réponse, soit il a voulu autre chose, et pourra le reformuler.

J’ai pas voulu le rabaisser.

Tu as alors le tact d’une enclume en chute libre.

On a une phrase toute faite pour ça : « Tu as résolu ton problème ? Coche verte ? :slightly_smiling: »

C’est nettement plus agréable que de se voir une réponse en patchwork genre serial-killer qui découpe des lettres dans les journaux.

J’ai voulu aussi faire continuer le sujet, n’ayant pas compris s’il a résolu son problème ou s’il posait une nouvelle question, j’ai laisser la porte ouverte.

C’est vrai que j’aurais pu être plus agréable.
Je m’en excuse :wink:

bjr a tous

je voulais simplement répondre au 1er post

je vois qu’il y a de l’ambiance ici

sans rancune