+ ru/handbook: add translation of "pkgng-intro" subsection.
This commit is contained in:
parent
30055d5144
commit
e1cabaaef9
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=42397
1 changed files with 378 additions and 5 deletions
|
@ -7,7 +7,6 @@
|
|||
|
||||
Original revision: r41718
|
||||
-->
|
||||
<!-- Translation of <sect1 id="pkgng-intro"/> is currently not available. -->
|
||||
|
||||
<chapter id="ports">
|
||||
<chapterinfo>
|
||||
|
@ -606,11 +605,385 @@ docbook =
|
|||
</sect1>
|
||||
|
||||
<sect1 id="pkgng-intro">
|
||||
<!-- XXX Not translated yet -->
|
||||
<title>*Using <application>pkgng</application> for Binary Package
|
||||
Management</title>
|
||||
<title>Использование <application>pkgng</application> для управления
|
||||
бинарными пакетами</title>
|
||||
|
||||
<para>üÔÏÔ ÒÁÚÄÅÌ ÎÅ ÐÅÒÅ×ÅÄÅÎ.</para>
|
||||
<para><application>pkgng</application> — это усовершенствованный
|
||||
инструмент, пришедший на смену традиционным утилитам управления пакетами
|
||||
&os;. Он обладает множеством функциональных возможностей, ускоряющих
|
||||
и облегчающих работу с бинарными пакетами. Первый релиз
|
||||
<application>pkgng</application> состоялся в августе 2012 года.</para>
|
||||
|
||||
<para><application>pkgng</application> не является заменой для утилит
|
||||
управления портами, таких как
|
||||
<filename role="package">ports-mgmt/portmaster</filename> или
|
||||
<filename role="package">ports-mgmt/portupgrade</filename>. В то время,
|
||||
как <filename role="package">ports-mgmt/portmaster</filename> и
|
||||
<filename role="package">ports-mgmt/portupgrade</filename> позволяют
|
||||
устанавливать приложения сторонних разработчиков как из бинарных
|
||||
пакетов, так и из
|
||||
Коллекции Портов, утилита <application>pkgng</application>
|
||||
дает возможность устанавливать приложения исключительно из бинарных
|
||||
пакетов.</para>
|
||||
|
||||
<sect2 id="pkgng-initial-setup">
|
||||
<title>Начало работы с <application>pkgng</application></title>
|
||||
|
||||
<para>Во &os; 9.1 и более поздние включена программа
|
||||
"самонастройки" ("bootstrap")
|
||||
<application>pkgng</application>. Она скачивает и устанавливает
|
||||
основную утилиту <application>pkgng</application>.</para>
|
||||
|
||||
<para>Для запуска самонастройки, выполните:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>/usr/sbin/pkg</userinput></screen>
|
||||
|
||||
<para>Для более ранних версий &os; утилиту
|
||||
<application>pkgng</application> необходимо установить из Коллекции
|
||||
Портов или из бинарных пакетов.</para>
|
||||
|
||||
<para>Для установки <application>pkgng</application> из порта, запустите
|
||||
следующее:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/ports/ports-mgmt/pkg</userinput>
|
||||
&prompt.root; <userinput>make</userinput>
|
||||
&prompt.root; <userinput>make install clean</userinput></screen>
|
||||
|
||||
<para>Для установки из бинарного пакета, выполните:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg_add -r pkg</userinput></screen>
|
||||
|
||||
<para>Действующие инсталляции &os; требуют преобразования базы данных
|
||||
установленных пакетов утилиты <application>pkg_install</application>
|
||||
к новому формату. Для выполнения конвертирования, запустите:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg2ng</userinput></screen>
|
||||
|
||||
<para>Вышеприведенный шаг не требуется для новых инсталляций, в которых
|
||||
не было установлено программ сторонних разработчиков.</para>
|
||||
|
||||
<important>
|
||||
<para>Этот шаг необратим. После перевода базы данных установленных
|
||||
пакетов к формату <application>pkgng</application> утилитами
|
||||
<application>pkg_install</application> более пользоваться
|
||||
не следует.</para>
|
||||
</important>
|
||||
|
||||
<note>
|
||||
<para>В процессе конвертирования базы данных установленных пакетов
|
||||
могут возникать сообщения об ошибках. На данном этапе их можно
|
||||
игнорировать, так как перечень программ сторонних разработчиков,
|
||||
информация о которых не была преобразована, будет перечислен
|
||||
по завершении работы <command>pkg2ng</command>. Над этим перечнем
|
||||
придется поработать вручную.</para>
|
||||
</note>
|
||||
|
||||
<para>Чтобы убедиться, что Коллекция Портов &os; регистрирует
|
||||
новые программы при помощи <application>pkgng</application>, а не
|
||||
<application>pkg_install</application>, для версий &os;, предшествующих
|
||||
10.<replaceable>X</replaceable>, в файл
|
||||
<filename>/etc/make.conf</filename> необходимо внести следующую
|
||||
запись:</para>
|
||||
|
||||
<programlisting>WITH_PKGNG= yes</programlisting>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="pkgng-pkg-conf">
|
||||
<title>Настройка окружения <application>pkgng</application></title>
|
||||
|
||||
<para>Система управления пакетами <application>pkgng</application>
|
||||
при выполнении большинства операций обращается к пакетному
|
||||
репозиторию. Адрес используемого по умолчанию репозитория указан
|
||||
в <filename>/usr/local/etc/pkg.conf</filename> или в переменной
|
||||
окружения <envar>PACKAGESITE</envar>. Последняя переопределяет
|
||||
адрес, указанный в конфигурационном файле.</para>
|
||||
|
||||
<para>Дополнительные опции конфигурации <application>pkgng</application>
|
||||
описаны в pkg.conf(5).</para>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="pkgng-basic-usage">
|
||||
<title>Основные операции <application>pkgng</application></title>
|
||||
|
||||
<para>Информацию по работе с <application>pkgng</application> можно
|
||||
найти на странице справочника pkg(8), или в выводе утилиты
|
||||
<command>pkg</command>, запущенной без аргументов.</para>
|
||||
|
||||
<para>Каждый аргумент команды <application>pkgng</application> описан на
|
||||
соответствующей странице справочника. Например, чтобы ознакомиться
|
||||
со страницей справочника для <command>pkg install</command>,
|
||||
запустите любую из двух нижеследующих команд:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg help install</userinput></screen>
|
||||
|
||||
<screen>&prompt.root; <userinput>man pkg-install</userinput></screen>
|
||||
|
||||
<sect3 id="pkgng-pkg-info">
|
||||
<title>Получение информации об установленных пакетах при помощи
|
||||
<application>pkgng</application></title>
|
||||
|
||||
<para>Информация об установленных в системе пакетах может быть
|
||||
отображена при помощи команды <command>pkg info</command>. Подобно
|
||||
до &man.pkg.info.1;, в выводе перечисляются версии и описания всех
|
||||
установленных пакетов.</para>
|
||||
|
||||
<para>Если необходима информация о конкретном пакете, выполните:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg info <replaceable>packagename</replaceable></userinput></screen>
|
||||
|
||||
<para>Например, для получения версии <application>pkgng</application>,
|
||||
который установлен в системе, запустите:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg info pkg</userinput>
|
||||
pkg-1.0.2 New generation package manager</screen>
|
||||
</sect3>
|
||||
|
||||
<sect3 id="pkgng-installing-deinstalling">
|
||||
<title>Установка и удаление пакетов при помощи
|
||||
<application>pkgng</application></title>
|
||||
|
||||
<para>В общем, бинарные пакеты устанавливаются при помощи:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg install <replaceable>packagename</replaceable></userinput></screen>
|
||||
|
||||
<para>Команда <command>pkg install</command> обращается к пакетному
|
||||
репозиторию, это упоминалось в <xref linkend="pkgng-pkg-conf"/>.
|
||||
Команда pkg-add(8), напротив, не выполняет обращений к пакетному
|
||||
репозиторию, а также игнорирует переменную
|
||||
<envar>PACKAGESITE</envar>. Как следствие — зависимости
|
||||
не отслеживаются, и необходимые зависимые компоненты не скачиваются
|
||||
с удаленного источника. В этом разделе описана работа с
|
||||
<command>pkg install</command>. За подробностями работы с
|
||||
<command>pkg add</command> обратитесь к справочной странице по
|
||||
pkg-add(8).</para>
|
||||
|
||||
<para>Утилита <command>pkg install</command> может устанавливать
|
||||
дополнительные бинарные пакеты. Например, для установки
|
||||
<application>curl</application>, выполните:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg install curl</userinput>
|
||||
Updating repository catalogue
|
||||
Repository catalogue is up-to-date, no need to fetch fresh copy
|
||||
The following packages will be installed:
|
||||
|
||||
Installing ca_root_nss: 3.13.5
|
||||
Installing curl: 7.24.0
|
||||
|
||||
The installation will require 4 MB more space
|
||||
|
||||
1 MB to be downloaded
|
||||
|
||||
Proceed with installing packages [y/N]: <userinput>y</userinput>
|
||||
ca_root_nss-3.13.5.txz 100% 255KB 255.1KB/s 255.1KB/s 00:00
|
||||
curl-7.24.0.txz 100% 1108KB 1.1MB/s 1.1MB/s 00:00
|
||||
Checking integrity... done
|
||||
Installing ca_root_nss-3.13.5... done
|
||||
Installing curl-7.24.0... done</screen>
|
||||
|
||||
<para>Новый пакет, как и любые дополнительные пакеты, которые были
|
||||
установлены как зависимости, перечисляются в списке установленных
|
||||
пакетов:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg info</userinput>
|
||||
ca_root_nss-3.13.5 The root certificate bundle from the Mozilla Project
|
||||
curl-7.24.0 Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers
|
||||
pkg-1.0.2 New generation package manager</screen>
|
||||
|
||||
<para>Пакеты, в которых более нет необходимости, могут быть удалены
|
||||
при помощи <command>pkg delete</command>. Например, если выяснится,
|
||||
что <application>curl</application> не нужен:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg delete curl</userinput>
|
||||
The following packages will be deleted:
|
||||
|
||||
curl-7.24.0_1
|
||||
|
||||
The deletion will free 3 MB
|
||||
|
||||
Proceed with deleting packages [y/N]: <userinput>y</userinput>
|
||||
Deleting curl-7.24.0_1... done</screen>
|
||||
</sect3>
|
||||
|
||||
<sect3 id="pkgng-upgrading">
|
||||
<title>Обновление установленных пакетов при помощи
|
||||
<application>pkgng</application></title>
|
||||
|
||||
<para>Пакеты, версии которых устарели, можно найти при помощи команды
|
||||
<command>pkg version</command>. Версии установленных пакетов
|
||||
сравниваются с версиями приложений из локального дерева портов,
|
||||
а в случае отсутствия портов pkg-version(8) обращается к удаленному
|
||||
репозиторию пакетов.</para>
|
||||
|
||||
<para>При помощи <application>pkgng</application> можно обновлять
|
||||
пакеты до новых версий. Предположим, вышла новая версия
|
||||
<application>curl</application>. Установленный пакет можно
|
||||
обновить к новой версии, выполнив:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg upgrade</userinput>
|
||||
Updating repository catalogue
|
||||
repo.txz 100% 297KB 296.5KB/s 296.5KB/s 00:00
|
||||
The following packages will be upgraded:
|
||||
|
||||
Upgrading curl: 7.24.0 -> 7.24.0_1
|
||||
|
||||
1 MB to be downloaded
|
||||
|
||||
Proceed with upgrading packages [y/N]: <userinput>y</userinput>
|
||||
curl-7.24.0_1.txz 100% 1108KB 1.1MB/s 1.1MB/s 00:00
|
||||
Checking integrity... done
|
||||
Upgrading curl from 7.24.0 to 7.24.0_1... done</screen>
|
||||
</sect3>
|
||||
|
||||
<sect3 id="pkgng-auditing">
|
||||
<title>Аудит безопасности пакетов при помощи
|
||||
<application>pkgng</application></title>
|
||||
|
||||
<para>Изредка в приложениях из Коллекции Портов обнаруживаются
|
||||
уязвимости. В <application>pkgng</application> встроена возможность
|
||||
выполнять аудит безопасности, действующая подобно приложению из
|
||||
<filename role="package">ports-mgmt/portaudit</filename>. Для
|
||||
выполнения аудита установленных в систему программ, выполните:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg audit -F</userinput></screen>
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
||||
<sect2 id="pkgng-advanced-usage">
|
||||
<title>Сложные вопросы работы с <application>pkgng</application></title>
|
||||
|
||||
<sect3 id="pkgng-autoremove">
|
||||
<title>Автоматическое удаление неиспользуемых зависимостей при
|
||||
помощи <application>pkgng</application></title>
|
||||
|
||||
<para>После удаления пакета в системе могут остаться неиспользуемые
|
||||
зависимости, наподобие <filename
|
||||
role="package">security/ca_root_nss</filename> из примера выше.
|
||||
Такие пакеты остаются установленными, несмотря на то, что они
|
||||
более не требуются другим пакетам. Определить и удалить
|
||||
неиспользуемые пакеты, которые были установлены как зависимости,
|
||||
можно при помощи:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg autoremove</userinput>
|
||||
Packages to be autoremoved:
|
||||
ca_root_nss-3.13.5
|
||||
|
||||
The autoremoval will free 723 kB
|
||||
|
||||
Proceed with autoremoval of packages [y/N]: <userinput>y</userinput>
|
||||
Deinstalling ca_root_nss-3.13.5... done</screen>
|
||||
</sect3>
|
||||
|
||||
<sect3 id="pkgng-backup">
|
||||
<title>Резервное копирование базы данных установленных пакетов
|
||||
<application>pkgng</application></title>
|
||||
|
||||
<para>В отличие от традиционной системы управления пакетами,
|
||||
<application>pkgng</application> располагает своим собственным
|
||||
механизмом резервного копирования базы данных. Для ручного создания
|
||||
резервной копии базы данных установленных пакетов, выполните:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg backup -d <replaceable>pkgng.db</replaceable></userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>Замените имя файла <replaceable>pkgng.db</replaceable> на
|
||||
более подходящее.</para>
|
||||
</note>
|
||||
|
||||
<para>В дополнение, <application>pkgng</application> содержит скрипт
|
||||
&man.periodic.8;, позволяющий выполнять ежедневное автоматическое
|
||||
копирование базы данных установленных пакетов.
|
||||
Для активации данной возможности задайте переменной
|
||||
<literal>daily_backup_pkgng_enable</literal> значение
|
||||
<literal>YES</literal> в файле &man.periodic.conf.5;.</para>
|
||||
|
||||
<tip>
|
||||
<para>Для предотвращения периодического запуска аналогичного скрипта
|
||||
системы <application>pkg_install</application>, также выполняющего
|
||||
резервное копирование базы данных установленных пакетов, задайте
|
||||
переменной <literal>daily_backup_pkgdb_enable</literal> значение
|
||||
<literal>NO</literal> в файле &man.periodic.conf.5;.</para>
|
||||
</tip>
|
||||
|
||||
<para>Для восстановления содержимого базы данных установленных пакетов
|
||||
из резервной копии, выполните:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg backup -r <replaceable>/path/to/pkgng.db</replaceable></userinput></screen>
|
||||
</sect3>
|
||||
|
||||
<sect3 id="pkgng-clean">
|
||||
<title>Удаление копий устаревших пакетов в системе
|
||||
<application>pkgng</application></title>
|
||||
|
||||
<para>По умолчанию, <application>pkgng</application> сохраняет копии
|
||||
установленных бинарных пакетов в каталог, указанный переменной
|
||||
<envar>PKG_CACHEDIR</envar> в pkg.conf(5). При обновлении пакетов
|
||||
командой <command>pkg upgrade</command> старые версии обновленных
|
||||
пакетов автоматически не удаляются.</para>
|
||||
|
||||
<para>Для удаления устаревших версий бинарных пакетов из кеш-каталога,
|
||||
выполните:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg clean</userinput></screen>
|
||||
</sect3>
|
||||
|
||||
<sect3 id="pkgng-set">
|
||||
<title>Изменение метаданных пакетов
|
||||
<application>pkgng</application></title>
|
||||
|
||||
<para>Со временем программы из Коллекции Портов могут претерпевать
|
||||
изменения старшего (major) номера версии. В отличие от
|
||||
<application>pkg_install</application>,
|
||||
<application>pkgng</application> располагает встроенной командой для
|
||||
обновления информации о происхождении (origin) пакета. Например,
|
||||
изначально порт <filename role="package">lang/php5</filename>
|
||||
был версии <literal>5.3</literal>. Позже этот порт был переименован
|
||||
в <filename role="package">lang/php53</filename>, а под именем
|
||||
<filename role="package">lang/php5</filename> был создан порт версии
|
||||
<literal>5.4</literal>. Утилитам системы
|
||||
<application>pkg_install</application> для обновления информации
|
||||
о происхождении (origin) пакета в собственной базе данных
|
||||
установленных пакетов потребовалась бы помощь дополнительного
|
||||
программного обеспечения, такого как
|
||||
<filename role="package">ports-mgmt/portmaster</filename>.</para>
|
||||
|
||||
<para>В отличие от
|
||||
<filename role="package">ports-mgmt/portmaster</filename> и
|
||||
<filename role="package">ports-mgmt/portupgrade</filename> для
|
||||
портов, порядок перечисления новой и старой версий отличаются.
|
||||
Для <application>pkgng</application> необходим следующий
|
||||
порядок:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg set -o <replaceable>category/oldport</replaceable>:<replaceable>category/newport</replaceable></userinput></screen>
|
||||
|
||||
<para>Например, в вышеприведенном случае для замены информации
|
||||
о происхождении пакета, выполните:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg set -o lang/php5:lang/php53</userinput></screen>
|
||||
|
||||
<para>Еще один пример: для изменения информации о происхождении
|
||||
пакета с <filename role="package">lang/ruby18</filename> на
|
||||
<filename role="package">lang/ruby19</filename>, выполните:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg set -o lang/ruby18:lang/ruby19</userinput></screen>
|
||||
|
||||
<para>И последний пример: для замены информации о происхождении пакета
|
||||
разделяемой библиотеки <filename>libglut</filename> с
|
||||
<filename role="package">graphics/libglut</filename> на
|
||||
<filename role="package">graphics/freeglut</filename>,
|
||||
запустите:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg set -o graphics/libglut:graphics/freeglut</userinput></screen>
|
||||
|
||||
<note>
|
||||
<para>Выполняя замену информации о происхождении пакетов, в
|
||||
большинстве случаев также требуется переустановить пакеты, которые
|
||||
зависят от изменившегося пакета. Для принудительной переустановки
|
||||
зависящих пакетов, выполните:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg install -Rf <replaceable>graphics/freeglut</replaceable></userinput></screen>
|
||||
</note>
|
||||
</sect3>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="ports-using">
|
||||
|
|
Loading…
Reference in a new issue