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

Материал из BSD Howto
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
 
(не показано 20 промежуточных версий этого же участника)
Строка 10: Строка 10:
  Do you want to fetch and install it now? [y/N]:
  Do you want to fetch and install it now? [y/N]:


Если менеджер пакетов не установлен, он запросит согласие на установку. После установки менеджер пакетов не требует дополнительных настроек. Теперь он готов к использованию.
Если менеджер пакетов не установлен, он спросит согласия на установку. После установки менеджер пакетов не требует дополнительных настроек. Он сразу готов к использованию.


Проверка установки 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 ==
Строка 25: Строка 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


Вывод списка всех установленных пакетов:
Вывод списка всех установленных пакетов:
Строка 31: Строка 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


Символ "=" информируют, что установлена актуальная версия пакета.
Символ "=" информируют, что установлена актуальная версия пакета.
Строка 47: Строка 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:
# 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.16p2_1:
Удаление 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)
Строка 68: Строка 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
Строка 74: Строка 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%
Строка 88: Строка 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
Строка 95: Строка 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.
 
Удаление из кеша в папке /var/cache/pkg загруженных пакетов, которые заменены более новыми версиями, а также пакетов, которые больше не предоставляются:
pkg clean
 
Удаление из кеша в папке /var/cache/pkg загруженных пакетов, включая те, которые ещё не были заменены более новыми версиями и всё ещё используются:
pkg clean -a

Текущая версия от 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%