2013-06-03 - Allan McRae

During your next update, you will get a error message like:

error: failed to commit transaction (conflicting files) filesystem: /bin exists in filesystem

The update merges all binaries into a unified /usr/bin directory. This step removes a distinction that has been meaningless for Arch systems and simplifies package maintenance for the development team. See this post for more explanation of the reasoning behind this change.

The following instructions will ensure a safe update:

1) Fix any non-official packages with files in /bin, /sbin or /usr/sbin to put those files in /usr/bin. The list of packages that are not in a repo that need to be fixed can be generated using:

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

Also check packages installed from non-official repos using:

$ paclist <repo> | awk ' { print $1 } ' | pacman -Ql - | grep ' /s\?bin/\| /usr/sbin/'

2) Make sure any packages in IgnorePkg or IgnoreGroup do not have files in /bin, /sbin, or /usr/sbin. Fix them if necessary.

3) If you have files in /bin, /sbin or /usr/sbin that are unowned by any package, you need to move them. Find a list using:

$ find /bin /sbin /usr/sbin -exec pacman -Qo -- {} + >/dev/null

4) Ensure all partitions are mounted if using autofs. They may not automount when needed later in this update.

5) Update your system.

Before performing this update, you may want to ensure you have a second terminal open with root privileges in the unlikely event of an emergency, particularly if updating over ssh.