Fedora 的 command-not-found 不起作用

Fedora 的 command-not-found 不起作用

我最近安装了 Fedora 19。Packagekit 命令未找到已安装。但是它自己的示例不起作用。当我输入gedti输出时:

bash: gedti: command not found... Similar command is: 'gedit'

它工作正常,但是当我输入 powertop 时,输出是:

bash: powertop: command not found...

没有关于包的建议。为什么?我应该编辑一些配置文件或更新一些缓存还是......?

答案1

PackageKit 肯定有一些奇怪的地方。我已经powertop安装了,但想测试一下您遇到的问题。

$ rpm -ql PackageKit-command-not-found
/etc/PackageKit/CommandNotFound.conf
/etc/profile.d/PackageKit.sh
/usr/libexec/pk-command-not-found

因此,从上面您可以运行 PackageKit 将运行的命令来执行搜索,如下所示:

$ /usr/libexec/pk-command-not-found <command>

例子

$ /usr/libexec/pk-command-not-found powertop
bash: powertop: command not found...

$ which powertop
/usr/bin/powertop

第二次运行它时我得到了推荐powertop

$ /usr/libexec/pk-command-not-found powertop
bash: powertop: command not found...
Install package 'powertop' to provide command 'powertop'? [N/y] 

那么为什么它没有找到 powertop 呢?

我认为最终的根本原因是配置文件中定义的超时/etc/PackageKit/CommandNotFound.conf::

MaxSearchTime=2000

此超时用于限制 PackageKit 执行查询所需的时间。该查询不是针对您本地的 Yum 缓存,而是针对您在互联网上配置的 Yum 存储库进行实时搜索。因此,如果您希望它更彻底与更高性能,您需要进行以下权衡:

# aggressive find
MaxSearchTime=15000

# more responsive
MaxSearchTime=250    

相关内容