Aller au contenu principal
Sujet: Suivi des installations et suppressions Zypper (Lu 921 fois) sujet précédent - sujet suivant

Suivi des installations et suppressions Zypper

Bonjour

Une commande complexe et utile pour les utilisateurs d'openSUSE qui souhaitent consulter rapidement les paquets installés, supprimés et les commandes effectuées sur leur système à une date donnée.

Cette commande exploite le fichier :
/var/log/zypp/history 
pour extraire et formater les informations  effectuées via Zypper.

grep -E "\|install\||\|remove ?\||\|command" /var/log/zypp/history \
| grep "$DATE" \
| awk -F'|' 'BEGIN {print "DateTime|Action|Package/Command|Version"}
            {gsub(/ /, "", $2); printf "%-20s|%-8s|%-28s|%-12s\n", $1, $2, $3, $4}'

script surmon github

le rendre excutable dans le répertoire : Documents/scripts

sudo chmod +x script_choisi_sur_mon_github.sh
Excuter le script
sudo ./version_script_sur_mon_github.sh
Date/Heure          | Action   | Paquet/Commande              | Version      
2025-01-27 00:22:15 | command | root@unixlinuxpro           | 'zypper' 'dup'
2025-01-27 00:25:03 | remove  | ovpn-dco-kmp-default        | 0.2.20241216~git0.a08b2fd_k6.13.0_1-1.22
2025-01-27 00:25:43 | install | chromium                    | 132.0.6834.110-1.1
2025-01-27 00:25:51 | install | libQt6Bluetooth6            | 6.8.1-3.1  

On distingue :
  • Une commande [command] : zypper dup
  • Une suppression paquet [remove] : ovpn-dco-kmp-default
  • Une installation paquet : chromium 
C'est particulièrement pratique pour les actions de dépannage.

Explication :
  • Outils utilisés  :
    * grep : Pour rechercher des motifs spécifiques dans le fichier history.
    * awk : Pour formater  les données extraites (titres | colonne |.
    * date : Pour obtenir une date au format souhaité.
    * Pipes (|) : Transmission des résultats d'une commande à une autre.
--------------------------------------------------------------------------------------
Format date du jour : grep $(date '+%Y-%m-%d')
Format date choisi : grep "2025-01-25"
-------------------------------------------------------------------------------------

[1]
Mise à jour : 27/01/2025

Re : Suivi des installations et suppressions Zypper

Répondre #1
Une commande complexe et utile pour les utilisateurs d'openSUSE qui souhaitent consulter rapidement les paquets installés, supprimés et les commandes effectuées sur leur système à une date donnée.
Bonsoir,

Ça fonctionne  :) mais quelque chose cloche dans ta description du script il me semble. La consultation se fait à la date du jour où la commande est passée et non à une date donnée. À une date donnée (à telle date) signifierait qu'on puisse interroger une date précise.

 

Re : Suivi des installations et suppressions Zypper

Répondre #2
Bonsoir @Chumi

Citer
signifierait qu'on puisse interroger une date précise

Je t'explique :

Dans la commande tu as le format de date d'aujourdhui comme cela :

"$(date '+%Y-%m-%d')"

Si je veux interroger le 25/01/2025

Je supprime entre les guillemet  "          " le format date d'aujourd'hui  $(date '+%Y-%m-%d')

et j'y colle la date désirée sur ce format :"yyyy/mm/dd"

"2025/01/25"

Ca me donne cela pour moi :

grep -E "\|install\||\|remove ?\||\|command" /var/log/zypp/history | grep [b]"[color=red]2025-01-25"[/color][/b] | awk -F'|' 'BEGIN {print "Date/Heure          | Action   | Paquet/Commande              | Version      "}                                                                                           
{printf "%-20s| %-8s| %-28s| %-12s\n", $1, $2, $3, $4}'

Résultat :

