【背景】
之前知道Ubuntu下,有个build-essential,其下是包含很多开发工具的。
现在想要,在我已经安装好build-essential的前提下,如何查看其中包含了哪些模块(软件包)。
【解决过程】
1.参考:
3. Getting information about packages
去试试dpkg,最终是通过
apt-cache showpkg xxx
可以查看到对应的包的信息:
crifan@ubuntu:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/linux-custom/scripts$ dpkg --help
Usage: dpkg [<option> ...] <command>
Commands:
-i|--install <.deb file name> ... | -R|--recursive <directory> ...
--unpack <.deb file name> ... | -R|--recursive <directory> ...
-A|--record-avail <.deb file name> ... | -R|--recursive <directory> ...
--configure <package> ... | -a|--pending
--triggers-only <package> ... | -a|--pending
-r|--remove <package> ... | -a|--pending
-P|--purge <package> ... | -a|--pending
--get-selections [<pattern> ...] Get list of selections to stdout.
--set-selections Set package selections from stdin.
--clear-selections Deselect every non-essential package.
--update-avail <Packages-file> Replace available packages info.
--merge-avail <Packages-file> Merge with info from file.
--clear-avail Erase existing available info.
--forget-old-unavail Forget uninstalled unavailable pkgs.
-s|--status <package> ... Display package status details.
-p|--print-avail <package> ... Display available version details.
-L|--listfiles <package> ... List files `owned' by package(s).
-l|--list [<pattern> ...] List packages concisely.
-S|--search <pattern> ... Find package(s) owning file(s).
-C|--audit Check for broken package(s).
--add-architecture <arch> Add <arch> to the list of architectures.
--remove-architecture <arch> Remove <arch> from the list of architectures.
--print-architecture Print dpkg architecture.
--print-foreign-architectures Print allowed foreign architectures.
--compare-versions <a> <op> <b> Compare version numbers - see below.
--force-help Show help on forcing.
-Dh|--debug=help Show help on debugging.
-?, --help Show this help message.
--version Show the version.
Use dpkg -b|--build|-c|--contents|-e|--control|-I|--info|-f|--field|
-x|--extract|-X|--vextract|--fsys-tarfile on archives (type dpkg-deb --help).
For internal use: dpkg --assert-support-predepends | --predep-package |
--assert-working-epoch | --assert-long-filenames | --assert-multi-conrep |
--assert-multi-arch.
Options:
--admindir=<directory> Use <directory> instead of /var/lib/dpkg.
--root=<directory> Install on a different root directory.
--instdir=<directory> Change installation dir without changing admin dir.
--path-exclude=<pattern> Do not install paths which match a shell pattern.
--path-include=<pattern> Re-include a pattern after a previous exclusion.
-O|--selected-only Skip packages not selected for install/upgrade.
-E|--skip-same-version Skip packages whose same version is installed.
-G|--refuse-downgrade Skip packages with earlier version than installed.
-B|--auto-deconfigure Install even if it would break some other package.
--[no-]triggers Skip or force consequential trigger processing.
--no-debsig Do not try to verify package signatures.
--no-act|--dry-run|--simulate
Just say what we would do - don't do it.
-D|--debug=<octal> Enable debugging (see -Dhelp or --debug=help).
--status-fd <n> Send status change updates to file descriptor <n>.
--status-logger=<command> Send status change updates to <command>'s stdin.
--log=<filename> Log status changes and actions to <filename>.
--ignore-depends=<package>,...
Ignore dependencies involving <package>.
--force-... Override problems (see --force-help).
--no-force-...|--refuse-...
Stop when problems encountered.
--abort-after <n> Abort after encountering <n> errors.
Comparison operators for --compare-versions are:
lt le eq ne ge gt (treat empty version as earlier than any version);
lt-nl le-nl ge-nl gt-nl (treat empty version as later than any version);
< << <= = >= >> > (only for compatibility with control file syntax).
Use `dselect' or `aptitude' for user-friendly package management.
crifan@ubuntu:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/linux-custom/scripts$ dpkg -L build-essential
dpkg-query: package 'build-essential' is not installed
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
crifan@ubuntu:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/linux-custom/scripts$ apt-cache info build-essential
E: Invalid operation info
crifan@ubuntu:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/linux-custom/scripts$ apt-cache --help
apt 0.9.7.7ubuntu4 for i386 compiled on Apr 12 2013 23:49:20
Usage: apt-cache [options] command
apt-cache [options] showpkg pkg1 [pkg2 ...]
apt-cache [options] showsrc pkg1 [pkg2 ...]
apt-cache is a low-level tool used to query information
from APT's binary cache files
Commands:
gencaches - Build both the package and source cache
showpkg - Show some general information for a single package
showsrc - Show source records
stats - Show some basic statistics
dump - Show the entire file in a terse form
dumpavail - Print an available file to stdout
unmet - Show unmet dependencies
search - Search the package list for a regex pattern
show - Show a readable record for the package
depends - Show raw dependency information for a package
rdepends - Show reverse dependency information for a package
pkgnames - List the names of all packages in the system
dotty - Generate package graphs for GraphViz
xvcg - Generate package graphs for xvcg
policy - Show policy settings
Options:
-h This help text.
-p=? The package cache.
-s=? The source cache.
-q Disable progress indicator.
-i Show only important deps for the unmet command.
-c=? Read this configuration file
-o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp
See the apt-cache(8) and apt.conf(5) manual pages for more information.
crifan@ubuntu:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/linux-custom/scripts$ apt-cache showpkg build-essential
Package: build-essential
Versions:
11.6ubuntu4 (/var/lib/apt/lists/mirrors.163.com_ubuntu_dists_raring_main_binary-i386_Packages)
Description Language:
File: /var/lib/apt/lists/mirrors.163.com_ubuntu_dists_precise_main_binary-i386_Packages
MD5: 90ef0ef86cafda0bd16f746eb621d9da
Description Language: en
File: /var/lib/apt/lists/mirrors.163.com_ubuntu_dists_precise_main_i18n_Translation-en
MD5: 90ef0ef86cafda0bd16f746eb621d9da
11.5ubuntu2.1 (/var/lib/apt/lists/mirrors.163.com_ubuntu_dists_precise-updates_main_binary-i386_Packages)
Description Language:
File: /var/lib/apt/lists/mirrors.163.com_ubuntu_dists_precise_main_binary-i386_Packages
MD5: 90ef0ef86cafda0bd16f746eb621d9da
Description Language: en
File: /var/lib/apt/lists/mirrors.163.com_ubuntu_dists_precise_main_i18n_Translation-en
MD5: 90ef0ef86cafda0bd16f746eb621d9da
11.5ubuntu2 (/var/lib/apt/lists/mirrors.163.com_ubuntu_dists_precise_main_binary-i386_Packages)
Description Language:
File: /var/lib/apt/lists/mirrors.163.com_ubuntu_dists_precise_main_binary-i386_Packages
MD5: 90ef0ef86cafda0bd16f746eb621d9da
Description Language: en
File: /var/lib/apt/lists/mirrors.163.com_ubuntu_dists_precise_main_i18n_Translation-en
MD5: 90ef0ef86cafda0bd16f746eb621d9da
Reverse Depends:
virtualbox-source,build-essential
virtualbox-guest-source,build-essential
virtualbox-source,build-essential
virtualbox-guest-source,build-essential
xdeb,build-essential
uck,build-essential
scratchbox2,build-essential
ruby-build,build-essential
r-base-dev,build-essential
python3-pip,build-essential
python-pip,build-essential
packaging-dev,build-essential
npm,build-essential
linux-wlan-ng-firmware,build-essential
libdvdread4,build-essential
kernel-package,build-essential
gnulib,build-essential
drizzle-plugin-dev,build-essential
dh-make-drupal,build-essential
debpear,build-essential
bundler,build-essential
blends-dev,build-essential
apt-build,build-essential
rubygems,build-essential
gem2deb,build-essential
flex,build-essential
dpkg-dev,build-essential
dkms,build-essential
dh-make,build-essential
dh-buildinfo,build-essential 7
devscripts,build-essential
virtualbox-source,build-essential
virtualbox-guest-source,build-essential
ruby-rvm,build-essential
dpkg-dev,build-essential
dkms,build-essential
virtualbox-source,build-essential
virtualbox-guest-source,build-essential
rubygems,build-essential
devscripts,build-essential
qmail-src,build-essential
xdeb,build-essential
virtualbox-source,build-essential
virtualbox-guest-source,build-essential
uck,build-essential
srcinst,build-essential
scratchbox2,build-essential
ruby-rvm,build-essential
r-base-dev,build-essential
qt-sdk,build-essential
python-instant,build-essential
packaging-dev,build-essential
module-assistant,build-essential
linux-wlan-ng-firmware,build-essential
libdvdread4,build-essential
kernel-package,build-essential
gnulib,build-essential
drizzle-plugin-dev,build-essential
dh-make-drupal,build-essential
debian-builder,build-essential
blends-dev,build-essential
auto-apt,build-essential
apt-src,build-essential
apt-build,build-essential
rubygems,build-essential
gem2deb,build-essential
flex,build-essential
dpkg-dev,build-essential
dkms,build-essential
dh-make,build-essential
dh-buildinfo,build-essential 7
devscripts,build-essential
Dependencies:
11.6ubuntu4 - libc6-dev (16 (null)) libc-dev (0 (null)) gcc (2 4:4.4.3) g++ (2 4:4.4.3) make (0 (null)) dpkg-dev (2 1.13.5)
11.5ubuntu2.1 - libc6-dev (16 (null)) libc-dev (0 (null)) gcc (2 4:4.4.3) g++ (2 4:4.4.3) make (0 (null)) dpkg-dev (2 1.13.5)
11.5ubuntu2 - libc6-dev (16 (null)) libc-dev (0 (null)) gcc (2 4:4.4.3) g++ (2 4:4.4.3) make (0 (null)) dpkg-dev (2 1.13.5)
Provides:
11.6ubuntu4 -
11.5ubuntu2.1 -
11.5ubuntu2 -
Reverse Provides:
crifan@ubuntu:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/linux-custom/scripts$ 即,可以看出,build-essential,包含了:
- libc6-dev
- libc-dev
- gcc
- g++
- make
- dpkg-dev
这个和官网对于其解释:
软件包: build-essential (11.4build1)
基本类似。
【总结】
1.即使没有安装某模块,比如build-essential,也可以通过
apt-cache showpkg xxx
去查看xxx包的详细信息,包含其中所包含的内容和依赖关系;
2.如果已经安装了xxx模块,则也可以通过
dpkg -L xxx
去查看其信息。
转载请注明:在路上 » 【已解决】Ubuntu中查看某个软件包所包含的内容