dev-python/setuptools-53.0.0
Gentooemerge는 설치 실패를 방지하기 위해 패키지 이름을 찾을 수 없습니다.
emerge: error: Invalid Atom(s) in --exclude parameter: 'dev-python/setuptools-53.0.0' (only package names and slot atoms (with wildcards) allowed)
어디가 오류인지, 올바른 방법을 지적해 주세요.
답변1
질문에 포함된 오류 메시지는 다음과 같습니다.
패키지 이름과 슬롯 Atom만 허용(와일드카드 사용)
제공하신 내용은 dev-python/setuptools-53.0.0
젠투의 잘못된 패키지 사양(atom)입니다. 에 쓸 수 있는 가장 가까운 범위/동등 원자입니다 =dev-python/setuptools-53.0.0
.
그러나 오류 메시지에 따르면 이 매개변수에는 정확한 버전 지정이 허용되지 않습니다 --exclude
. setuptools
이 단일 호출에 어떤 버전도 포함되지 않도록 하려면 emerge
해당 버전을 지정할 수 있습니다 --exclude dev-python/setuptools
. dev-python/setuptools
"그루브"가 아니므로 이보다 더 정확할 수는 없습니다.
특정 패키지 버전 설치 방지
해당 설치를 명시적으로 비활성화해야 하는 경우 를 =dev-python/setuptools-53.0.0
사용할 수 있습니다 package.mask
. 시스템에 따라 다음 위치 중 하나에서 이 파일을 찾아 편집(또는 생성)할 수 있습니다.
/etc/portage/package.mask/package.mask
(여기에 이름이 붙은 폴더가 있고/etc/portage/package.mask
그 폴더 안의 모든 파일은 포티지에 의해 마스크 항목으로 로드됩니다. 저는 보통package.mask
그 폴더에 이름을 붙인 파일을 생성하지만 그것은 여러분에게 달려 있습니다.)/etc/portage/package.mask
(여기에는 폴더가 없고 파일이 하나만 있습니다.)
이 파일을 편집하여 차단할 패키지 버전을 표시할 수 있습니다. 이렇게 하면 포티지가 해당 패키지를 고려 대상에서 제외하게 됩니다. 그러나 이로 인해 특정 패키지가 설치되지 않을 수 있습니다.
이 방법을 사용하여 패키지를 차단하는 경우 해당 패키지를 블록 파일에 배치한 이유를 설명하는 주석을 블록 앞에 추가해야 합니다. 차단으로 인해 통화가 실패 하면 emerge
패키지가 차단된 이유를 알려주고 당시 차단을 해제할지 여부를 결정하는 데 도움이 되는 메모가 표시됩니다.
package.mask
모든 53.0 버전(53.0.0, 53.0.1 등 포함)을 차단하는 항목 예:
# Mask dev-python/setuptools-53.0* because it has some bug which isn’t present
# in setuptools-51* and which should be fixed in setuptools-53.1*.
=dev-python/setuptools-53.0*
또 다른 예는 53.0.0의 정확한 일치입니다(53.0.1이 나타나면 허용되기 시작합니다).
# Mask dev-python/setuptools-53.0.0 because it has a bug which breaks things for me
# which should be fixed in dev-python/setuptools-53.0.1 when that’s released.
=dev-python/setuptools-53.0.0
원자 구문에 대한 보다 포괄적인 설명은 다음을 참조하세요.e빌딩(5). 자세한 내용은 package.mask
다음을 참조하세요.교통(5)package.mask
섹션에서 검색하세요 /etc/portage/
.