A Perl tool for querying distribution repositories

Analysis Machine

Article from Issue 149/2013
Author(s):

A Perl script calls various plugins that sniff around on FTP and HTTP servers run by the major Linux distributions to discover when Fedora, Debian, and other distros update their packages.

The software in this Perl column is, to some extent, commissioned work: The editors of the German edition, Linux-Magazin, needed a tool that would crawl the update servers of major Linux distributions to find release dates for a cover story. Because Perl has a reputation of being good at complex queries and string manipulation, this article is totally devoted to a tool that supports that topic. The objective was a script that accepts a query passed in at the command line, searches different targets, filters out matching package names, collects the dates, and finally outputs a table with the results.

The difficulty is that Linux distributions offer their release information in different formats. For example, packages for Ubuntu and Debian reside on an FTP server – not all in one directory, but split up into subdirectories whose names consist of the first letter of the package name (Figure 1).

The pulseaudio package on Debian thus resides in the p directory, whereas a Fedora server in Esslingen, Germany, lists all the packages in a directory for the processor architecture (Figure 2). openSUSE uses a similar approach, but does not reveal the change dates of the individual files like a normal FTP server, instead using a home-grown format à la 28-Nov-2012 17:02 (Figure 3).

[...]

Use Express-Checkout link below to read the full article (PDF).

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

  • Perl – Distro Update Analysis

    A Perl script calls various plugins that sniff around on FTP and HTTP servers run by the major Linux distributions to discover when Fedora, Debian, and other distros update their packages.

  • Perl: Log Chat Sessions

    The IRC (Internet Relay Chat) protocol lets you program bots as automatic helpers. In this month's column, we let a bot log a session and store the results in a database.

  • Perl: Test-Driven Development

    Test-driven development with a full-coverage regression test suite as a useful side effect promises code with fewer errors. Mike "Perlmeister" Schilli enters the same path of agility and encounters a really useful new CPAN module.

  • Gimp Scripting

    Many users turn to GIMP for pictures in the window, but some may not realize GIMP also has scripting capabilities that allow you to automate recurring tasks. The Python scripting language is a useful alternative to the GIMP’s integrated Lisp dialect.

  • Command Line: Vim Plugins

    Managing plugins is a requirement for Vim users, and plugin managers can make the task easier. We look at four options.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News