YUM (Yellowdog Updater, Modifiziert) ist das RPM-basierte Paket manager wird auf vielen Linux-Servern (CentOS, RHEL, AlmaLinux, Rocky Linux) eingesetzt. Es löst Abhängigkeiten auf, lädt Pakete aus den Repositories herunter und automatisiert Installationen, Aktualisierungen und Deinstallationen.
Auf RHEL 8 und höher ist „yum“ ein Kompatibilitäts-Wrapper für DNF, die Befehle bleiben aber weitgehend gleich. Wenn Sie einen Linux-Server betreiben, ist das Verständnis von YUM unter Linux unerlässlich.
Dieser Leitfaden erklärt die Funktionsweise von YUM, die nützlichsten YUM-Befehle, die Repository-Konfiguration, Automatisierung, Sicherheitsupdates und Fehlerbehebung.
Ich werde außerdem Produktionstipps aus meiner jahrelangen Erfahrung im Flottenmanagement weitergeben. CentOS / RHEL Server und wie wir diese Praktiken anwenden YouStable Cloud-VPS.
Was ist YUM und wie funktioniert es??
YUM ist ein benutzerfreundliches Frontend für RPM . Anstatt Abhängigkeiten manuell aufzulösen und Pakete herunterzuladen, geben Sie YUM die entsprechenden Anweisungen, und es liest die Metadaten des Repositorys, berechnet Abhängigkeitsbäume und führt Transaktionen sicher durch.
Es protokolliert den Verlauf, überprüft GPG-Signaturen und verwaltet Caches, um wiederholte Operationen zu beschleunigen. Unter RHEL 8+ und modernen Klonen fungiert YUM als Symlink-/Kompatibilitätsschicht für DNF.
Ihre gewohnten yum-Befehle funktionieren weiterhin, das Backend basiert jedoch auf DNF (libdnf) und bietet dadurch eine verbesserte Abhängigkeitsauflösung und höhere Leistung. Unter CentOS 7 und älteren Versionen ist YUM nativ integriert.
Kernkonzepte: RPM, Repositories, Metadaten und GPG
RPM-Pakete enthalten Software-Binärdateien, Skripte und Metadaten. Repositories sind webbasierte Speicherorte, die RPMs sowie Repodaten hosten: Paketlisten, Prüfsummen und Abhängigkeitsinformationen, die YUM für Installationen und Aktualisierungen verwendet. GPG-Schlüssel dienen der Überprüfung der Paketintegrität und verhindern die Installation manipulierter oder unsignierter Pakete.
Unverzichtbare YUM-Befehle, die Sie täglich verwenden werden
Aktualisieren Sie das System
Aktualisieren Sie stets die Metadaten und anschließend die Pakete. Planen Sie in Produktionsumgebungen Wartungsfenster vor Kernel- oder größeren Aktualisierungen ein.
# Update repo metadata
sudo yum makecache
# Update all packages (may include kernel)
sudo yum update
# Show what would change (dry run)
sudo yum update --assumenoPakete durchsuchen und prüfen
# Find packages
sudo yum search nginx
# Detailed information about a package
sudo yum info nginx
# List available updates
sudo yum list updatesPakete installieren, entfernen und auflisten
# Install a package
sudo yum install nginx
# Remove a package
sudo yum remove nginx
# List installed packages
sudo yum list installed
# Verify which package owns a file
sudo yum provides /usr/sbin/semanageKonzernbetrieb
Mit YUM-Gruppen können Sie eine kuratierte Auswahl an Paketen für eine Rolle installieren (z. B. „Entwicklungstools“).
# Show groups
sudo yum group list
# Install a group
sudo yum groupinstall "Development Tools"Cache leeren
# Clear metadata and package caches
sudo yum clean all
# Rebuild cache after cleaning
sudo yum makecache fastKonfigurieren von YUM-Repositorys
Die Repositories befinden sich im Verzeichnis `/etc/yum.repos.d/` und bestehen aus .repo-Dateien. Jedes Repository hat eine ID, eine Basis-URL oder eine Spiegelserverliste sowie GPG-Einstellungen. Bearbeiten oder fügen Sie Dateien mit Bedacht hinzu und erstellen Sie vor Änderungen Sicherungskopien.
Erstellen oder Bearbeiten einer Repository-Datei
sudo vi /etc/yum.repos.d/custom.repo
[custom-app]
name=Custom App Repo
baseurl=https://repo.example.com/rpm/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=https://repo.example.com/keys/RPM-GPG-KEY-customAktivieren oder Deaktivieren von Repositorys
# Requires yum-utils on CentOS 7
sudo yum install -y yum-utils
# Enable a repo
sudo yum-config-manager --enable epel
# Disable a repo
sudo yum-config-manager --disable epel
# Temporarily use a repo for a single transaction
sudo yum --enablerepo=epel install htopEPEL hinzufügen (Beliebte Zusatzpakete)
EPEL bietet zahlreiche hochwertige Zusatzpakete, die von Fedora gepflegt werden. Es ist sicher und auf CentOS/RHEL-Servern weit verbreitet.
# CentOS/RHEL 7
sudo yum install -y epel-release
# Verify and use
sudo yum repolist
sudo yum install htopGPG-Schlüssel und Sicherheit
Halten Sie gpgcheck=1. Importieren Sie offizielle GPG-Schlüssel der Hersteller und setzen Sie gpgcheck=0 niemals in der Produktionsumgebung. Dies schützt vor unsignierten oder manipulierten Paketen.
# Example: import a vendor GPG key
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7YUM vs. DNF: Was ist anders und was bleibt gleich?
Unter RHEL 8+/AlmaLinux/Rocky ist yum ein Wrapper für dnf. Die meisten Befehle sind identisch, aber der Abhängigkeitslöser von DNF ist schneller und zuverlässiger. Wenn in der Dokumentation dnf erwähnt wird, können Sie yum auf diesen Systemen in der Regel problemlos verwenden, ohne dass sich das Verhalten ändert.
Kommandoparitäts-Highlights
- yum update ≈ DNS-Upgrade
- yum install pkg ≈ dnf install pkg
- yum remove pkg ≈ dnf remove pkg
- yum groupinstall “Dev Tools” ≈ dnf groupinstall “Dev Tools”
- yum history ≈ DNF-Historie (mit weiteren Details unter DNF)
Wenn Sie eine Standardisierung über verschiedene Flotten hinweg vornehmen (CentOS 7 und Rocky/Alma 8/9), dokumentieren Sie beide Begriffe, um Verwirrung zu vermeiden.
Erweitertes YUM für Produktionsserver
Versionen mit Stift- oder Schlossverpackung
Stabilität ist wichtig. Verwenden Sie Versionssperren, um unerwartete Aktualisierungen kritischer Komponenten wie des Kernels zu verhindern. MySQLden Nginx.
# Install versionlock plugin (CentOS 7)
sudo yum install -y yum-plugin-versionlock
# Lock current nginx version
sudo yum versionlock add nginx
# List and remove locks
sudo yum versionlock list
sudo yum versionlock delete nginxVerlauf zur Überprüfung oder zum Zurücksetzen verwenden
# View transactions
sudo yum history
# Roll back a transaction ID if safe
sudo yum history undo <ID>Rollback eignet sich am besten für einfache Transaktionen. Bei Änderungen am Kernel oder an Kernbibliotheken sollten Sie eine umfassende Rollback-Strategie und Snapshots planen.
Installation nur per Download und offline
# Download RPMs without installing (CentOS 7)
sudo yum install --downloadonly --downloaddir=/tmp/rpms nginxDies ist hilfreich für Server, die vom Internet getrennt sind (Air-Gap), oder für die Erstellung von Golden Images.
Leistung: Spiegelung und Cache
- Aktivieren Sie fastestmirror, um schnellere Spiegelserver auszuwählen.
- Optimieren Sie metadata_expire, um häufige Metadaten-Downloads zu reduzieren.
- Für große Flotten sollte ein lokaler Caching-Proxy (Squid) verwendet werden.
# In /etc/yum.conf
fastestmirror=1
metadata_expire=6hProxy-Unterstützung
# In /etc/yum.conf
proxy=http://proxy.example.com:3128
proxy_username=user
proxy_password=secretAutomatisierte Updates und Installation von Sicherheitskorrekturen
Unbeaufsichtigte Updates mit yum-cron
Für CentOS/RHEL 7 kann yum-cron Updates automatisch installieren oder Benachrichtigungen versenden. Für RHEL 8+/Klone verwenden Sie dnf-automatic.
# CentOS/RHEL 7
sudo yum install -y yum-cron
sudo systemctl enable --now yum-cron
# Configure behavior
sudo vi /etc/yum/yum-cron.confNur Sicherheitsupdates
Unter RHEL/CentOS mit Sicherheitsmetadaten können Sie Aktualisierungen auf Sicherheitswarnungen beschränken. Hinweis: Bei einigen Neuinstallationen fehlen möglicherweise vollständige Sicherheitsmetadaten.
# Security advisories only (CentOS/RHEL 7 with plugin)
sudo yum --security update
# Minimal required security updates
sudo yum --security update-minimalKernel-Updates und Neustarts
Kernel-Updates erfordern einen Neustart, um wirksam zu werden. In Wartungsfenstern sollten Updates mit kontrollierten Neustarts und Systemprüfungen kombiniert werden. Tools wie kexec oder Live-Patching können Ausfallzeiten reduzieren, müssen aber mit Ihrem SRE-Prozess abgestimmt werden.
Fehlerbehebung bei YUM
Beheben Sie veraltete Metadaten oder unvollständige Transaktionen
# Clear everything and retry
sudo yum clean all
sudo yum makecache
# Resolve interrupted transactions
sudo yum-complete-transactionAbhängigkeitskonflikte
- Konfliktierende Repositories vorübergehend deaktivieren: –disablerepo=
- Risikoreiche Pakete in /etc/yum.conf ausschließen: exclude=kernel* mysql*
- Sperren Sie Versionen mit yum-plugin-versionlock.
Repository nicht verfügbar oder GPG-Fehler
- Überprüfen Sie die Netzwerk- und Proxy-Einstellungen.
- Überprüfen Sie die baseurl/mirrorlist- und GPG-Schlüssel-URLs in den Repo-Dateien.
- Systemzeit prüfen (TLS schlägt fehl, wenn die Uhrzeit falsch ist).
RHEL-Abonnementprobleme
Unter RHEL muss sichergestellt werden, dass die Berechtigungen aktiv sind und die richtigen Repositories mit Abonnement aktiviert sind.manager. Ohne aktive Repositories findet YUM/DNF keine Pakete.
Anwendungsfälle aus der Praxis YouStable VPS
Bereitstellung minimaler Images
On YouStable Für VPS empfehlen wir, mit einem minimalen CentOS/Alma/Rocky-Image zu beginnen und nur die benötigten Komponenten über YUM zu installieren. Dadurch wird die Angriffsfläche verringert und die Patch-Zyklen beschleunigt.
Richtlinie für kontrollierte Aktualisierungen
Kritische Komponenten werden fixiert, Sicherheitsupdates wöchentlich eingespielt und vollständige Updates monatlich geplant. Bei Clustern werden Updates Knoten für Knoten bereitgestellt, um die Verfügbarkeit zu gewährleisten. Unser Infrastrukturteam wendet dieses Vorgehen in allen Produktionsumgebungen an.
Rücksetzungs- und Wiederherstellungsplan
Vor größeren Aktualisierungen sollten Sie Schnappschüsse (oder Bilder) Ihres Systems erstellen. YouStable VPS. Falls ein Update eine Anwendung beschädigt, verwenden Sie gegebenenfalls `yum history undo` oder stellen Sie den Snapshot wieder her, um den Dienst schnell wiederherzustellen.
Best-Practice-Checkliste
- Halten Sie gpgcheck=1 und importieren Sie die korrekten Herstellerschlüssel.
- Verwenden Sie stabile, verifizierte Repositories (EPEL, vom Anbieter bereitgestellte Repositories).
- Dokumentieren Sie aktivierte Repositories und sperren Sie kritische Paketversionen.
- Automatisieren Sie Sicherheitsupdates; planen Sie vollständige Updates in Wartungsfenstern ein.
- Testen Sie Updates in der Staging-Umgebung vor der Produktionsfreigabe.
- Erstellen Sie vor größeren Änderungen eine Momentaufnahme oder ein Backup.
- Überwachung mit Warnmeldungen auf Update-Fehler oder Repository-Ausfälle.
Häufig gestellte Fragen – YUM auf Linux-Servern
Ist YUM dasselbe wie RPM?
Nein. RPM installiert zwar einzelne Pakete, löst Abhängigkeiten aber nicht automatisch auf. YUM ist ein übergeordnetes Tool, das intern RPM nutzt und die Auflösung von Abhängigkeiten, die Verwaltung von Repositories und Transaktionen für Sie übernimmt.
Ist es sicher, „yum update“ in der Produktionsumgebung auszuführen?
Ja, bei sorgfältiger Planung. Erstellen Sie einen Snapshot, überprüfen Sie die Änderungen mit „yum update --assumeno“, wenden Sie diese während Wartungsfenstern an und starten Sie das System neu, falls sich Kernel oder Kernbibliotheken ändern. Erwägen Sie Versionssperren für kritische Komponenten.
Wie kann ich ein fehlerhaftes Update rückgängig machen?
Verwenden Sie „yum history“, um die Transaktion zu identifizieren, und „yum history undo“. „Sollte sicher sein, auf eine frühere Version zurückgesetzt werden. Bei komplexen Aktualisierungen (Kernel, glibc, Datenbank-Engines) empfiehlt sich aus Gründen der Zuverlässigkeit die Rücksetzung auf einen Snapshot vor der Aktualisierung.“
Wie kann ich nur Sicherheitsupdates auflisten?
Unter CentOS/RHEL 7 mit Sicherheitsmetadaten und -plugins führen Sie „yum --security list updates“ oder „yum --security update“ aus. Bei einigen Neuinstallationen sind die Sicherheitsmetadaten möglicherweise unvollständig; überprüfen Sie daher die Unterstützung Ihrer Distribution, bevor Sie sich darauf verlassen.
Worin besteht der Unterschied zwischen YUM und DNF?
DNF ist das Paket der nächsten Generation manager ersetzte YUM auf RHEL 8+. Es bietet eine verbesserte Abhängigkeitsauflösung und höhere Leistung. Der Befehl „yum“ ruft auf diesen Systemen DNF auf, sodass die meisten Arbeitsabläufe und die Syntax unverändert bleiben.
Die Beherrschung von YUM unter Linux gibt Ihnen die sichere Kontrolle über die Software auf Ihren Servern. Egal, ob Sie einen einzelnen VPS oder eine ganze Flotte betreiben – die oben genannten Vorgehensweisen, kombiniert mit der zuverlässigen Infrastruktur von [Name der Plattform/des Dienstes einfügen], ermöglichen Ihnen die optimale Steuerung Ihrer Server. YouStable—hält Ihren Stack sicher, aktuell und vorhersehbar.
