Skip to Content
DokumentationBetriebSystemadministrationSoftwarequellen und Update-Strategien

Softwarequellen und Update-Strategien

Die ordnungsgemäße Konfiguration von Softwarequellen und die Festlegung einer soliden Update-Strategie sind für die Systemsicherheit und -stabilität von entscheidender Bedeutung. In diesem Artikel wird erläutert, wie Sie Softwarequellen und verschiedene Aktualisierungsstrategien in Ubuntu 26.04 konfigurieren.

Grundlagen der Softwarequelle

Ubuntu 26.04 Quellformat

Ab Ubuntu 24.04 verwendet die Quellkonfiguration APT das neue DEB822-Format, wobei sich die Konfigurationsdatei unter /etc/apt/sources.list.d/ubuntu.sources befindet:

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

Typische Inhalte:

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

Beschreibungen der Quellkomponenten

KomponenteBeschreibung
mainVon Canonical offiziell unterstützte Open-Source-Software
restrictedProprietäre Treiber mit offizieller Unterstützung
universeVon der Community gepflegte Open-Source-Software
multiverseSoftware, die durch Urheberrechte oder gesetzliche Beschränkungen eingeschränkt ist

Suite-Beschreibungen

SuiteBeschreibung
resoluteBasis-Release-Repository
resolute-updatesEmpfohlene Updates
resolute-backportsNeuere Softwareversionen zurückportiert
resolute-securitySicherheitsupdates

Wechsel zu einem Spiegel

# 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

Ersetzen Sie den URIs durch einen Spiegel:

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

Bevorzugen Sie bei der Auswahl eines Spiegels einen, der sich geografisch und netzwerknah in Ihrer Nähe befindet. Benutzer akademischer Netzwerke bevorzugen möglicherweise Tsinghua- oder USTC-Spiegel, während Benutzer von Cloud-Servern für die besten Geschwindigkeiten die internen Spiegel ihres Anbieters verwenden sollten.

Gemeinsame Spiegel:

SpiegelURL
Alibaba Cloudhttps://mirrors.aliyun.com/ubuntu
Tsinghua-Universitäthttps://mirrors.tuna.tsinghua.edu.cn/ubuntu
USTChttps://mirrors.ustc.edu.cn/ubuntu
Huawei Cloudhttps://mirrors.huaweicloud.com/ubuntu
Tencent Cloudhttps://mirrors.cloud.tencent.com/ubuntu

Aktualisieren Sie nach dem Wechsel den Index:

sudo apt update
Warning

PPAs sind von Dritten persönlich gepflegte Softwarequellen, deren Pakete nicht von Canonical überprüft wurden. Das Hinzufügen nicht vertrauenswürdiger PPAs kann Sicherheitsrisiken mit sich bringen oder Abhängigkeitskonflikte verursachen. Fügen Sie nur PPAs aus bekannten Projekten hinzu und deaktivieren Sie alle PPAs, bevor Sie Ihre Systemversion aktualisieren.

PPA-Management

PPAs (Personal Package Archives) ermöglichen Drittentwicklern die Verteilung von Softwarepaketen.

Hinzufügen eines 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

Entfernen eines PPA

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

Manuelles Hinzufügen einer Drittanbieterquelle

Am Beispiel der offiziellen Quelle Docker:

# 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

Auflisten konfigurierter Quellen

# 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 Update-Verwaltung

Grundlegende Update-Befehle

# 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

Update-Verlauf anzeigen

# 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

Paket-Pinning

So verhindern Sie, dass ein bestimmtes Paket aktualisiert wird:

# 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

Unattended-Upgrades Automatische Updates

Installation und Aktivierung

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

Automatische Updates konfigurieren

Bearbeiten Sie die Hauptkonfigurationsdatei:

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

Wichtige Konfigurationsoptionen:

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

Aktualisierungshäufigkeit konfigurieren:

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

Automatische Updates testen

# 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

Strategieempfehlungen aktualisieren

Desktop-Benutzer

# 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";

Überprüfen Sie regelmäßig Updates und installieren Sie sie manuell:

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

Serverumgebungen

Für Produktionsserver wird Folgendes empfohlen:

  1. Nur Sicherheitsupdates automatisch installieren; Führen Sie andere Aktualisierungen manuell durch.
  2. Wartungsfenster festlegen für geplante Updates.
  3. Testen Sie in einer Staging-Umgebung, bevor Sie es in der Produktion anwenden.
  4. Aktivieren Sie E-Mail-Benachrichtigungen, um über Updates auf dem Laufenden zu bleiben.
# 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";

Versions-Upgrades

Upgrade auf eine neue Ubuntu-Version

# 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

Aufräumen nach Updates

# Clean the downloaded deb package cache sudo apt clean # Remove no-longer-needed dependencies sudo apt autoremove # Clean residual configuration files dpkg -l | grep '^rc' | awk '{print $2}' | xargs sudo dpkg --purge
Last updated on