Мне это нужно для простого скрипта мониторинга, который я не хочу запускать как 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
https://superuser.com/questions/199869/check-number-of-pending-security-updates-in-ubuntu
Ubuntu имеет множество упакованных плагинов nagios, включая удобную check_apt, специальную программу C. Это немного лучше, чем update-notifier, потому что его зависимости меньше; если вас интересуют серверы мониторинга, вы, вероятно, уже установили его! Результат выглядит следующим образом (если вам это не нравится, кажется тривиальным форкнуть программу для печати того, что вам нужно):
APT OK: 0 packages available for upgrade (0 critical updates).
Если оповещения nagios вам не нравятся, вы можете сделать то, что я делаю, и установить аптикрон, который будет отправлять вам уведомления по электронной почте о доступных обновлениях в системе.
использование sudo - ваш ответ, вам, вероятно, потребуется добавить пользователя, которого вы хотите запустить скрипт, в файл sudoers и, возможно, с флагом nopasswd, чтобы он не запрашивал ваш пароль каждый раз, когда скрипт запускается, для получения дополнительной информации о sudo попробуйте взглянув сюда: https://help.ubuntu.com/community/Sudoers