![apt-get을 사용하여 업그레이드할 소프트웨어 패키지 목록을 얻는 방법은 무엇입니까?](https://linux55.com/image/135108/apt-get%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%97%85%EA%B7%B8%EB%A0%88%EC%9D%B4%EB%93%9C%ED%95%A0%20%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%20%ED%8C%A8%ED%82%A4%EC%A7%80%20%EB%AA%A9%EB%A1%9D%EC%9D%84%20%EC%96%BB%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
이 계산을 수행하는 스크립트 친화적인 방법이 있는지 궁금합니다 apt list --upgradeable
. 이렇게 하면 구문 분석이 매우 쉬운 업그레이드 후보가 한 줄에 하나만 포함된 멋진 출력이 생성됩니다. 하지만 다음 사항 apt
도 경고하세요.
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
그래서 대신 Venerable을 사용해야 할 것 같아요 apt-get
. 불행히도 출력은 다음과 같습니다.
apt-get -s --no-download dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
dbus libdbus-1-3
The following packages will be upgraded:
bash gcc-8-base gpgv libedit2 libgcc1 libprocps7 libpsl5 libselinux1 libsemanage-common libsemanage1 libsepol1 libsqlite3-0 libstdc++6 perl-base
procps publicsuffix rsyslog twigpilot-core
18 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
...
이는 분석하기가 어렵습니다. 그래서 apt-get
좀 더 간결한 목록을 인쇄할 수 있도록 업데이트 할 수 있는 방법이 있기를 바랍니다 apt
.
답변1
저는 Ubuntu를 자주 사용하지 않지만 다음은 어떻습니까?
$ apt-get -s --no-download dist-upgrade -V | grep '=>' | awk '{print$1}'
한 줄에 하나의 패킷을 인쇄합니다. 에 명시된 바와 같이 man apt-get
:
-V, --verbose-versions
Show full versions for upgraded and installed packages. Configuration Item: APT::Get::Show-Versions.
답변2
이것이 apt-show-versions -u
당신이 찾고 있는 것입니까? 그것에서맨페이지:
-u
,--upgradeable
업그레이드 가능한 패키지만 인쇄
업그레이드 가능한 모든 패키지를 텍스트 파일에 나열하고 열 형식으로 표시합니다.
apt-show-versions -u | column -t > debupdlist-$(date '+%Y%m%d').txt
업그레이드 가능한 패키지 이름을 나열합니다.
apt-show-versions -u | cut -d: -f1