« APT » : différence entre les versions
Balise : Révoqué |
Aucun résumé des modifications |
||
| (14 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 61 : | Ligne 61 : | ||
=== voir tous les paquets === | === voir tous les paquets === | ||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
apt list --installed | apt list --installed | ||
| Ligne 79 : | Ligne 71 : | ||
=== compter les paquets installés sur Ubuntu === | === compter les paquets installés sur Ubuntu === | ||
filtre pour ne montrer que les paquets actifs. | |||
<syntaxhighlight lang="bash" line> | <syntaxhighlight lang="bash" line> | ||
sudo apt list --installed | wc -l | sudo apt list --installed | wc -l | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| Ligne 87 : | Ligne 78 : | ||
=== voir si des paquets sont cassés === | === voir si des paquets sont cassés === | ||
<syntaxhighlight lang="bash" line> | <syntaxhighlight lang="bash" line> | ||
sudo apt-get check | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| Ligne 157 : | Ligne 145 : | ||
* '''Répartition uniforme''' : Les scores sont distribués entre 0 et 99 pour équilibrer le déploiement. | * '''Répartition uniforme''' : Les scores sont distribués entre 0 et 99 pour équilibrer le déploiement. | ||
==== 5. Lister tous les fichiers <code>phased</code> ==== | ==== 5. Lister tous les fichiers <code>phased</code> (old version) ==== | ||
<syntaxhighlight lang="bash" line> | <syntaxhighlight lang="bash" line> | ||
| Ligne 163 : | Ligne 151 : | ||
#!/bin/bash | #!/bin/bash | ||
# Liste des paquets en phased updates | # Liste des paquets en phased updates | ||
PACKAGES=$(apt list --upgradable | grep -E "*" | cut -d'/' -f1) | PACKAGES=$(apt list --upgradable | grep -E "*" | cut -d'/' -f1) | ||
echo "Checking phased updates" | echo "Checking phased updates" | ||
| Ligne 180 : | Ligne 168 : | ||
----- | ----- | ||
== | ==== 6. Lister tous les fichiers <code>phased</code> (Version améliorée) ==== | ||
[[ | <syntaxhighlight lang="bash" line> | ||
#!/bin/bash | |||
: ' | |||
============================================================ | |||
Script : check-phased-list.sh | |||
Objet : Générer un rapport clair sur les mises à jour phasées APT Ubuntu | |||
============================================================ | |||
DESCRIPTION : | |||
Ce script analyse les paquets upgradables signalés par APT et | |||
vérifie s’ils sont soumis au "phasage" (phased updates). | |||
Le phasage est une fonctionnalité d’APT qui déploie certaines | |||
mises à jour progressivement (ex: 10%, 20%, ... des machines) | |||
afin de limiter l’impact d’éventuels bugs. | |||
Le script : | |||
1. Récupère la liste des paquets upgradables via | |||
`apt list --upgradable`. | |||
2. Pour chaque paquet, interroge `apt-cache show` pour | |||
extraire le champ `Phased-Update-Percentage`. | |||
3. Construit une liste fusionnée des paquets concernés, | |||
en indiquant le pourcentage de phasage appliqué. | |||
4. Trie et affiche les résultats par ordre alphabétique. | |||
5. Résume le nombre total de paquets affectés par le phasage. | |||
AFFICHAGE : | |||
- Chaque paquet est listé avec son pourcentage de phasage. | |||
- Un résumé final indique le total de paquets concernés. | |||
UTILISATION : | |||
./rapport-phasage.sh | |||
PRÉREQUIS : | |||
- Debian/Ubuntu (ou dérivés) avec apt >= 2.2 | |||
- Droits de lecture sur `apt list` et `apt-cache show` | |||
============================================================ | |||
' | |||
# --- Définition des couleurs pour l'affichage --- | |||
RED='\033[0;31m' | |||
GREEN='\033[0;32m' | |||
YELLOW='\033[1;33m' | |||
BLUE='\033[0;34m' | |||
NC='\033[0m' # Reset couleur (No Color) | |||
# --- En-tête --- | |||
echo "==============================================" | |||
echo " 🔍 Rapport sur les mises à jour phasées" | |||
echo "==============================================" | |||
echo | |||
# Étape 1 : récupération des paquets upgradables | |||
UPGRADABLE_PKGS=$(apt list --upgradable 2>/dev/null | awk -F/ 'NR>1 {print $1}') | |||
# Étape 2 : carte associative pour stocker les pourcentages | |||
declare -A PHASE_MAP | |||
for pkg in $UPGRADABLE_PKGS; do | |||
PERC=$(apt-cache show "$pkg" 2>/dev/null | awk '/^Phased-Update-Percentage:/ {print $2}') | |||
if [ -n "$PERC" ]; then | |||
PHASE_MAP["$pkg"]="$PERC" | |||
fi | |||
done | |||
# Étape 3 : affichage trié | |||
if [ ${#PHASE_MAP[@]} -eq 0 ]; then | |||
echo -e " ${GREEN}→ Aucun paquet soumis au phasage${NC}" | |||
else | |||
for pkg in $(printf "%s\n" "${!PHASE_MAP[@]}" | sort); do | |||
echo -e " - ${YELLOW}$pkg${NC} → ${RED}${PHASE_MAP[$pkg]}% en phase${NC}" | |||
done | |||
echo | |||
echo "==============================================" | |||
echo -e " ✅ ${GREEN}Analyse terminée${NC}" | |||
echo " Résumé : ${#PHASE_MAP[@]} paquets concernés par le phasage" | |||
echo "==============================================" | |||
fi | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" line> | <syntaxhighlight lang="bash" line> | ||
chmod +x check_phased_updates.sh | |||
./check_phased_updates.sh | |||
</syntaxhighlight> | </syntaxhighlight> | ||
----- | ----- | ||
== < | == Lister toutes les installations (avec filtrage) == | ||
Pour voir tous les paquets installés manuellement (pas les dépendances automatiques) | |||
<syntaxhighlight lang="bash" line copy> | |||
apt-mark showmanual | sort | |||
</syntaxhighlight> | |||
Pour voir tous les paquets installés automatiques | |||
<syntaxhighlight lang="bash" line copy> | |||
apt-mark showauto | |||
</syntaxhighlight> | |||
---- | ----- | ||
== Script | == Script bash APT historique == | ||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
#!/bin/bash | #!/bin/bash | ||