With the large and ever-growing amount of software in Debian, there emerges a paradox: Debian usually has a tool for most tasks, but that tool can be very difficult to find among the myriad other packages. The lack of appropriate ways to search for (and to find) the right tool has long been a problem. Fortunately, this problem has almost entirely been solved.
最琐碎的搜索可能是找到正确的软件包名称。若 apt show 软件包名称
返回结果,表示该软件包存在。不幸的是,必须知道或猜对软件包名称,却几乎是不可能的.
搜索纯文本的软件包名称,虽然有限制但成功率较高。还可以搜索软件包说明的内容:除了搜索软件包名称、关键词之外,还可搜索其说明。
apt-cache
与
axi-cache
是此类搜索工具 (见
其他 axi-cache
);例如,
apt-cache search video
将找出名称或说明内有键词 “video” 的软件包。
For more complex searches, a more powerful tool such as aptitude
is required. aptitude
allows you to search according to a logical expression based on the package's meta-data fields. For instance, the following command searches for packages whose name contains iso
, whose description contains cd
and whose maintainer's name contains joerg
:
$ aptitude search iso~dcd~mjoerg
p genisoimage - Creates ISO-9660 CD-ROM filesystem images
$ aptitude show evince
Package: genisoimage
Version: 9:1.1.11-3.4
State: not installed
Priority: optional
Section: otherosfs
Maintainer: Joerg Jaspert <joerg@debian.org>
Architecture: amd64
Uncompressed Size: 1698 k
Depends: libbz2-1.0, libc6 (>= 2.33), libmagic1 (>= 5.12), zlib1g (>= 1:1.1.4)
Suggests: wodim, cdrkit-doc
Conflicts: mkhybrid, mkisofs
Replaces: mkisofs
Provides: mkisofs
Description: Creates ISO-9660 CD-ROM filesystem images
genisoimage is a pre-mastering program for creating ISO-9660 CD-ROM filesystem
images, which can then be written to CD or DVD media using the wodim program.
genisoimage includes support for making bootable "El Torito" CDs, as well as
CDs with support for the Macintosh HFS filesystem.
The package also includes extra tools useful for working with ISO images:
* mkzftree - create ISO-9660 image with compressed contents
* dirsplit - easily separate large directory contents into disks of predefined size
* geteltorito - extract an El Torito boot image from a CD image
Please install cdrkit-doc if you want most of the documentation and README files.
Tags: hardware::storage, hardware::storage:cd, hardware::storage:dvd,
interface::commandline, role::program, scope::utility, use::storing,
works-with-format::iso9660, works-with::archive
The search only returns one package, genisoimage, which satisfies all three criteria.
Even these multi-criteria searches are rather unwieldy, which explains why they are not used as much as they could. A new tagging system has therefore been developed, and it provides a new approach to searching. Packages are given tags that provide a thematic classification along several strands, known as a “facet-based classification”. In the case of genisoimage above, the package's tags indicate that it is a storage- and more precisely CD- and DVD-related command-line utility to work with ISO9660 file-systems.
Browsing this classification can help you to search for a package which corresponds to known needs; even if it returns a (moderate) number of hits, the rest of the search can be done manually. To do that, you can use the
~G
search pattern in
aptitude
, but it is probably easier to simply navigate the site where tags are managed or use the
debtags
command:
Selecting the works-with::video
and use::editing
tags yields a handful of packages, including the shotcut and pitivi video editors. This system of classification is bound to be used more and more as time goes on, and package managers will gradually provide efficient search interfaces based on it.
总的来说,最好的工具取决于搜索时你所期望达到的复杂程度:
apt-cache
只能通过软件包名称和描述信息来进行搜索,对于搜索符合少量关键词的特定软件包十分方便;
当搜索条件包括软件包之间的关系或者像维护者名称的其它元数据时,synaptic
将更加有用;
当需要基于标签来搜索时,packagesearch
是一个很好用的工具,可以根据若干条件(包括软件包中包含的文件名)进行软件包搜索的图形化专用工具。命令行下则使用 axi-cache
。
最后,当搜索涉及有逻辑操作的复杂的表达式时,首选工具为 aptitude
的搜索语法,尽管有点晦涩难用但功能相当强大,它有命令行和交互两种模式。