Home » Questions » Computers [ Ask a new question ]

Find what package a file belongs to in Ubuntu/Debian?

Find what package a file belongs to in Ubuntu/Debian?

I frequently find myself missing a program, man page, or other file when working on my Ubuntu 8.04 system. Is there any simple way to look up what package contains a given file (whether it is installed already or not)? Maybe some obscure option for apt or dpkg?

Asked by: Guest | Views: 234
Total answers/comments: 5
Guest [Entry]

"apt-file search filename

or

apt-file search /path/to/file

To install apt-file, use:

sudo apt-get install apt-file

You will need to update its database before you can use it:

sudo apt-file update"
Guest [Entry]

"packages.debiandotorg is what I always use to accomplish this task. It is superior over apt-file because it can find parts of filenames as well. It's also linked up to the main packages list which will list descriptions, bugs, etc. All in all a good website. Not as useful from the command line, but still quite useful.

For speed, I bookmarked the url:

http://packages.debiandotorg/search?searchon=contents&keywords=%s&mode=filename&suite=unstable&arch=any

in Firefox, and added ""debfind"" as a keyword (click ""more"" in the bookmark manager with it hilighted), so I can just type ""debfind "" and it will work. You can change 'suite' it from unstable to stable or testing if you like, for other versions of the distribution."
Guest [Entry]

Simmilar to jamuraa's answer for Debian, you can also go to http://packages.ubuntu.com/ for Ubuntu. You'll have to scroll down a bit to find the "Search the contents of packages" searchbox where you can enter the path of a file.
Guest [Entry]

"The command-not-found package gives you hints about potential commands and the name of the debian package. It works by typing the command in the bash shell and looking at its output.

For example if the command name is known:

zer@ivy:~ 10:45 $ zsh5
The program 'zsh5' is currently not installed. To run 'zsh5' please ask
your administrator to install the package 'zsh'
zsh5: command not found

and if the command is not known, some guesses are applied:

zer@ivy:~ 09:46 $ zsh
No command 'zsh' found, did you mean:
Command 'lsh' from package 'lsh-client' (main)
Command 'osh' from package 'omake' (main)
Command 'ysh' from package 'libyaml-shell-perl' (main)
Command 'ssh' from package 'openssh-client' (main)
Command 'vsh' from package 'crystalspace' (main)
Command 'dsh' from package 'dsh' (main)
Command 'ash' from package 'ash' (main)
Command 'msh' from package 'nmh' (main)
Command 'zssh' from package 'zssh' (main)
Command 'qsh' from package 'gridengine-client' (main)
Command 'sh' from package 'dash' (main)
Command 'bsh' from package 'bsh' (main)
zsh: command not found"
Guest [Entry]

"Try searching for files using http://www.kodkast.com/applications/find-which-package-file-belongs-to

This is an application to search for files which are contained in different rpms/linux packages, and is very useful when you dont even have the rpm installed on your machine."