Найти тему

Обновляем нужное в Ubuntu, apt.

Оглавление

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

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

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

$ apt list --upgradable

Как вы можете заметить, вам даже не понадобится sudo для вывода списка обновляемых пакетов. Так как команда несет информационный характер и просто выводить на экран пакеты, которые можно обновить. При этом, не обновляя их.

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

Fetched 28.9 MB in 12s (2464 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
84 packages can be upgraded. Run 'apt list --upgradable' to see them.

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

Теперь, рассмотрим эту команду поподробнее.

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

Небольшое замечание, с помощью этой команды вы можете просмотреть обновления, доступные только через менеджер пакетов APT. И, если вы добавили PPA или внешние репозитории в список источников вашей системы, вы также увидите обновления из них.

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

Другими словами, она работает только с пакетами доступными к установке с помощью команды apt.

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

sudo apt update

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

-2

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

$ apt list --upgradabale

Вы должны увидеть такой вывод:

-3

В нем перечислены все пакеты, доступные к обновлению, в алфавитном порядке с информацией об установленной в данный момент версии и новой доступной версии пакета.

vim/jammy-updates,jammy-security 2:8.2.3995-1ubuntu2.15 amd64 [upgradable from: 2:8.2.3995-1ubuntu2.12]

Например, это показывает, что в моей системе установлен vim версии 2:8.2.3995-1ubuntu2.12 и доступна версия 2:8.2.3995-1ubuntu2.15

Что нам дает эта информация? Смотрим дальше.

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

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

$ sudo apt upgrade

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

-4

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

$ sudo apt upgrade -y

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

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

$ sudo apt -s upgrade

-5

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

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

$ sudo apt --only-upgrade install package_name

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

Опция --only-upgrade гарантирует, что пакет будет только обновлен (если он уже установлен). И не будет устанавливать данный пакет, если он еще не установлен.

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

$ sudo apt --only-upgrade install package1 package2

А еще, можно отметить пакеты, которые не стоит обновлять.

$ sudo apt-mark hold package_name

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

Снять блокировку с пакета можно с помощью следующей команды:

$ sudo apt-mark unhold package_name

Отображаются ли обновления ядра?

Тут все сложно.

Когда вы запускаете команду «apt list –upgradable», она показывает все пакеты, которые можно обновить.

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

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

Заключение

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

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

А вы? Как обновляете систему? Сразу все и будь что будет, или прицельно по пакету. Делитесь в комментариях.

P.S. Если вам интересен материал не забывайте ставить палец вверх под статьей. А так же, подписывайтесь на анонсы новых статей в телеграмм и на сайте RoadIT