Difference between revisions of "Downgrading packages"
Views
Actions
Namespaces
Variants
Tools
m (added languages and translate tags) |
(Marked this version for translation) |
||
Line 2: | Line 2: | ||
__TOC__ | __TOC__ | ||
<translate> | <translate> | ||
<!--T:1--> | |||
{{warning|Downgrading packages will almost always leave you in an unsupported partial upgrade state. These instructions are intended for advanced users who understand the consequences of downgrading packages}} | {{warning|Downgrading packages will almost always leave you in an unsupported partial upgrade state. These instructions are intended for advanced users who understand the consequences of downgrading packages}} | ||
=Introduction= | =Introduction= <!--T:2--> | ||
<!--T:3--> | |||
There are sometimes circumstances that require downgrading a package temporarily. While this should not be an issue for Manjaro users on the stable branch, it is sometimes needed when using the unstable branch. | There are sometimes circumstances that require downgrading a package temporarily. While this should not be an issue for Manjaro users on the stable branch, it is sometimes needed when using the unstable branch. | ||
=The easy way using downgrade= | =The easy way using downgrade= <!--T:4--> | ||
<!--T:5--> | |||
'''downgrade''' is an application that helps automate the process of locating and downgrading packages. | '''downgrade''' is an application that helps automate the process of locating and downgrading packages. | ||
==Installing Downgrade== | ==Installing Downgrade== <!--T:6--> | ||
<!--T:7--> | |||
First you need to install Downgrade, which is available in the official repositories of Manjaro. This can be done with the following command: | First you need to install Downgrade, which is available in the official repositories of Manjaro. This can be done with the following command: | ||
pamac install downgrade | <!--T:8--> | ||
pamac install downgrade | |||
==Using Downgrade== | ==Using Downgrade== <!--T:9--> | ||
<!--T:10--> | |||
To use '''downgrade''' simply run the command followed by the name of the package you want to downgrade. For example: | To use '''downgrade''' simply run the command followed by the name of the package you want to downgrade. For example: | ||
downgrade firefox | <!--T:11--> | ||
downgrade firefox | |||
<!--T:12--> | |||
This will result in output which looks like this: | This will result in output which looks like this: | ||
Available packages: | <!--T:13--> | ||
Available packages: | |||
1) firefox 55.0.3 1 x86_64 (remote) | 1) firefox 55.0.3 1 x86_64 (remote) | ||
2) firefox 60.0.1 1 x86_64 (remote) | 2) firefox 60.0.1 1 x86_64 (remote) | ||
Line 47: | Line 56: | ||
+ 16) firefox 66.0.5 1 x86_64 (local) | + 16) firefox 66.0.5 1 x86_64 (local) | ||
<!--T:14--> | |||
The entries listed as "local" are versions from your local package cache. The entries identified as "remote" are available from the Arch Linux Archive(ALA). | The entries listed as "local" are versions from your local package cache. The entries identified as "remote" are available from the Arch Linux Archive(ALA). | ||
<!--T:15--> | |||
{{warning|Installing packages from the ALA is inherently dangerous as sometimes Manjaro needs custom versions of certain packages. Doing this can result in a broken system. As a result, downgrading from the ALA is disabled by default on the stable branch. If needed, you can enable it by setting the environment variable <pre>DOWNGRADE_FROM_ALA=1</pre>}} | {{warning|Installing packages from the ALA is inherently dangerous as sometimes Manjaro needs custom versions of certain packages. Doing this can result in a broken system. As a result, downgrading from the ALA is disabled by default on the stable branch. If needed, you can enable it by setting the environment variable <pre>DOWNGRADE_FROM_ALA=1</pre>}} | ||
==Adding packages to the ignore list== | ==Adding packages to the ignore list== <!--T:16--> | ||
<!--T:17--> | |||
After downgrading the package, you should see a message similar to this: | After downgrading the package, you should see a message similar to this: | ||
add firefox to IgnorePkg? [y/n] | add firefox to IgnorePkg? [y/n] | ||
<!--T:18--> | |||
If you answer "y", the package will no long be upgraded in future updates until you manually remove it from the '''IgnorePkg''' line of '''/etc/pacman.conf''' | If you answer "y", the package will no long be upgraded in future updates until you manually remove it from the '''IgnorePkg''' line of '''/etc/pacman.conf''' | ||
=Downgrading packages manually= | =Downgrading packages manually= <!--T:19--> | ||
<!--T:20--> | |||
The directory {{ic|/var/cache/pacman/pkg}} contains old versions of packages. First look for the package that you wish to downgrade is this directory then use {{ic|pacman -U}} to install it. For example, it could look like this: | The directory {{ic|/var/cache/pacman/pkg}} contains old versions of packages. First look for the package that you wish to downgrade is this directory then use {{ic|pacman -U}} to install it. For example, it could look like this: | ||
<!--T:21--> | |||
We have to use the following command to install the previously installed version of the packages that need to be downgraded: | We have to use the following command to install the previously installed version of the packages that need to be downgraded: | ||
sudo pacman -U /var/cache/pacman/pkg/firefox-64.0.2-1-x86_64.pkg.tar.xz | <!--T:22--> | ||
sudo pacman -U /var/cache/pacman/pkg/firefox-64.0.2-1-x86_64.pkg.tar.xz | |||
==Ensuring downgraded packages won't be upgraded again== | ==Ensuring downgraded packages won't be upgraded again== <!--T:23--> | ||
<!--T:24--> | |||
In order to stop these packages from being upgraded the next time you run updates, you can add them to the ignore list in '''/etc/pacman.conf'''. Look for the section that looks like this: | In order to stop these packages from being upgraded the next time you run updates, you can add them to the ignore list in '''/etc/pacman.conf'''. Look for the section that looks like this: | ||
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||
# IgnorePkg = | # IgnorePkg = | ||
<!--T:25--> | |||
Remove the comment in front of '''IgnorePkg''' and add the package name to the list. When you are done it should look like this: | Remove the comment in front of '''IgnorePkg''' and add the package name to the list. When you are done it should look like this: | ||
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||
IgnorePkg = firefox | IgnorePkg = firefox | ||
<!--T:26--> | |||
Once this is done the package will no long be upgraded in future updates until you manually remove it from the '''IgnorePkg''' line of '''/etc/pacman.conf''' | Once this is done the package will no long be upgraded in future updates until you manually remove it from the '''IgnorePkg''' line of '''/etc/pacman.conf''' | ||
</translate> | </translate> |
Revision as of 16:37, 7 September 2021
Introduction
There are sometimes circumstances that require downgrading a package temporarily. While this should not be an issue for Manjaro users on the stable branch, it is sometimes needed when using the unstable branch.
The easy way using downgrade
downgrade is an application that helps automate the process of locating and downgrading packages.
Installing Downgrade
First you need to install Downgrade, which is available in the official repositories of Manjaro. This can be done with the following command:
pamac install downgrade
Using Downgrade
To use downgrade simply run the command followed by the name of the package you want to downgrade. For example:
downgrade firefox
This will result in output which looks like this:
Available packages: 1) firefox 55.0.3 1 x86_64 (remote) 2) firefox 60.0.1 1 x86_64 (remote) 3) firefox 64.0.2 1 x86_64 (remote) 4) firefox 64.0.2 1 x86_64 (local) 5) firefox 65.0 1 x86_64 (remote) 6) firefox 65.0 2 x86_64 (remote) 7) firefox 65.0.1 1 x86_64 (remote) 8) firefox 65.0.2 1 x86_64 (remote) - 9) firefox 66.0 0 x86_64 (local) 10) firefox 66.0 1 x86_64 (remote) 11) firefox 66.0.1 1 x86_64 (remote) 12) firefox 66.0.2 1 x86_64 (remote) 13) firefox 66.0.3 1 x86_64 (remote) 14) firefox 66.0.4 1 x86_64 (remote) + 15) firefox 66.0.5 1 x86_64 (remote) + 16) firefox 66.0.5 1 x86_64 (local)
The entries listed as "local" are versions from your local package cache. The entries identified as "remote" are available from the Arch Linux Archive(ALA).
Adding packages to the ignore list
After downgrading the package, you should see a message similar to this:
add firefox to IgnorePkg? [y/n]
If you answer "y", the package will no long be upgraded in future updates until you manually remove it from the IgnorePkg line of /etc/pacman.conf
Downgrading packages manually
The directory /var/cache/pacman/pkg
contains old versions of packages. First look for the package that you wish to downgrade is this directory then use pacman -U
to install it. For example, it could look like this:
We have to use the following command to install the previously installed version of the packages that need to be downgraded:
sudo pacman -U /var/cache/pacman/pkg/firefox-64.0.2-1-x86_64.pkg.tar.xz
Ensuring downgraded packages won't be upgraded again
In order to stop these packages from being upgraded the next time you run updates, you can add them to the ignore list in /etc/pacman.conf. Look for the section that looks like this:
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup # IgnorePkg =
Remove the comment in front of IgnorePkg and add the package name to the list. When you are done it should look like this:
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup IgnorePkg = firefox
Once this is done the package will no long be upgraded in future updates until you manually remove it from the IgnorePkg line of /etc/pacman.conf