Skip to Content
DocumentationExploitationAdministration systèmeSources de logiciels et stratégies de mise à jour

Sources de logiciels et stratégies de mise à jour

Warning

26.10 : ne purgez pas en masse les packages OpenSSH dans l’état rc. Les packages de remplacement peuvent toujours utiliser l’ancienne configuration et la purge peut interrompre SSH. Vérifiez 26.10 problèmes connus et conservez l’accès à la récupération avant la maintenance à distance.

Une configuration correcte des sources logicielles et l’établissement d’une stratégie de mise à jour solide sont essentiels à la sécurité et à la stabilité du système. Cet article explique comment configurer les sources logicielles et diverses stratégies de mise à jour dans Ubuntu 26.04.

Bases des sources de logiciels

Ubuntu 26.04 Format source

À partir de Ubuntu 24.04, la configuration source APT utilise le nouveau format DEB822, avec le fichier de configuration situé dans /etc/apt/sources.list.d/ubuntu.sources :

cat /etc/apt/sources.list.d/ubuntu.sources

Contenu typique :

Types: deb deb-src URIs: http://archive.ubuntu.com/ubuntu Suites: resolute resolute-updates resolute-backports Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Descriptions des composants sources

ComposantDescription
mainLogiciel open source officiellement pris en charge par Canonical
restrictedChauffeurs propriétaires avec support officiel
universeLogiciel open source maintenu par la communauté
multiverseLogiciel restreint par le droit d’auteur ou des limitations légales

Description des suites

SuiteDescription
resoluteDépôt de la version de base
resolute-updatesMises à jour recommandées
resolute-backportsVersions logicielles plus récentes rétroportées
resolute-securityMises à jour de sécurité

Passer à un miroir

# Back up the original configuration sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak # Edit the source configuration sudo nano /etc/apt/sources.list.d/ubuntu.sources

Remplacez l’URIs par un miroir :

Types: deb deb-src URIs: https://mirrors.aliyun.com/ubuntu Suites: resolute resolute-updates resolute-backports resolute-security Components: main restricted universe multiverse Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Tip

Lorsque vous choisissez un miroir, préférez-en un qui est proche géographiquement et réseaument de vous. Les utilisateurs du réseau académique peuvent préférer les miroirs Tsinghua ou USTC, tandis que les utilisateurs de serveurs cloud doivent utiliser les miroirs internes de leur fournisseur pour obtenir les meilleures vitesses.

Miroirs courants :

MiroirURL
Alibaba Nuagehttps://mirrors.aliyun.com/ubuntu
Université Qinghuahttps://mirrors.tuna.tsinghua.edu.cn/ubuntu
USTChttps://mirrors.ustc.edu.cn/ubuntu
Nuage Huaweihttps://mirrors.huaweicloud.com/ubuntu
Tencent Cloudhttps://mirrors.cloud.tencent.com/ubuntu

Après le changement, actualisez l’index :

sudo apt update
Warning

Les PPA sont des sources logicielles tierces gérées personnellement dont les packages n’ont pas été examinés par Canonical. L’ajout de PPA non fiables peut introduire des risques de sécurité ou provoquer des conflits de dépendances. Ajoutez uniquement des PPA provenant de projets bien connus et désactivez tous les PPA avant de mettre à niveau la version de votre système.

Gestion des PPA

Les PPA (Personal Package Archives) permettent aux développeurs tiers de distribuer des progiciels.

Ajouter un PPA

# Add a PPA sudo add-apt-repository ppa:graphics-drivers/ppa # Update the index after adding sudo apt update # Install software from the PPA; choose the version reported by ubuntu-drivers devices sudo apt install nvidia-driver-XXX

Supprimer un PPA

# Remove a PPA sudo add-apt-repository --remove ppa:graphics-drivers/ppa # Update the index sudo apt update

Ajout manuel d’une source tierce

En utilisant la source officielle Docker comme exemple :

# Download the GPG key curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # Add the repository (DEB822 format) # Note: Docker's official repository may not yet publish the resolute suite. # If apt update reports a missing Release file, temporarily fall back to noble. sudo tee /etc/apt/sources.list.d/docker.sources << 'EOF' Types: deb URIs: https://download.docker.com/linux/ubuntu Suites: resolute Components: stable Signed-By: /usr/share/keyrings/docker-archive-keyring.gpg EOF # Update and install sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io

