A toolkit for packages
Debian Goodies
The Debian Goodies collection offers a variety of time-tested scripts to help you manage Debian packages.
If you use a Debian-based system, you soon learn to install or remove packages with apt-get
/dpkg
. But, how do you access packages while they are on your system? One of Debian's answers to this question is Debian Goodies [1], a collection of scripts for administering .deb
packages that is available on most Debian-based systems, including Linux Mint and Ubuntu.
The commands bundled in the Debian Goodies collection are small scripts, with such limited options and general purposes that none of them seem to deserve to be in a separate package. Over the past 14 years or so, each script has found its way into Debian Goodies, making it a collection of tools that ranges from small features for tracking broken packages or extracting copyright information to tools intended mainly for Debian developers fixing bugs in preparation for a release.
The scripts of Debian Goodies are not the only package-related tools on a Debian-based system. Except perhaps for their size, packages like apt-cache
, apt-listbugs
, apt-mirror
, and a couple of dozen others could easily fit into the collection. However, the commands packaged under Debian Goodies have one overwhelming advantage – you only need to remember a single name to have access to a variety of tools.
However, presenting these scripts as a collection also means that dependencies are not always handled as well as they would have to be in separate packages. In at least two cases, you have to read a command's man page to realize that it needs other packages to run properly. Fortunately, the man page is a sensible starting point for any script that you need to be root user to run. The Debian Goodies scripts generally provide information, rather than editing packages in any way, but knowing what the tools can do can only help you use them more efficiently.
check-enhancements
The check-enhancements
command is a relatively new addition to Debian Goodies, available in Testing's repository version, but not in Stable's. The command lists packages that enhance a other packages but are not strictly necessary to run it (Figure 1). For example, Gnome's Eye of Gnome (eog
) does not need eog-plugins
to perform its basic function of viewing files, but it gains extra features if the package is installed. These listings are especially welcome because the online descriptions of Debian packages are irregular about using the enhances category – sometimes putting packages that belong in it in the suggests category instead.
You can use the check-enhancements
command to find enhancements for a single package (Figure 1). Or, you can use the -ip
or --installed-packages
options to list all the enhancements available for all installed packages or -ie
or --installed-enhancements
to view all enhancements. Given that even a moderately sized system can contain several thousand packages, both of these processes can take more than half an hour to run.
checkrestart
When you run apt-get dist-upgrade
, all the packages installed on your system are upgraded. This process usually revolves around closing and restarting services as part of the upgrade. Major services like PulseAudio and GDM3 are generally reset automatically by init scripts, but smaller ones associated with desktop environments, such as KDE's akonadi-server
, or applications like GIMP may not be.
Ordinarily, restarting the system will restart all the services. However, if you are running applications that you do not want to interrupt, you can use the checkrestart
command to restore the services you need. The script lists each service's name, process ID, and file path.
The default for checkrestart is to list all packages that could be restarted (Figure 2). However, you can receive a report on a single package with -p NAME
or --package NAME
or omit packages from the report with -i NAME
or --ignore=NAME
. The -v
or --verbose
option gives you more detailed information about what checkrestart is doing but produces an otherwise similar report.
debget
The debget
command downloads a package from apt-get's sources to the current working directory (Figure 3). It requires cURL for the downloading. The command accomplishes exactly the same purpose as downloading a package directly from the link on its online description. Usually, you would use debget when you want to examine or edit a package.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
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.
News
-
Gnome 47.1 Released with a Few Fixes
The latest release of the Gnome desktop is all about fixing a few nagging issues and not about bringing new features into the mix.
-
System76 Unveils an Ampere-Powered Thelio Desktop
If you're looking for a new desktop system for developing autonomous driving and software-defined vehicle solutions. System76 has you covered.
-
VirtualBox 7.1.4 Includes Initial Support for Linux kernel 6.12
The latest version of VirtualBox has arrived and it not only adds initial support for kernel 6.12 but another feature that will make using the virtual machine tool much easier.
-
New Slimbook EVO with Raw AMD Ryzen Power
If you're looking for serious power in a 14" ultrabook that is powered by Linux, Slimbook has just the thing for you.
-
The Gnome Foundation Struggling to Stay Afloat
The foundation behind the Gnome desktop environment is having to go through some serious belt-tightening due to continued financial problems.
-
Thousands of Linux Servers Infected with Stealth Malware Since 2021
Perfctl is capable of remaining undetected, which makes it dangerous and hard to mitigate.
-
Halcyon Creates Anti-Ransomware Protection for Linux
As more Linux systems are targeted by ransomware, Halcyon is stepping up its protection.
-
Valve and Arch Linux Announce Collaboration
Valve and Arch have come together for two projects that will have a serious impact on the Linux distribution.
-
Hacker Successfully Runs Linux on a CPU from the Early ‘70s
From the office of "Look what I can do," Dmitry Grinberg was able to get Linux running on a processor that was created in 1971.
-
OSI and LPI Form Strategic Alliance
With a goal of strengthening Linux and open source communities, this new alliance aims to nurture the growth of more highly skilled professionals.