Я работаю над некоторой автоматизацией системного администратора с помощью матрицы, и я хотел бы смочь контролировать количество пакетов, для которых нужно обновление на данной машине. Это - та же информация, которую я вижу, когда я сначала вхожу в систему машины, т.е. этой части:
35 packages can be updated.
22 updates are security updates.
Есть ли команда, которую я могу выполнить (предпочтительно без sudo
) это дает просто ту информацию?
Я посмотрел на привязку способного Python, но у них, кажется, есть высокая кривая обучения, и они также, кажется, переезжаются много - я хотел бы что-то, что будет работать по крайней мере еще ясное, не будучи должен сделать разные вещи на различных версиях Ubuntu.
Чтобы получить этот вывод, вы можете использовать команду
sudo /usr/lib/update-notifier/update-motd-updates-available
или, если вы не хотите использовать sudo
,
cat /var/lib/update-notifier/updates-available
приложение входа
показывает результат, найденный в файле / etc / motd
, который представляет собой символическую ссылку на / var / run / motd
.
Этот последний файл обновляется службой mount-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
не даст результата, если перезагрузка не требуется.
Почему вы не можете просто запустить это?
/usr/lib/update-notifier/apt-check --human-readable
Вот что делает / usr / lib / update-notifier / update-motd-updates-available для сбора информации, по крайней мере, в версия Ubuntu, которую я использую (12.10).
Я также ищу скриптовый метод для проверки обновлений внутри минимальных контейнеров докеров, когда я нашел комментарий в / usr / lib / update-notifier / apt-check
:
apt-get -s -o Debug::NoLocking=true upgrade | grep ^Inst
Это позволяет выполнять проверку обновлений по сценарию без необходимости установки update-notifier-common
package
Вы можете использовать плагин check_apt
от monitoring-plugins-basic
(Nagios), с преимуществом получения различных кодов возврата в зависимости от того, доступны ли обновления:
$ /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
--> доступны критические обновленияСсылки: