Handling the Arch Linux update error from 03/06/13

This article covers a system migration from June 2013.

⚠️ ARCHIVED ARTICLE — OBSOLETE

This article covers a system migration dating from June 2013. This procedure is no longer needed on modern Arch Linux installations (2014+). Current systems already use the unified /usr/bin file structure.

If you are using a recent Arch Linux installation, you can safely ignore this article.

Since June 3rd, 2013, Arch Linux updated its directory architecture, notably by moving binary files (the files that let you launch services and applications).

In short, binary files were spread across several directories on the system. The goal was to unify these directories into a single one containing all Arch Linux binaries. For more information, you can visit the official Arch Linux website for the related announcement.

A manual maintenance step was required to work around this error and continue receiving updates.

The update error on Arch Linux#

When trying to run an update, you would encounter this error:

bash
error: transaction commit failed (file conflicts)
filesystem: /bin already exists in filesystem
filesystem: /sbin already exists in filesystem
filesystem: /usr/sbin already exists in filesystem
Errors occurred, no packages were updated.

The first step was to list all packages blocking updates from installing correctly:

bash
pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm -

If any packages appeared after this command, it was recommended to temporarily remove them while updating the system.

To remove these packages, use pacman -Rdd package1 package2 …, replacing the names with the actual package names.

Once those packages were removed, relaunch the update scan while ignoring the “bash” and “filesystem” packages:

bash
pacman -Syu --ignore filesystem,bash

All packages would then update, except “Bash” and “Filesystem” which would remain at their currently installed versions. You could then install Bash once the full system update was complete:

bash
pacman -S bash

With Bash reinstalled at its latest version, it was then possible to update the remaining packages:

bash
pacman -Su

You could then reboot your machine to finish applying the updates — your Arch Linux was now up to date!


Historical note (2026)#

This June 2013 migration is now entirely complete. Modern Arch Linux systems natively use the unified /usr/bin structure with symbolic links:

  • /bin/usr/bin
  • /sbin/usr/bin
  • /usr/sbin/usr/bin
  • /lib/usr/lib
  • /lib64/usr/lib

This update procedure is only relevant for extremely old systems (pre-2013) that have never been updated.

Stay Updated

Subscribe to the RSS feed or follow for new articles.

Latest in #archlinux

No image

Emojis in Arch Linux

You don't see emojis in your freshly installed Arch Linux? One packet is enough to solve the problem, follow the guide!

Read more