Take note, Arch Linux users! The Arch Linux developers will remove old, deprecated repositories by March 1, 2025, to simplify the repository structure and prevent potential user confusion. Users must ensure their /etc/pacman.conf
file no longer references these repositories to avoid errors.
Table of Contents
Why Are Arch Linux Devs Doing This?
A while back, the [community] repository was merged into [extra]. To avoid breaking things for users, the old repositories were kept around in an unused state. Now, the developers have decided to tidy up and remove these relics.
Which Repositories are Going to be Removed?
The following deprecated repositories are being removed in Arch Linux after March 1, 2025:
- [community]
- [community-testing]
- [testing]
- [testing-debug]
- [staging]
- [staging-debug]
What You Need to Do
The most important thing is to remove any references to these repositories from your /etc/pacman.conf
file. If you don't, you might encounter errors when running pacman -Sy
because your system will be trying to sync with repositories that no longer exist.
How to Remove Old Deprecated Repositories in Arch Linux
Removing old repositories is easy! The basic steps are this:
- Find
/etc/pacman.conf
: This is the main configuration file for Pacman, the default package manager for Arch Linux. - Open the file with a text editor: Use your favourite text editor with root privileges.
- Look for the deprecated repositories: Search for the repository names listed above. They will appear in
[brackets]
. - Remove or comment out those lines: You can either delete the entire line or comment it out by adding a
#
at the beginning of the line. This disables the line without removing it completely. - Save the file.
Note: A .pacnew
file was shipped with pacman>=6.0.2-7
to assist with this. If you haven't already, merge this .pacnew
file into your /etc/pacman.conf
.
Allow me to show you a practical example.
Let's say your pacman.conf
file looks something like this:
[options]
...
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist
You would remove or comment out the [community]
section:
[options]
...
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
#[community]
#Include = /etc/pacman.d/mirrorlist
Save the file and close the editor. That's it.
Now update your Arch Linux system using command:
sudo pacman -Syu
What Happens If You Don't Do This?
If you skip this step, you'll likely see errors when you try to update your system. Pacman will try to contact the old repositories, fail, and throw an error. It's a simple fix, so it's worth taking a few minutes to sort it out.
Git Migration: A Quick Recap
This cleanup is happening after Arch Linux completed its migration to Git for package management. This was a significant change that brought improvements to how packages are built and maintained. As part of that migration, the [community]
repository was merged into [extra]
.
For Those Who Used the asp
Tool
If you were using the now deprecated asp
tool, it's time to switch to pkgctl
. You can do this with these commands:
$ pacman -Syu "devtools>=1:1.0.0-1" $ pkgctl repo clone linux
Packagers, Take Note!
If you're an Arch Linux packager, there are a few extra steps for you:
First, uninstall devtools-git-poc
and remove any repos you cloned during the Git proof-of-concept testing.
Next, make sure you have updated devtools
and pacman
:
pacman -Syu "devtools>=1:1.0.0-1" "pacman>=6.0.2-7"
Clean up old chroots in /var/lib/archbuild/
:
rm -rf /var/lib/archbuild/
Or,
pkgctl build --clean
Familiarize yourself with pkgctl
. Check out the How to be a packager section on Arch Wiki and the man pages for more info:
man pkgctl-build
man pkgctl-repo-clone
Wrapping Up
So, there you have it! Cleaning up those old repositories is a small but important step in keeping your Arch Linux system running smoothly. Take a few minutes to edit your pacman configuration file, and you'll be good to go.
Got any questions or comments? Feel free to drop them in the comment section below!
Resource: