我最近安装了 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