두 개의 저장소를 비교하십시오 - 모든 패키지 버전의 테이블입니까?

두 개의 저장소를 비교하십시오 - 모든 패키지 버전의 테이블입니까?

두 개의 서로 다른 저장소에 있는 모든 패키지의 버전을 보고 비교하고 싶습니다. 다음과 같은 것 :

libfoo | 1.2 | 1.3 libbar | 2.4 | 3.0 libbaz | ... | ...

그런 웹도 있나요?

아니면 리포지토리의 모든 패키지 버전 목록을 얻어서 스크립트로 비교할 수 있는 방법이 있나요?

사용 사례는 시스템 업그레이드 후 어떤 버전이 변경되는지 알 수 있는 것입니다.

답변1

도구를 사용하세요마디슨다른 배포판의 하나의 패키지 버전 정보(그럼 다른 저장소)

  1. sudo apt-get install devscripts
  2. rmadison [the package name]

예를 들어,

$ rmadison alsa-utils

출력은 [패키지 버전 배포판]과 같습니다.

 alsa-utils | 1.0.25-1ubuntu5   | precise         | source, amd64, armel, armhf, i386, powerpc
 alsa-utils | 1.0.25-1ubuntu5.2 | precise-updates | source, amd64, armel, armhf, i386, powerpc
 alsa-utils | 1.0.27.2-1ubuntu2 | trusty          | source, amd64, arm64, armhf, i386, powerpc, ppc64el
 alsa-utils | 1.0.28-1ubuntu2   | vivid           | source, amd64, arm64, armhf, i386, powerpc, ppc64el
 alsa-utils | 1.0.29-0ubuntu1   | wily            | source, amd64, arm64, armhf, i386, powerpc, ppc64el

아니면 이 웹사이트로 가서 목록을 볼 수도 있습니다.

http://packages.ubuntu.com/

답변2

넌 방문 할 수있다우분투 업데이트다음과 같이:

다음에 따라 검색패키지:

여기에 이미지 설명을 입력하세요


그런 다음 패키지 검색을 클릭하십시오.(아래 표시된 것과 같이 페이지에서 다른 버전을 찾을 수 있습니다):

여기에 이미지 설명을 입력하세요


또한 버전에 따라 일치하는 패키지 이름을 찾은 다음 누구든지 클릭하면 자세한 내용을 알 수 있습니다!

여기에 이미지 설명을 입력하세요


여기서 패키지 이름은 예시로만 사용되었습니다. 이것이 적절한 것을 찾는 데 도움이 되기를 바랍니다.Ubuntu 릴리스에 따른 패키지 이름 + PPA.

답변3

서로 다른 두 저장소의 경우 파일을 비교할 수 있습니다 Packages. 이 파일은 릴리스 채널( trusty, trusty-updates등), 구성 요소( main, multiverse등) 및 패키지 유형( binary-amd64, source등)에 따라 다릅니다.

일반적으로 다음 위치에서 파일을 찾을 수 있습니다.

/ubuntu/dists/$CHANNEL/$COMPONENT/binary-$ARCH/Packages{,.gz,.bz2,.xz}

대부분의 공식 미러의 루트와 관련됩니다.

예를 들면 다음과 같습니다.http://mirror.cse.iitk.ac.in/ubuntu/dists/precise/main/binary-amd64/Packages.gz

및 에 대해 Packages관심 있는 파일을 가져온 다음(필요한 경우 압축 해제) 출력을 비교할 수 있습니다 .grepPackageVersion

샘플 코드:

curl -s http://mirror.cse.iitk.ac.in/ubuntu/dists/trusty/main/binary-amd64/Packages.gz | gunzip | grep -E '^(Package|Version)' | awk 'ORS=NR%2?FS:RS {print $2}' > repo-a.txt 
curl -s ftp://ftp.iitb.ac.in/distributions/ubuntu/archives/dists/trusty/main/binary-amd64/Packages.gz | gunzip | grep -E '^(Package|Version)' | awk 'ORS=NR%2?FS:RS {print $2}' > repo-b.txt 
diff repo-a.txt repo-b.txt

관련 정보