web-dev-qa-db-ja.com

Fedoraのcommand-not-foundが機能しない

最近Fedora19をインストールしました。 Packagekit-command-not-found がインストールされています。しかし、それ自体の例は機能しません。 gedtiと入力すると、出力は次のようになります。

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

そしてそれは正しく動作しますが、powertopに入ると、出力は次のようになります。

bash: powertop: command not found...

パッケージについての提案はありません。どうして?いくつかの構成ファイルを編集するか、いくつかのキャッシュを更新する必要がありますか...?

4
Farzam

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    
2
slm