« APT » : différence entre les versions
Aucun résumé des modifications |
|||
| Ligne 1 : | Ligne 1 : | ||
== Paquets APT == | == Paquets APT == | ||
=== Liste des paquets récemment mis à jour === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
ls -lt /var/lib/dpkg/info/*.list | head -n 50 | ls -lt /var/lib/dpkg/info/*.list | head -n 50 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Mise à jour de la liste des paquets === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
sudo apt update | sudo apt update | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Voir ce qui peut être mis à jour === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
sudo apt list --upgradable | sudo apt list --upgradable | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Installation === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
sudo apt install --only-upgrade firefox | sudo apt install --only-upgrade firefox | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Ne gère pas les dépendances ==== | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
sudo apt upgrade | sudo apt upgrade | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Gère les dépendances ==== | |||
(permet l'installation de nouveaux paquets pour résoudre les dépendances) | (permet l'installation de nouveaux paquets pour résoudre les dépendances) | ||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
| Ligne 34 : | Ligne 34 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Supprimez tous les paquets devenus obsolètes et qui ne sont plus nécessaires === | |||
Supprime les anciens noyaux installés | Supprime les anciens noyaux installés | ||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
| Ligne 40 : | Ligne 40 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Supprimez le cache des paquets qui ne peuvent plus être téléchargés === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
sudo apt autoclean | sudo apt autoclean | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Télécharge et installe les dépendances manquantes pour réparer les paquets cassés. === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
sudo apt --fix-broken install | sudo apt --fix-broken install | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Termine la configuration des paquets interrompus. === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
sudo dpkg --configure -a | sudo dpkg --configure -a | ||
| Ligne 59 : | Ligne 59 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== voir tous les paquets === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
dpkg --list | dpkg --list | ||
| Ligne 72 : | Ligne 72 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== voir si un paquet est à jour === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
apt-cache policy firefox | apt-cache policy firefox | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== compter les paquets installés sur Ubuntu === | |||
<syntaxhighlight lang="bash" line> | <syntaxhighlight lang="bash" line> | ||
sudo dpkg-query -f '${binary:Package}\n' -W | wc -l | sudo dpkg-query -f '${binary:Package}\n' -W | wc -l | ||
| Ligne 84 : | Ligne 84 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== voir si des paquets sont cassés === | |||
<syntaxhighlight lang="bash" line> | <syntaxhighlight lang="bash" line> | ||
apt-get check | apt-get check | ||
| Ligne 92 : | Ligne 92 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Nettoyer rc === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
dpkg -l | awk '/^rc/{print $2}' | xargs -r sudo dpkg -P | dpkg -l | awk '/^rc/{print $2}' | xargs -r sudo dpkg -P | ||
| Ligne 98 : | Ligne 98 : | ||
source:https://www.debian-fr.org/t/paquets-casses-comment-les-lister/16997/5 | source:https://www.debian-fr.org/t/paquets-casses-comment-les-lister/16997/5 | ||
=== Trouver le nom exact des packages de noyau que vous souhaitez désinstaller === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
dpkg -l | grep "linux-[a-z]*-" | dpkg -l | grep "linux-[a-z]*-" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Rechercher des informations sur les paquets installés === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
dpkg-query -l '*curl*' | dpkg-query -l '*curl*' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Obtenir plus de détails sur un paquet spécifique === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
dpkg-query -s curl | dpkg-query -s curl | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Rechercher des fichiers appartenant à un paquet === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
dpkg-query -S curl | dpkg-query -S curl | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Lister tous les fichiers installés par un paquet === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
dpkg-query -L curl | dpkg-query -L curl | ||
| Ligne 125 : | Ligne 125 : | ||
----- | ----- | ||
=== <span style="font-size: 1.2em;">phased => déféré (retardé)</span> === | |||
Cette commande permet de calculer un score entre 0 et 99 à partir de votre machine-id, utilisé par Ubuntu pour les phased updates (mises à jour progressives). | Cette commande permet de calculer un score entre 0 et 99 à partir de votre machine-id, utilisé par Ubuntu pour les phased updates (mises à jour progressives). | ||
==== 1 .Calcul du Score de Phase ==== | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
echo $((0x$(cut -c1-16 /etc/machine-id | head -c 8) % 100)) | echo $((0x$(cut -c1-16 /etc/machine-id | head -c 8) % 100)) | ||
| Ligne 140 : | Ligne 140 : | ||
<span id="résumé"></span> | <span id="résumé"></span> | ||
==== 2. Résumé ==== | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| Ligne 170 : | Ligne 170 : | ||
<span id="à-quoi-sert-ce-score"></span> | <span id="à-quoi-sert-ce-score"></span> | ||
==== 3. À Quoi Sert Ce Score ? ==== | |||
* '''Phased Updates''' : Ubuntu déploie les mises à jour par vagues (ex : 10%, 30%, 50% des machines).<br /> | * '''Phased Updates''' : Ubuntu déploie les mises à jour par vagues (ex : 10%, 30%, 50% des machines).<br /> | ||
| Ligne 181 : | Ligne 181 : | ||
<span id="pourquoi-cette-méthode"></span> | <span id="pourquoi-cette-méthode"></span> | ||
==== 4. Pourquoi Cette Méthode ? ==== | |||
* '''Déterminisme''' : Le score est '''toujours le même''' pour votre machine (car basé sur <code>machine-id</code>).<br /> | * '''Déterminisme''' : Le score est '''toujours le même''' pour votre machine (car basé sur <code>machine-id</code>).<br /> | ||
| Ligne 187 : | Ligne 187 : | ||
* '''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> ==== | |||
<syntaxhighlight lang="bash" line> | <syntaxhighlight lang="bash" line> | ||
| Ligne 211 : | Ligne 211 : | ||
== Noyau == | == Noyau == | ||
=== Lister tous les paquets liés au noyau installés sur votre système avec la commande suivante === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
dpkg --list | grep linux-image | dpkg --list | grep linux-image | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Lister les fichiers dans le répertoire /boot pour voir les versions du noyau installées === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
ls -l /boot | grep vmlinuz | ls -l /boot | grep vmlinuz | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Vérifier quel noyau est actuellement en cours d'utilisation === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
uname -r | uname -r | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Voir noyau version === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
uname -a | uname -a | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Voir noyaux installés === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
dpkg -l | awk '!/^rc/ && / linux-(c|g|h|i|lo|m|si|t)/{print $1,$2,$3,$4 | "sort -k3 | column -t"}' | dpkg -l | awk '!/^rc/ && / linux-(c|g|h|i|lo|m|si|t)/{print $1,$2,$3,$4 | "sort -k3 | column -t"}' | ||
| Ligne 236 : | Ligne 236 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Lister les paquets de noyau installés et leur taille === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | grep linux-image | dpkg-query -Wf '${Installed-Size}\t${Package}\n' | grep linux-image | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Vérifier l'espace disque utilisé dans /boot === | |||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
sudo du -sh /boot/* | sudo du -sh /boot/* | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Pour obtenir plus de détails sur un paquet de noyau spécifique, y compris sa taille === | |||
Liste | Liste | ||
<syntaxhighlight lang="bash" line copy> | <syntaxhighlight lang="bash" line copy> | ||
| Ligne 256 : | Ligne 256 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Supprimer des anciens noyaux === | |||
Debian propose un script appelé purge-old-kernels qui peut automatiser la suppression des anciens noyaux. Vous pouvez l'installer et l'utiliser comme suit : | Debian propose un script appelé purge-old-kernels qui peut automatiser la suppression des anciens noyaux. Vous pouvez l'installer et l'utiliser comme suit : | ||
<syntaxhighlight lang="bash" line> | <syntaxhighlight lang="bash" line> | ||
Version du 21 mai 2025 à 20:35
Paquets APT
Liste des paquets récemment mis à jour
ls -lt /var/lib/dpkg/info/*.list | head -n 50
Mise à jour de la liste des paquets
sudo apt update
Voir ce qui peut être mis à jour
sudo apt list --upgradable
Installation
sudo apt install --only-upgrade firefox
Ne gère pas les dépendances
sudo apt upgrade
Gère les dépendances
(permet l'installation de nouveaux paquets pour résoudre les dépendances)
sudo apt --with-new-pkgs upgrade
(peut également supprimer des paquets pour satisfaire les dépendances) => plus agressive
sudo apt full-upgrade
Supprimez tous les paquets devenus obsolètes et qui ne sont plus nécessaires
Supprime les anciens noyaux installés
sudo apt-get autoremove --purge
Supprimez le cache des paquets qui ne peuvent plus être téléchargés
sudo apt autoclean
Télécharge et installe les dépendances manquantes pour réparer les paquets cassés.
sudo apt --fix-broken install
Termine la configuration des paquets interrompus.
sudo dpkg --configure -a
Utilisez les deux commandes en combo si nécessaire :
sudo apt --fix-broken install
sudo dpkg --configure -a
voir tous les paquets
dpkg --list
ou
dpkg --get-selections
ou
apt list --installed
voir si un paquet est à jour
apt-cache policy firefox
compter les paquets installés sur Ubuntu
sudo dpkg-query -f '${binary:Package}\n' -W | wc -l
# ou
sudo apt list --installed | wc -l
voir si des paquets sont cassés
apt-get check
dpkg -l | grep -v ^ii
dpkg -l | grep ^rc #(installé et reste des fichiers de configuration)
dpkg -l | grep ^iB #(installé et avec des dépendances cassées)
Nettoyer rc
dpkg -l | awk '/^rc/{print $2}' | xargs -r sudo dpkg -P
source:https://www.debian-fr.org/t/paquets-casses-comment-les-lister/16997/5
Trouver le nom exact des packages de noyau que vous souhaitez désinstaller
dpkg -l | grep "linux-[a-z]*-"
Rechercher des informations sur les paquets installés
dpkg-query -l '*curl*'
Obtenir plus de détails sur un paquet spécifique
dpkg-query -s curl
Rechercher des fichiers appartenant à un paquet
dpkg-query -S curl
Lister tous les fichiers installés par un paquet
dpkg-query -L curl
phased => déféré (retardé)
Cette commande permet de calculer un score entre 0 et 99 à partir de votre machine-id, utilisé par Ubuntu pour les phased updates (mises à jour progressives).
1 .Calcul du Score de Phase
echo $((0x$(cut -c1-16 /etc/machine-id | head -c 8) % 100))
ou
awk '{print strtonum("0x" substr($0,1,8)) % 100}' /etc/machine-id
2. Résumé
| Étape | Action | Exemple |
|---|---|---|
| 1 | Extraire les 16 premiers caractères de /etc/machine-id
|
a1b2c3d4e5f6g7h
|
| 2 | Garder les 8 premiers caractères | a1b2c3d4
|
| 3 | Convertir en décimal (hexadécimal 0x...)
|
2712849364
|
| 4 | Appliquer % 100
|
64
|
| 5 | Score final | 64 |
3. À Quoi Sert Ce Score ?
- Phased Updates : Ubuntu déploie les mises à jour par vagues (ex : 10%, 30%, 50% des machines).
- Votre score (
64) détermine si vous recevez une mise à jour :- Si la phase actuelle est ≤ 64 → Vous l’obtenez.
- Si la phase actuelle est ≤ 64 → Vous l’obtenez.
- Si la phase est > 64 → Vous devrez attendre.
4. Pourquoi Cette Méthode ?
- Déterminisme : Le score est toujours le même pour votre machine (car basé sur
machine-id).
- Répartition uniforme : Les scores sont distribués entre 0 et 99 pour équilibrer le déploiement.
5. Lister tous les fichiers phased
#check_phased_updates.sh
#!/bin/bash
# Liste des paquets en phased updates
PACKAGES=$(apt list --upgradable | grep -E "*" | cut -d'/' -f1)
echo "Checking phased updates"
# Parcourir chaque paquet et extraire le pourcentage de phased updates
for PACKAGE in $PACKAGES; do
echo $PACKAGE
apt-cache policy $PACKAGE | grep "phased"
done
chmod +x check_phased_updates.sh
./check_phased_updates.sh
Noyau
Lister tous les paquets liés au noyau installés sur votre système avec la commande suivante
dpkg --list | grep linux-image
Lister les fichiers dans le répertoire /boot pour voir les versions du noyau installées
ls -l /boot | grep vmlinuz
Vérifier quel noyau est actuellement en cours d'utilisation
uname -r
Voir noyau version
uname -a
Voir noyaux installés
dpkg -l | awk '!/^rc/ && / linux-(c|g|h|i|lo|m|si|t)/{print $1,$2,$3,$4 | "sort -k3 | column -t"}'
dpkg --get-selections | grep 'linux-.*-v'
Lister les paquets de noyau installés et leur taille
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | grep linux-image
Vérifier l'espace disque utilisé dans /boot
sudo du -sh /boot/*
Pour obtenir plus de détails sur un paquet de noyau spécifique, y compris sa taille
Liste
dpkg --list | grep linux-image
Puis
apt show linux-image-X.Y.Z-W-generic
Supprimer des anciens noyaux
Debian propose un script appelé purge-old-kernels qui peut automatiser la suppression des anciens noyaux. Vous pouvez l'installer et l'utiliser comme suit :
sudo apt-get install byobu
sudo purge-old-kernels
Ce script supprimera automatiquement les anciens noyaux tout en conservant le noyau actuel et un noyau de secours.
APTITUDE
sudo aptitude update
aptitude search '~U'
sudo aptitude upgrade