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