不足しているコマンドを実行しようとした後のパッケージの提案:どのように機能しますか?

不足しているコマンドを実行しようとした後のパッケージの提案:どのように機能しますか?

一部のLinuxディストリビューション(...通常Ubuntuなどの初心者になじみのあるディストリビューション)で特定のパッケージに属するコマンドを実行しようとすると、実際の設置はしないシステムは次のような有用なメッセージを受け取ります。

"unknown command; it is found though in [package] or [other-package]." 

(...正確な表現は覚えていません。文字通り現在そのシステムにアクセスできません。)私はそれが一種のBash + APTマジックだと思います(少なくともUbuntuの場合)。

私の質問は...どのソフトウェアがこれを達成することができ、基本的に提供されていないシステムでこれを実現するための追加文書をどこで見つけることができますか? (...または、少なくとも「パッケージ名のバイナリ名」データベースをどこで見つけることができますか?)

ベストアンサー1

はい、シェル+ APT「魔法」の組み合わせです(参照:仕様はこちら)。

Bashはコマンドが見つからないハンドラをサポートします。コマンドが見つからず、名前付きシェル関数がある場合は、command_not_found_handleそのコマンドを呼び出します。一般的にcommand-not-found(Debian派生物から)またはPackageKit-command-not-foundこのハンドラの実装が提供されています(Fedoraおよび関連ディストリビューション、Debianでも利用可能)。

データベースはさまざまです。 Debian はapt-fileデフォルトでデータベースに付属しています。読んでください。Debianもっと学ぶ。 PackageKit 実装は PackageKit に関連情報を要求します。

おすすめ記事