A package search engine for Linux repositories

Package Monitor

© Lead Image © Oleksiy Mark, 123RF.com

© Lead Image © Oleksiy Mark, 123RF.com

Article from Issue 238/2020
Author(s):

The Repology web app provides up-to-date information on software archives, versions, package maintainers, and more. And it goes beyond the boundaries of Linux.

Most of us spend a significant amount of time in front of our computers searching for information – whether in the browser via a search engine, in the filesystem with commands like find and locate, or with graphic tools. One of the commands most frequently used with us, whohas, determines which distributions have which version of a specific package in their archives. Using this command can be frustrating: whohas does not support all distributions, and not all distributions' repositories can be reached at the time of a query.

In a search for alternatives, I came across a genuine treasure chest, Repology [1], a web app that lists the software packages of many distributions. It retrieves this data hourly directly from the distributions' repositories. Repology links together a versatile set of information about the individual packages. At the time of writing, Repology covered more than 120 repositories with over 2.5 million packages.

Repology, which is implemented in Python, is maintained on GitHub [2]. Besides the archives of Linux distributions, Repology also integrates some BSD projects' data. In addition, Repology tracks the activities in repositories such as Deb Multimedia, RPM Fusion, Chocolatey, F-Droid, Homebrew, and many others.

In short, Repology acts as a search engine for packages in repositories of Linux distributions and beyond. Since it offers numerous evaluation options, it provides users with many insights and comparisons of individual packages. In this way, you can discover, for example, which distribution is best suited to your needs in terms of cutting edge software, the number of packages provided, or other criteria.

As an introduction, I will use Repology to quickly find out which distributions provide the latest version of Firefox. As background, web applications always need to be up-to-date because of constant new attack scenarios. Ideally, only one or two days should pass before a new or patched version of Firefox or any other web application becomes available in the package sources.

Useful Data

Repology's data is of interest to developers, package maintainers, and end users alike. While developers can discover which distributions offer their software, package maintainers can keep track of new versions of the applications they package and see at a glance which maintainers are packaging the same software for other distributions.

End users know when new software versions become available and can jog package maintainers' memory at their distribution of choice if needed. Apart from this, browsing in Repology is an extremely entertaining pastime.

Fox Hunt

Before getting started, you need to know that Repology refers to everything that has to do with a software application (Firefox in our case) as a project. When you open the web app, you'll find six tabs at the top of the page: Projects, Maintainers, Repositories, and Tools on the left and News and Docs on the right.

I'll start our search in the Projects tab where I'll enter firefox in the search bar. Clicking on Advanced lets you refine the search, for example, by searching in special repositories for the package or for Firefox packages by a specific maintainer. I'll just do a simple search and select Firefox (firefox*) from the displayed projects (Figure 1).

Figure 1: Repology views Firefox as a project, which includes all packages that have Firefox in their name. We are interested in the firefox* entry at the bottom, which stands for the web browser.

To the right of the project name in Figure 1, the Spr column (which stands for spread) indicates the number of repository families in which the project is found. For example, Debian Stable, Testing, Unstable, Oldstable, and Experimental count as one family. Clicking on firefox* will open a view of the repositories that provide Firefox (Figure 2).

Figure 2: The different Debian branches offer different versions of the web browser. Versions marked in red are outdated; Yellow indicates a legacy version that is still maintained for compatibility reasons.

Many Foxes

In the upper left corner, you can see how many Firefox packages Repology recognizes. These include Firefox, Firefox ESR, Firefox Developer, and all the other variants in all represented versions. Under the Category section, you can see where the package is categorized in a distribution. On the far right below Maintainer(s), you will find the package maintainer(s). Scroll down to the bottom of the page (a long way for the Firefox list, admittedly) to find the archives that currently do not offer Firefox packages.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • The sys admin's daily grind: urlwatch

    Experienced system administrators attach great importance to always being up to date when it comes to information technology. Urlwatch is a command-line tool that presents the latest news from websites that do not offer RSS feeds by email.

  • Tangram

    Tangram lets you track social media portals like Facebook and Twitter, as well as web-based messengers like Whatsapp and Telegram, in a single application window.

  • broot

    The broot file manager guarantees clearer, quicker navigation of the directory tree at the command line.

  • Why universal packages aren't universal solutions
  • Packages in systemd

    You might need to tweak your Debian or Ubuntu packages to get them to work with systemd.

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95

News