PKG: различия между версиями

Материал из BSD Howto
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 5: Строка 5:
Подробная информация на сайте https://github.com/freebsd/pkg
Подробная информация на сайте https://github.com/freebsd/pkg


Установка пакета:
Установка из пакета:
  # pkg install pkg
  # pkg install pkg
  The package management tool is not yet installed on your system.
  The package management tool is not yet installed on your system.
  Do you want to fetch and install it now? [y/N]: y
  Do you want to fetch and install it now? [y/N]:
Bootstrapping pkg from pkg+https://pkg.FreeBSD.org/FreeBSD:14:amd64/quarterly, please wait...
Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done
Installing pkg-2.1.2...
Extracting pkg-2.1.2: 100%
Updating FreeBSD repository catalogue...
Fetching meta.conf: 100%    179 B  0.2kB/s    00:01
Fetching data.pkg: 100%  10 MiB  3.5MB/s    00:03
Processing entries: 100%
FreeBSD repository update completed. 35953 packages processed.
All repositories are up to date.
Updating database digests format: 100%
Checking integrity... done (0 conflicting)
The most recent versions of packages are already installed


Менеджер пакетов сообщит, что он ещё не установлен в системе. И задаст вопрос: "Скачать и установить его сейчас?".
Если менеджер пакетов не установлен, он запросит согласие на установку. После установки менеджер пакетов не требует дополнительных настроек. Теперь он готов к использованию.
Примерный вывод выполнения команды после согласия на установку представлен выше.
 
Дополнительных настроек пакет не требует.


Проверка установки PKG:
Проверка установки PKG:

Версия от 20:04, 28 ноября 2025

Установка 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.1.2                          =   up-to-date with remote

В выводе выполнения команды дана информация о коротком имени пакета "pkg" и его номере текущей установленной версии "2.1.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 version -v
Updating FreeBSD repository catalogue...
FreeBSD 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.1.0                          =   up-to-date with remote
sudo-1.9.16p2_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.16p2_1
        sudo-1.9.16p2_1 (libintl.so.8)

Вывод выше сообщает, что от пакета gettext-runtime-0.23.1 зависит пакет sudo-1.9.16p2_1:

Проверка пакетов, от которых зависит указанный пакет. Например, sudo-1.9.16p2_1:

# pkg info -d sudo-1.9.16p2_1
sudo-1.9.16p2_1:
        gettext-runtime-0.23.1
        gettext-runtime-0.23.1 (libintl.so.8)

Вывод выше сообщает, что пакет sudo-1.9.16p2_1 зависит от пакета gettext-runtime-0.23.1:

Удаление indexinfo-0.3.1_1 приведёт к рекурсивному удалению всех зависимых пакетов, в данном случае gettext-runtime-0.23.1 и sudo-1.9.16p2_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.16p2_1

Number of packages to be removed: 3

The operation will free 9 MiB.

Proceed with deinstalling packages? [y/N]: y
[1/3] Deinstalling sudo-1.9.16p2_1...
[1/3] Deleting files for sudo-1.9.16p2_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.1.0

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.1.0...
[1/1] Deleting files for pkg-2.1.0: 100%

Просмотр списка установленных файлов для пакета PKG:

