apt パッケージマネージャで、パッケージ名の前の「~n」とはどういう意味ですか?

apt パッケージマネージャで、パッケージ名の前の「~n」とはどういう意味ですか?

私はLinux MintコンピュータのNvidiaドライバに問題が多すぎて、Nvidiaドライバを完全に削除することにしました。そのために、いくつかのmintフォーラムの検索を開始し、このコマンドを見つけました。

sudo apt purge ~nnvidia

それでは、この「〜n」の目的は何ですか?

他のサイトでもこの単純な正規表現を見つけました。

sudo apt purge '*nvidia*'

私が知っている限り、これは "nvidia"を含むパッケージを選択することです。

しかし、~nnvidiaコマンドは*nvidia*

以下は選択したパッケージです~nnvidia

  libnvidia-cfg1-390* libnvidia-common-390* libnvidia-compute-390* libnvidia-compute-390:i386*
  libnvidia-compute-460* libnvidia-decode-390* libnvidia-decode-390:i386* libnvidia-encode-390*
  libnvidia-encode-390:i386* libnvidia-fbc1-390* libnvidia-fbc1-390:i386* libnvidia-gl-390*
  libnvidia-gl-390:i386* libnvidia-ifr1-390* libnvidia-ifr1-390:i386* nvidia-compute-utils-390*
  nvidia-compute-utils-460* nvidia-dkms-390* nvidia-dkms-460* nvidia-driver-390* nvidia-kernel-common-390*
  nvidia-kernel-common-460* nvidia-kernel-source-390* nvidia-prime* nvidia-prime-applet* nvidia-settings*
  nvidia-utils-390* xserver-xorg-video-nvidia-390*

パッケージセレクタ*nvidia*

  libnvidia-cfg1-390* libnvidia-common-390* libnvidia-compute-390* libnvidia-compute-460*
  libnvidia-decode-390* libnvidia-encode-390* libnvidia-fbc1-390* libnvidia-gl-390* libnvidia-gl-390:i386*
  libnvidia-ifr1-390* libnvidia-ifr1-390:i386* nvidia-compute-utils-390* nvidia-compute-utils-460*
  nvidia-dkms-390* nvidia-dkms-460* nvidia-driver-390* nvidia-kernel-common-390* nvidia-kernel-common-460*
  nvidia-kernel-source-390* nvidia-prime* nvidia-prime-applet* nvidia-settings* nvidia-utils-390*
  xserver-xorg-video-nvidia-390*

それでは、:i386なぜこれらのパッケージは含まれませんか*nvidia*

ベストアンサー1

単純な文字列比較ではなく、正規表現で名前を一致させようとしていることを示します~napt

正規表現は文字列全体を一致させるのではなく、部分nvidia文字列を含むすべての項目を一致させるようになっています。nvidianvidia

したがって、より長いリストが得られます。

詳しくはここ。この機能はaptバージョン 1.9.6 以降でのみ使用できます。以前のバージョンでは、デフォルトの文字列比較が一致しない場合、自動的に正規表現で検索されました。

おすすめ記事