apt-file
apt-file
provides the feature of searching for a package providing a binary (like Debian or Ubuntu), it is not installed by default but in the repositories.
apt-file search <path-to-file>
You may want to update once before searching...
apt-file update
For example, let's search for the not installed binary mysqldump
:
$ apt-file search /usr/bin/mysqldump
mysql-client-5.1: /usr/bin/mysqldump
mysql-client-5.1: /usr/bin/mysqldumpslow
mysql-cluster-client-5.1: /usr/bin/mysqldump
mysql-cluster-client-5.1: /usr/bin/mysqldumpslow
It's also possible to list the contents of a (not-installed) package:
$ apt-file list mysql-client-5.1
mysql-client-5.1: /usr/bin/innochecksum
mysql-client-5.1: /usr/bin/innotop
mysql-client-5.1: /usr/bin/myisam_ftdump
mysql-client-5.1: /usr/bin/mysql_client_test
...
yum
yum
accepts the command whatprovides
(or provides
) to search for installed or not installed binaries:
yum whatprovides <path-to-file>
Again, the not installed mysqldump
:
$ yum whatprovides /usr/bin/mysqldump
mysql-5.1.51-2.fc14.i686 : MySQL client programs and shared libraries
Repo : fedora
Matched from:
Filename : /usr/bin/mysqldump
mysql-5.1.51-1.fc14.i686 : MySQL client programs and shared libraries
Repo : fedora
Matched from:
Filename : /usr/bin/mysqldump
zypper
zypper
's search
command can check file lists when used with the -f
option.
zypper se -f /bin/mksh
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
--+------+-------------------+--------
| mksh | MirBSD Korn Shell | package
Webpin provides a webbased solution, there is even a script for the command-line.
pkgfile
Available as pkgtools
for pacman
based systems. Provides a similar search feature like the others above:
$ pkgfile -si /usr/bin/mysqldump
Name : mysql-clients
Version : 5.1.54-1
Url : http://www.mysql.com/
License : GPL
Depends : libmysqlclient
...
Best Answer
nix-index is what you need.
Install and build the index:
Locate
libgtk-x11-2.0.so.0
:Output:
The last line says that package
gtk+-2.24.31
with attribute pathgnome2.gtk
contains this file.