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

Материал из BSD Howto
Перейти к навигации Перейти к поиску
Нет описания правки
 
(не показаны 22 промежуточные версии этого же участника)
Строка 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:
  # pkg version -v | grep pkg
  # pkg version -v | grep pkg
  pkg-2.1.2                          =  up-to-date with remote
  pkg-2.4.2                          =  up-to-date with remote


В выводе выполнения команды дана информация о коротком имени пакета "pkg" и его номере текущей установленной версии "2.1.2". А символ "=" сообщает, что установлена актуальная версия пакета.
Вывод команды сообщает номер текущей установленной версии "2.4.2", а символ "=" сообщает, что это актуальная версия пакета.


== Другие полезные команды PKG ==
== Другие полезные команды PKG ==
Строка 41: Строка 25:
  0 problem(s) in 0 package(s) found.
  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


Вывод списка всех установленных пакетов:
Вывод списка всех установленных пакетов:
Строка 47: Строка 44:
  Updating FreeBSD repository catalogue...
  Updating FreeBSD repository catalogue...
  FreeBSD repository is up to date.
  FreeBSD repository is up to date.
Updating FreeBSD-kmods repository catalogue...
FreeBSD-kmods repository is up to date.
  All repositories are up to date.
  All repositories are up to date.
  gettext-runtime-0.23.1            =  up-to-date with remote
  gettext-runtime-0.23.1            =  up-to-date with remote
  indexinfo-0.3.1_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
  pkg-2.4.2                         =  up-to-date with remote
  sudo-1.9.16p2_1                   =  up-to-date with remote
  sudo-1.9.17p2_1                   =  up-to-date with remote


Символ "=" информируют, что установлена актуальная версия пакета.
Символ "=" информируют, что установлена актуальная версия пакета.
Строка 63: Строка 62:
  # pkg info -r gettext-runtime-0.23.1
  # pkg info -r gettext-runtime-0.23.1
  gettext-runtime-0.23.1:
  gettext-runtime-0.23.1:
         sudo-1.9.16p2_1
         sudo-1.9.17p2_1
         sudo-1.9.16p2_1 (libintl.so.8)
         sudo-1.9.17p2_1 (libintl.so.8)


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


Проверка пакетов, от которых зависит указанный пакет. Например, sudo-1.9.16p2_1:
Проверка пакетов, от которых зависит указанный пакет. Например, sudo-1.9.17p2_1:
  # pkg info -d sudo-1.9.16p2_1
  # pkg info -d sudo-1.9.17p2_1
  sudo-1.9.16p2_1:
  sudo-1.9.17p2_1:
         gettext-runtime-0.23.1
         gettext-runtime-0.23.1
         gettext-runtime-0.23.1 (libintl.so.8)
         gettext-runtime-0.23.1 (libintl.so.8)


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


Удаление indexinfo-0.3.1_1 приведёт к рекурсивному удалению всех зависимых пакетов, в данном случае gettext-runtime-0.23.1 и sudo-1.9.16p2_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
  # pkg delete indexinfo-0.3.1_1
  Checking integrity... done (0 conflicting)
  Checking integrity... done (0 conflicting)
Строка 84: Строка 118:
         gettext-runtime: 0.23.1
         gettext-runtime: 0.23.1
         indexinfo: 0.3.1_1
         indexinfo: 0.3.1_1
         sudo: 1.9.16p2_1
         sudo: 1.9.17p2_1
   
   
  Number of packages to be removed: 3
  Number of packages to be removed: 3
Строка 90: Строка 124:
  The operation will free 9 MiB.
  The operation will free 9 MiB.
   
   
  Proceed with deinstalling packages? [y/N]: y
  Proceed with deinstalling packages? [y/N]:
  [1/3] Deinstalling sudo-1.9.16p2_1...
 
  [1/3] Deleting files for sudo-1.9.16p2_1: 100%
Команда запросит согласие на удаление зависимых пакетов.
 
После подтверждения пакеты будут удалены:
  [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] Deinstalling gettext-runtime-0.23.1...
  [2/3] Deleting files for gettext-runtime-0.23.1: 100%
  [2/3] Deleting files for gettext-runtime-0.23.1: 100%
Строка 104: Строка 142:
   
   
  Installed packages to be REMOVED:
  Installed packages to be REMOVED:
         pkg: 2.1.0
         pkg: 2.4.2
   
   
  Number of packages to be removed: 1
  Number of packages to be removed: 1
Строка 111: Строка 149:
   
   
  Proceed with deinstalling packages? [y/N]: y
  Proceed with deinstalling packages? [y/N]: y
  [1/1] Deinstalling pkg-2.1.0...
  [1/1] Deinstalling pkg-2.4.2...
  [1/1] Deleting files for pkg-2.1.0: 100%
  [1/1] Deleting files for pkg-2.4.2: 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.

Текущая версия от 19:00, 1 декабря 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.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%