😈 Как вывести список обновляемых пакетов во FreeBSD с помощью pkg |

😈 Как вывести список обновляемых пакетов во FreeBSD с помощью pkg

Мануал

Давай-те разберем как отобразитьсписок всех пакетов, которые можно обновить во FreeBSD с помощью команды pkg.

Это эквивалентно команде apt list upgradable в моей системе Debian или Ubuntu Linux.

🚇 Как включить SSH на FreeBSD

Первое, что я сделал, это обновил свою базу данных пакетов во FreeBSD, запустив:

sudo pkg update

Загрузка базы данных пакетов занимает некоторое время.

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

sudo pkg version -vRL=

Вот что я получил в своей версии FreeBSD 13.5:

Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
cbsd-14.2.4                        <   needs updating (remote has 14.2.6)
py38-dateutil-2.8.1                ?   orphaned: devel/py-dateutil
py38-magic-5.41                    ?   orphaned: devel/py-magic
py38-s3cmd-2.2.0                   ?   orphaned: net/py-s3cmd
py38-setuptools-63.1.0_1           <   needs updating (remote has 63.1.0_2)
py38-six-1.16.0                    ?   orphaned: devel/py-six
py39-setuptools-63.1.0_1           <   needs updating (remote has 63.1.0_2)
py39-speedtest-cli-2.1.3           ?   orphaned: net/py-speedtest-cli
uefi-edk2-bhyve-csm-0.2_4,1        ?   orphaned: sysutils/uefi-edk2-bhyve-csm
wireguard-2,1                      ?   orphaned: net/wireguard
wireguard-kmod-0.0.20220615_1      ?   orphaned: net/wireguard-kmod

Во втором столбце на экране отображается символ < или другой символ сравнения.

Вот что они означают:

  • = – Пакет обновлен. Ничего не нужно делать.
  • < – Пакет нуждается в обновлении.
  • > – Установленная версия пакета более новая, чем текущая. Такая ситуация может возникнуть при использовании устаревшего индексного файла или при тестировании новых портов или пакетов.
  • ? – Установленный пакет не отображается в индексе. Это может быть связано с устаревшим индексом или пакетом, взятым из PR, который еще не был зафиксирован. Это тоже может быть потерянный пакет.
  • ! – Установленный пакет существует в индексе, но по какой-то причине pkg version не удалось сравнить номер версии установленного пакета с соответствующей записью в индексе.

Мы можем просто получить список пакетов, нуждающихся в обновлениях, используя команду grep в качестве фильтра.

🗄️ Хеш-код и контрольная сумма

Например:

sudo pkg version -vRL= | grep ‘<.*needs updating’

Единственное, что теперь остается, – это ввести следующую команду, чтобы применить фактические обновления:

sudo pkg upgrade

Использование режима dry run для отображения списка обновляемых пакетов во FreeBSD с помощью pkg

Я также обнаружил, что в FreeBSD pkg есть режим dry run.

Что он делает?

Он показывает, для каких пакетов доступны обновления, но не выполняет никаких обновлений.

Попробуйте это следующим образом после запуска обновления pkg:

sudo pkg upgrade -n

Вывод:

Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking for upgrades (120 candidates): 100%
Processing candidates (120 candidates): 100%
The following 3 package(s) will be affected (of 0 checked):
 
Installed packages to be UPGRADED:
	cbsd: 14.2.4 -> 14.2.6
	py38-setuptools: 63.1.0_1 -> 63.1.0_2
	py39-setuptools: 63.1.0_1 -> 63.1.0_2
 
Number of packages to be upgraded: 3
 
7 MiB to be downloaded.

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

Я надеюсь, что этот краткий совет поможет новым пользователям FreeBSD, системным администраторам и разработчикам.

Пожалуйста, смотрите страницу руководства по работе с командой pkg для получения дополнительной информации об использовании команды man.

Например:

man pkg

см. также:

 

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий