Update-perso: la version 2019

Mon petit script pour automatiser les mises à jour au boot et m’affranchir des outils trop lourds à mon goût….

Environnement

PC sous Linux Debian 10 (Buster)

Le script

Le script gère le démarrage de mon anti-virus. Pas d’utilisation de timers dorénavant.

Le script est dans le fichier /opt/update-perso

#!/bin/bash
# pour tracer demasquer set -x
#set -x
#
# test si le fichier résultat existe sinon c'est le tout premier lancement et alors créer le fichier
if [ ! -f "/tmp/resul-opt-update-perso.txt" ];
then touch /tmp/resul-opt-update-perso.txt
fi
#
# précaution arrêter Sophos
systemctl stop sav-protect.service
# mise à jour des listes
echo "****************************************************************" > /tmp/resul-opt-update-perso.txt
date >> /tmp/resul-opt-update-perso.txt
echo "Mise à jour des listes apt"
echo "Mise à jour des listes apt" >> /tmp/resul-opt-update-perso.txt 
apt update >> /tmp/resul-opt-update-perso.txt 2> /dev/null
echo "resultat de la commande apt update ="$? >> /tmp/resul-opt-update-perso.txt
#
# y a t il besoin de mettre à jour?
# 
if [ $? != '0' ]
then
	echo 'Tous les paquets sont à jour' >> /tmp/resul-opt-update-perso.txt
fi
if grep 'Tous les paquets sont à jour' /tmp/resul-opt-update-perso.txt
then
# rien à faire
	date >> /tmp/resul-opt-update-perso.txt
	echo 'Rien à faire'
else
# mise à jour des paquets
	echo "****************************************************************" >> /tmp/resul-opt-update-perso.txt
	echo " apt full-upgrade"
	echo " Mise à jour" >> /tmp/resul-opt-update-perso.txt
	export DEBIAN_FRONTEND=noninteractive 
#
# reference https://debian-handbook.info/browse/fr-FR/stable/sect.automatic-upgrades.html
#
	apt full-upgrade -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" >> /tmp/resul-opt-update-perso.txt 2> /dev/null
	echo "resultat de la commande apt-full-upgrade ="$? >> /tmp/resul-opt-update-perso.txt 
	echo " dpkg --audit"
	echo " dpkg --audit" >> /tmp/resul-opt-update-perso.txt
	dpkg --audit >> /tmp/resul-opt-update-perso.txt 2> /dev/null
#
# Nettoyage 
	echo " apt clean"
	echo " apt clean " >> /tmp/resul-opt-update-perso.txt
	apt-get clean >> /tmp/resul-opt-update-perso.txt 2> /dev/null
	echo "****************************************************************" >> /tmp/resul-opt-update-perso.txt
	echo " apt purge"
	echo " apt purge " >> /tmp/resul-opt-update-perso.txt
	apt-get purge --autoremove -y >> /tmp/resul-opt-update-perso.txt 2> /dev/null
	echo "****************************************************************" >> /tmp/resul-opt-update-perso.txt
# listage utilisation disque après
	echo " listage occupation du disque après nettoyage"
	echo " df -hT " >> /tmp/resul-opt-update-perso.txt
	df -h >> /tmp/resul-opt-update-perso.txt 2> /dev/null
	echo "****************************************************************" >> /tmp/resul-opt-update-perso.txt
#
fi
echo "****************************************************************" >> /tmp/resul-opt-update-perso.txt
# listage des paquets obsolètes et locaux
echo "listage des paquets obsolètes et locaux"
echo "listage des paquets obsolètes et locaux" >> /tmp/resul-opt-update-perso.txt
apt list --installed | grep /now >> /tmp/resul-opt-update-perso.txt 2> /dev/null
echo "****************************************************************" >> /tmp/resul-opt-update-perso.txt
# vérification des services
	echo " systemctl --failed" >> /tmp/resul-opt-update-perso.txt
	systemctl --failed >> /tmp/resul-opt-update-perso.txt
echo "****************************************************************" >> /tmp/resul-opt-update-perso.txt
/usr/sbin/checkrestart >> /tmp/resul-opt-update-perso.txt 2> /dev/null
echo "****************************************************************" >> /tmp/resul-opt-update-perso.txt
date >> /tmp/resul-opt-update-perso.txt

# envoi du mail de résultat - pas possible de lancer thunderbird puisque la session utilisateur n'est pas ouverte
	/usr/bin/mailx -s "résul update-perso service" root@localhost < /tmp/resul-opt-update-perso.txt &> /dev/null
	echo "mail envoyé à root par /opt/update-perso"
