Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/03/2011, à 10:05

christophe_D

[BASH] Controle de mise a jour et mise a jour

Bonjour ,

Voila j'ai un vieux pc a la maison que j'ai recyclé en serveur de partage de photo,web,mail et impression
Le problème que j'avais c'était de savoir si il y avais une mise a faire
J'ai donc fait ce petit script

#bash
apt-get -qq update
apt-get -qq -s dselect-upgrade > /tmp/maj
if [ -s /tmp/maj ]; then
mail -s "rapport de mise a jour a effectuer" kristof </tmp/maj
fi

Je l'ai nommer tst_maj.sh et donne les droits d'exécution et placer dans /usr/bin
et réaliser une tache cron qui s'execute tout les soir a minuit ( bon avec webmin , je sais plus comment faire avec cron)

puis le script de mise a jour tout en 1 (est il complet , je pense )

#bash

apt-get clean
apt-get update
apt-get dselect-upgrade
apt-get autoremove

Je l'ai nommer maj et donne les droits d'exécution et placer dans /usr/bin

voila
Si ca peut vous aider


Kubuntu 23.10
Lubuntu 23.10 sur TF103C ;)

Hors ligne

#2 Le 07/03/2011, à 20:16

Bousky

Re : [BASH] Controle de mise a jour et mise a jour

/usr/lib/update-notifier/apt-check permet de savoir le nombre de mises à jour disponibles, ainsi que le nombre de mises à jour de sécurité. Le résultat est sur la console d'erreur, sous la forme des deux nombres séparés par un point-virgule : mises_à_jour;mises_à_jour_de_sécurité.


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#3 Le 21/03/2011, à 16:02

FRUiT

Re : [BASH] Controle de mise a jour et mise a jour

/usr/lib/update-notifier/apt-check --human-readable

Et c'est tout de suite bien plus lisible.


Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#4 Le 21/03/2011, à 17:34

Bousky

Re : [BASH] Controle de mise a jour et mise a jour

Ouais ben je l'ai trouvé presque par hazard en regardant comment se construisait le motd. C'est documenté quelque part ? Ou alors la sortie "conviviale" ne me plaisait pas donc j'ai préféré utiliser les données brutes... Me rappelle plus.

Edit : J'ai trouvé, ça donne

17 paquets peuvent être mis à jour.
7 mises à jour de sécurité.

et moi je veux

17 mises à jour disponibles, dont 7 de sécurité

Comment ça je suis exigeant ?!

Dernière modification par Bousky (Le 21/03/2011, à 22:08)


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#5 Le 21/03/2011, à 20:12

christophe_D

Re : [BASH] Controle de mise a jour et mise a jour

FRUiT a écrit :
/usr/lib/update-notifier/apt-check --human-readable

Et c'est tout de suite bien plus lisible.

Merci de l'info
Je modifie mon script de suite !


Kubuntu 23.10
Lubuntu 23.10 sur TF103C ;)

Hors ligne

#6 Le 22/03/2011, à 14:32

FRUiT

Re : [BASH] Controle de mise a jour et mise a jour

Bousky a écrit :

Ouais ben je l'ai trouvé presque par hazard en regardant comment se construisait le motd. C'est documenté quelque part ? Ou alors la sortie "conviviale" ne me plaisait pas donc j'ai préféré utiliser les données brutes... Me rappelle plus.

Edit : J'ai trouvé, ça donne

17 paquets peuvent être mis à jour.
7 mises à jour de sécurité.

et moi je veux

17 mises à jour disponibles, dont 7 de sécurité

Comment ça je suis exigeant ?!

> /usr/lib/update-notifier/apt-check --human-readable | awk 'NR==1 { T=$1" mises à jour disponibles" } NR==2 {T=T", dont "$1" de sécurité" } END { print T }'
7 mises à jour disponibles, dont 7 de sécurité
> /usr/lib/update-notifier/apt-check 2>&1 | awk -F';' '{ print $1" mises à jour disponibles, dont "$2" de sécurité" }'
7 mises à jour disponibles, dont 7 de sécurité
> maj=$(/usr/lib/update-notifier/apt-check 2>&1); echo "${maj%;*} mises à jour, dont ${maj#*;} de sécurité"
7 mises à jour disponibles, dont 7 de sécurité


Plouf, plouf, faites vos jeux.

