Список обновляемых пакетов с помощью команды apt в Ubuntu

Команда apt используется для управления пакетами в Debian и Ubuntu. Хотя вы, вероятно, уже знакомы с опциями установки и удаления, apt предоставляет несколько дополнительных возможностей.

Одна из них – возможность увидеть все обновляемые пакеты в вашей системе. Чтобы увидеть их, достаточно выполнить эту команду в терминале:

apt list --upgradable

Как вы можете заметить, вам даже не нужен sudo, чтобы вывести список обновляемых пакетов. Он просто перечисляет пакеты, которые могут быть обновлены. Он не обновляет их.

На самом деле, команда apt добавляет эту подсказку, когда вы выполняете команду sudo apt update для обновления кэша локального репозитория пакетов.

Получено 1 243 кБ за 17 с (71,4 кБ/с)
Чтение списков пакетов... Выполнено
Построение дерева зависимостей... Готово
Чтение информации о состоянии... Готово
30 пакетов могут быть обновлены. Выполните 'apt list --upgradable', чтобы увидеть их.

Я не припоминаю подобной прямой опции в старой команде apt-get для списка всех обновляемых пакетов. Это одна из нескольких новых возможностей apt, добавленных поверх старой команды apt-get.

Давайте поговорим об этом немного подробнее.

Список всех обновляемых пакетов

Здесь следует знать, что вы получаете список обновлений, доступных только через менеджер пакетов APT. Поэтому, если вы добавили PPA или внешние репозитории в sources.list вашей системы, вы увидите обновления из них.

Но вы не получите здесь обновления для AppImage, Flatpak, Snap или других форматов упаковки.

Другими словами, эта программа работает только с пакетами apt.

Поэтому, чтобы получить список всех обновляемых пакетов в системе Ubuntu или Debian, сначала нужно обновить локальный кэш пакетов:

sudo apt update

И тогда ваша система будет знать о доступных обновлениях пакетов. Команда apt сообщает вам, сколько пакетов можно обновить, в конце команды update:

Команда apt показывает количество обновляемых пакетов в нижней части вывода команды apt update
Команда apt показывает количество обновляемых пакетов в нижней части вывода команды apt update

Чтобы узнать, какой пакет может быть обновлен, выполните команду:

apt list --upgradable

Вы должны увидеть вывод, подобный этому:

linuxcool@fox-pc:~$ apt list --upgradable
Вывод списка… Готово
brave-browser/stable 1.41.96 amd64 [может быть обновлён с: 1.40.113]
firefox-trunk-locale-ru/jammy 104.0~a1~hg20220712r623561-0ubuntu0.22.04.1~umd1 amd64 [может быть обновлён с: 104.0~a1~hg20220708r623298-0ubuntu0.22.04.1~umd1]
Список всех обновляемых пакетов в Ubuntu
Список всех обновляемых пакетов в Ubuntu

Например, показано, что в системе установлен браузер Brave версии 1.40.113, а доступна версия 1.41.96.

Что вы можете сделать с этой информацией? Позвольте мне поделиться несколькими вариантами, которые мне приходят в голову.

Обновить все пакеты

Это, вероятно, то, что делает большинство случайных пользователей Ubuntu. Вы можете обновить все обновляемые пакеты с помощью следующей команды:

sudo apt upgrade

Команда перечислит, какие пакеты будут обновлены, а затем попросит подтвердить обновление нажатием клавиши Enter или Y.

Если вы уверены в обновлении всех пакетов, вы можете пропустить часть “Хотите ли вы продолжить”, добавив -y к команде.

sudo apt upgrade -y

Имитация обновления (но не обновление пакетов)

Так люди поступали до появления команды apt list. С опцией simulate вы фактически не вносите никаких изменений. Она просто показывает, какие пакеты будут установлены или обновлены, если вы запустите обновление.

apt -s upgrade

Вам не нужно использовать sudo (хотя я использовал его на скриншоте ниже).

Прочтите:  Как удалить Firefox Snap и переключиться обратно на классический Deb в Ubuntu 21.10
snimok ekrana ot 2022 07 13 08 39 44
snimok ekrana ot 2022 07 13 08 39 44

Обновление только выбранных пакетов

Если вы управляете сервером Ubuntu и хотите обновить не все пакеты, а только один из нескольких выбранных (например, MySQL/Ngnix), вы можете легко сделать это с помощью команды apt.

sudo apt --only-upgrade install имя_пакета

На самом деле, если вы запустите команду apt install на уже установленном пакете, для которого доступно обновление, она обновит пакет.

Используя флаг –only-upgrade, вы гарантируете, что пакет будет только обновлен (если он уже установлен). Команда apt install не будет устанавливать данный пакет, если он еще не установлен.

Вы также можете обновить несколько выбранных пакетов, указав их имя:

sudo apt --only-upgrade install package1 package2

Вы также можете сделать наоборот и удержать выбранные пакеты от обновления.

sudo apt-mark hold имя_пакета

При этом данный пакет не будет обновлен при обновлении всех пакетов системы.

Вы можете снять ограничение с помощью этой команды:

sudo apt-mark unhold package_name

Показывает ли он обновления ядра?

Это довольно сложно.

Когда вы выполняете команду ‘apt list -upgradable‘, она показывает все пакеты, которые могут быть обновлены.

Но если доступны новые версии ядра, они могут быть не показаны, поскольку имя пакета ядра начинается с linux-headers-x-y. Это происходит потому, что система рассматривает их как новые пакеты, а не как обновление уже установленного пакета linux-headers-a-b.

Однако в списке обновляемых пакетов вы все равно увидите пакет вида “linux-generic-hwe“. Потому что этот пакет будет обновлен (с более новым ядром).

Заключение

Возможность составлять список обновляемых пакетов – это одна из нескольких новых возможностей команды apt по сравнению со старой командой apt-get.

Как пользователь настольных компьютеров, я не всегда проверяю пакеты, которые можно обновить. Я сразу же приступаю к обновлению. Однако, когда я управляю сервером, я предпочитаю посмотреть, какие обновления доступны, а затем решить, буду ли я обновляться.

А как насчет вас? Видите ли вы хорошее применение этой функции для себя?

Оцените?
+1
5
+1
2
+1
0
+1
0
+1
0
+1
0
+1
1
Поделитесь с друзьями
Admin
Admin

Люблю Linux

Статей: 474
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии