|
Find which package
contains a file in Debian Linux
If you know you need to find a particular file to finish a
compilation And you don't know which package it is contained
in.You have the following option in debian.
apt-file
APT package searching utility -- command-line interface
apt-file is a command line tool for searching packages for the
APT packaging system.
Unlike apt-cache, you can search in which package a file is
included or list the contents of a package without installing or
fetching it.
Install apt-file in debian
#apt-get install apt-file
this will install the apt-file package now.
Once installed you'll need to download the actual data which it
uses to search. This can be accomplished with the following
command otherwise apt-file search command won't return any
results.
#apt-file update
Once you've downloaded data you can now proceed to searching for
packages.
#apt-file [options] action [pattern]
Configuration options:
--sources-list -s <file> sources.list location
--cache -c <dir> Cache directory
--architecture -a <arch> Use specific architecture
--cdrom-mount -d <cdrom> Use specific cdrom mountpoint
--package-only -l Only display packages name
--fixed-string -F Do not expand pattern
--ignore-case -i Ignore case distinctions
--regexp -x pattern is a
regular expression
--verbose -v run in verbose mode
--dummy -y run in dummy mode (no
action)
--help -h Show this
help.
--version -V Show version
number
Action:
update Fetch
Contents files from apt-sources.
search <pattern> Search files in packages
list <pattern> List files in
packages
purge
Remove cache files
Example
#apt-file search perl.pm
libapache-mod-perl: usr/lib/perl5/mod_perl.pm
libapache2-mod-perl2: usr/lib/perl5/Apache2/mod_perl.pm
libembperl-perl: usr/lib/perl5/Embperl.pm
libembperl-perl: usr/lib/perl5/Embperl/Recipe/Embperl.pm
libembperl-perl: usr/lib/perl5/Embperl/Syntax/Embperl.pm
libhtml-embperl-perl: usr/lib/perl5/HTML/Embperl.pm
liblog-log4perl-perl: usr/share/perl5/Log/Log4perl.pm
libsdl-perl: usr/lib/perl5/SDL_perl.pm
perl-modules: usr/share/perl/5.8.4/ExtUtils/Miniperl.pm
You can also use one of the following commands to Finding which
package contains a file.
#dpkg -L <package name>
dlocate
fast alternative to dpkg -L and dpkg -S
uses GNU locate to greatly speed up finding out which package a
file belongs to (i.e. a very fast dpkg -S). many other uses,
including options to view all files in a package, calculate disk
space used, view and check md5sums, list man pages, etc.
Install dlocate in debian
#apt-get install dlocate
Usage: dlocate [option] [string...]
Options:
(no option) string list all records that match
-S string list records where files match
-L package list all files in package
-l package almost-emulation of 'dpkg -l'
-s package print package's status
-ls package 'ls -ldF' of all files in package
-du package 'du -sck' of all files in package
-conf package list conffiles in package
-lsconf package 'ls -ldF' of conffiles in package
-md5sum package list package's md5sums (if any)
-md5check package check package's md5sums (if any)
-man package list package's man pages (if any)
The -L, -s, and -S commands are roughly analagous to the
equivalent dpkg commands.
Example
#dlocate -S /etc/bash_completion
bash: /etc/bash_completion.d
bash: /etc/bash_completion
ppp: /etc/bash_completion.d
ppp: /etc/bash_completion.d/pon
dpatch: /etc/bash_completion.d
dpatch: /etc/bash_completion.d/dpatch_edit_patch
module-assistant: /etc/bash_completion.d
module-assistant: /etc/bash_completion.d/m-a
wajig
simplified Debian package management front end
Wajig is a single commandline wrapper around apt, apt-cache,
dpkg, /etc/init.d scripts and more, intended to be easy to use
and providing extensive documentation for all of its functions.
With a suitable sudo(1) configuration, most (if not all) package
installation as well as creation tasks can be done from a user
shell. Wajig is also suitable for general system administration.
A Gnome GUI command 'gjig' is also included in the package.
Install wajig in Debian
#apt-get install wajig
Using wajig
#wajig
JIG> help
Common JIG commands:
update Update the list of down-loadable packages
new List packages that became available since
last update
newupgrades List packages newly available for upgrading
install Install (or
upgrade) one or more packages or .deb files
remove Remove one or more packages (see also
purge)
toupgrade List packages with newer versions available for
upgrading
upgrade Upgrade all of the installed packages or just
those listed
listfiles List the files that are
supplied by the named package
listnames List all known packages or those containing
supplied string
whatis For each package named obtain a one line
description
whichpkg Find the package that supplies the given command
or file
Run LIST-COMMANDS for a complete list of commands.
Example
JIG> whichpkg alsamixer
File Path
Package
===========================================================-=====
============
/usr/bin/alsamixer alsa-utils
/usr/share/doc/alsa-utils/README.alsamixer alsa-utils
/usr/share/man/man1/alsamixer.1.gz alsa-utils
JIG>
auto-apt
package search by file and on-demand package installation tool
auto-apt checks the file access of programs running within its
environments, and if a program tries to access a file known to
belong in an uninstalled package, auto-apt will install that
package using apt-get. This feature requires apt and sudo to
work.
It also provides simple database to search which package
contains a requesting file.
Install auto-apt in Debian
#apt-get install auto-apt
After installing you need to update the package list using the
following command
#auto-apt update
If you want to use auto-apt follow this syntax
#auto-apt
$Id: auto-apt.sh,v 1.58 2004/03/19 17:53:25 ukai Exp $
Usage: auto-apt [options] command [arg ...]
auto-apt is a simple command line interface for setting up
auto-apt ennvironment and/or search packages by filename.
Commands:
run - Enter auto-apt environment run [command [cmdarg]]
update - Retrieve new lists of Contents (available file list)
update
updatedb - Regenerate lists of Contents (available file list,
no download) updatedb
update-local - Generate installed file lists update-local
merge - Merge lists of Contents merge
del - Delete package list del package
check - Check which package will provide the filename check
[-v] [-f] filename list - List filelist in dbfile list [-v] [-f]
search - Search package by filename (grep) search [-v] [-f]
pattern
debuild - debuild with auto-apt useful to get build-depends:
status - Report current environments (auto-apt or not)
For some commands, command name with -local suffix, it will use
pkgfiles.db, which is created by update-local command, instead
of pkgcontents.db
Options:
[-s] [-y] [-q] [-i] [-x] [-X]
[-a dists] [-p hooks]
[-D pkgcontents.bin] [-F pkgfiles.bin] [-L detect.list]
Example
#auto-apt search alsamixer
usr/lib/menu/gnome-alsamixer gnome/gnome-alsamixer
usr/lib/menu/alsamixergui sound/alsamixergui
usr/bin/gnome-alsamixer gnome/gnome-alsamixer
usr/bin/alsamixergui sound/alsamixergui
usr/bin/alsamixer sound/alsa-utils
usr/share/pixmaps/gnome-alsamixer/ gnome/gnome-alsamixer
usr/share/doc/alsamixergui/ sound/alsamixergui
usr/share/doc/gnome-alsamixer/ gnome/gnome-alsamixer
|
|