A Blog by Expatriotic

Update Manjaro Safely

edited Dec 26, 2025 to reflect latest from Manjaro here and here

DON'T UPDATE THE GUI WHILE IN THE GUI! If you click the "Shield Icon" to update 1,000 packages, and the graphics driver crashes halfway through, your system dies. See this forum post for a brief explanation.

Note: If your system is already broken and won't boot, see my guide on How to Unbrick Manjaro.

PHASE 0: The Pre-Flight Check (CRITICAL)

Before you even touch the terminal, check these three things:

  1. Check for EOL Kernels: Manjaro has dropped support for Linux 5.4 and 6.17. Open "Manjaro Settings Manager" "Kernels". If you are running these, install a newer LTS kernel (like 6.12 or 5.15) and reboot into it before starting the update.
  2. GNOME/Plasma Users: Be aware that this update (Manjaro 25.1.0) may default you to Wayland or drop X11 support entirely for your session. Check the "Known Issues" if you rely on X11-specific tools.
  3. Redis Users: If you use Redis, it is being replaced by Valkey due to license changes. You may need manual intervention (see forum announcements).

PHASE 1: The Safe Update Protocol

Follow this strict routine for large updates (1GB+ or 200+ packages):

  1. Check the Weather: Quickly glance at the Manjaro Stable Updates Forum. Find the latest post and check the second comment for any "Manual Intervention" warnings.
  2. Clean Up First: Remove "orphan" packages (unused dependencies) before updating to reduce download size and conflicts.
pamac remove --orphans --unneeded
  1. Leave the GUI: Log out of your desktop. At the login screen, press Ctrl + Alt + F3. You will drop to a text-only terminal (TTY).
  2. Login: Enter your username and password.
  3. Refresh Mirrors: Run this to ensure you don't get corrupt package data:
    sudo pacman-mirrors --fasttrack 5 && sudo pacman -Syy
    
  4. Run the Update: Use pacman (the core tool), not pamac.
    sudo pacman -Syu
    
  5. Reboot Immediately: Do not start the graphical session yet.
    systemctl reboot
    

PHASE 2: Post-Update Cleanup

Only do this after you have successfully rebooted into your updated desktop.

Special Note for Python 3.13 Update: This update moves the system to Python 3.13. Many AUR packages (like ProtonVPN, certain terminal tools, etc.) are still looking for Python 3.12 and will crash.

  1. Rebuild Python AUR Packages: Run this specific command from the Manjaro docs to rebuild all AUR packages linked to the old Python version:
pamac build $(pacman -Qoq /usr/lib/python3.12)

(If the command fails or finds nothing, that's okay, proceed to step 2).

  1. Update Remaining AUR Packages:
pamac upgrade -a
  1. Check for Configuration Conflicts (.pacnew): Sometimes an update installs a new default config file alongside your custom one. Check if you have any:
sudo find /etc -name '*.pacnew'

If this finds files, you may need to merge your settings manually.

PHASE 3: The "Config Clash" (.pacnew files)

Sometimes an update wants to change a settings file you have customized. Linux will never overwrite your custom settings. Instead, it creates a file ending in .pacnew (e.g., pacman.conf.pacnew).

The Analogy:

Imagine you painted your living room Blue. The landlord (Manjaro) comes by and says, "The new building standard is White." He doesn't paint over your wall. He just leaves a bucket of White paint in the corner (.pacnew) and lets you decide:

  1. Ignore it: Keep your Blue wall. (Safe, but you might miss new features).

  2. Replace it: Paint it White. (You get standards, but lose your customizations).

  3. Merge (Best): Paint it White but keep your favorite Blue stripe.

The Solution: Use pacdiff (The Smart Way) Manjaro has a built-in tool that finds these files and opens a visual comparison tool for you with the correct permissions.

  1. Install the Tools: Open your terminal and ensure you have the necessary tools:
sudo pacman -S meld pacman-contrib

(Note: meld is the visual tool, pacman-contrib contains the pacdiff utility).

  1. Run the Magic Command: This command tells the system: "Find all config clashes, and let me fix them using the visual Meld tool."
sudo DIFFPROG=meld pacdiff
  1. How to use it (Read Carefully!): The terminal will ask: :: (V)iew, (M)erge, (S)kip, (R)emove pacnew, (O)verwrite...

PHASE 4: The "Undo" Button (Timeshift)

If your system feels buggy after an update, you can travel back in time.

  1. Reboot and wait for the GRUB menu (tap Esc or Shift repeatedly if it doesn't appear).
  2. Select "Manjaro Linux Snapshots" or "Advanced Options".
  3. Select a snapshot dated before you did the update.
  4. Once the system boots, open the Timeshift application.
  5. Select that same snapshot and click Restore to make the rollback permanent.

#guides #linux #tech