« Snap » : différence entre les versions
Apparence
Page créée avec « == voir les paquets snap == snap list Catégorie:Linux » |
Aucun résumé des modifications |
||
| Ligne 1 : | Ligne 1 : | ||
== voir les paquets snap == | == voir les paquets snap == | ||
snap list | <syntaxhighlight lang="bash" line copy> | ||
snap list | |||
</syntaxhighlight> | |||
== Script pour voir l'historique des paquets snap == | |||
<syntaxhighlight lang="bash" line copy> | |||
#!/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 | |||
</syntaxhighlight> | |||
[[Catégorie:Linux]] | [[Catégorie:Linux]] | ||
Version du 21 mai 2025 à 23:45
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