Repo Management

From antiX Linux fan

antiX Linux is based on Debian, so it employs the same method to handle Sources Lists to retrieve packages and information from a repository server.

APT Sources[edit | edit source]

APT (Advanced Package Tool) is the main tool used in Debian based Operating Systems to manage the Packages and to retrieve information from the software repositories. When using the apt update command, apt retrieves package information from all active sources in /etc/apt/sources.list file or, if there are many lists, from all enable sources inside /etc/apt/sources.list.d/ folder.

A repository is generally a network server, such as the official Debian Stable repository. Local directories or CD/DVD are also accepted.

The specific repositories (package sources) configured on your machine affect:

  • What software packages are available for download
  • What versions of packages are available
  • Who packages the software

Sources.list in antiX[edit | edit source]

In antiX Linux, you will find up to six lists inside /etc/apt/sources.list.d/ folder. Two of them are inactive by default (onion.list and various.list), three of them are "essential" (antix.list, debian.list and debian-stable-updates if running a stable release) and, since antiX 19[1], there is also a buster-backports.list file. For example, on antiX 19 you will see:

  • antix.list contains the sources for the antiX repositories. antiX linux uses various packages not available in the main Debian repos, so it hosts its own packages in their server (or many mirror servers). Sometimes, newer software is available in these repositories or they have been modified so they work best on antiX, so having them active is recommended. If you want to change the mirror for one closer (to improve download speed) or to a working one (if your mirror has problems), use the repo manager program. You can also see all available antiX 17 mirrors and antiX 19 mirrors, or check their status following the external links.
  • debian.list contains a list of debian package repositories. Most packages (over 95%) and programs that can be installed in antiX are found in the Debian servers, so make sure you have the correct ones active or you software selection will be very limited. Some antiX packages have dependencies only available from the Debian repositories, so it is a most to have them correctly configured. You can also see all available Debian mirrors and choose the one you want to use.
  • debian-stable-updates.list contains sources for the current stable updates. If not running stable (if running testing or sid), disable them.
  • buster-backports.list is new since antiX 19 (based on Debian buster). It enables the buster-backports repository, which contains newer versions for available packages that have been backported from Debian testing (meaning they have been taken from testing and are complied to run on the current stable). They are configured in a way that they will not install or update your packages to newer versions unless you specifically ask for them. This is to prevent possible problems as these packages are not so bug-free as the official stable ones. If you know of a specific package available in backports (like libreoffice), you can manually install it using the package installer program in antiX (if that package is available there), or directly from terminal
sudo apt -t buster-backports install <package-name>
  • onion.list is used in systems that connect to the net using TOR but want to download and receive updates from the buster repos. Disabled by default.
  • various.list contains the repositories of various highly demanded software programs that are not available (or the available are not the newest) from the Debian or antiX repos, like opera, virtualbox and liquorix kernels. Disabled by default.

General sources.list information[edit | edit source]

The general structure of a software repository for a Debian sources.list is:

package-type http://software.site/folder distribution component1 component2 component3

Where:

  • package-type refers to how the software is delivered. deb refers to ready to use debian (.deb) binary packages, which only need to be installed on the system for them to work. deb-src refers to the source of a package (as in source code) for you to download and compile yourself. This is used for people who want to manually add fixes to the code or want to explore it or need to compile it for a different architecture where this package is not available.By default in antiX, only the deb (ready packages) is active and the sources (deb-src) are disabled.
  • http://software.site/folder is the server URL to where the package list is hosted. It can be anything from a real server to a local folder in your system.
  • distribution refers to the distribution for which the packages were built. It could be for the current stable (can be a general word, like stable or specific distribution name, like buster), for the testing distribution (general name testing or specific name bullseye), for unstable (sid) or for a special distribution version (like stretch-backports for backports for Stretch, buster/updates for patches and security updates for Buster, or testing-security for security updates for the testing branch).
  • componentX separates packages into tags or components. main refers to the main totally free available packages, contrib to packages that are free but not all their dependencies are, so they are not in the main tag, non-free or nonfree means exactly as its name indicates, packages that don't follow the DFSG guidelines[2], like proprietary firmware or software. There are other words also used for different components. for antiX Linux repos, there are also other tags used: nosystemd will stop any package requiring systemd to be installed, no matter the source, so that it may not break the antiX system (enabled by default); dev will also enable access to some updates or new packages that are in a development or testing state, for those who are adventurous or want to help test software for antiX before its stable release (disabled by default).

All repositories in the sources lists must have a valid GPG key associated to them. This is to make sure those sources are trusted, to avoid potentially dangerous programs to be installed on your system from untrustworthy sources. If you are having GPG error messages, the packages from those associated repositories will not download or install to your system.

Editing the repositories[edit | edit source]

Warning: Only edit the sources.list files if you know what you are doing. If you don't, better only use the Repo manager program available in antiX to select a different mirror for Debian and antiX repos.

If you want to edit the sources of any of the lists, you need administrative (root) permissions. You can then edit the source of any of them, or comment and un-comment them out.

If you want to add new package sources, create a new list file (for example new-sources.list) inside the sources.list.d folder and add the correct (valid) GPG key related to that new repository so that the source is trusted. After that, just use apt update command to update the list of available packages in your system.

Bad practices[edit | edit source]

When people learn that they can use any of the available sources, they become a bit greedy and try to activate as many as they can. They think that this is the best way to have an "even bigger" collection of packages available. This is a mistake, as each source, be it active or inactive by default, has a reason to be in that condition.

Others want to take control of their packages and start to disable ones they don't know their use. In this way, they find they cannot install specific packages because of dependency issues or even worse, they find they cannot boot into their system because they have installed packages that were being blocked by some of the sourceslist.

Both cases above will lead to problems in their system, to the point it may be impossible for others to help them restore the system without reinstalling antiX itself.

By default, antiX Linux has the Stable (or old-stable) repositories active, so the sources of packages for your system will come from these repositories. If you want to move to Debian testing or Debian sid (unstable), you need to disable all repos that are not related to those distributions.

The antix.list will not only give you access to the available packages in the antiX repo, but will also block certain packages (no matter from what sourcelist) to be installed to your system. This is the case for the init systemd. If you disable the antiX repos, you are in danger of breaking your system. It is not recommended to do this.

Repo Manager[edit | edit source]

antiX Linux Full and Base come with a tool named Repo manager that will help you manage your repositories in a visual and easy way. It can be launched from the Control Centre (Maintenance section), or from the Applications menu (System category).

You can change your antiX Mirror to a different one manually (or let it find the fastest for you), find the fastest Debian repo or manually enable and disable repos from your sources.list.d folder.

If you do something wrong, you can always use the "Restore original APT sources" to restore your system to the default repo configuration.

Ubuntu PPAs[edit | edit source]

Ubuntu PPAs are NOT supported by the antiX Linux operating system. If you add them to your sources.list, it will be up to you to fix any problems derived from using them.

External links[edit | edit source]

References[edit | edit source]

  1. buster-backports repo enabled, antiX official announcement
  2. DFSG guidelines