내 패키지에 업데이트가 있을 때 cron 실행 보고 스크립트가 알림을 보내도록 하고 싶습니다. apt-get
사용 가능한 업데이트 목록을 제공하지만 더 이상 아무 작업도 수행하지 않도록 할 수 있는 방법이 있습니까 ?
답변1
쉬운
최신 버전에는 apt
특정 스위치가 있습니다.
apt list --upgradable
적절한
이전 apt-get
명령 의 경우 -u
스위치는 업그레이드 가능한 패키지 목록을 표시합니다.
# apt-get -u upgrade --assume-no
~에서apt-get
매뉴얼 페이지:
-u
--업그레이드 표시 업그레이드된 패키지를 표시합니다. 업그레이드할 모든 패키지 목록을 인쇄합니다. 구성 항목: APT::Get::Show-Upgraded.
--가정-아니요 모든 프롬프트에 자동으로 "아니요"라고 대답합니다. <== 설치 시작을 방지합니다.
답변2
apt-get --just-print upgrade
읽기가 쉽지는 않지만 apt-get 출력을 구문 분석하기 위한 Perl oneliner는 다음과 같습니다.
apt-get --just-print upgrade 2>&1 | perl -ne 'if (/Inst\s([\w,\-,\d,\.,~,:,\+]+)\s\[([\w,\-,\d,\.,~,:,\+]+)\]\s\(([\w,\-,\d,\.,~,:,\+]+)\)? /i) {print "PROGRAM: $1 INSTALLED: $2 AVAILABLE: $3\n"}'
다음과 같이 출력되어야 합니다.
PROGRAM: grub-pc INSTALLED: 1.99-21ubuntu3.1 AVAILABLE: 1.99-21ubuntu3.9
다른 사람들에게도 도움이 되길 바라며,
답변3
Enzotib에서 영감을 받은 또 다른 옵션:
aptitude search '~U' | wc -l
이 명령은 aptitude를 사용하여 새 패키지를 출력한 다음 wc를 사용하여 줄 수를 계산합니다.
그런데 작은 따옴표가 없는 enzotib의 솔루션을 찾았는데 ~U
이는 저에게 적합하지 않았습니다. (Wheezy, ZSH, 기능 0.6.8.2)
고쳐 쓰다:
새로운 아파트를 사용하면 다음을 수행할 수 있습니다.
apt list --upgradeable
답변4
당신은 실행할 수 있습니다
aptitude -F%p --disable-columns search ~U
또는 문서화되지 않은
/usr/lib/update-notifier/apt-check -p; echo
모의 객체를 사용하는 또 다른 방법 apt-get
:
apt-get -s dist-upgrade | awk '/^Inst/ { print $2 }'