apt でワイルドカードを使用する際の問題

apt でワイルドカードを使用する際の問題

このコマンドを実行すると:

apt install libkf5*

次のエラーが発生します:

Unable to locate package libkf5*


名前が で始まるパッケージがlibkf5存在することは確かです (タブ補完でわかります) 。したがって、問題はそれらのパッケージが存在しないということではありません (エラー メッセージの末尾のアスタリスクに注意してください。ワイルドカードはまったく機能していません) 。
私はaptv.1.9を使用しています
。よろしくお願いします。

答え1

最近のバージョンのapt パターンの指定方法を変更しました、サポートされていたものaptを除き、正規表現やワイルドカードを直接サポートしなくなりました。*2.1.0で復元そして2.0.3 にバックポート

これからは

apt install '~nlibkf5.*'

apt 1.9.9から2.0.2まで、または長い形式

apt install '?name(libkf5.*)'

少し早く利用可能になります。

見るマンapt-patternsページman apt-patterns) 詳細については。

答え2

apt-getこのような目的にはプレーンを依然として使用できます。

OPの例では次のようになります

sudo apt-get install "libkf5*"

答え3

aptの変更履歴によると、バージョン 2.1.0:

* Reinstate * wildcards (Closes: #953531) (LP: #1872200)

(リンク: Launchpad#1872200

aptを含むすべてのサブコマンドでアスタリスク (アスタリスクのみ) が復元されましたapt install

2.1.0はFocalに出荷するには新しすぎるが、バックポートされている。2.0.3リポジトリで入手可能ですfocal-proposedUbuntu ウィキ提案されたリポジトリを有効にすると、この機能がバックポートされた apt 2.0.3 をインストールできます。

自分で見て:

画像

注記: ぜひ読んでみてください「提案された」リポジトリとは何ですか?提案されたリポジトリに進む前に。

答え4

ワイルドカードを使用するためのちょっとしたコツを見つけました。でaptエイリアスを作成する必要がありますが、エイリアスは に渡されないため、この方法は機能しません。この問題を回避するには、ファイルに の2 番目のエイリアスを追加します。aptapt-getsudosudo.bashrc

alias sudo='sudo ' # whitespace is important 
alias apt='apt-get'

クレジット:

関連情報