Мне нужно это для простого сценария мониторинга, который я не хочу запускать от имени root ...
Мне нужно это для простого сценария мониторинга, который я не хочу запускать от имени root ...
Ответы:
Количество ожидающих обновлений безопасности можно узнать с помощью:
/usr/lib/update-notifier/apt-check 2>&1 | cut -d ';' -f 1
а количество ожидающих регулярных обновлений можно узнать с помощью:
/usr/lib/update-notifier/apt-check 2>&1 | cut -d ';' -f 2
/superuser/199869/check-number-of-pending-security-updates-in-ubuntu
Использование sudo - ваш ответ. Скорее всего, вам потребуется добавить пользователя, с которым вы хотите запустить скрипт, в файл sudoers и, возможно, с флагом nopasswd, чтобы он не запрашивал ваш пароль при каждом запуске скрипта, для получения дополнительной информации о sudo попробуйте смотрите здесь: https://help.ubuntu.com/community/Sudoers
Ubuntu имеет много упакованных плагинов для nagios, включая удобный check_apt, специальную программу на Си. Это немного лучше, чем update-notifier в том, что его зависимости меньше; если вы заинтересованы в мониторинге серверов, вы, вероятно, уже установили его! Вывод выглядит следующим образом (если вам это не нравится, кажется, тривиально, чтобы программа распечатала то, что вам нужно):
APT OK: 0 packages available for upgrade (0 critical updates).
Если оповещение nagios не является вашим предпочтением, вы можете сделать то, что я делаю, и установить apticron, который будет отправлять вам уведомления по электронной почте о доступных обновлениях в системе.