Synaptic and the Repositories

From PCLinuxOSHelp Knowledge Base
Jump to: navigation, search

This page explains how software is managed and distributed on PCLinuxOS using Synaptic and the Repositories.

Introduction

The PCLinuxOS distribution media installs a number of the most popular Linux applications at installation time but there are large number of additional applications that you may wish to install. These additional applications are available as RPM packages in the PCLinuxOS online software repository. There is ONE single repository which contains all the application and system packages available for PCLinuxOS. For convenience this repository is mirrored on a number of servers around the world. Choosing a mirror that is close to you geographically should provide the best download times.

A single application may consist of a number of RPM packages and may require a number of other packages to be installed (called dependencies). These package relationships can be complex and are best managed using a Package Manager application. On PCLinuxOS we use Synaptic Package Manager to carry out the process of installing, removing and updating packages. You may be familiar with this application from Debian based distributions and it works in a similar way on PCLinuxOS (only similar because Debian based distributions use DEB packages whereas PCLinuxOS uses RPM packages).

Running Synaptic

You can launch Synaptic by any one of the following methods:

  • By clicking on Synaptic Package Manager icon in the taskbar near the left hand lower corner of your screen. Synaptic Locate.png
  • By going to PC Menu (Also called Kickoff Application Launcher) at the left hand lower corner of your screen > Applications > Software Centre > Synaptic Package Manager.
  • By typing 'synaptic' into a root terminal.
  • If you have one of the update-notifier applications installed they usually have an option for launching Synaptic.

As soon as Synaptic starts, it scans your system for existing software and gets ready.

Media-box.png

Getting the latest package list

The first thing to do before performing any install or update procedure in Synaptic is to click the Reload button in the top-left of the window. This tells Synaptic to download the most up-to-date list of packages from the repository. Working with an out-of-date list can cause errors when trying to install or update packages. After clicking Reload a window will open to show the progress of the download:

Synaptic02.png

If you see an error Could not download all repository indexes then it is possible that your chosen repository mirror is in the process of synchronizing with the master repository. You should close Synaptic and try again later.

Checking the status of packages

Once Synaptic has successfully updated the list of packages it will update the status panel on the left of the window enabling you to browse the status of packages on the system. If you are not seeing this panel then click the Status button in the bottom left of the window.

Synaptic-Status.png

Clicking an entry in the status panel will update the package list on the right to include only the packages which have the chosen status. These are:

  • All - List all packages known to Synaptic regardless of their origin or status
  • Installed - List only packages which are currently installed on the system
  • Installed (local or obsolete) - Lists packages which are installed on the system but are not currently present in the repository. This could be because the package was downloaded an installed manually using the rpm command (local) or because the package was in the repository but has since been removed (obsolete). Packages you may see listed here are kernels because the kernel doesn't get updated as part of the update process. You can continue to run with the kernel you are on but only the latest kernels are present in the repository. You will also see LibreOffice packages here because they are installed by LibreOffice Mamanger directly from the LibreOffice site rather than the repository.
  • Installed (upgradable) - Lists packages installed on the system for which updated packages are available in the repository. While you can mark individual packages for updating this is strongly discouraged because the rolling release nature of PCLinuxOS requires a full update to be done to maintain stability. The correct procedure for doing this is documented here.
  • New in repository - Lists packages which have been added to the repository since the last time you did a Reload.
  • Not installed - Lists packages which are available in the repository but not currently installed.
  • Broken Packages - Lists packages installed on the system which require other packages to be installed to function correctly but those packages are not installed. This shouldn't happen if you properly update your system as mentioned earlier but sometimes packaging mistakes happen. This could also happen if you install packages from outside the PCLinuxOS repository.
  • Pinned - Lists packages which have been locked at a particular version and cannot be updated. You should only lock packages as a last resort since it can cause the update process to fail at a later date if the locked packages have forward or reverse dependencies.

Searching for applications to install

There are several ways of searching for applications in Synaptic:

  • Click on the Search button at the top of the window or press Ctrl+F. This will open a box where you can type in a search term.

Synaptic-Find.png

The Look in: allows you to specify where to look for the search term. Set it to Description and Name if you are not sure of the exact package name or Name if you do know the exact package name. The other options in that list are mainly for developers looking to resolve package dependencies. If the search is successful you will be presented with the results in the package list panel.

  • You can search by category by clicking the Sections button in the bottom left of the window. The left panel will show a list of categories and clicking on one of the categories will list the packages in that category in the package list panel.

Synaptic-Groups.png

  • You can also click on any package on the package list panel and start typing the name of the package if you know it.


Configuring Synaptic

When you install from the PCLinuxOS distribution media the Synaptic Package Manager is already installed and configured for use. As mentioned in the introduction above there is one public master repository which is mirrored to many servers around the world. After installation Synaptic will use the public master repository which is hosted on NLUUG server in the Netherlands. Depending where you are in the world you may find that you get better download speeds from a mirror which is closer to you geographically.

Changing Repository Mirror

To change the repository simply click on Settings > Repositories.

Synaptic07.png

In the following window you can select the activated repository to see detailed information:

Synaptic-Repos.png

To change the repository mirror, remove the check-mark from the one currently enabled and set the mark for the one you wish to activate.

