어떤 패키지를 업데이트 할 수 있는지 확인하는 방법


72

FreeBSD 사용자가 당신의 순위에 합류했습니다. 10.04 LTS를 실행하는 Ubuntu 서버를 살펴 보라는 요청을 받았습니다.

나는 /usr/lib/update-notifier/update-motd-updates-available서버에 많은 업데이트가 있다는 것을 알지만 업데이트 될 것을 알 수있는 방법은 없습니다.

내가 실행할 때 어떤 패키지가 업데이트되는지 볼 수 있도록 누구나 올바른 방향으로 나를 가리킬 수 apt-get upgrade있습니까?

최신 정보:

현재 내 자신의 질문에 대답 할 수 없으므로 한동안 여기에 던지십시오.

apt-get upgrade --dry-run아래 제안 과 함께 /usr/lib/update-notifier/apt-check -p사용 가능한 업데이트가있는 모든 패키지가 나열됩니다.


도움이 더 필요한 경우 순위에 오신 것을 환영합니다. 사이트 이용 및 남용;) 질문에 대한 답변을 찾으면 옆에있는 녹색 확인란으로 표시하십시오.
Bruno Pereira 님

1
이제 새로운 사용자 제한제거 할 충분한 담당자가 있으므로 자신의 질문에 대답 할 수 있습니다 .
jokerdino

100rep이 필요하거나 8 시간 동안 자신의 질문에 답변 할 것 같습니다.
Jan Geep

2016 년에는 @doru가 정답을 제시합니다. askubuntu.com/a/788049/560610
jeremysawesome

답변:


62

aptitude아직 설치되지 않은 경우 설치할 수 있습니다. 헤드리스 설정에서 패키지를 관리하기위한 훌륭한 도구입니다.

여기에 이미지 설명을 입력하십시오

그렇지 않으면 무언가를 실행할 때 무슨 일이 일어나고 있는지보고 싶다면 --dry-run인수를 사용하면 실제로 아무것도 하지 않을 것입니다.

로부터 apt-get을 man 페이지

-s, --simulate, --just-print, --dry-run, --recon, --no-act
          No action; perform a simulation of events that would occur but do
          not actually change the system. Configuration Item:
          APT::Get::Simulate.

          Simulate prints out a series of lines each one representing a dpkg
          operation, Configure (Conf), Remove (Remv), Unpack (Inst). Square
          brackets indicate broken packages with and empty set of square
          brackets meaning breaks that are of no consequence (rare).

이 방법으로 명령에 옵션을 추가하십시오

apt upgrade --dry-run

5
나는 당신의 대답을 혼란스럽게 만들었습니다.
Bruno Pereira 님

2
흥미롭게 apt-get upgrade --dry-run도 필요하지 않으므로 sudo필수 패키지 업데이트를 자동으로 표시하는 데 적합합니다.
dshepherd

더 흥미로운 점은 우분투 14.04 LTS에서 "apt-get -s update"가 "-s"를 허용하지 않는다는 것입니다. "-dry-run", "--no-act"... 왜 그럴까요?
mBardos

@mBardos apt-get경로의를 "도우미"스크립트 로 바 꾸었습니까 ? 확인 which apt-get하기 위해 확인 그건/usr/bin/apt-get
OLI

martonb @ martonb-ubu : ~ / work / qt $ which apt-get / usr / bin / apt-get 이것이 우분투 14.04 LTS에서 작동합니까? martonb @ martonb-ubu : ~ / work / qt $ apt-get -s update E : 명령 줄 옵션 's'[from -s]를 알 수 없습니다.
mBardos

67

현재 (Ubuntu 16.04) 플래그 apt list와 함께 사용할 수 있습니다 --upgradable.

sudo apt update
apt list --upgradable

업그레이드 가능한 모든 패키지 목록이 표시됩니다.


1
우수한! 그게 내가 :)보고 싶어 무엇을 정확히
jeremysawesome

apt12.04에서 알 수없는 명령입니다
confiq

1
@confiq "APT 1.0은 2014 년 4 월 1 일에 릴리스 되었으므로 " 시스템에서 업그레이드되지 않을 수 있습니다. apt실행중인 버전을 확인하십시오 sudo apt-cache policy apt.
doru


10

다른 대안은 검색어aptitude 와 함께 사용 하는 것입니다 .

aptitude search '~U'

(대문자 'U'참고)

"설치되어 있고 업그레이드 가능한 모든 패키지를 검색하십시오"라는 의미입니다. 참조 : 적성 사용자 매뉴얼

기본적으로 aptitude search각 패키지의 이름, 설명 및 몇 가지 플래그를 표시하지만 필요에 따라 출력을 조정할 수도 있습니다. 예를 들어 패키지 이름 만 나열하려면 명령은 다음과 같습니다.

aptitude search -F '%p' --disable-columns '~U'

( --disable-columns줄 끝에 공백을 채우지 않습니다)


8

아래 명령은 리포지토리에서 사용 가능한 업데이트가있는 설치된 패키지 목록을 보여줍니다.

dpkg --get-selections | xargs apt-cache policy {} | grep -1 Installed | sed -r 's/(:|Installed: |Candidate: )//' | uniq -u | tac | sed '/--/I,+1 d' | tac | sed '$d' | sed -n 1~2p

1
그것은 멋진 명령 줄 마술입니다!
Teemu Leisti

1
멋지지만 @ sierrasdetandil 's와 @doru '답변은 아름답고 간결한 방식으로 정확히 동일합니다.
Giuseppe
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.