Snap
Apparence
voir les paquets snap
snap list
Script pour voir l'historique des paquets snap
#!/bin/bash
# ==============================================
# FONCTIONS SNAP
# ==============================================
show_full_snap_history() {
sudo snap changes --abs-time | awk '
NR>1 {
id = $1;
status = $2;
summary = substr($0, index($0,$3));
cmd = "sudo snap tasks " id " 2>/dev/null | tail -n +2";
printf "\033[1;33m● ID: %s\033[0m | ", id;
# Couleur par statut
if (status == "Done") printf "\033[32m";
else if (status == "Error") printf "\033[31m";
else printf "\033[36m";
printf "Status: %s\033[0m | %s\n", status, summary;
while ((cmd | getline task) > 0) {
printf " ↳ %s\n", task;
}
close(cmd);
}'
}
show_snap_updates() {
sudo snap changes --abs-time | awk '
BEGIN {
printf "\033[1;34m=== HISTORIQUE DES MISES À JOUR SNAP ===\033[0m\n";
count = 0;
}
NR>1 && ($3 ~ /refresh|upgrade/) {
id = $1;
status = $2;
summary = substr($0, index($0,$3));
count++;
color = "36";
if (status == "Done") color = "32";
if (status == "Error") color = "31";
printf "\n\033[1;33m● ID: %s\033[0m | \033[%smStatus: %s\033[0m\n", id, color, status;
printf " Action: \033[1;35m%s\033[0m\n", summary;
cmd = "sudo snap tasks " id " 2>/dev/null | grep -E '\''(Download|Install|Remove)'\''";
while ((cmd | getline task) > 0) {
printf " ↳ \033[90m%s\033[0m\n", task;
}
close(cmd);
}
END {
printf "\n\033[1;34mTotal des mises à jour: %s\033[0m\n", count;
}'
}
show_current_versions() {
echo -e "\n\033[1;34m=== VERSIONS ACTUELLES ===\033[0m"
snap list | awk '
NR==1 {printf "\033[1m%-20s %-15s %-10s\033[0m\n", $1, $2, $4; next}
{printf "%-20s %-15s %-10s\n", $1, $2, $4}'
}
# ==============================================
# MENU PRINCIPAL
# ==============================================
display_help() {
echo -e "\033[1;33mUsage:\033[0m"
echo " $0 -f Afficher l'historique complet (comme le script 1)"
echo " $0 -i Afficher seulement les installations"
echo " $0 -u Afficher seulement les suppressions"
echo " $0 -d Afficher les mises à jour détaillées (comme le script 2)"
echo " $0 -c Afficher les versions actuelles"
echo " $0 -a Tout afficher (historique complet + versions)"
echo -e "\n\033[1;33mExemples:\033[0m"
echo " $0 -f | grep -A3 \"Error\" # Rechercher des erreurs"
echo " $0 -d # Voir seulement les mises à jour"
}
case "$1" in
"-f") show_full_snap_history ;;
"-i") show_full_snap_history | grep "install" ;;
"-u") show_full_snap_history | grep "remove" ;;
"-d") show_snap_updates ;;
"-c") show_current_versions ;;
"-a")
show_full_snap_history
show_current_versions
;;
*)
display_help
;;
esac