사용 가능한 백 포트 업그레이드를 나열하는 방법


12

방금 Ubuntu Backports 를 따라 수동 백 포트를 활성화했으며 몇 가지 질문이 있습니다. 명령 줄에서 어떻게해야합니까 (예 : apt-cacher또는 aptitude) :

  1. 사용 가능한 백 포트 업그레이드가 설치된 설치된 패키지를 나열합니까? (이전 apt-show-versions -u에 업그레이드 가능한 패키지에 사용 했습니다)
  2. 사용 가능한 모든 백 포트 패키지 (설치 여부)를 나열합니까?

답변:


14
  1. 사용 가능한 백 포트 업그레이드가있는 설치된 패키지 나열

    aptitude search '?and(~i, ~Araring-backports)'
    
  2. 사용 가능한 모든 백 포트 패키지 나열 (설치 여부)

    aptitude search '~Abackports ?not(~S ~i ~Abackports)'
    

6

이 정보는 Synaptic에서 사용할 수 있으며 기본적으로 설치되지 않지만 다음과 같이 얻을 수 있습니다.

sudo apt-get install synaptic

왼쪽 사이드 바에서 원점 을 선택하면 로컬로 설치된 패키지뿐만 아니라 raring-backports / universe와 같이 패키지가 제공되는 위치를 기준으로 패키지를 찾아 볼 수 있습니다.

대신 커맨드 라인 솔루션에 관심이 있다면, 빠르고 더러운 파이썬 스크립트를 해킹하여 백 포트에 패키지를 나열했습니다. 불행히도 다소 느립니다.

from __future__ import print_function

import apt

def backport_version(package):
  if package.versions is None:
    return False
  for version in package.versions:
    for origin in version.origins:
      if origin.archive.endswith("backports"):
        return version.version
  return None

with apt.Cache() as cache:
  for package in cache:
    version = backport_version(package)
    if version is not None:
      print(package.fullname, version)
      if package.is_installed:
        print("    Installed:", package.installed.version)

사용 가능한 모든 백 포트 패키지와 설치된 버전이 나열됩니다.


고맙습니다. 파이썬으로 인식하기 위해 제 인식을 높였습니다. 매우 유용합니다. 내 담당자가 허락하면 당신에게 투표 할 것입니다 ...하지만 오히려 내장 된 것을 찾고있었습니다. 공식적인 라인에 수동 백 포트가있을 때,이 정보를 얻는 더 자연스러운 방법이있을 것 같습니다
ricab

시냅스 방법은 질문에 대답하지만, apt-cache /
attitude

1
또는 : 적성 검색 '? and (~ i, ~ Araring-backports)'; 백 포트 패키지 설치
Jason Conti

3
모든 답장을 보내 주셔서 감사합니다. 당신의 적성 솔루션이 2를 해결 aptitude search '~i ~Abackports ?not(~S ~i ~Abackports)'합니다. 이것은 1을 해결합니다 (백 포트 버전이 항상 더 높다고 가정). 나는 당신의 도움 없이는 그것을 얻지 못했을 것입니다. 그래서 당신이 답을 원한다면 그것을 선택하겠습니다
ricab

1
자신의 답변을 추가하고 선택할 수 있습니다. 나는 대부분 적성 문서를 지적했다.
Jason Conti

4

편집 : 약간의 실험 후, 나는 나에게 완벽하게 작동하는 솔루션을 찾았습니다! -backports 저장소에 최신 버전의 패키지 만 나열되며 그 밖의 다른 솔루션에는 추가 패키지가 나열되지 않습니다.

사용 가능한 백 포트 업데이트를 나열하려면 다음 명령을 실행하십시오.

aptitude search -t $(lsb_release -sc)-backports '~U ~Abackports'

목록에 현재 및 최신 버전도 표시하려면 다음 명령을 대신 실행하십시오.

aptitude search -t $(lsb_release -sc)-backports -F '%p %v -> %V' '~U ~Abackports'

다음과 같이 표시됩니다 :

nvidia-settings               331.20-0ubuntu -> 346.59-0ubuntu
screen                        4.1.0~20120320 -> 4.2.1-2~ubuntu
yelp-xsl                      3.10.1-1       -> 3.12.0-1~ubunt

이 명령을 기억하지 않으려면 다음을 명령에 추가하십시오 ~/.bashrc.

alias apt-list-backports="aptitude search -t $(lsb_release -sc)-backports -F '%p %v -> %V' '~U ~Abackports'"

이제 당신은 작성해야합니다 apt-list-backports!


원래 답변

다른 방법을 찾았습니다.

apt-get upgrade -s -t $(lsb_release -sc)-backports

업그레이드를 시뮬레이션하고 업그레이드 할 패키지를 나열합니다. 그러나 백 포트로의 업그레이드도 포함됩니다 (정상적인 업그레이드도 표시됩니다).

-V패키지를 업그레이드 할 버전을 표시 하는 옵션 을 추가 할 수도 있습니다 .


백 포트에서 패키지의 변경 로그를 보려면 다음을 사용하십시오.

apt-get changelog -t $(lsb_release -sc)-backports PACKAGE_NAME
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.