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"
-------------------------------------------------------------------------------------