IconWarning.png
Warning!
Make sure that ONLY ONE mirror is enabled. All mirrors contain the same data but are synchronized at different times so enabling more than one mirror could result in a mixture of package versions which would cause errors if an update was attempted.


Once you click OK to accept the changes you will be told to click on Reload in the main window so that the current package list from the newly selected mirror is downloaded.

Technical Information

As mentioned earlier, PCLinuxOS has ONE single repository which contains all the application and system packages available for PCLinuxOS. This is different from other distributions which sometimes have many repositories (sometimes called PPAs) depending on the type or origin of the software. The PCLinuxOS public repository is hosted on the NLUUG server in the Netherlands which synchronizes with the devs master repository once or twice per day.

For convenience, to reduce load on NLUUG and improve download time for users there are a number of other servers around the world which are set up as mirrors of the repository on NLUUG. These mirrors usually synchronize with NLUUG at least once per day. These synchronizations do not necessarily happen at the same time of day so you should not enable more than one mirror in Synaptic otherwise it could end up with a mixture of package versions. That aside the mirrors are identical copies of the repository on NLUUG.

The list of mirror servers is stored in a configuration file used by apt and Synaptic located in /etc/apt/sources.list

# 64bit package repository URL's, working as of 02/18/2020
#==================================================================
# Please enable only ONE (1) entry !!!
#==================================================================
rpm http://ftp.nluug.nl/pub/os/Linux/distr/pclinuxos/pclinuxos/apt/ pclinuxos/64bit x86_64 kde5 xfce4 mate 
# rpm http://ftp.fau.de/pclinuxos/pclinuxos/apt/ pclinuxos/64bit x86_64 kde5 xfce4 mate 
# rpm http://spout.ussg.indiana.edu/linux/pclinuxos/pclinuxos/apt/ pclinuxos/64bit x86_64 kde5 xfce4 mate 
# rpm http://pclinuxos.c3sl.ufpr.br/pclinuxos/apt/ pclinuxos/64bit x86_64 kde5 xfce4 mate 
# rpm http://mirror.uta.edu.ec/pclinuxos/pclinuxos/apt/ pclinuxos/64bit x86_64 kde5 xfce4 mate 
# rpm http://mirror.cedia.org.ec/pclinuxos/pclinuxos/apt/ pclinuxos/64bit x86_64 kde5 xfce4 mate 
# rpm http://ftp.cc.uoc.gr/mirrors/linux/pclinuxos/pclinuxos/apt/ pclinuxos/64bit x86_64 kde5 xfce4 mate 
# rpm http://distrib-coffee.ipsl.jussieu.fr/pub/linux/pclinuxos/pclinuxos/apt/ pclinuxos/64bit x86_64 kde5 xfce4 mate 
# rpm http://mirror.internode.on.net/pub/pclinuxos/pclinuxos/apt/ pclinuxos/64bit x86_64 kde5 xfce4 mate 
# rpm http://mirror.aarnet.edu.au/pub/pclinuxos/apt/ pclinuxos/64bit x86_64 kde5 xfce4 mate 
# rpm http://ftp.jaist.ac.jp/pub/Linux/PCLinuxOS/pclinuxos/apt/ pclinuxos/64bit x86_64 kde5 xfce4 mate 
# rpm http://mirrors.uni-ruse.bg/pclinuxos/pclinuxos/apt/ pclinuxos/64bit x86_64 kde5 xfce4 mate 
# rpm http://pclinuxos.mirror.wearetriple.com/pclinuxos/apt/ pclinuxos/64bit x86_64 kde5 xfce4 mate 
# rpm http://mirrors.standaloneinstaller.com/pclinuxos/pclinuxos/apt/ pclinuxos/64bit x86_64 kde5 xfce4 mate

Each line contains the details for one mirror. Lines beginning with # are inactive and there should be one entry which doesn't begin with #. That will be the repository mirror used by apt and Synaptic. Each entry has 3 parts:

  • A URL which locates the repository on the mirror server, so for the NLUUG mirror server this is http://ftp.nluug.nl/pub/os/Linux/distr/pclinuxos/pclinuxos/apt/. This is the top level of the repository directory structure.
  • A "Distribution". This is to allow for multiple "distributions" but PCLinuxOS uses a single distribution which is located at pclinuxos/64bit which makes the complete path to the repository structure http://ftp.nluug.nl/pub/os/Linux/distr/pclinuxos/pclinuxos/apt/pclinuxos/64bit for NLUUG.
  • List of sections. The repository itself is divided up into sections to make package maintenance easier. Each section has a corresponding directory in the repository which contains the actual RPM packages.

Sections can be enabled or disabled depending on requirements. PCLinuxOS has 4 sections which are always enabled by default:

  • x86_64 contains all the main system and non-desktop specific RPMs.
  • kde5 contains RPMs specific to the KDE/Plasma desktop environment.
  • xfce4 contains RPMs specific to the XFCE desktop environment.
  • mate contains RPMs specific to the MATE desktop environment.

There are other sections which can be optionally enabled if required. They are not enabled by default because they have implications for system stability. You should only enable them if you fully understand the implications and accept the responsibility.

  • kernel has the latest kernel released by kernel.org. See this page for details.
  • test has packages which are currently undergoing testing. See this page for details.
  • retro has packages which are sometimes required to support specific older hardware configurations. Only enable this section if instructed to do so.