Dernière modification par FRUiT (Le 22/03/2011, à 14:44)


Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#7 Le 22/03/2011, à 14:43

Bousky

Re : [BASH] Controle de mise a jour et mise a jour

Oui, mais je veux juste "x mises à jour disponibles" s'il n'y a pas de mises à jour de sécurité (je ne gère pas encore le singulier wink ). Et pourquoi reformater une sortie quand on peu l'avoir brute ?

Et quand je dis "je veux", je l'ai déjà fait, donc pas besoin de chercher à m'aider moi. En fait j'ai mis un terminal à la place du burreau, avec un bashrc créant un fichier motd contenant un ascii-art généré en python et avec figlet et cowsay, ainsi que les éventuelles mises à jour, et surchargeant clear pour afficher le motd.
<mode ma_vie=OFF>

Dernière modification par Bousky (Le 22/03/2011, à 14:51)


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#8 Le 22/03/2011, à 14:48

FRUiT

Re : [BASH] Controle de mise a jour et mise a jour

unset sec; maj=$(/usr/lib/update-notifier/apt-check 2>&1); [ "${maj#*;}" != "0" ] && sec=${maj#*;}; echo "${maj%;*} mises à jour${sec:+", dont ${sec} de sécurité"}"

Et hop ^^

Ah bon bah, si c'est déjà fait... Pourquoi demander aussi ?

Dernière modification par FRUiT (Le 22/03/2011, à 15:00)


Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#9 Le 22/03/2011, à 15:17

FRUiT

Re : [BASH] Controle de mise a jour et mise a jour

Je mets quand même avec la gestion du singulier ça pourrait en intéresser d'autres  :

unset sec plur; maj=$(/usr/lib/update-notifier/apt-check 2>&1); [ ${maj%;*} -gt 1 ] && plur=1; [ ! ${maj#*;} -eq 0 ] && sec=${maj#*;}; echo "${maj%;*} mise${plur:+"s"} à jour${sec:+", dont ${sec} de séccurité"}"

Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#10 Le 22/03/2011, à 15:27

Bousky

Re : [BASH] Controle de mise a jour et mise a jour

FRUiT a écrit :

Ah bon bah, si c'est déjà fait... Pourquoi demander aussi ?

Mais j'ai rien demandé, moi ! J'ai juste indiqué à christophe_D l'outil qui-va-bien en précisant que l'ayant utilisé il y a longtemps, je ne me rappelais plus de toutes ses subtilités. Puis ayant retrouvé les subtilités en questions, j'ai juste dis pourquoi je ne les avais pas utilisé.

Bousky a écrit :

Ou alors la sortie "conviviale" ne me plaisait pas donc j'ai préféré utiliser les données brutes... Me rappelle plus.

Tout ce que j'ai demandé, c'est si ce script est documenté.


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#11 Le 22/03/2011, à 16:20

FRUiT

Re : [BASH] Controle de mise a jour et mise a jour

Ok, j'aurais mal compris au temps pour moi.

C'est vrai que c'est très mal documenté... même /usr/lib/update-notifier/apt-check --help ne parle pas de cette option. Néanmoins dans le script /usr/lib/update-notifier/apt_check.py on peut lire :

apt_check.py a écrit :

    # check arguments
    parser = OptionParser()
    parser.add_option("-p",
                      "--package-names",
                      action="store_true",
                      dest="show_package_names",
                      help=_("Show the packages that are going to be installed/upgraded"))
    parser.add_option("",
                      "--human-readable",
                      action="store_true",
                      dest="readable_output",
                      help=_("Show human readable output on stdout"))
    parser.add_option("",
                      "--security-updates-unattended",
                      action="store_true",
                      help=_("Return the time in days when security updates "
                             "are installed unattended (0 means disabled)"))
    (options, args) = parser.parse_args()

Des bugs reports (188296) font mention de cet effroyable manque d'information, à  quoi il est répondu que de toute façon apt-check n'est pas destiné à être utilisé manuellement, et par conséquent ne nécessite pas de page de manuel...

Sympa le -p je connaissais pas...

Dernière modification par FRUiT (Le 22/03/2011, à 16:50)


Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean

Hors ligne

#12 Le 22/03/2011, à 16:38

Bousky

Re : [BASH] Controle de mise a jour et mise a jour

Destiné à être utilisé manuellement, non. Scripté, oui. D'un autre côté, le code source est la documentation la plus complète qui soit (trop ?).


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne