apt-file: Locate Missing Package Files
Ever had a source package fail to build due to a missing file? If so, apt-file, a tool that searches online repositories for a specific file, may be the answer.
Occasionally, when building a package from source, disaster strikes and the whole process grinds to a halt due to a missing file. Fortunately, this is increasingly uncommon due to the maturity of Linux package management and the ubiquity of Autoconf configuration scripts. However, some software projects don't use Autoconf, either because the maintainers prefer another solution such as CMake or because the program is too small to make setting up a configure script worthwhile.
Fortunately, on the rare occasions when this problem does crop up, there may be a solution in the form of apt-file: a member of the APT family of package management tools. This utility assembles an index of all of the files stored in the online repositories that your distribution is configured to use and allows you to search for individual files.
Case example: recently, I decided to check out KBackup, a KDE backup management utility that isn't currently in the Ubuntu repository. Following the instructions, I ran the CMake build tool, only to be disappointed when the build process stopped with a notice that it couldn't find a file called “FindKDE4Internal.cmake”.
To solve the problem, I installed apt-file via the command line:
sudo apt-get install apt-file
After installation, apt-file's internal index needs to be populated with the following command:
This process takes a minute or so to complete, depending on the speed of your Internet connection. Once the index was up to date, I searched for the missing file:
apt-file search FindKDE4Internal.cmake
and apt-file gave me a single line of output that told me everything I needed to know:
In other words, the file I needed was in the package “kdelibs5-dev”, which I installed from the command line:
sudo apt-get install kdelibs5-dev
After this, I was able to continue and complete the normal install procedure.
Note: if you do find an oversight in a source package that necessitates the use of apt-file in this way, even after a successful run of an Autoconf configure script, please consider telling the developers about it.
UK based freelance writer Michael Reed writes about technology, retro computing, geek culture and gender politics.
|Jarvis, Please Lock the Front Door||Aug 31, 2016|
|Contrast Security's Contrast Enterprise||Aug 30, 2016|
|illusive networks' Deceptions Everywhere||Aug 29, 2016|
|Happy Birthday Linux||Aug 25, 2016|
|ContainerCon Vendors Offer Flexible Solutions for Managing All Your New Micro-VMs||Aug 24, 2016|
|Updates from LinuxCon and ContainerCon, Toronto, August 2016||Aug 23, 2016|
- Jarvis, Please Lock the Front Door
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Contrast Security's Contrast Enterprise
- illusive networks' Deceptions Everywhere
- Tech Tip: Really Simple HTTP Server with Python
- Happy Birthday Linux
- What I Wish I’d Known When I Was an Embedded Linux Newbie
- Returning Values from Bash Functions
- New Version of GParted
- All about printf
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide