Fedora Server

Fedora aktualisieren

Bei einem Upgrade über mehrere Major-Releases sollte schrittweise aktualisiert werden. Fedora testet und unterstützt ein Upgrade über zwei Versionen (z.B. von 41 auf 43), dies wird jedoch nicht empfohlen. Die Downtime beträgt auf einem minimalen Fedora-Server zwischen 10 und 20 Minuten.

Warnung

Vor dem Upgrade unbedingt einen Snapshot oder ein Backup erstellen und die Release Notes lesen.

dnf versionlock clear
# Otherwise the update will fail
# Make sure the server is up-to-date
dnf --assumeyes upgrade --refresh
reboot
# Download and install the update
VER=43
dnf system-upgrade download --releasever=$VER --refresh
dnf5 offline reboot
cat /etc/os-release

Nach dem Upgrade aufräumen

dnf install rpmconf remove-retired-packages clean-rpm-gpg-pubkey
# Find and manage all .rpmnew and .rpmsave files
rpmconf -a
# Remove packages that are no longer available in Fedora
remove-retired-packages
# Remove old GPG keys
clean-rpm-gpg-pubkey
# Find dangling symlinks
symlinks -r /usr | grep dangling
# Remove dangling symlinks
symlinks -r -d /usr
dnf remove rpmconf remove-retired-packages clean-rpm-gpg-pubkey
# Find packages with multiple versions
dnf repoquery --duplicates
# If they have to be removed
dnf remove --duplicates
# List installed packages not in Fedora repos
dnf list --extras
# Check logs and failed units
journalctl --boot
systemctl list-units --state=failed
# When everything is done
systemctl reboot

Falls nach dem Upgrade Probleme auftreten sollten (Fehler beim Ausführen von dnf oder rpm, Dependency-Probleme, SELinux-Meldungen), siehe https://docs.fedoraproject.org/en-US/quick-docs/upgrading-fedora-offline/#sect-resolving-post-upgrade-issues

Automatische Updates

Siehe auch https://fedoraproject.org/wiki/AutoUpdates#Fedora_22_or_later_versions.

dnf -y install dnf-automatic
systemctl enable --now dnf-automatic.timer
systemctl list-timers *dnf-*
/etc/dnf/automatic.conf
[commands]
#  What kind of upgrade to perform:
# default                            = all available upgrades
# security                           = only the security upgrades
upgrade_type = default
random_sleep = 0

# Maximum time in seconds to wait until the system is on-line and able to
# connect to remote repositories.
network_online_timeout = 60

# To just receive updates use dnf-automatic-notifyonly.timer

# Whether updates should be downloaded when they are available, by
# dnf-automatic.timer. notifyonly.timer, download.timer and
# install.timer override this setting.
download_updates = yes

# Whether updates should be applied when they are available, by
# dnf-automatic.timer. notifyonly.timer, download.timer and
# install.timer override this setting.
apply_updates = no

# When the system should reboot following upgrades:
# never                              = don't reboot after upgrades
# when-changed                       = reboot after any changes
# when-needed                        = reboot when necessary to apply changes
reboot = never

# The command that is run to trigger a system reboot.
reboot_command = "shutdown -r +5 'Rebooting after applying package updates'"


[emitters]
# Name to use for this system in messages that are emitted.  Default is the
# hostname.
# system_name = my-host

# How to send messages.  Valid options are stdio, email and motd.  If
# emit_via includes stdio, messages will be sent to stdout; this is useful
# to have cron send the messages.  If emit_via includes email, this
# program will send email itself according to the configured options.
# If emit_via includes motd, /etc/motd file will have the messages. if
# emit_via includes command_email, then messages will be send via a shell
# command compatible with sendmail.
# Default is email,stdio.
# If emit_via is None or left blank, no messages will be sent.
emit_via = stdio


[email]
# The address to send email messages from.
email_from = root@example.com

# List of addresses to send messages to.
email_to = root

# Name of the host to connect to to send email messages.
email_host = localhost

# Port number to connect to at the email host.
email_port = 25

# Use TLS or STARTTLS to connect to the email host.
email_tls = no


[command]
# The shell command to execute. This is a Python format string, as used in
# str.format(). The format function will pass a shell-quoted argument called
# `body`.
# command_format = "cat"

# The contents of stdin to pass to the command. It is a format string with the
# same arguments as `command_format`.
# stdin_format = "{body}"


[command_email]
# The shell command to use to send email. This is a Python format string,
# as used in str.format(). The format function will pass shell-quoted arguments
# called body, subject, email_from, email_to.
# command_format = "mail -Ssendwait -s {subject} -r {email_from} {email_to}"

# The contents of stdin to pass to the command. It is a format string with the
# same arguments as `command_format`.
# stdin_format = "{body}"

# The address to send email messages from.
email_from = root@example.com

# List of addresses to send messages to.
email_to = root


[base]
# This section overrides dnf.conf

# Use this to filter DNF core messages
debuglevel = 1

Ältere Fedora-Server-Versionen

https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/

Built on 2026-03-09