PKG

Материал из BSD Howto
Перейти к навигации Перейти к поиску

Установка 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%