Liste des sources configurées

# View all source files ls /etc/apt/sources.list.d/ # View all sources used by APT apt policy # Check which source a package comes from apt policy nginx

APT Gestion des mises à jour

Commandes de mise à jour de base

# Update the package index sudo apt update # Upgrade installed packages sudo apt upgrade # Smart upgrade (may install or remove dependencies) sudo apt full-upgrade # View upgradable packages without actually upgrading apt list --upgradable # Upgrade a specific package sudo apt install --only-upgrade nginx

Affichage de l’historique des mises à jour

# View APT operation history cat /var/log/apt/history.log # View compressed history logs zless /var/log/apt/history.log.1.gz # View dpkg operation log cat /var/log/dpkg.log

Épinglage de colis

Pour empêcher la mise à jour d’un package spécifique :

# Hold a package version sudo apt-mark hold package-name # Unhold a package sudo apt-mark unhold package-name # View all held packages apt-mark showhold

mises à niveau sans surveillance Mises à jour automatiques

Installation et activation

# Install (usually pre-installed on Ubuntu 26.04) sudo apt install unattended-upgrades # Enable automatic updates sudo dpkg-reconfigure -plow unattended-upgrades

Configuration des mises à jour automatiques

Modifiez le fichier de configuration principal :

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Options de configuration clés :

Unattended-Upgrade::Allowed-Origins { "${distro_id}:${distro_codename}"; "${distro_id}:${distro_codename}-security"; "${distro_id}:${distro_codename}-updates"; // "${distro_id}:${distro_codename}-proposed"; // "${distro_id}:${distro_codename}-backports"; }; // Blacklist packages from auto-updating Unattended-Upgrade::Package-Blacklist { "linux-image*"; "linux-headers*"; "nginx"; }; // Automatically remove no-longer-needed dependencies Unattended-Upgrade::Remove-Unused-Dependencies "true"; // Automatically remove no-longer-needed kernels Unattended-Upgrade::Remove-Unused-Kernel-Packages "true"; // Automatically reboot if necessary Unattended-Upgrade::Automatic-Reboot "true"; Unattended-Upgrade::Automatic-Reboot-Time "03:00"; // Email notifications Unattended-Upgrade::Mail "admin@example.com"; Unattended-Upgrade::MailReport "on-change";

Configurez la fréquence de mise à jour :

sudo nano /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1"; APT::Periodic::Download-Upgradeable-Packages "1"; APT::Periodic::AutocleanInterval "7";

Test des mises à jour automatiques

# Dry run (does not actually install) sudo unattended-upgrade --dry-run --debug # Run automatic updates immediately sudo unattended-upgrade -v # View automatic update logs cat /var/log/unattended-upgrades/unattended-upgrades.log

Mettre à jour les recommandations stratégiques

Utilisateurs de bureau

# Recommended: auto-install security updates, manually install feature updates # /etc/apt/apt.conf.d/20auto-upgrades APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1"; APT::Periodic::Download-Upgradeable-Packages "1"; APT::Periodic::AutocleanInterval "7";

Vérifiez périodiquement et installez les mises à jour manuellement :

sudo apt update && apt list --upgradable sudo apt upgrade

Environnements de serveur

Pour les serveurs de production, il est recommandé de :

  1. Installation automatique des mises à jour de sécurité uniquement ; gérer les autres mises à jour manuellement.
  2. Définissez les fenêtres de maintenance pour les mises à jour planifiées.
  3. Testez dans un environnement de test avant de postuler en production.
  4. Activez les notifications par e-mail pour rester informé des mises à jour.
# Recommended server configuration # /etc/apt/apt.conf.d/50unattended-upgrades Unattended-Upgrade::Allowed-Origins { "${distro_id}:${distro_codename}-security"; }; Unattended-Upgrade::Automatic-Reboot "false"; Unattended-Upgrade::Mail "admin@example.com";

Mises à niveau des versions

Mise à niveau vers une nouvelle version d’Ubuntu

# Ensure the current system is fully updated sudo apt update && sudo apt full-upgrade # Check if a new version is available do-release-upgrade -c # Perform the version upgrade sudo do-release-upgrade

Nettoyage après les mises à jour

# Clean the downloaded deb package cache sudo apt clean # Remove no-longer-needed dependencies sudo apt autoremove # Clean residual configuration files dpkg -l | awk '$1 == "rc" {print $2}'