Date/Heure          | Action   | Paquet/Commande              | Version      
2025-01-25 06:19:31 | command | root@unixlinuxpro           | 'zypper' 'in' '--from' 'download.opensuse.org-oss_2' 'btop.x86_64'
2025-01-25 06:19:45 | install | btop                        | 1.4.0+git20241108.e17bc6b-1.1
2025-01-25 10:03:09 | command | root@unixlinuxpro           | 'zypper' 'in' 'kodi'
2025-01-25 10:03:25 | install | kodi                        | 21.2-1699.10.pm.4
2025-01-25 16:31:10 | command | root@unixlinuxpro           | 'zypper' 'dup' '--allow-vendor-change'
2025-01-25 16:31:12 | remove  | kde-print-manager-lang      | 24.11.70git.20240503T012733~c8

Je travaillerais sur l'amélioration du script, afin qu'il demande à l'utilisateur quelle date choisir.

Re : Suivi des installations et suppressions Zypper

Répondre #3
Je travaillerais sur l'amélioration du script, afin qu'il demande à l'utilisateur quelle date choisir.

Bonsoir,

Oui ce serait bien  :)  car sinon on perd l'avantage d'un script s'il faut le bricoler à chaque fois.

Re : Suivi des installations et suppressions Zypper

Répondre #4
Bonsoir Yoman
C'est une bonne idée , pour faire une recherche jour/jour , ça peut obliger de refaire la manip plusieurs fois avant de trouver ce que l'on cherche
Est il possible de faire une période ( 2025/01/15 - 2024/ 12/28 ) , tu vois l'idée , ça simplifierait un peu la recherche et ça éviterait une boucle redondante avec une multitude de lignes où l'on ne s'y retrouverait plus
Bonne soirée

Re : Suivi des installations et suppressions Zypper

Répondre #5
Salut c’est bien que ce soit dans ‘configuration vu avancée ‘ car personnellement je vais dans yast history et j’ai toutes les majs avec leur date. Je pense que c’est plus simple. Mais cpourquoi faire simple quand on peut faire compliqué ? 😃

Re : Suivi des installations et suppressions Zypper

Répondre #6
Salut c’est bien que ce soit dans ‘configuration vu avancée ‘ car personnellement je vais dans yast history et j’ai toutes les majs avec leur date. Je pense que c’est plus simple. Mais cpourquoi faire simple quand on peut faire compliqué ? 😃

Bonjour,

Ah oui! je me souviens que cela a déjà été mentionné sur ce forum mais je ne vois plus comment on y accède (je bigle ou quoi?  :)) )

Re : Suivi des installations et suppressions Zypper

Répondre #7
Salut c’est bien que ce soit dans ‘configuration vu avancée ‘ car personnellement je vais dans yast history et j’ai toutes les majs avec leur date. Je pense que c’est plus simple. Mais cpourquoi faire simple quand on peut faire compliqué ? 😃

Bonjour,

Ah oui! je me souviens que cela a déjà été mentionné sur ce forum mais je ne vois plus comment on y accède (je bigle ou quoi?  :)) )
bonjour. Dans yast, installer des logiciels,onglet "extras", afficher l'historique.

Re : Suivi des installations et suppressions Zypper

Répondre #8
Je pense que c’est plus simple. Mais cpourquoi faire simple quand on peut faire compliqué ? 😃

