Change Selected Pacman Branch
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.
Accessing the Testing Branches
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.
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.
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) Branch=stable
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.