Aller au contenu principal
Sujet: Suivi des installations et suppressions Zypper (Lu 412 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 '+%Y-%m-%d')" | awk -F'|' 'BEGIN {print "Date/Heure          | Action   | Paquet/Commande              | Version      "}
{printf "%-20s| %-8s| %-28s| %-12s\n", $1, $2, $3, $4}'

Sript sur mon github
script github
le rendre excutable dans le répertoire : Documents/scripts
sudo chmod +x zypp-history.sh
Excuter le script
sudo ./zypp-history.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