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.*'

1.9.9에서 2.0.2 사이의 적절한 버전 또는 긴 형식

apt install '?name(libkf5.*)'

조금 더 일찍 가능해요.

보다apt-patterns페이지( man apt-patterns)를 참조하세요.

답변2

apt-get그러한 목적으로 여전히 plain을 사용할 수 있습니다 .

OP의 예에서는 다음과 같습니다.

sudo apt-get install "libkf5*"

답변3

apt의 변경 로그에 따르면,버전 2.1.0:

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

(링크: 런치패드#1872200)

apt을 포함한 모든 하위 명령에 대해 별표(및 별표만)가 복원되었습니다 apt install.

2.1.0은 Focal로 제공하기에는 너무 새로운 버전이지만 Focal로 백포트되었습니다.2.0.3이는 focal-proposed저장소에서 사용할 수 있습니다. 당신은 참조 할 수 있습니다우분투 위키제안된 저장소를 활성화한 다음 이 기능이 백포트된 apt 2.0.3을 설치할 수 있습니다.

직접 확인해보세요:

영상

메모: 읽어보고 싶을 수도 있습니다"제안된" 저장소는 무엇입니까?제안된 저장소를 진행하기 전에.

답변4

와일드카드와 함께 사용할 수 있는 작은 트릭을 찾았습니다 apt. apt로 별칭을 지정하면 되지만 apt-get별칭이 로 전달되지 않기 때문에 이 방법은 작동하지 않습니다 sudo. 이 문제를 해결하려면 파일 sudo에 두 번째 별칭을 추가하면 됩니다 .bashrc.

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

크레딧:

관련 정보