PKG
Установка ports-mgmt/pkg
PKG - инструмент управления бинарными пакетами во FreeBSD (менеджер пакетов).
Подробная информация на сайте https://github.com/freebsd/pkg
Установка из пакета:
# pkg install pkg The package management tool is not yet installed on your system. Do you want to fetch and install it now? [y/N]:
Если менеджер пакетов не установлен, он спросит согласия на установку. После установки менеджер пакетов не требует дополнительных настроек. Он сразу готов к использованию.
Проверка установки PKG:
# pkg version -v | grep pkg pkg-2.4.2 = up-to-date with remote
Вывод команды сообщает номер текущей установленной версии "2.4.2", а символ "=" сообщает, что это актуальная версия пакета.
Другие полезные команды PKG
Проверка наличия установленных пакетов с выявленными уязвимостями:
# pkg audit -F Fetching vuln.xml.xz: 100% 1 MiB 1.2MB/s 00:01 0 problem(s) in 0 package(s) found.
Вывод команды сообщает, что пакетов с обнаруженными уязвимостями не установлено.
Автоматическое удаление ненужных пакетов:
# pkg autoremove Checking integrity... done (0 conflicting) Nothing to do.
Вывод команды сообщает, что пакетов для автоматического удаления не обнаружено.
Удаление загруженных пакетов из кеша в папке /var/cache/pkg, которые заменены более новыми версиями, а также пакетов, которые больше не предоставляются:
# pkg clean
Удаление загруженных пакетов из кеша в папке /var/cache/pkg, включая те, которые ещё не были заменены более новыми версиями и всё ещё используются:
# pkg clean -a
Вывод списка всех установленных пакетов:
# pkg version -v Updating FreeBSD repository catalogue... FreeBSD repository is up to date. Updating FreeBSD-kmods repository catalogue... FreeBSD-kmods repository is up to date. All repositories are up to date. gettext-runtime-0.23.1 = up-to-date with remote indexinfo-0.3.1_1 = up-to-date with remote pkg-2.4.2 = up-to-date with remote sudo-1.9.17p2_1 = up-to-date with remote
Символ "=" информируют, что установлена актуальная версия пакета.
Вывод списка установленных пакетов, которые имеют новую актуальную версию:
# pkg version -v | grep '<'
На данный момент новых версий нет.
Проверка зависимых пакетов от указанного пакета. Например, зависимых от gettext-runtime-0.23.1:
# pkg info -r gettext-runtime-0.23.1
gettext-runtime-0.23.1:
sudo-1.9.17p2_1
sudo-1.9.17p2_1 (libintl.so.8)
Вывод команды сообщает, что от пакета gettext-runtime-0.23.1 зависит пакет sudo-1.9.17p2_1:
Проверка пакетов, от которых зависит указанный пакет. Например, sudo-1.9.17p2_1:
# pkg info -d sudo-1.9.17p2_1
sudo-1.9.17p2_1:
gettext-runtime-0.23.1
gettext-runtime-0.23.1 (libintl.so.8)
Вывод команды сообщает, что пакет sudo-1.9.17p2_1 зависит от пакета gettext-runtime-0.23.1.
Просмотр списка установленных файлов для пакета indexinfo-0.3.1_1:
# pkg info -l indexinfo-0.3.1_1
indexinfo-0.3.1_1:
/usr/local/bin/indexinfo
/usr/local/share/licenses/indexinfo-0.3.1_1/BSD2CLAUSE
/usr/local/share/licenses/indexinfo-0.3.1_1/LICENSE
/usr/local/share/licenses/indexinfo-0.3.1_1/catalog.mk
Обновление пакетов
Обновление пакета:
# pkg upgrade sudo
Updating FreeBSD repository catalogue...
Fetching data.pkg: 100% 10 MiB 1.8MB/s 00:06
Processing entries: 100%
FreeBSD repository update completed. 36394 packages processed.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):
Installed packages to be UPGRADED:
sudo: 1.9.17 -> 1.9.17p1
Number of packages to be upgraded: 1
2 MiB to be downloaded.
Proceed with this action? [y/N]: y
[1/1] Fetching sudo-1.9.17p1.pkg: 100% 2 MiB 1.8MB/s 00:01
Checking integrity... done (0 conflicting)
[1/1] Upgrading sudo from 1.9.17 to 1.9.17p1...
[1/1] Extracting sudo-1.9.17p1: 100%
You may need to manually remove /usr/local/etc/sudoers if it is no longer needed.
Удаление пакетов
Удаление indexinfo-0.3.1_1 приведёт к рекурсивному удалению всех зависимых пакетов, в данном случае gettext-runtime-0.23.1 и sudo-1.9.17p2_1:
# pkg delete indexinfo-0.3.1_1
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 3 packages (of 0 packages in the universe):
Installed packages to be REMOVED:
gettext-runtime: 0.23.1
indexinfo: 0.3.1_1
sudo: 1.9.17p2_1
Number of packages to be removed: 3
The operation will free 9 MiB.
Proceed with deinstalling packages? [y/N]:
Команда запросит согласие на удаление зависимых пакетов.
После подтверждения пакеты будут удалены:
[1/3] Deinstalling sudo-1.9.17p2_1... [1/3] Deleting files for sudo-1.9.17p2_1: 100% [2/3] Deinstalling gettext-runtime-0.23.1... [2/3] Deleting files for gettext-runtime-0.23.1: 100% [3/3] Deinstalling indexinfo-0.3.1_1... [3/3] Deleting files for indexinfo-0.3.1_1: 100%
Удаление всех пакетов включая PKG:
# pkg delete -af
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):
Installed packages to be REMOVED:
pkg: 2.4.2
Number of packages to be removed: 1
The operation will free 47 MiB.
Proceed with deinstalling packages? [y/N]: y
[1/1] Deinstalling pkg-2.4.2...
[1/1] Deleting files for pkg-2.4.2: 100%