# ne pas tuer le process avant que mailx l'ai traité
	echo "temporisation"
	sleep 10
#fi
# démarrer Sophos
systemctl start sav-protect.service

Le service

/etc/systemd/system/maj.service
[Unit]
Description=Mise à jour périodique
After=exim4.service
[Install]
WantedBy=graphical.target
[Service]
Type=oneshot
ExecStart=/opt/update-perso

Le service est activé au démarrage

systemctl enable maj.service

Vérification

systemctl status maj.service -l -n 50 --no-pager
● maj.service - Mise à jour périodique
Loaded: loaded (/etc/systemd/system/maj.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Sun 2019-02-24 08:24:43 CET; 2h 43min ago
Process: 7456 ExecStart=/opt/update-perso (code=exited, status=0/SUCCESS)
Main PID: 7456 (code=exited, status=0/SUCCESS)
févr. 24 08:21:31 debian systemd[1]: Starting Mise à jour périodique…
févr. 24 08:21:31 debian update-perso[7456]: Mise à jour des listes apt
févr. 24 08:23:04 debian update-perso[7456]: apt full-upgrade
.............
févr. 24 08:23:44 debian update-perso[7456]: dpkg --audit
févr. 24 08:23:45 debian update-perso[7456]: apt clean
févr. 24 08:23:45 debian update-perso[7456]: apt purge
févr. 24 08:23:55 debian update-perso[7456]: listage occupation du disque après nettoyage
févr. 24 08:23:55 debian update-perso[7456]: mail envoyé à root par /opt/update-perso
févr. 24 08:23:55 debian update-perso[7456]: temporisation
févr. 24 08:24:43 debian systemd[1]: maj.service: Succeeded.
févr. 24 08:24:43 debian systemd[1]: Started Mise à jour périodique.

Courrier reçu

  ****************************************************************
dimanche 24 février 2019, 12:44:29 (UTC+0100)
Mise à jour des listes apt
Atteint :1 http://repository.spotify.com stable InRelease
Atteint :2 http://archive.canonical.com bionic InRelease
Ign :3 https://dl.google.com/linux/earth/deb stable InRelease
Atteint :4 https://dl.google.com/linux/earth/deb stable Release
Atteint :5 https://cdn-aws.deb.debian.org/debian-security jessie/updates InRelease
Atteint :6 https://cdn-aws.deb.debian.org/debian-security stretch/updates InRelease
Atteint :7 https://cdn-aws.deb.debian.org/debian-security buster/updates InRelease
Ign :8 https://cdn-aws.deb.debian.org/debian jessie InRelease
Ign :9 https://cdn-aws.deb.debian.org/debian stretch InRelease
Réception de :10 https://cdn-aws.deb.debian.org/debian buster InRelease [158 kB]
Réception de :12 https://cdn-aws.deb.debian.org/debian buster-updates InRelease [46,8 kB]
Réception de :13 https://cdn-aws.deb.debian.org/debian buster-proposed-updates InRelease [52,0 kB]
Réception de :14 https://cdn-aws.deb.debian.org/debian sid InRelease [242 kB]
Atteint :15 https://cdn-aws.deb.debian.org/debian jessie Release
Atteint :16 https://cdn-aws.deb.debian.org/debian stretch Release
Réception de :17 https://cdn-aws.deb.debian.org/debian buster/main amd64 Packages.diff/Index [27,9 kB]
Réception de :18 https://cdn-aws.deb.debian.org/debian buster/main i386 Packages.diff/Index [27,9 kB]
Réception de :19 https://cdn-aws.deb.debian.org/debian buster/main Translation-fr.diff/Index [27,9 kB]
Réception de :20 https://cdn-aws.deb.debian.org/debian buster/main Translation-en.diff/Index [27,9 kB]
Réception de :21 https://cdn-aws.deb.debian.org/debian buster/main i386 Contents (deb).diff/Index [28,0 kB]
Réception de :22 https://cdn-aws.deb.debian.org/debian buster/main amd64 Contents (deb).diff/Index [28,0 kB]
Réception de :23 https://cdn-aws.deb.debian.org/debian buster/main amd64 Packages 2019-02-24-0811.12.pdiff [2 995 B]
Réception de :23 https://cdn-aws.deb.debian.org/debian buster/main amd64 Packages 2019-02-24-0811.12.pdiff [2 995 B]
Réception de :24 https://cdn-aws.deb.debian.org/debian buster/main i386 Packages 2019-02-24-0811.12.pdiff [3 013 B]
Réception de :24 https://cdn-aws.deb.debian.org/debian buster/main i386 Packages 2019-02-24-0811.12.pdiff [3 013 B]
Réception de :25 https://cdn-aws.deb.debian.org/debian buster/main Translation-fr 2019-02-24-0811.12.pdiff [2 260 B]
Réception de :25 https://cdn-aws.deb.debian.org/debian buster/main Translation-fr 2019-02-24-0811.12.pdiff [2 260 B]
Réception de :26 https://cdn-aws.deb.debian.org/debian buster/main Translation-en 2019-02-24-0811.12.pdiff [136 B]
Réception de :26 https://cdn-aws.deb.debian.org/debian buster/main Translation-en 2019-02-24-0811.12.pdiff [136 B]
Réception de :27 https://cdn-aws.deb.debian.org/debian buster/main i386 Contents (deb) 2019-02-24-0811.12.pdiff [7 141 B]
Réception de :28 https://cdn-aws.deb.debian.org/debian buster/main amd64 Contents (deb) 2019-02-24-0811.12.pdiff [7 165 B]
Réception de :29 https://cdn-aws.deb.debian.org/debian sid/main i386 Packages.diff/Index [27,9 kB]
Réception de :30 https://cdn-aws.deb.debian.org/debian sid/main amd64 Packages.diff/Index [27,9 kB]
Réception de :31 https://cdn-aws.deb.debian.org/debian sid/main Translation-fr.diff/Index [27,9 kB]
Réception de :32 https://cdn-aws.deb.debian.org/debian sid/main amd64 Contents (deb).diff/Index [28,0 kB]
Réception de :33 https://cdn-aws.deb.debian.org/debian sid/main i386 Contents (deb).diff/Index [28,0 kB]
Réception de :34 https://cdn-aws.deb.debian.org/debian sid/main i386 Packages 2019-02-24-0811.12.pdiff [1 744 B]
Réception de :35 https://cdn-aws.deb.debian.org/debian sid/main amd64 Packages 2019-02-24-0811.12.pdiff [1 844 B]
Réception de :36 https://cdn-aws.deb.debian.org/debian sid/main Translation-fr 2019-02-24-0811.12.pdiff [4 218 B]
Réception de :38 https://cdn-aws.deb.debian.org/debian sid/main amd64 Contents (deb) 2019-02-24-0811.12.pdiff [319 B]
Réception de :39 https://cdn-aws.deb.debian.org/debian sid/main i386 Contents (deb) 2019-02-24-0811.12.pdiff [254 B]
Réception de :28 https://cdn-aws.deb.debian.org/debian buster/main amd64 Contents (deb) 2019-02-24-0811.12.pdiff [7 165 B]
Réception de :27 https://cdn-aws.deb.debian.org/debian buster/main i386 Contents (deb) 2019-02-24-0811.12.pdiff [7 141 B]
Réception de :34 https://cdn-aws.deb.debian.org/debian sid/main i386 Packages 2019-02-24-0811.12.pdiff [1 744 B]
Réception de :36 https://cdn-aws.deb.debian.org/debian sid/main Translation-fr 2019-02-24-0811.12.pdiff [4 218 B]
Réception de :39 https://cdn-aws.deb.debian.org/debian sid/main i386 Contents (deb) 2019-02-24-0811.12.pdiff [254 B]
Réception de :35 https://cdn-aws.deb.debian.org/debian sid/main amd64 Packages 2019-02-24-0811.12.pdiff [1 844 B]
Réception de :38 https://cdn-aws.deb.debian.org/debian sid/main amd64 Contents (deb) 2019-02-24-0811.12.pdiff [319 B]
838 ko réceptionnés en 1min 5s (12,9 ko/s)
Lecture des listes de paquets…
Construction de l'arbre des dépendances…
Lecture des informations d'état…
7 paquets peuvent être mis à jour. Exécutez « apt list --upgradable » pour les voir.
resultat de la commande apt update =0
****************************************************************
Mise à jour
Lecture des listes de paquets…
Construction de l'arbre des dépendances…
Lecture des informations d'état…
Calcul de la mise à jour…
Les paquets suivants seront mis à jour :
libgdbm-compat4 libgdbm6 libpam-modules libpam-modules-bin libpam-runtime
libpam0g python-cffi-backend
7 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 940 ko dans les archives.
Après cette opération, 65,5 ko d'espace disque supplémentaires seront utilisés.
Réception de :1 https://cdn-aws.deb.debian.org/debian buster/main amd64 libpam0g amd64 1.3.1-5 [126 kB]
Réception de :2 https://cdn-aws.deb.debian.org/debian buster/main amd64 libpam-modules-bin amd64 1.3.1-5 [107 kB]
Réception de :3 https://cdn-aws.deb.debian.org/debian buster/main amd64 libpam-modules amd64 1.3.1-5 [309 kB]
Réception de :4 https://cdn-aws.deb.debian.org/debian buster/main amd64 libpam-runtime all 1.3.1-5 [211 kB]
Réception de :5 https://cdn-aws.deb.debian.org/debian buster/main amd64 libgdbm6 amd64 1.18.1-3 [64,5 kB]
Réception de :6 https://cdn-aws.deb.debian.org/debian buster/main amd64 libgdbm-compat4 amd64 1.18.1-3 [44,0 kB]
Réception de :7 https://cdn-aws.deb.debian.org/debian buster/main amd64 python-cffi-backend amd64 1.12.0-2 [78,5 kB]
Préconfiguration des paquets...
940 ko réceptionnés en 2s (453 ko/s)
(Lecture de la base de données...
(Lecture de la base de données... 5%
(Lecture de la base de données... 10%
(Lecture de la base de données... 15%
(Lecture de la base de données... 20%
(Lecture de la base de données... 25%
(Lecture de la base de données... 30%
(Lecture de la base de données... 35%
(Lecture de la base de données... 40%
(Lecture de la base de données... 45%
(Lecture de la base de données... 50%
(Lecture de la base de données... 55%
(Lecture de la base de données... 60%
(Lecture de la base de données... 65%
(Lecture de la base de données... 70%
(Lecture de la base de données... 75%
(Lecture de la base de données... 80%
(Lecture de la base de données... 85%
(Lecture de la base de données... 90%
(Lecture de la base de données... 95%
(Lecture de la base de données... 100%
(Lecture de la base de données... 196588 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../libpam0g_1.3.1-5_amd64.deb ...
Dépaquetage de libpam0g:amd64 (1.3.1-5) sur (1.1.8-4) ...
Paramétrage de libpam0g:amd64 (1.3.1-5) ...
Checking for services that may need to be restarted...Checking init scripts...
Restarting services possibly affected by the upgrade:
exim4: stopping...starting...done.
cups: stopping...starting...done.
cron: stopping...starting...done.
atd: stopping...starting...done.
Services restarted successfully.
(Lecture de la base de données...
(Lecture de la base de données... 5%
(Lecture de la base de données... 10%
(Lecture de la base de données... 15%
(Lecture de la base de données... 20%
(Lecture de la base de données... 25%
(Lecture de la base de données... 30%
(Lecture de la base de données... 35%
(Lecture de la base de données... 40%
(Lecture de la base de données... 45%
(Lecture de la base de données... 50%
(Lecture de la base de données... 55%
(Lecture de la base de données... 60%
(Lecture de la base de données... 65%
(Lecture de la base de données... 70%
(Lecture de la base de données... 75%
(Lecture de la base de données... 80%
(Lecture de la base de données... 85%
(Lecture de la base de données... 90%
(Lecture de la base de données... 95%
(Lecture de la base de données... 100%
(Lecture de la base de données... 196588 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../libpam-modules-bin_1.3.1-5_amd64.deb ...
Dépaquetage de libpam-modules-bin (1.3.1-5) sur (1.1.8-4) ...
Paramétrage de libpam-modules-bin (1.3.1-5) ...
(Lecture de la base de données...
(Lecture de la base de données... 5%
(Lecture de la base de données... 10%
(Lecture de la base de données... 15%
(Lecture de la base de données... 20%
(Lecture de la base de données... 25%
(Lecture de la base de données... 30%
(Lecture de la base de données... 35%
(Lecture de la base de données... 40%
(Lecture de la base de données... 45%
(Lecture de la base de données... 50%
(Lecture de la base de données... 55%
(Lecture de la base de données... 60%
(Lecture de la base de données... 65%
(Lecture de la base de données... 70%
(Lecture de la base de données... 75%
(Lecture de la base de données... 80%
(Lecture de la base de données... 85%
(Lecture de la base de données... 90%
(Lecture de la base de données... 95%
(Lecture de la base de données... 100%
(Lecture de la base de données... 196588 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../libpam-modules_1.3.1-5_amd64.deb ...
Dépaquetage de libpam-modules:amd64 (1.3.1-5) sur (1.1.8-4) ...
Paramétrage de libpam-modules:amd64 (1.3.1-5) ...
Installation de la nouvelle version du fichier de configuration /etc/security/access.conf ...
Installation de la nouvelle version du fichier de configuration /etc/security/limits.conf ...
(Lecture de la base de données...
(Lecture de la base de données... 5%
(Lecture de la base de données... 10%
(Lecture de la base de données... 15%
(Lecture de la base de données... 20%
(Lecture de la base de données... 25%
(Lecture de la base de données... 30%
(Lecture de la base de données... 35%
(Lecture de la base de données... 40%
(Lecture de la base de données... 45%
(Lecture de la base de données... 50%
(Lecture de la base de données... 55%
(Lecture de la base de données... 60%
(Lecture de la base de données... 65%
(Lecture de la base de données... 70%
(Lecture de la base de données... 75%
(Lecture de la base de données... 80%
(Lecture de la base de données... 85%
(Lecture de la base de données... 90%
(Lecture de la base de données... 95%
(Lecture de la base de données... 100%
(Lecture de la base de données... 196588 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../libpam-runtime_1.3.1-5_all.deb ...
Dépaquetage de libpam-runtime (1.3.1-5) sur (1.1.8-4) ...
Paramétrage de libpam-runtime (1.3.1-5) ...
(Lecture de la base de données...
(Lecture de la base de données... 5%
(Lecture de la base de données... 10%
(Lecture de la base de données... 15%
(Lecture de la base de données... 20%
(Lecture de la base de données... 25%
(Lecture de la base de données... 30%
(Lecture de la base de données... 35%
(Lecture de la base de données... 40%
(Lecture de la base de données... 45%
(Lecture de la base de données... 50%
(Lecture de la base de données... 55%
(Lecture de la base de données... 60%
(Lecture de la base de données... 65%
(Lecture de la base de données... 70%
(Lecture de la base de données... 75%
(Lecture de la base de données... 80%
(Lecture de la base de données... 85%
(Lecture de la base de données... 90%
(Lecture de la base de données... 95%
(Lecture de la base de données... 100%
(Lecture de la base de données... 196626 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../libgdbm6_1.18.1-3_amd64.deb ...
Dépaquetage de libgdbm6:amd64 (1.18.1-3) sur (1.18.1-2) ...
Préparation du dépaquetage de .../libgdbm-compat4_1.18.1-3_amd64.deb ...
Dépaquetage de libgdbm-compat4:amd64 (1.18.1-3) sur (1.18.1-2) ...
Préparation du dépaquetage de .../python-cffi-backend_1.12.0-2_amd64.deb ...
Dépaquetage de python-cffi-backend (1.12.0-2) sur (1.11.5-3) ...
Paramétrage de libgdbm6:amd64 (1.18.1-3) ...
Paramétrage de python-cffi-backend (1.12.0-2) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.28-7) ...
Traitement des actions différées (« triggers ») pour man-db (2.8.5-2) ...
Paramétrage de libgdbm-compat4:amd64 (1.18.1-3) ...
Traitement des actions différées (« triggers ») pour libc-bin (2.28-7) ...
Running kernel seems to be up-to-date.
Failed to check for processor microcode upgrades.
Services to be restarted:
/etc/needrestart/restart.d/systemd-manager
systemctl restart winbind.service
Service restarts being deferred:
systemctl restart sddm.service
No containers need to be restarted.
User sessions running outdated binaries:
debian-security-support @ user manager service: systemd[11301]
resultat de la commande apt-full-upgrade =0
dpkg --audit
apt clean
****************************************************************
apt purge
Lecture des listes de paquets…
Construction de l'arbre des dépendances…
Lecture des informations d'état…
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
****************************************************************
df -hT
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
udev 1,8G 0 1,8G 0% /dev
tmpfs 370M 11M 359M 3% /run
/dev/sda1 19G 13G 5,1G 72% /
tmpfs 1,9G 2,2M 1,8G 1% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 1,9G 0 1,9G 0% /sys/fs/cgroup
tmpfs 1,9G 4,0K 1,9G 1% /tmp
/dev/sda6 268G 240G 14G 95% /home
tmpfs 370M 20K 370M 1% /run/user/1001
****************************************************************
dimanche 24 février 2019, 12:47:45 (UTC+0100)
systemctl --failed
0 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.

Par Bidouille De Bian

Bidouilleur sur Linux Debian 10 (Buster). Débutant dans le blog sur Wordpress.