Manjaro Difference between revisions of "Switching Branches"

Difference between revisions of "Switching Branches"

From Manjaro
imported>Xinayder
(A replacement page for the 2 pages teaching how to access the testing branches. I figured one page telling the user how to switch was better than 2 pages teaching the same thing.)
 
(Do not use -Syyu)
 
(39 intermediate revisions by 14 users not shown)
Line 1: Line 1:
= Overview =
<languages/>
 
__TOC__
{{warning|Software downloaded and installed from the ''Testing branch'' will, by nature, not have been fully tested, and may be unstable.}}
<translate>
{{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.}}
= Overview = <!--T:1-->
{{Important|Manjaro specific packages downloaded and installed from the ''Testing branch'' or ''Unstable branch'' will, by nature, not have been fully tested, and may be unstable.


<!--T:2-->
Please refer to [[System Maintenance]] Section for important maintenance information.}}
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:
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''': This is the second line of defense. Being a larger number of users than those using ''Unstable'', they refine the work done prior to them by providing feedback on the packages they recieve on updates.
* '''Unstable branch''': Unstable is synced several times a day with Arch package releases. Only a subset of Arch packages are modified to suit Manjaro. Those that use ''Unstable'' need to have the skills to get themselves out of trouble when they move their system to this branch. 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, many issues are caught and fixed at this level. Although the very latest software will be located here, <u>using the ''unstable branch'' is usually safe but - in rare cases - may cause issues with your system!</u>


* '''Stable branch''': default branch used by Manjaro systems to provide updates and downloads to the general user base.
<!--T:3-->
* '''Testing branch''': stores patched software packages from the ''unstable branch'', as well other new software releases that are considered at least sufficiently stable. These packages will be subject to further checks by developers and testers for potential bugs and/or stability issues, prior to being released to the ''stable branch'' for public use.
'''Summing up''', Manjaro packages start their lives in the ''unstable'' branch. Once they are a deemed 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.
* '''Unstable branch''': stores software packages that have known or suspected stability and/or compatibility issues. This software may therefore be subject to patching by the Manjaro developers prior to being released to the ''testing branch'' Although the very latest software will be located here, <u>using the ''unstable branch'' may consequently break your system!</u>
 
 
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.
 
== 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.
<!--T:4-->
** '''-b ''<branch>''''' tells ''pacman-mirrors'' to use the specified branch. Valid values are: ''stable'', ''testing'', ''unstable''
{{BoxSecondary|Note on unstable branch|'''Remember''': Manjaro specific packages such as kernels, kernel modules and Manjaro applications enter the repo on ''unstable'' branch and it is those packages which are considered unstable when they enter.
* '''pacman -S''' will synchronize the local package databases with the remote package databases.
<p>Unmodifed packages synced from Arch repo are considered stable as they have already been vetted by Archlinux Community.</p>}}
** '''-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.


== Changing to another branch == <!--T:5-->
{{BoxSuccess|Have you considered?|Why not become an active part of the Manjaro community by becoming a tester?}}
In order to access a branch, you need to change your pacman-mirrors configuration.


{{Note|You '''must''' replace ''<branch>'' with one of the following options: ''stable'', ''testing'', ''unstable''}}
<!--T:6-->
{{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.}}
You should substitute the <font color="green">value colored in green</font> (for illustrative purposes only) to one of the following: '''stable''', '''testing''' or '''unstable'''.
sudo pacman-mirrors --api --set-branch <font color="green">{branch}</font>


== Permanent Method ==
<!--T:7-->
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:
After you changed the branch, rebuild the mirrorlist and update your packages:
sudo ''<text editor>'' /etc/pacman-mirrors.conf
{{UserCmd|command=sudo pacman-mirrors --fasttrack 5 && sudo pacman -Syu}}


For example, if we were going to use [http://www.nano-editor.org/ nano] to edit the file, we would run the following command:
== Questions == <!--T:8-->
sudo nano /etc/pacman-mirrors.conf
=== How do I go back after changing to one of the testing branches? ===
Going back to the stable branch is easy. All you have to do is to repeat the above, and use ''stable'' as the branch value.


<!--T:9-->
'''Be aware''' that after switching to a more stable branch you will receive messages from pacman, informing about newer packages installed than available in the repo. Don't be alarmed as the situation will resolve itself when the packages reaches your current branch.


Once you have opened the file with a text editor, look for the following lines:
<!--T:10-->
## Branch Pacman should use (stable, testing, unstable)
If for whatever reason you ''do'' wish to also 'downgrade' packages while changing branches add an extra ''u'' to the pacman command:
Branch=<font color="green">stable</font>
{{UserCmd|command=sudo pacman -Syuu}}


You should then change the <font color="green">value colored in green</font> (for illustrative purposes only) to one of the following: ''stable'', ''testing'', ''unstable''.
=== How do I check, which branch I am currently on? === <!--T:11-->
{{UserCmd|command=pacman-mirrors -G}}


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


== Questions ==
</translate>
=== How do I go back to the stable branch after permanently changing to one of the testing branches? ===
[[Category:Contents Page{{#translation:}}]]
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.

Latest revision as of 21:52, 9 October 2023

Other languages:
English • ‎русский • ‎فارسی • ‎中文(中国大陆)‎

Overview

Info
Manjaro specific packages downloaded and installed from the Testing branch or Unstable branch will, by nature, not have been fully tested, and may be unstable. Please refer to System Maintenance Section for important maintenance information.


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: This is the second line of defense. Being a larger number of users than those using Unstable, they refine the work done prior to them by providing feedback on the packages they recieve on updates.
  • Unstable branch: Unstable is synced several times a day with Arch package releases. Only a subset of Arch packages are modified to suit Manjaro. Those that use Unstable need to have the skills to get themselves out of trouble when they move their system to this branch. 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, many issues are caught and fixed at this level. Although the very latest software will be located here, using the unstable branch is usually safe but - in rare cases - may cause issues with your system!

Summing up, Manjaro packages start their lives in the unstable branch. Once they are a deemed 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 on unstable branch
Remember: Manjaro specific packages such as kernels, kernel modules and Manjaro applications enter the repo on unstable branch and it is those packages which are considered unstable when they enter.

Unmodifed packages synced from Arch repo are considered stable as they have already been vetted by Archlinux Community.

Changing to another branch

Have you considered?
Why not become an active part of the Manjaro community by becoming a tester?

In order to access a branch, you need to change your pacman-mirrors configuration.

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

sudo pacman-mirrors --api --set-branch {branch}

After you changed the branch, rebuild the mirrorlist and update your packages:

user $ sudo pacman-mirrors --fasttrack 5 && sudo pacman -Syu COPY TO CLIPBOARD


Questions

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

Going back to the stable branch is easy. All you have to do is to repeat the above, and use stable as the branch value.

Be aware that after switching to a more stable branch you will receive messages from pacman, informing about newer packages installed than available in the repo. Don't be alarmed as the situation will resolve itself when the packages reaches your current branch.

If for whatever reason you do wish to also 'downgrade' packages while changing branches add an extra u to the pacman command:

user $ sudo pacman -Syuu COPY TO CLIPBOARD


How do I check, which branch I am currently on?

user $ pacman-mirrors -G COPY TO CLIPBOARD


Cookies help us deliver our services. By using our services, you agree to our use of cookies.