Debian Experimental에서만 패키지 목록을 볼 수 있는 방법이 있나요?

Debian Experimental에서만 패키지 목록을 볼 수 있는 방법이 있나요?

저는 Debian Testing/Jessie 작업을 하고 있으며 /etc/apt/sources.list에도 debian-experimental이 있습니다. 따라서 패키지가 두 가지 방법으로 나열되기를 원합니다.

ㅏ. 모든 실험 패키지를 나열합니다.

나는 이것을 다음과 같이 달성할 수 있었습니다:-

$ apt list | grep experimental

모든 실험 패키지를 나열합니다. debian-unstable/sid 또는 test가 아닌 debian-experimental에서만 패키지 목록을 얻는 방법이 있습니까? (/etc/apt/sources.list에도 있습니다.)

사람들이 궁금해한다면 그렇습니다. 저는 하이브리드 시스템을 운영하고 있습니다. 비록 대부분의 시스템이 테스트에서 나온 것입니다. 나는 grep, awk 등을 사용하고 있다고 확신합니다. 방법이 있을 텐데 아직 발견되지 않았습니다. 검색 엔진을 살펴봤지만 답을 찾을 수 없었습니다.

답변1

두 패키지 세트를 모두 나열하고 두 결과 간의 차이를 확인하여 이를 수행할 수 있습니다.

grep -Fxv -f <(apt list | grep unstable | cut -d/ -f1) <(apt list | grep experimental | cut -d/ -f1)

이로 인해 "실험적 마이너스 불안정성"이 발생하고 unstable및/또는 을 변경하여 차이를 계산할 수 있습니다 experimental. 엄밀히 말하면 제품군에만 일치하는 것은 아닙니다. 다음 변형은 /in apt list출력 이후에만 일치하여 정확히 일치합니다 .

grep -Fxv -f <(apt list | egrep /.\*unstable | cut -d/ -f1) <(apt list | grep /.\*experimental | cut -d/ -f1)

(그렇지 않으면 테스트와 실험을 비교할 때와 같이 이름에 "실험적"이 포함된 패키지가 표시되어서는 안 될 때 나타나며 trafficserver-experimental-plugins불안정한 릴리스에만 존재하더라도 나열됩니다.)

또한 apt list기본적으로 후보 패키지만 나열되므로, 특히 테스트와 불안정을 비교할 때 올바른 결과를 얻으려면 다음을 수행해야 합니다.

grep -Fxv -f <(apt list --all-versions | egrep /.\*unstable | cut -d/ -f1) <(apt list --all-versions | grep /.\*experimental | cut -d/ -f1)

둘 다 cut출력에서 ​​패키지 이름을 추출합니다. 불안정한 버전의 첫 번째 패키지 세트는 apt이 옵션을 사용하는 모드 목록으로 제공됩니다. 패턴을 정규 표현식이 아닌 일반 텍스트 문자열로 처리하도록 지시하고, 모든 패턴과 정확하게 일치하도록 지시하고, 주어진 패턴과 일치하지 않는 행을 나열하도록 지시합니다. 따라서 실험에 포함된 모든 패키지를 가져와서 불안정한 패키지 목록에 없는 패키지만 유지하고 결과를 인쇄합니다.grep-f-Fgrep-x-vgrep

이러한 <()구성은 프로세스 대체를 사용하여 괄호로 묶인 명령의 표준 출력을 파이프에 공급한 다음 다른 명령에 대한 입력으로 사용할 수 있습니다.고급 배시 가이드더 알아보기.

관련 정보