Entièrement d'accord avec toi.
(Sur les forums anglophones, la demande d'une extraction des logs zypper a été réclamée pas mal de fois).

mais quand on a pas d'électricité , c'est bien d'avoir une bougie pour s'éclairer⁣.⁣.

Le but de la rubrique « Configuration avancée », c'est quand rien ne fonctionne... On fait quoi et comment ?

unixlinuxpro# ./zypper-history-beta_2.sh       
Voulez-vous spécifier une date ? [O/n] O
📅 Entrez la date (YYYY-MM-DD) : 2025-01-28
==================================================================================
Historique Zypper (/var/log/zypp/history) - 2025-01-28
==================================================================================
Date/Heure          | Action   | Paquet/Commande              | Version     
----------------------------------------------------------------------------------
2025-01-28 20:19:59 | command | root@unixlinuxpro           | 'zypper' 'dup' '--download-as-needed'
2025-01-28 20:20:14 | install | bash-doc                    | 5.2.37-528.2
2025-01-28 20:20:20 | install | coreutils-systemd           | 9.6-409.5  
2025-01-28 20:20:22 | install | dbus-broker-block-restart   | 36-50.4    
2025-01-28 20:20:48 | install | filesystem                  | 84.87-325.1
2025-01-28 20:21:44 | install | liblastlog2-2               | 2.40.4-3.4 
2025-01-28 20:21:48 | install | libp11-kit0                 | 0.25.5-71.13
2025-01-28 20:21:52 | install | p11-kit                     | 0.25.5-71.13
2025-01-28 20:21:55 | install | libproc2-1                  | 4.0.5-322.5
2025-01-28 20:21:59 | install | bash                        | 5.2.37-528.2
2025-01-28 20:22:01 | install | bash-sh                     | 5.2.37-528.2
2025-01-28 20:22:05 | install | p11-kit-tools               | 0.25.5-71.13
2025-01-28 20:22:07 | install | p11-kit-server              | 0.25.5-71.13
2025-01-28 20:22:10 | install | procps                      | 4.0.5-322.5
2025-01-28 20:22:13 | install | util-linux-tty-tools        | 2.40.4-3.4 
2025-01-28 20:22:18 | install | util-linux-systemd          | 2.40.4-3.4 
2025-01-28 20:22:20 | install | sysuser-shadow              | 3.3-13.1   
2025-01-28 20:22:28 | install | systemd-presets-common-SUSE | 15-115.1   
2025-01-28 20:22:33 | install | syslog-service              | 2.0-972.29 
2025-01-28 20:22:35 | install | polkit-default-privs        | 1550+20250128.968956c-613.1
2025-01-28 20:22:39 | install | mdadm                       | 4.3-308.145
2025-01-28 20:22:42 | install | m4                          | 1.4.18-74.17
2025-01-28 20:22:44 | install | lastlog2                    | 2.40.4-3.4 
2025-01-28 20:22:47 | install | klogd                       | 1.5.1-972.29
2025-01-28 20:22:52 | install | grub2-common                | 2.12-47.68 
2025-01-28 20:22:57 | install | grub2-i386-pc               | 2.12-47.68 
2025-01-28 20:23:00 | install | grub2                       | 2.12-47.68 
2025-01-28 20:23:04 | install | gawk                        | 5.3.1-118.70
2025-01-28 20:23:06 | install | fwupd-efi                   | 1.7-16.44  
2025-01-28 20:23:08 | install | dbus-broker                 | 36-50.4    
2025-01-28 20:23:10 | install | cron                        | 4.2-500.184
2025-01-28 20:23:13 | install | cronie                      | 1.7.2-500.184
2025-01-28 20:23:17 | install | bash-lang                   | 5.2.37-528.2
2025-01-28 20:23:20 | install | procps-lang                 | 4.0.5-322.5
2025-01-28 20:23:24 | install | rtkit                       | 0.13-78.3  
2025-01-28 20:23:29 | install | grub2-x86_64-efi            | 2.12-47.68 
2025-01-28 20:23:31 | install | grub2-systemd-sleep-plugin  | 2.12-47.68 
2025-01-28 20:23:33 | install | grub2-snapper-plugin        | 2.12-47.68 
2025-01-28 20:23:38 | install | dracut                      | 059+suse.679.g7559201e-386.6
2025-01-28 20:23:44 | install | cpp13                       | 13.3.1+git8964-118.50
2025-01-28 20:23:58 | install | libstdc++6-devel-gcc13      | 13.3.1+git8964-118.50
2025-01-28 20:24:13 | install | gcc13                       | 13.3.1+git8964-118.50
2025-01-28 20:24:16 | install | gcc13-locale                | 13.3.1+git8964-118.50
2025-01-28 20:24:22 | install | gcc13-c++                   | 13.3.1+git8964-118.50
2025-01-28 20:24:24 | install | libatk-1_0-0                | 2.54.1-245.2
2025-01-28 20:24:27 | install | libatspi0                   | 2.54.1-245.2
2025-01-28 20:24:40 | install | ghostscript                 | 10.04.0-220.44
2025-01-28 20:24:42 | install | ghostscript-x11             | 10.04.0-220.44
2025-01-28 20:24:44 | install | typelib-1_0-Atk-1_0         | 2.54.1-245.2
2025-01-28 20:24:47 | install | libatk-bridge-2_0-0         | 2.54.1-245.2
2025-01-28 20:24:50 | install | at-spi2-core                | 2.54.1-245.2
2025-01-28 20:24:53 | install | at-spi2-core-lang           | 2.54.1-245.2
2025-01-28 20:24:56 | install | libfreebl3                  | 3.107-4.11 
2025-01-28 20:24:58 | install | mozilla-nss-certs           | 3.107-4.11 
2025-01-28 20:25:01 | install | libsoftokn3                 | 3.107-4.11 
2025-01-28 20:25:05 | install | mozilla-nss                 | 3.107-4.11 
2025-01-28 20:25:08 | install | mozilla-nss-sysinit         | 3.107-4.11 
2025-01-28 20:25:11 | install | libvlccore9                 | 3.0.21-1699.9.pm.1
2025-01-28 20:25:25 | install | obs-studio                  | 31.0.0-1699.6.pm.12
2025-01-28 20:25:27 | install | libvlc5                     | 3.0.21-1699.9.pm.1
2025-01-28 20:25:37 | install | vlc-noX                     | 3.0.21-1699.9.pm.1
2025-01-28 20:25:41 | install | vlc-lang                    | 3.0.21-1699.9.pm.1
2025-01-28 20:25:45 | install | vlc-qt                      | 3.0.21-1699.9.pm.1
2025-01-28 20:25:48 | install | vlc-codec-fluidsynth        | 3.0.21-1699.9.pm.1
2025-01-28 20:25:52 | install | vlc-codecs                  | 3.0.21-1699.9.pm.1
2025-01-28 20:25:56 | install | vlc-codec-gstreamer         | 3.0.21-1699.9.pm.1
2025-01-28 20:26:03 | install | vlc                         | 3.0.21-1699.9.pm.1
2025-01-28 20:26:08 | install | vlc-vdpau                   | 3.0.21-1699.9.pm.1
2025-01-28 20:26:10 | install | system-user-kodi            | 22.x.+git.20250127T172131~12245d092-410.2
2025-01-28 20:28:18 | install | kernel-liquorix             | 6.12.11.lqx2-1.1
2025-01-28 20:29:20 | install | microsoft-edge-beta         | 133.0.3065.31-1

==================================================================================
Log d'exécution (/var/log/zypper.log) - 2025-01-28
==================================================================================
Heure               | PID     | Commande
----------------------------------------------------------------------------------
================================================================================
Collect from /var/log/zypper.log ...

2025-01-28 20:08    | 68258   | zypper vb
2025-01-28 20:17    | 68333   | zypper ref
2025-01-28 20:18    | 68826   | zypper dup --download-as-needed
unixlinuxpro#

script dans mon github

Yast history ne te donne pas les sorties de commandes que tu as passées.
Généralement, c'est ce qui est demandé quand on cherche à se faire dépanner.

Le script extrait à une date choisie : zypper history & zypper log :

  • commande éxecutée
  • paquet installé
  • paquet supprimé

et de zypper.log

  • Uniquement les commandes exécutées.

Et en cas de dépannage ça peut aider et y voir plus clair.

Perso, je n'utilise plus Yast depuis pas mal de temps.

* Je mets mes scripts ou autres outils de dépannage sur clé USB, en plus d'avoir passé mon PC de test en BTRFS

Dans tous les cas, si ça peut aider, c'est le but.

[1]
Yast va disparaître pour laisser sa place.

* Agama : nouvel installateur système
* Cockpit : pour l'administration système (je suis déjà sur Cokpit)

Re : Suivi des installations et suppressions Zypper

Répondre #9
Bonsoir Yoman
C'est une bonne idée , pour faire une recherche jour/jour , ça peut obliger de refaire la manip plusieurs fois avant de trouver ce que l'on cherche
Est il possible de faire une période ( 2025/01/15 - 2024/ 12/28 ) , tu vois l'idée , ça simplifierait un peu la recherche et ça éviterait une boucle redondante avec une multitude de lignes où l'on ne s'y retrouverait plus
Bonne soirée


Pourquoi pas, mais ça va être plus compliqué...mais c'est possible...

Il faut que j'inclue des conditions dans le script.

  • Date du jour
  • Date précise.
  • période

Je ferais une version beta_3 (avenir)