apt-file [ options ] [ action ] [ pattern ]

apt-file -f [ options ] search [ file ... ]

apt-file -D [ options ] search [ binary-packet.deb ... ]


apt-file is a command line tool for searching files in packages for the APT package management system.

Some actions are required to run the search:


Alias for search.


List the contents of a package matching the pattern pattern. This action is very close to the dpkg -L command except the package does not need to be installed or fetched.


remove all Contents-* files from the cache directory.


Search in which package a file is included. A list of all packages containing the pattern pattern is returned.

apt-file will only search for filenames, not directory names. This is due to the format of the Contents files it searches.


Alias for list.


Resynchronize the package contents from their sources. The lists of the contents of packages are fetched from the location(s) specified in /etc/apt/sources.list. This command attempts to fetch the Contents-<ARCH>.gz files from remote sources. For downloading these uses either the curl or wget commands as specified in apt-file.conf.


-a, --architecture architecture

Sets architecture to architecture. This option is useful if you search a package for a different architecture from the one installed on your system. It determines how the $ARCH variable in sources.list is expanded (but it does not influence the search in any other way).

-c, --cache cache-directory

Sets the cache directory to cache-directory instead of its default. If executed as non-root user, the default is $HOME/.cache/apt-file with fall-back to /var/cache/apt/apt-file. The latter is also the default if apt-file is called as root.

-d, --cdrom-mount cdrom-mount-point

Use cdrom-mount-point instead of apt's.

-D, --from-deb

Use contents of the given .deb archives(s) as patterns. Useful for searching for file conflicts with other packages. Implies -F.

-f, --from-file

Read patterns from the given file(s), one per line. Use - as filename for stdin. If no files are given, then the list will be read from stdin. This is much faster than invoking apt-file many times.

-F, --fixed-string

Do not expand search pattern with generic characters at pattern's start and end.

-i, --ignore-case

Ignore case when searching for pattern.

-l, --package-only

Only display package name; do not display file names.

-N, --non-interactive

Skip schemes that are listed in the interactive line in apt-file.conf. This is useful if you want to call 'apt-file update' in cron jobs and skip all schemes that may require user input.

-s, --sources-list sources.list

Sets the sources.list file to a different value from its default /etc/apt/sources.list.

-v, --verbose

Run apt-file in verbose mode.

-x, --regexp

Treat pattern as a (perl) regular expression. See perlreref(1) for details. Without this option, pattern is treated as a literal string to search for.

-y, --dummy

Run in dummy mode (no action).

-h, --help

Display a short help screen.


The apt-file configuration file can be found in /etc/apt/apt-file.conf.

A string expansion is done on several values. See the string expansion section.


This variable describes how cached files will be named.

http | ftp | ssh | rsh | file | cdrom

Defines the commands used to fetch files.


A sources.list entry is defined as:

	  deb uri dist component1 component2 ...

A uri is defined as:



replace with the hostname


replace with the port number


replace with full uri


replace with full path (relative to / on the host)


replace with distribution name


replace with component name


replace with cache directory


replace with destination expanded value.


replace with cdrom-mount-point.


The cdrom backend has not been tested.

Non-release lines in sources.list are not handled by apt-file.

There is only one Contents file per distribution that contains all components (i.e. main, contrib, and non-free). Threrefore, apt-file will display search results from all components, even if not all components are included in the sources.list file.

When a new line has been added to the sources.list and apt-file update has not been run, apt-file does not print a warning message.

Complex regular expressions that match the leading slash may not work correctly. As a workaround, try to pull the leading slash to the beginning of the regular expression. For example, use "/(usr/bin/vim|sbin/lvm)" instead of "/usr/bin/vim|/sbin/lvm".



Locations to fetch package contents from.


Directory with additional sources.list snippets


Configuration file for apt-file.

RELATED TO apt-file…

auto-apt(1), apt-cache(8), apt-cdrom(8), dpkg(8), dselect(8), sources.list(5), apt.conf(5), apt_preferences(5).

The APT users guide in /usr/share/doc/apt/


apt-file was written by Sebastien J. Gross <[email protected]>.