Skip to content

Upgrading from Debian 12 (Bookworm) to Debian 13 (Trixie)

Tutorials & Guides  ·   ·   ·  Updated on  ·  3 min Reading time

Debian 13 "Trixie" has been available as the stable release since August 9, 2025, with the first point release 13.1 on September 6, 2025. The new version brings important improvements in security, performance, and package support.

Preparation: what you need beforehand

A smooth upgrade starts with a few checks to avoid downtime.

  1. Backup: Create a full server backup via our web interface – quick and easy.

  2. Update the system: Bring Debian 12 fully up to date.

    sudo apt update
    sudo apt full-upgrade -y
    sudo systemctl --failed
  3. Resolve held packages: Holds can block the upgrade.

    apt-mark showhold
    sudo apt-mark unhold <package-name>  # if needed
  4. Pause third-party sources: Comment out third-party repos (e.g. Docker, MariaDB).

    ls -1 /etc/apt/sources.list /etc/apt/sources.list.d/* 2>/dev/null
    grep -Rhs "deb " /etc/apt/sources.list{,.d/*} | nl
  5. Console access: Make sure you have SSH access secured (e.g. via IPMI). Use screen for stability.

Tip: Plan a maintenance window – a reboot is required.


Step by step: how to upgrade

Follow these steps to move safely to Trixie.

  1. Adjust APT sources: Replace "bookworm" with "trixie".

    sudo nano /etc/apt/sources.list

    Example content:

    deb http://deb.debian.org/debian/ trixie main non-free-firmware
    deb http://security.debian.org/debian-security trixie-security main non-free-firmware
    deb http://deb.debian.org/debian/ trixie-updates main non-free-firmware

    Alternatively (modern format):

    sudo nano /etc/apt/sources.list.d/debian.sources

    Content:

    Types: deb
    URIs: http://deb.debian.org/debian/
    Suites: trixie trixie-updates
    Components: main non-free-firmware
    
    Types: deb
    URIs: http://security.debian.org/debian-security
    Suites: trixie-security
    Components: main non-free-firmware
  2. Package index and minimal upgrade:

    sudo apt update
    sudo apt upgrade --without-new-pkgs -y
  3. Start the dist-upgrade:

    sudo apt full-upgrade -y

    Check configuration prompts (e.g. sshd_config) carefully.

  4. Reboot and test:

    sudo reboot

    Afterwards:

    cat /etc/os-release
    uname -r
    systemctl --failed
    journalctl -p 3 -xb  # error logs

Follow-up: keeping your system stable

After the upgrade, secure the system's stability.

  1. Remove leftovers:

    sudo apt autoremove --purge -y
    sudo dpkg -l | awk '/^rc/{print $2}' | xargs -r sudo apt purge -y
  2. Check services:

    • Web server: PHP-FPM, modules, configurations.
    • Databases: MariaDB/PostgreSQL – upgrades needed?
    • Containers: Docker/Podman, networks.
    • Security: fail2ban, nftables, unattended-upgrades.
  3. Reactivate third-party sources: Only Trixie-compatible repos, then:

    sudo apt update
    sudo apt full-upgrade -y

Note: Check the release notes for obsolete packages (e.g. fcitx4).


Pitfalls and solutions

  • Third-party source conflicts: Disable them beforehand.
  • Kept-back packages: Analyze with:
    sudo apt -o Debug::pkgProblemResolver=yes full-upgrade
  • Boot problems: Regenerate GRUB/initramfs:
    sudo update-initramfs -u -k all
    sudo update-grub
  • Obsolete packages: Check the list in the release notes.

Frequently asked questions

When was Debian 13 "Trixie" released?
Debian 13 "Trixie" has been available as the stable release since August 9, 2025, with the first point release 13.1 following on September 6, 2025.
What should I do before upgrading from Debian 12 to Debian 13?
Create a full server backup, bring Debian 12 fully up to date, resolve any held packages, comment out third-party repositories, and make sure you have secure console access (e.g. via IPMI) before starting.
What should I check after upgrading to Trixie?
Remove leftover packages with apt autoremove and purge, check that web server, database, and container services are running correctly, and reactivate only Trixie-compatible third-party repositories before running a final update and full-upgrade.
Prepaid-Host.com is itself a provider of servers, web hosting and domains, and reports here on its own market. How we handle that is set out in our disclosure statement.