명령 줄에서 업데이트가 필요한 패키지 수를 찾는 방법은 무엇입니까?


34

패브릭을 사용하여 일부 시스템 관리자 자동화를 작업 중이며 주어진 컴퓨터에서 업그레이드 해야하는 패키지 수를 모니터링하고 싶습니다. 이것은 컴퓨터에 처음 로그인 할 때 볼 수있는 것과 동일한 정보입니다 (예 :이 부분).

35 packages can be updated.
22 updates are security updates.

sudo해당 정보 만 제공 하는 (바람직하게는없이 ) 실행할 수있는 명령이 있습니까?

나는 apt-python 바인딩을 살펴 보았지만 학습 곡선이 높고 많은 변화가있는 것처럼 보입니다. 다른 우분투 버전에서 다른 일을하십시오.

답변:


33

해당 출력을 얻으려면 다음 명령을 사용할 수 있습니다

sudo /usr/lib/update-notifier/update-motd-updates-available

또는, 당신이 사용하지 않으려면 sudo,

cat /var/lib/update-notifier/updates-available

설명

login응용 프로그램 파일 검색된 출력 /etc/motd심볼릭 링크이다 /var/run/motd.

이 마지막 파일이 업데이트되어 mounted-varrun서비스 (참조 /etc/init/mounted-varrun.conf)에서 모든 스크립트를 호출 /etc/update-motd.d/, 특히

/etc/update-motd.d/90-updates-available

차례로 스크립트를 호출합니다

/usr/lib/update-notifier/update-motd-updates-available

이 스크립트는 다양한 작업을 실행하고 마침내 출력을 텍스트 파일에 씁니다.

/var/lib/update-notifier/updates-available

편집하다

질문의 재부팅 부분과 관련하여이 명령을 실행하십시오.

/usr/lib/update-notifier/update-motd-reboot-required

재부팅이 필요하지 않으면 출력이 제공되지 않습니다.


방금 11.04를 실행하는 컴퓨터를 확인하고 있으며 byobu는 44 업데이트가 필요함을 보여줍니다. cat제안한 파일이 비어 있고 처음으로 가리키는 스크립트가이 컴퓨터에 존재하지 않습니다. 설치해야하는 일부 패키지에 있습니까? 나는 /usr/lib/update-manager있지만 update-notifier디렉토리 는 없다 .
KayEss

11.04 데스크톱에서 테스트되었습니다. 해당 파일 update-notifier-common은 10.10에서 업그레이드하지 않고 새로 설치할 때 자동으로 설치된 파일에 속합니다 .
enzotib 2016 년

나는 더 많은 기계를 보았다. /var/lib/update-notifier/apt-check이것이 있는 사람들에게는 두 개의 숫자, 즉 43; 24 (43 업데이트, 24는 보안 번호)를 반환하는 것처럼 보이지만 모든 컴퓨터에 표시되지는 않습니다. 이 파일이 다른 버전의 패키지간에 이동했을 수 있습니다.
KayEss

21

왜 이걸 실행할 수 없습니까?

/usr/lib/update-notifier/apt-check --human-readable

그것이 / usr / lib / update-notifier / update-motd-updates-available이 적어도 (12.10)을 사용하는 Ubuntu 버전에서 정보를 수집하기 위해 수행하는 작업입니다.


방금 Lucid를 확인했고 거기에서도 작동합니다
KayEss

2
출력을 stderr에 기록합니다. 누가 그렇게할까요?
KayEss

2
이 방법은 전체 update-motd패키지와 사고 방식을 완전히 따르기 때문에 선호합니다 . 직접 명령 해 주셔서 감사합니다.
jefflunt

3

또한 다음에서 주석을 찾을 때 최소 도커 컨테이너 내부에서 업데이트 확인을위한 스크립팅 된 방법을 검색합니다 /usr/lib/update-notifier/apt-check.

apt-get -s -o Debug::NoLocking=true upgrade | grep ^Inst

이를 통해 update-notifier-common패키지 를 설치할 필요없이 스크립트 업데이트 확인이 가능 합니다


0

( Nagios ) check_apt에서 플러그인을 사용할 수 있으며 업데이트 사용 가능 여부에 따라 다른 리턴 코드를 얻을 수 있다는 장점이 있습니다.monitoring-plugins-basic

$ /usr/lib/nagios/plugins/check_apt
APT WARNING: 18 packages available for upgrade (0 critical updates). |available_upgrades=18;;;0 critical_updates=0;;;0
$ echo $?
1

리턴 코드는 다음과 같은 의미를 갖습니다.

  • 0 -> 업그레이드 가능한 패키지가 없음
  • 1 -> 업그레이드에 사용 가능한 중요하지 않은 패키지
  • 2 -> 중요 업데이트 가능

참고 문헌 :

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