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

단순한 문자열 비교가 아닌 정규식으로 이름을 일치시키려고 함을 나타냅니다 ~n.apt

정규식은 전체 문자열을 일치시키는 것이 아니라 nvidia하위 문자열이 있는 모든 항목을 일치시키도록 되어 있습니다 .nvidianvidia

따라서 더 긴 목록을 얻게 됩니다.

자세한 내용은여기. 이 기능은 apt버전 1.9.6 이상에서만 사용할 수 있습니다. 이전 버전에서는 기본 문자열 비교가 일치하지 않으면 자동으로 정규식으로 검색했습니다.

관련 정보