Системное администрирование: Как программно проверить наличие обновлений в Linux через путь Settings → System → Software Update в терминале?
В графическом интерфейсе Linux путь Settings → System → Software Update позволяет проверить наличие доступных обновлений. Однако в терминале это можно сделать значительно гибче и быстрее — особенно при работе с серверами или при автоматизации задач.
## Debian / Ubuntu и производные (APT)
Для проверки доступных обновлений без их установки используйте:
bash
sudo apt update && apt list —upgradable
Команда `apt update` обновляет локальный кэш списков пакетов с серверов репозиториев, а `apt list —upgradable` выводит список пакетов, для которых доступны новые версии.
Альтернативный способ — использовать `apt-get`:
bash
sudo apt-get update && sudo apt-get —simulate upgrade
Флаг `—simulate` (или `-s`) выполняет симуляцию обновления без реальной установки пакетов.
Ещё один удобный инструмент — `apt-check`:
bash
/usr/lib/update-notifier/apt-check —human-readable
Он выводит количество доступных обновлений и количество обновлений безопасности — именно этот инструмент используется графическим апплетом Software Update.
## RHEL / CentOS / Fedora (DNF / YUM)
Для дистрибутивов на базе RPM:
bash
sudo dnf check-update
или для старых систем:
bash
sudo yum check-update
Коды возврата: `0` — нет обновлений, `100` — обновления доступны, `1` — ошибка.
## openSUSE (Zypper)
bash
sudo zypper list-updates
## Arch Linux (Pacman)
bash
sudo pacman -Sy && pacman -Qu
## Универсальный скрипт для проверки
Можно написать простой bash-скрипт, который определяет дистрибутив и запускает нужную команду:
bash
#!/bin/bash
if command -v apt &> /dev/null; then
sudo apt update -qq && apt list —upgradable 2>/dev/null
elif command -v dnf &> /dev/null; then
sudo dnf check-update
elif command -v yum &> /dev/null; then
sudo yum check-update
elif command -v zypper &> /dev/null; then
sudo zypper list-updates
fi
## Автоматизация через cron
Для регулярной проверки обновлений можно добавить задачу в cron:
bash
0 8 * * * /usr/bin/apt-get update -qq && /usr/lib/update-notifier/apt-check —human-readable
Таким образом, программная проверка обновлений в терминале полностью заменяет графический путь Settings → System → Software Update и даёт больше возможностей для автоматизации и скриптования.
