Do you know Repology.org? It is a brilliant package search engine for all GNU/Linux distros. For us, we can find out software packages --in binary and source forms-- across various distros' repositories, even those which do not have package search facilities, and then quickly compare package version with versions available in another distros. In short, we using Ubuntu, Fedora, openSUSE and whatever distros can search for packages centrally here. For individual software developers, Repology is useful to discover which distros have not yet packaged your software, and to contact the maintainers quickly. For distro maintainers, of course it's useful to compare your repository against another distros' repositories. Repology can generate informative badge of package availability (see examples below) we can display onto any website that accept HTML code. This overview covers what Repology is with examples and how to use it for users across GNU/Linux distros in easy ways. I didn't find any other source on the net that covers it yet so I decided to write this article. I hope this helps you a lot in finding packages and researching more about GNU/Linux. Enjoy!
Subscribe to UbuntuBuzz Telegram Channel to get article updates directly.
Index
- Understanding Repository Concept
- Individual Distro's Package Search
- Distros that Do Not Have Package Search
- Repology.org
- How it works
- Purposes
- Hard Days before Repology.org
- How to use Repology
1. Understanding Repository Concept
Talking about it is talking about several terminology, those are repository itself, source code, binary code, distribution, and package. A repository is a special thing every GNU/Linux distro has. Ubuntu has repository, so does openSUSE, so does Fedora, and on and on.
A repository is the cause why a distro called distro. It is a distribution of a lot of software, that is compiled solely for the distro, and the repository is stored in a certain place on the internet. Every software in a repository is packaged for us in 2 format, source code package and binary code package, for example source code package filename is ended with .tar.gz; and binary code package filename for Ubuntu is always ended with .deb, while binary code package filename for Fedora / openSUSE is always ended with .rpm.
User gets software by downloading & installing the binary package, for example LibreOffice.deb in Ubuntu; LibreOffice.rpm in Fedora / openSUSE. User has the right to access the source code of every software in distribution, regardless they are software expert or not, and they can have it for example LibreOffice.tar.gz by downloading the source code package from source code repository. To sum it up, every distro has a repository of software that is very big we need search solution to find out a package, a version, a source code, or everything related to packages in it.
2. Individual Distro's Package Search Engine
- Ubuntu has packages.ubuntu.com
- Debian has packages.debian.com
- openSUSE has software.opensuse.org
- Fedora has apps.fedoraproject.org/packages
- Arch has archlinux.org/packages
- Mint has packages.linuxmint.com
- Mageia has https://madb.mageia.org
- KaOS has http://kaosx.tk/packages
- Kali (formerly Backtrack) has https://pkg.kali.org
and many more.
3. Distros That Do Not Have Package Search
Yes, there are so many major distros that packages in their repo cannot be easily searched or do not have a search engine. They are:
- CentOS
- Slackware
- Red Hat
- SUSE
- Deepin
- Solus
- Manjaro, only has mirror list
- MX and antiX join, only has package list
- GuixSD, only has package list
- elementary OS
- Zorin OS
- OpenMandriva
- ROSA
- PCLinuxOS
- Trisquel
- PureOS
This data is noted as per Monday, 3 February 2020. In the future, distros may change.
4. Repology.org - A Package Search Engine for All
Now what do you think if there is a repository search engine that is able to find you packages from all distros? Not only that, it is able to compare version numbers of a software between different distros. Not to mention, that means easy for us to figure out package availability, which distro has a package and which distro has not. More than that, Repology can display graphical statistics of them. From software freedom perspective, it helps you to find packages in source code forms. That is awesome, right? That is Repology.org!
5. How It Works
Repology.org monitors multiple repositories and adds new repositories day by day. It presents us search facility we can use to find out a package in multiple distros, its versions, its availability, its naming, and its relationship with other packages. If you want to know more or even contribute to, then join Repology developers at GitHub webapp, updater, and ruleset. Founder of Repology is Dmitry Marakasov from Russia and the search engine itself free software licensed under GNU GPLv3+.
6. Purpose
Repology's purpose can be divided into 3 categories:
- For user: to figure out packages in multiple distros.
- For software developer: to figure out distros that have made your software available, and which ones have not.
- For distro maintainer: to compare your distro with another distros.
User wants to compare LibreOffice versions available in Ubuntu, Fedora, and openSUSE. User types "libreoffice" in search box and instantly finds out version 6.3.2 in Ubuntu 19.10, version 6.3.3.2 in Fedora Rawhide, and version 6.4.0.3 in openSUSE Tumbleweed. This comparison I find out as per Monday, 3 February 2020. One more amazing thing, user can post in their website a colorful list of versions like below.
(Picture above is PNG from the original SVG I edited with Inkscape to reduce the length)
Example 2:
User wants to know which distros do not have Zotero Bibliography Manager. User types "libreoffice" and then scroll down the resulting page to see Absent in repositories section. There, we see majority of distros do not have Zotero, for example Ubuntu, Fedora, and openSUSE. Once again amazing, user can create a colorful list badge too.
Example 3:
There is sK1 Project, a developer team of sK1 CMYK-colored Vector Editor, wants to know which distros already have their software. Developer types "sk1" and find out a few distros like PCLinuxOS, Mageia, Fedora, and openSUSE made their software available. On the other hand, developer knows from that that Ubuntu, Mint, Deepin, even Debian do not have their software yet.
Example 4:
User who want to search for package in non-searchable distros --like GuixSD, OpenMandriva, Manjaro-- can do it easily.
7. Before Repology, We Used To Be Working Hard
Before doing search in Repology as explained in next section, it is very good if we look once again at individual distro's search engine. It is with and without.
Without a search engine, we have only 2 options:
- figuring out manually one directory by one directory within repository web pages (and this is very tiresome)
- using that distro to run package manager's search command (and this constitutes installing it on our computer, how if we don't want to?)
- we do not need to crawl manually one by one, as we can quickly find one by search page
- we are not required to use that distro, as we do not need install it on our computer
More than that, how if a distro does not have a search engine? Like OpenMandriva, for example? Or GuixSD, that is not easy to find a package with such A-Z paging? That makes everything more difficult.
Fortunately, thanks to Repology now we solve all those problems with one solution.
8. How to use Repology?
To search for package:
- Go to https://repology.org
- See section 'search packages' with a search box
- Type a package name for example gimp
- Click Go button
- Page reloads
- Page displays list of packages containing gimp in their names
- Select the simplest name displayed in this example gimp*
- Page reloads
- Page displays list of package gimp versions in multiple distros
- Click a package gimp name on the list for example Ubuntu 18.04's
- Page changed onto that distro's official info of that package, here it is Ubuntu 18.04's repository page of gimp version
(Left: from Alpine to Arch repositories ... | Middle: from Astra to CRUX repositories ... | Right: from Debian to Deepin repositories)
By this example you can explore more by yourselves, o dear readers. Enjoy researching!
This article is licensed under CC BY-SA 3.0.