Paquets APT

Sur Debian (et ses dérivés comme Ubuntu), apt est un outil en ligne de commande pour gérer les paquets logiciels. Il permet d’installer, mettre à jour, supprimer et gérer les logiciels provenant des dépôts officiels de Debian.

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

Affichage des infos d'un paquet

apt show firefox

Recherche de paquets

apt search mot-clé


Termine la configuration des paquets interrompus.

Voir commande

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)

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

DPKG

Voir DPKG

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



apt vs apt-get vs aptitude

  • apt : Version moderne et conviviale, combinant les fonctionnalités de apt-get et apt-cache avec des couleurs et une barre de progression.
  • apt-get : Outil plus ancien, toujours utilisé dans les scripts pour sa stabilité.
  • aptitude : Alternative avec une interface en mode texte (interactive) et une gestion avancée des dépendances.