방금 Ubuntu Backports 를 따라 수동 백 포트를 활성화했으며 몇 가지 질문이 있습니다. 명령 줄에서 어떻게해야합니까 (예 : apt-cacher
또는 aptitude
) :
- 사용 가능한 백 포트 업그레이드가 설치된 설치된 패키지를 나열합니까? (이전
apt-show-versions -u
에 업그레이드 가능한 패키지에 사용 했습니다) - 사용 가능한 모든 백 포트 패키지 (설치 여부)를 나열합니까?
답변
-
사용 가능한 백 포트 업그레이드가있는 설치된 패키지 나열
aptitude search '?and(~i, ~Araring-backports)'
-
사용 가능한 모든 백 포트 패키지 나열 (설치 여부)
aptitude search '~Abackports ?not(~S ~i ~Abackports)'
답변
이 정보는 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)
사용 가능한 모든 백 포트 패키지와 설치된 버전이 나열됩니다.
답변
편집 : 약간의 실험 후, 나는 나에게 완벽하게 작동하는 솔루션을 찾았습니다! -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