Change Selected Pacman Branch

From Manjaro Linux
Jump to: navigation, search


Warning: Software downloaded and installed from the Testing branch will, by nature, not have been fully tested, and may be unstable.
Warning: Software downloaded and installed from the Unstable branch may break your system! They should therefore only be used by more experienced users and Manjaro testers. Less experienced users may wish to switch to the Testing branch instead.

One of the many features that sets Manjaro apart from other Arch-based distributions is that it uses its own dedicated software branches, rather than relying on those provided by Arch itself. In fact, to ensure continued stability and reliability, Manjaro actually uses three distinct branches:

  • Stable branch: the packages that come to stable have gone through roughly a couple of weeks testing by the users of the Unstable/Testing repos, before they get the packages. These packages are usually free of any problems.
  • Testing branch: These users are the next line of defense. Being a larger number of users than those using Unstable, they refine the work done prior to them installing the packages with their feedback.
  • Unstable branch: which usually runs inside of 3 days behind Arch package releases & are modified as necessary to suit Manjaro. Those that use Unstable need to have the skills to get themselves out of trouble when they upgrade into it. They are the Manjaro users who are most likely to need to use such skills. Due to the feedback from the users of the Unstable repo, most bugs are found & fixed for the rest of Manjaro's users. Although the very latest software will be located here, using the unstable branch may consequently break your system!

Summing up, unstable packages are tested in the unstable branch. Once they are a bit stable, they are moved to the testing branch, where more tests will be realized to ensure the package is ready to be submitted to the stable branch.

note: Please be aware that the unstable branch comes directly from Arch Linux's stable branch.

Accessing the Testing Branches

Tip: Why not become and active part of the Manjaro community by becoming a tester? Just let us know of any bugs by reporting them via our feedback form.

In order to access the testing branches, there are two methods available. The first one is a temporary solution, in which if the mirrorlist is recompiled after switching the branch, the selected branch will be reverted to stable. The second one is a permanent solution, where checking for updates using the Update Manager GUI will check for updates from the selected branch.

Temporary Method

Changing the selected branch is fairly simple. We make use of the pacman-mirrors command to update the selected branch. Run the following command in a terminal:

sudo pacman-mirrors -g -b <branch> && sudo pacman -Syyu
  • pacman-mirrors -g will generate a new mirrorlist, sorting the available servers according to their access time.
    • -b <branch> tells pacman-mirrors to use the specified branch. Valid values are: stable, testing, unstable
  • pacman -S will synchronize the local package databases with the remote package databases.
    • -yy will force a refresh on the local package databases, even if they are up to date.
    • -u performs an upgrade to the installed packages.

note: You must replace <branch> with one of the following options: stable, testing, unstable
note: Rebuilding the mirrorlist after performing the method described above will revert the selected branch to stable. If you want a permanent solution, check out below.

Permanent Method

To permanently change the selected branch, we must edit the pacman-mirrors configuration file located at /etc/pacman-mirrors.conf. You can edit it with any text editor of your liking:

sudo <text editor> /etc/pacman-mirrors.conf

For example, if we were going to use nano to edit the file, we would run the following command:

sudo nano /etc/pacman-mirrors.conf

Once you have opened the file with a text editor, look for the following lines:

## Branch Pacman should use (stable, testing, unstable)

You should then change the value colored in green (for illustrative purposes only) to one of the following: stable, testing, unstable.

After you changed the value, just save, exit your text editor, rebuild the mirrorlist and update your packages:

sudo pacman-mirrors -g && sudo pacman -Syyu


How do I go back to the stable branch after permanently changing to one of the testing branches?

Going back to the stable branch is easy. All you have to do is follow the Permanent Method steps, and use stable as the branch value.