A.1. 查找软件包/工具

A.1.1. 查找更多有用的工具

如果您正在寻找更多工具,GNU 项目 (GNU's Not Unix) 维护着一个目录,一个网站,其中列出了各种自由软件工具(他们认为这些工具很有用)的分类链接,名为GNU 目录

也可以尝试诸如 Sweet Code 这样的网站,它们提供他们发现的有用工具的邮件列表。

您也可以尝试在 SourceForgeFreshMeat 上查看评分最高、最活跃或下载次数最多的程序。

A.1.2. 查找特定工具

本指南中列出的许多工具都是工具包的一部分,例如 diffutils,它包含用于查找文件之间差异的各种工具,例如 diff, sdiff, diff3, cmp。大多数小型工具都以这种方式捆绑在一起。大多数主要发行版都将提供搜索功能,以帮助您按文件搜索软件包,您当然可以通过命令行界面或 GUI 来执行此操作。

如果您需要通过命令行搜索发行版的可用软件包,该方法将因您使用的发行版而异,请参阅以下小节或查阅您的发行版文档(当然也可以查阅互联网)

A.1.2.1. Mandriva (urpm* 命令, 基于 rpm)

要查找特定文件来自哪个软件包,请使用 urpmf

命令语法

urpmf file_name

结果通常会让人感到应接不暇,因为此特定命令将接受一个字符串,并列出其数据库中包含特定关键字的每个软件包的每个文件(即,包括未安装和已安装的软件包)。要优化结果,您可能需要向其添加管道并通过 grep -w file_name 发送(-w 选项将仅显示精确(全字)匹配项)。下面显示了您将如何执行此操作

urpmf file_name | grep -w file_name

有关 urpm* 命令的更多信息,请参阅本节末尾的提示:第 20.1 节

A.1.2.2. Red Hat (rpm)

要查找特定文件来自哪个软件包,请使用带有 -qf 选项的 rpm

命令语法

rpm -qf /path/to/the/file

这将查找文件来自哪个软件包。您需要使用 rpm -qf,而不是关键字,而是实际文件的位置。要查找有关列出的特定软件包的更多信息,请使用带有 -qi 选项的 rpm

命令语法

rpm -qi package_name

请注意,软件包名称是软件包的名称,不带末尾的 .arch.rpm(通常是 .i386.rpm)扩展名。

有关 rpm 用法的更多信息,请参阅本节 第 20.1 节

A.1.2.3. Debian (deb)

要查找特定文件来自哪个软件包,请使用带有 -S 选项的 dpkg。

有两种方法可以做到这一点

dpkg -S file_name

dpkg -S /path/to/file

您可能还想尝试(如果已安装,它通常比 dpkg 搜索快得多)

dlocate -S file_name

有关 dpkg 和 dlocate 的更多信息,请参阅相关的手册页和在线信息来源。

A.1.3. 查找软件包

可以通过互联网利用以下站点找到软件包,例如

也可以尝试作者的主页和大型网站,例如 FreshMeatSourceForge