Is there an equivalent to the yum "whatprovides" option in apt-get?
For example on CentOS
yum whatprovides /usr/share/gdm/themes/TreeFlower/background.png
Tells me
redhat-logos-4.9.99-11.el5.centos.noarch : CentOS-related icons and pictures.
Repo : base
Matched from:
Filename : /usr/share/gdm/themes/TreeFlower/background.png
Can I get similar functionality on the command line in Ubuntu?
This depends on whether the package containing the file is already installed. If so, use
dpkg -S filename
.If your intention is to find out which package to install to get a certain file, one option is to use the online packages.ubuntu.com: scroll down to "Search the contents of packages". Make sure that the right distribution is selected. If you're looking for a files irrespective of the path, check the appropriate option.
There is also
apt-file
. Because this method required updating the files database, however, I prefer the other, instant option.You want the 'apt-file' command.
Before using it, you may need to create or update its database by running:
wajig whichpkg /usr/share/gdm/themes/TreeFlower/background.png
You'll have to install wajig, which is a frontend to a bunch of utilities related to apt. If you use wajig, you can use all of those tools without having to memorize their names.
Isn't this the same question as this How do I find the package that provides a file?
I prefer the
dpkg -S <filepath>
command