最近Fedora19をインストールしました。 Packagekit-command-not-found がインストールされています。しかし、それ自体の例は機能しません。 gedti
と入力すると、出力は次のようになります。
bash: gedti: command not found... Similar command is: 'gedit'
そしてそれは正しく動作しますが、powertopに入ると、出力は次のようになります。
bash: powertop: command not found...
パッケージについての提案はありません。どうして?いくつかの構成ファイルを編集するか、いくつかのキャッシュを更新する必要がありますか...?
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
2回目に実行すると、powertop
をお勧めします。
$ /usr/libexec/pk-command-not-found powertop
bash: powertop: command not found...
Install package 'powertop' to provide command 'powertop'? [N/y]
最終的に根本的な原因は、構成ファイルで定義されているタイムアウトであると思います。/etc/PackageKit/CommandNotFound.conf
:
MaxSearchTime=2000
このタイムアウトは、PackageKitがクエリを実行するのにかかる時間を制限するためのものです。クエリはローカルのYumキャッシュに対してではなく、インターネット上で構成したYumリポジトリに対してライブで検索します。したがって、より多くのリポジトリが必要な場合は徹底的なパフォーマンスとパフォーマンスの高いパフォーマンスには、次のトレードオフがあります。
# aggressive find
MaxSearchTime=15000
# more responsive
MaxSearchTime=250