pkg info -l pkg
pkg-2.1.0:
        /usr/local/etc/bash_completion.d/_pkg.bash
        /usr/local/etc/periodic/daily/411.pkg-backup
        /usr/local/etc/periodic/daily/490.status-pkg-changes
        /usr/local/etc/periodic/security/405.pkg-base-audit
        /usr/local/etc/periodic/security/410.pkg-audit
        /usr/local/etc/periodic/security/460.pkg-checksum
        /usr/local/etc/periodic/weekly/400.status-pkg
        /usr/local/etc/pkg.conf.sample
        /usr/local/include/pkg.h
        /usr/local/include/pkg/audit.h
        /usr/local/include/pkg/vec.h
        /usr/local/lib/libpkg.a
        /usr/local/lib/libpkg.so
        /usr/local/lib/libpkg.so.4
        /usr/local/libdata/ldconfig/pkg
        /usr/local/libdata/pkgconfig/pkg.pc
        /usr/local/sbin/pkg
        /usr/local/sbin/pkg-static
        /usr/local/share/doc/pkg/NEWS
        /usr/local/share/licenses/pkg-2.1.0/BSD2CLAUSE
        /usr/local/share/licenses/pkg-2.1.0/LICENSE
        /usr/local/share/licenses/pkg-2.1.0/catalog.mk
        /usr/local/share/man/man3/pkg_create.3.gz
        /usr/local/share/man/man3/pkg_printf.3.gz
        /usr/local/share/man/man3/pkg_repo_create.3.gz
        /usr/local/share/man/man3/pkg_repos.3.gz
        /usr/local/share/man/man5/pkg-keywords.5.gz
        /usr/local/share/man/man5/pkg-lua-script.5.gz
        /usr/local/share/man/man5/pkg-repository.5.gz
        /usr/local/share/man/man5/pkg-script.5.gz
        /usr/local/share/man/man5/pkg-triggers.5.gz
        /usr/local/share/man/man5/pkg.conf.5.gz
        /usr/local/share/man/man8/pkg-add.8.gz
        /usr/local/share/man/man8/pkg-alias.8.gz
        /usr/local/share/man/man8/pkg-annotate.8.gz
        /usr/local/share/man/man8/pkg-audit.8.gz
        /usr/local/share/man/man8/pkg-autoremove.8.gz
        /usr/local/share/man/man8/pkg-check.8.gz
        /usr/local/share/man/man8/pkg-clean.8.gz
        /usr/local/share/man/man8/pkg-config.8.gz
        /usr/local/share/man/man8/pkg-create.8.gz
        /usr/local/share/man/man8/pkg-delete.8.gz
        /usr/local/share/man/man8/pkg-fetch.8.gz
        /usr/local/share/man/man8/pkg-info.8.gz
        /usr/local/share/man/man8/pkg-install.8.gz
        /usr/local/share/man/man8/pkg-key.8.gz
        /usr/local/share/man/man8/pkg-lock.8.gz
        /usr/local/share/man/man8/pkg-query.8.gz
        /usr/local/share/man/man8/pkg-register.8.gz
        /usr/local/share/man/man8/pkg-remove.8.gz
        /usr/local/share/man/man8/pkg-repo.8.gz
        /usr/local/share/man/man8/pkg-repositories.8.gz
        /usr/local/share/man/man8/pkg-rquery.8.gz
        /usr/local/share/man/man8/pkg-search.8.gz
        /usr/local/share/man/man8/pkg-set.8.gz
        /usr/local/share/man/man8/pkg-shell.8.gz
        /usr/local/share/man/man8/pkg-shlib.8.gz
        /usr/local/share/man/man8/pkg-ssh.8.gz
        /usr/local/share/man/man8/pkg-static.8.gz
        /usr/local/share/man/man8/pkg-stats.8.gz
        /usr/local/share/man/man8/pkg-triggers.8.gz
        /usr/local/share/man/man8/pkg-unlock.8.gz
        /usr/local/share/man/man8/pkg-update.8.gz
        /usr/local/share/man/man8/pkg-updating.8.gz
        /usr/local/share/man/man8/pkg-upgrade.8.gz
        /usr/local/share/man/man8/pkg-version.8.gz
        /usr/local/share/man/man8/pkg-which.8.gz
        /usr/local/share/man/man8/pkg.8.gz
        /usr/local/share/zsh/site-functions/_pkg

Автоматическое удаление ненужных пакетов:

# pkg autoremove
Checking integrity... done (0 conflicting)
Nothing to do.

Обновление пакета:

# 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.

Удаление из кеша в папке /var/cache/pkg загруженных пакетов, которые заменены более новыми версиями, а также пакетов, которые больше не предоставляются:

pkg clean

Удаление из кеша в папке /var/cache/pkg загруженных пакетов, включая те, которые ещё не были заменены более новыми версиями и всё ещё используются:

pkg clean -a