我是否需要运行 /usr/libexec/makewhatis 来使用 whatis

我是否需要运行 /usr/libexec/makewhatis 来使用 whatis

我对 unix 还不熟悉。目前正在学习。我在虚拟机(oracle)上使用 Ubuntu 16.04LTS。我想尝试命令“whatis”,但我读的书上说:-

在您的系统上第一次运行 whatis 之前 — — 特别是如果您正在运行使用 FreeBSD、Linux 或 Darwin 的独立机器 — — 您将需要在 /usr/libexec/makewhatis 运行 makewhatis,它会通过扫描现有手册页中的命令名称来创建 whatis 数据库。

我尝试跑步/usr/libexec/makewhatis,结果却出现了这种情况

bash: /usr/libexec/makewhatis: no such file or directory

我尝试了sudo apt install makewhatis一下,在阅读了软件包列表、构建了依赖关系树、阅读了状态信息之后,我得到了这个

E: Unable to locate package makewhatis

当我whatis cat这样做时,我得到了我期望的结果。我只想知道我是否不需要/usr/libexec/makewhatis在我的系统上运行,第一次使用 whatis,一切都很好。

答案1

/usr/libexec默认情况下在 Ubuntu 上不存在。因此错误是正确的。你的书可能有点过时了。引用本文

输入 makewhatis。此命令创建 apropos 和 whatis 使用的 whatis 数据库文件。它们位于每个 ../man 目录中,并在每个单独的 cat? 和 man? 子目录中编录手册文件。

如果您阅读手册,whatis您会发现在现代系统上不再需要这样做(强调):

索引数据库用于搜索,并且由 mandb 程序更新。根据您的安装,这可能由定期的 cron 作业运行,或者可能需要在安装新的手册页后手动运行。

答案2

对于 ubuntu 16.04,不需要执行

/usr/libexec/makewhatis

命令,仅执行命令

whatis cat

whatis cat 与 man -f cat 的结果相同

相关内容