# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # Vladlen Popolitov , 2025, 2026. msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2026-02-22 15:58+0000\n" "PO-Revision-Date: 2026-03-05 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.17\n" #. type: YAML Front Matter: description #: documentation/content/en/books/handbook/ports/_index.adoc:1 #, no-wrap msgid "FreeBSD provides two complementary technologies for installing third-party software: the FreeBSD Ports Collection, for installing from source, and packages, for installing from pre-built binaries" msgstr "FreeBSD предоставляет две взаимодополняющие технологии для установки стороннего программного обеспечения: коллекцию портов FreeBSD для установки из исходного кода и пакеты для установки из предварительно собранных бинарных файлов" #. type: YAML Front Matter: part #: documentation/content/en/books/handbook/ports/_index.adoc:1 #, no-wrap msgid "Part I. Getting Started" msgstr "В начале" #. type: YAML Front Matter: title #: documentation/content/en/books/handbook/ports/_index.adoc:1 #, no-wrap msgid "Chapter 4. Installing Applications: Packages and Ports" msgstr "Глава 4. Установка приложений: Пакеты и Порты" #. type: Title = #: documentation/content/en/books/handbook/ports/_index.adoc:15 #, no-wrap msgid "Installing Applications: Packages and Ports" msgstr "Установка приложений: пакеты и порты" #. type: Title == #: documentation/content/en/books/handbook/ports/_index.adoc:53 #, no-wrap msgid "Synopsis" msgstr "Обзор" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:59 msgid "" "FreeBSD is bundled with a rich collection of system tools as part of the " "base system. In addition, FreeBSD provides two complementary technologies " "for installing third-party software: the FreeBSD Ports Collection, for " "installing from source, and packages, for installing from pre-built " "binaries. Either method may be used to install software from local media or " "from the network." msgstr "" "FreeBSD поставляется с богатым набором системных инструментов в составе " "базовой системы. Кроме того, FreeBSD предоставляет две дополнительные " "технологии для установки стороннего программного обеспечения: коллекцию " "портов FreeBSD для установки из исходных кодов и пакеты для установки из " "предварительно собранных бинарных файлов. Оба метода могут быть использованы " "для установки программного обеспечения как с локальных носителей, так и из " "сети." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:61 msgid "Read this chapter to learn:" msgstr "Прочтите эту главу, чтобы узнать:" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:63 msgid "The difference between binary packages and ports." msgstr "Разница между бинарными пакетами и портами." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:64 msgid "How to find third-party software that has been ported to FreeBSD." msgstr "Как найти стороннее программное обеспечение, портированное на FreeBSD." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:65 msgid "How to manage binary packages using pkg." msgstr "Как управлять бинарными пакетами с помощью pkg." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:66 msgid "" "How to build third-party software from source using the Ports Collection." msgstr "" "Как собрать стороннее программное обеспечение из исходных кодов с " "использованием Коллекции портов." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:67 msgid "" "How to find the files installed with the application for post-installation " "configuration." msgstr "" "Как найти файлы, установленные с приложением, для пост-установочной " "настройки." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:68 msgid "What to do if a software installation fails." msgstr "Что делать, если установка программного обеспечения не удалась." #. type: Title == #: documentation/content/en/books/handbook/ports/_index.adoc:70 #, no-wrap msgid "Overview of Software Installation" msgstr "Обзор установки программного обеспечения" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:74 msgid "" "A FreeBSD _port_ is a collection of files designed to automate the process " "of compiling an application from source code. The files that comprise a " "port contain all the necessary information to automatically download, " "extract, patch, compile, and install the application." msgstr "" "Порт FreeBSD — это набор файлов, предназначенных для автоматизации процесса " "компиляции приложения из исходного кода. Файлы, из которых состоит порт, " "содержат всю необходимую информацию для автоматической загрузки, распаковки, " "наложения исправлений, компиляции и установки приложения." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:76 msgid "" "If the software has not already been adapted and tested on FreeBSD, the " "source code might need editing in order for it to install and run properly." msgstr "" "Если программное обеспечение ещё не адаптировано и не протестировано на " "FreeBSD, может потребоваться редактирование исходного кода для его " "правильной установки и работы." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:79 msgid "" "However, over link:https://ports.FreeBSD.org[{numports}] third-party " "applications have already been ported to FreeBSD. When feasible, these " "applications are made available for download as pre-compiled _packages_." msgstr "" "Однако более link:https://ports.FreeBSD.org[{numports}] сторонних приложений " "уже портированы на FreeBSD. По возможности эти приложения доступны для " "загрузки в виде предварительно скомпилированных _пакетов_." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:81 msgid "" "Packages can be manipulated with the FreeBSD package management commands." msgstr "Пакетами можно управлять с помощью команд управления пакетами FreeBSD." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:84 msgid "" "Both packages and ports understand dependencies. If a package or port is " "used to install an application and a dependent library is not already " "installed, the library will automatically be installed first." msgstr "" "Как пакеты, так и порты учитывают зависимости. Если приложение " "устанавливается с помощью пакета или порта, а необходимая библиотека ещё не " "установлена, эта библиотека будет автоматически установлена первой." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:87 msgid "" "A FreeBSD package contains pre-compiled copies of all the commands for an " "application, as well as any configuration files and documentation. A " "package can be manipulated with the man:pkg[8] commands, such as `pkg " "install`." msgstr "" "Пакет FreeBSD содержит предварительно скомпилированные версии всех команд " "приложения, а также любые конфигурационные файлы и документацию. Пакетом " "можно управлять с помощью команд man:pkg[8], таких как `pkg install`." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:90 msgid "" "While the two technologies are similar, packages and ports each have their " "own strengths. Select the technology that meets the needs for installing a " "particular application." msgstr "" "Хотя эти две технологии схожи, пакеты и порты имеют свои сильные стороны. " "Выберите технологию, которая соответствует вашим потребностям, для установки " "конкретного приложения." #. type: Block title #: documentation/content/en/books/handbook/ports/_index.adoc:91 #, no-wrap msgid "Package Benefits" msgstr "Преимущества пакетов" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:93 msgid "" "A compressed package tarball is typically smaller than the compressed " "tarball containing the source code for the application." msgstr "" "Сжатый tar-архив пакета обычно меньше, чем сжатый tar-архив с исходным кодом " "приложения." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:94 msgid "" "Packages do not require compilation time. For large applications, such as " "Firefox, KDE Plasma, or GNOME, this can be important on a slow system." msgstr "" "Пакеты не требуют времени на компиляцию. Для больших приложений, таких как " "Firefox, KDE Plasma или GNOME, это может быть важно на медленной системе." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:95 msgid "" "Packages do not require any understanding of the process involved in " "compiling software on FreeBSD." msgstr "" "Пакеты не требуют понимания процесса компиляции программного обеспечения в " "FreeBSD." #. type: Block title #: documentation/content/en/books/handbook/ports/_index.adoc:96 #, no-wrap msgid "Port Benefits" msgstr "Преимущества портов" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:98 msgid "" "Packages are normally compiled with conservative options because they have " "to run on the maximum number of systems. By compiling from the port, one can " "change the compilation options." msgstr "" "Пакеты обычно компилируются с консервативными параметрами, так как они " "должны работать на максимальном количестве систем. При компиляции из портов " "можно изменить параметры компиляции." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:99 msgid "" "Some applications have compile-time options relating to which features are " "installed. For example, NGINX(R) can be configured with a wide variety of " "different built-in options." msgstr "" "Некоторые приложения имеют параметры на этапе компиляции, определяющие, " "какие функции будут установлены. Например, NGINX(R) можно настроить с " "широким набором различных встроенных опций." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:101 msgid "" "In some cases, multiple packages will exist for the same application with " "different settings. For example, NGINX(R) is available as a `nginx` package " "and a `nginx-lite` package, the former has many more options enabled, but " "this in turn requires many things to be installed as dependencies for it to " "work, thus increasing space consumption and attack surface." msgstr "" "В некоторых случаях для одного приложения могут существовать несколько " "пакетов с разными настройками. Например, NGINX(R) доступен в виде пакетов " "`nginx` и `nginx-lite`. Первый имеет гораздо больше включенных опций, но " "это, в свою очередь, требует установки множества зависимостей для его " "работы, что увеличивает занимаемое место и поверхность для атак." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:103 msgid "" "The transitive dependencies can grow quite large, for example the full " "`nginx` package will pull in several X libraries which can be quite " "surprising, so building from ports allows to choose only the options needed " "without a \"kitchen sink\" approach. In some cases, multiple packages will " "exist for the same application to specify certain settings." msgstr "" "Транзитивные зависимости могут стать довольно большими, например, полный " "пакет `nginx` потянет за собой несколько X-библиотек, что может оказаться " "неожиданным. Сборка из портов позволяет выбрать только нужные опции, избегая " "подхода «всё включено». В некоторых случаях для одного приложения могут " "существовать несколько пакетов с разными настройками." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:104 msgid "" "The licensing conditions of some software forbid binary distribution. Such " "software must be distributed as source code which must be compiled by the " "end-user." msgstr "" "Условия лицензирования некоторых программных продуктов запрещают " "распространение в бинарном виде. Такое программное обеспечение должно " "распространяться в виде исходного кода, который конечный пользователь должен " "самостоятельно скомпилировать." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:105 msgid "" "Some people do not trust binary distributions or prefer to read through " "source code in order to look for potential problems." msgstr "" "Некоторые люди не доверяют бинарным дистрибутивам или предпочитают изучать " "исходный код, чтобы выявить потенциальные проблемы." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:106 msgid "Source code is needed in order to apply custom patches." msgstr "Исходный код необходим для применения пользовательских исправлений." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:108 msgid "" "To keep track of updated ports, subscribe to the {freebsd-ports} and the " "{freebsd-ports-bugs}." msgstr "" "Для отслеживания обновлений портов подпишитесь на рассылки {freebsd-ports} и " "{freebsd-ports-bugs}." #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:112 msgid "" "Before installing an application, check https://vuxml.freebsd.org/[] for " "related security issues." msgstr "" "Перед установкой приложения проверьте https://vuxml.freebsd.org/[] на " "наличие связанных проблем с безопасностью." #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:114 msgid "" "To audit installed packages against known vulnerabilities, run `pkg audit -" "F`." msgstr "" "Для проверки установленных пакетов на наличие известных уязвимостей " "выполните команду `pkg audit -F`." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:117 msgid "" "The remainder of this chapter explains how to use packages and ports to " "install and manage third-party software on FreeBSD." msgstr "" "Оставшаяся часть этой главы объясняет, как использовать пакеты и порты для " "установки и управления сторонним программным обеспечением в FreeBSD." #. type: Title == #: documentation/content/en/books/handbook/ports/_index.adoc:119 #, no-wrap msgid "Finding Software" msgstr "Поиск программного обеспечения" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:123 msgid "" "FreeBSD's list of available applications is growing all the time. There are " "a number of ways to find software to install:" msgstr "" "Список доступных приложений для FreeBSD постоянно растет. Существует " "несколько способов найти программное обеспечение для установки:" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:125 msgid "" "The FreeBSD web site maintains an up-to-date searchable list of all the " "available applications, at link:https://ports.FreeBSD.org[Ports Portal]. The " "ports can be searched by application name or by software category." msgstr "" "Веб-сайт FreeBSD содержит актуальный поисковый список всех доступных " "приложений на странице link:https://ports.FreeBSD.org[Портала портов]. Порты " "можно искать по названию приложения или по категории программного " "обеспечения." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:126 msgid "" "Dan Langille maintains https://www.freshports.org/[FreshPorts] which " "provides a comprehensive search utility and also tracks changes to the " "applications in the Ports Collection. Registered users can create a " "customized watch list in order to receive an automated email when their " "watched ports are updated." msgstr "" "Дэн Лангилл поддерживает https://www.freshports.org/[FreshPorts], который " "предоставляет удобный поиск и отслеживает изменения в приложениях из " "коллекции портов. Зарегистрированные пользователи могут создать " "индивидуальный список наблюдения, чтобы получать автоматические уведомления " "по электронной почте при обновлении отслеживаемых портов." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:127 msgid "" "If finding a particular application becomes challenging, try searching a " "site like https://sourceforge.net/[SourceForge] or https://github.com/" "[GitHub] then check back at the link:https://ports.FreeBSD.org[Ports Portal] " "to see if the application has been ported." msgstr "" "Если найти конкретное приложение становится сложно, попробуйте поискать на " "таких сайтах, как https://sourceforge.net/[SourceForge] или https://github." "com/[GitHub], а затем проверьте ссылку link:https://ports.FreeBSD.org[Ports " "Portal], чтобы узнать, было ли это приложение портировано." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:128 msgid "" "Search the binary package repository for an application using the man:pkg[8] " "command" msgstr "" "Поиск репозитория бинарных пакетов для приложения с помощью команды man:" "pkg[8]" #. type: Title == #: documentation/content/en/books/handbook/ports/_index.adoc:130 #, no-wrap msgid "Using pkg for Binary Package Management" msgstr "Использование pkg для управления бинарными пакетами" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:133 msgid "" "man:pkg[8] provides an interface for manipulating\tpackages: registering, " "adding, removing and upgrading packages." msgstr "" "man:pkg[8] предоставляет интерфейс для управления пакетами: регистрации, " "добавления, удаления и обновления пакетов." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:135 msgid "" "For sites wishing to only use prebuilt binary packages from the FreeBSD " "mirrors, managing packages with man:pkg[8] can be sufficient." msgstr "" "Для сайтов, которые хотят использовать только предварительно собранные " "бинарные пакеты из зеркал FreeBSD, управления пакетами с помощью man:pkg[8] " "может быть достаточно." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:138 msgid "" "However, for those sites building from source a separate crossref:" "ports[ports-upgrading-tools, port management tool] will be needed." msgstr "" "Однако для сайтов, собирающих из исходного кода, потребуется отдельный " "crossref:ports[ports-upgrading-tools,инструмент управления портами]." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:141 msgid "" "Since man:pkg[8] only works with binary packages, it is not a replacement " "for such tools. Those tools can be used to install software from both " "binary packages and the Ports Collection, while man:pkg[8] installs only " "binary packages." msgstr "" "Поскольку man:pkg[8] работает только с бинарными пакетами, он не является " "заменой таким инструментам. Эти инструменты можно использовать для установки " "программного обеспечения как из бинарных пакетов, так и из коллекции портов, " "тогда как man:pkg[8] устанавливает только бинарные пакеты." #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:143 #, no-wrap msgid "Getting Started with pkg" msgstr "Начало работы с pkg" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:147 msgid "" "All supported versions of FreeBSD now contain `/usr/sbin/pkg` a.k.a man:" "pkg[7]. This is a small placeholder that has just the minimum functionality " "required to install the real man:pkg[8]." msgstr "" "Все поддерживаемые версии FreeBSD теперь содержат `/usr/sbin/pkg`, также " "известный как man:pkg[7]. Это небольшая заглушка, которая обладает лишь " "минимальной функциональностью, необходимой для установки настоящего man:" "pkg[8]." #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:151 msgid "" "An Internet working connection is required for the bootstrap process to " "succeed." msgstr "" "Для успешного завершения процесса начальной загрузки требуется рабочее " "подключение к Интернету." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:154 msgid "Run man:pkg[8] command line:" msgstr "Выполните команду man:pkg[8] из командной строки:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:158 #, no-wrap msgid "# pkg\n" msgstr "# pkg\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:161 #: documentation/content/en/books/handbook/ports/_index.adoc:292 #: documentation/content/en/books/handbook/ports/_index.adoc:324 #: documentation/content/en/books/handbook/ports/_index.adoc:359 #: documentation/content/en/books/handbook/ports/_index.adoc:386 #: documentation/content/en/books/handbook/ports/_index.adoc:431 #: documentation/content/en/books/handbook/ports/_index.adoc:486 #: documentation/content/en/books/handbook/ports/_index.adoc:513 #: documentation/content/en/books/handbook/ports/_index.adoc:543 #: documentation/content/en/books/handbook/ports/_index.adoc:568 #: documentation/content/en/books/handbook/ports/_index.adoc:586 msgid "The output should be similar to the following:" msgstr "Вывод должен быть похож на следующий:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:166 #, no-wrap msgid "" "The package management tool is not yet installed on your system.\n" "Do you want to fetch and install it now? [y/N]\n" msgstr "" "The package management tool is not yet installed on your system.\n" "Do you want to fetch and install it now? [y/N]\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:169 msgid "" "man:pkg[7] will intercept the command, and when confirmed, downloads the man:" "pkg[8] tarball, installs man:pkg[8] from it, bootstraps the local package " "database and then proceeds to run the command originally requested." msgstr "" "man:pkg[7] перехватит команду, и если вы подтвердите своё намерение, " "загрузит tarball man:pkg[8], установит man:pkg[8] из него, инициализирует " "локальную базу данных пакетов, а затем выполнит изначально запрошенную " "команду." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:171 msgid "" "More recent versions of man:pkg[7] understand `pkg -N` as a test to see if " "man:pkg[8] is installed without triggering the installation, and conversely, " "pkg bootstrap[-f] to install man:pkg[8] (or force it to be reinstalled) " "without performing any other actions." msgstr "" "Более новые версии man:pkg[7] поддерживают `pkg -N` для проверки, установлен " "ли man:pkg[8], без запуска процесса установки, и, наоборот, `pkg bootstrap[-" "f]` для установки man:pkg[8] (или принудительной переустановки) без " "выполнения других действий." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:174 msgid "" "Usage information for pkg is available in the man:pkg[8] manual page or by " "running `pkg` without additional arguments. Additional pkg configuration " "options are described in man:pkg.conf[5]." msgstr "" "Информация по использованию pkg доступна на man:pkg[8] или при запуске `pkg` " "без дополнительных аргументов. Дополнительные параметры настройки pkg " "описаны в man:pkg.conf[5]." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:176 msgid "" "Each pkg command argument is documented in a command-specific manual page." msgstr "" "Каждый аргумент команды pkg документирован в соответствующем руководстве, " "специфичном для команды." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:178 msgid "" "To read the manual page for `pkg install`, for example, run this command:" msgstr "" "Чтобы прочитать справочную страницу для `pkg install`, например, выполните " "следующую команду:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:182 #, no-wrap msgid "# pkg help install\n" msgstr "# pkg help install\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:187 msgid "" "The rest of this section demonstrates common binary package management tasks " "which can be performed using man:pkg[8]. Each demonstrated command provides " "many switches to customize its use. Refer to a command's help or man page " "for details and more examples." msgstr "" "Оставшаяся часть этого раздела демонстрирует распространённые задачи " "управления бинарными пакетами, которые можно выполнять с помощью man:pkg[8]. " "Каждая из представленных команд предоставляет множество ключей для настройки " "их использования. Подробности и дополнительные примеры смотрите в справке " "(help) или man-странице соответствующей команды." #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:189 #, no-wrap msgid "Quarterly and Latest Ports Branches" msgstr "Квартальные и последние ветви портов" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:198 msgid "" "The `Quarterly` branch provides users with a more predictable and stable " "experience for port and package installation and upgrades. This is done " "essentially by only allowing non-feature updates. Quarterly branches aim to " "receive security fixes (that may be version updates, or backports of " "commits), bug fixes and ports compliance or framework changes. The " "Quarterly branch is cut from HEAD at the beginning of every (yearly) quarter " "in January, April, July, and October. Branches are named according to the " "year (YYYY) and quarter (Q1-4) they are created in. For example, the " "quarterly branch created in January 2023, is named 2023Q1. And the `Latest` " "branch provides the latest versions of the packages to the users." msgstr "" "Ветка `Quarterly` предоставляет пользователям более предсказуемую и " "стабильную среду для установки и обновления портов и пакетов. Это " "достигается за счёт того, что в неё вносятся только обновления, не связанные " "с добавлением новых функций. Ветки Quarterly получают исправления " "безопасности (которые могут включать обновления версий или обратные порты " "коммитов), исправления ошибок, а также изменения, связанные с соответствием " "портов или изменения в их инфраструктуре. Ветка Quarterly создаётся из HEAD " "в начале каждого квартала (года) в январе, апреле, июле и октябре. Ветки " "именуются в соответствии с годом (YYYY) и кварталом (Q1-4), в котором они " "созданы. Например, ветка quarterly, созданная в январе 2023 года, называется " "2023Q1. А ветка `Latest` предоставляет пользователям самые последние версии " "пакетов." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:200 msgid "" "To switch man:pkg[8] from Quarterly to Latest run the following commands:" msgstr "" "Чтобы переключить man:pkg[8] с Quarterly на Latest, выполните следующие " "команды:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:205 #, no-wrap msgid "" "# mkdir -p /usr/local/etc/pkg/repos\n" "# echo 'FreeBSD-ports: { url: \"pkg+https://pkg.FreeBSD.org/${ABI}/latest\" }' > /usr/local/etc/pkg/repos/FreeBSD.conf\n" msgstr "" "# mkdir -p /usr/local/etc/pkg/repos\n" "# echo 'FreeBSD-ports: { url: \"pkg+https://pkg.FreeBSD.org/${ABI}/latest\" }" "' > /usr/local/etc/pkg/repos/FreeBSD.conf\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:208 msgid "" "Then run this command to update the local package repositories catalogues " "for the Latest branch:" msgstr "" "Затем выполните эту команду, чтобы обновить каталоги локальных репозиториев " "пакетов для ветки Latest:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:212 #, no-wrap msgid "# pkg update -f\n" msgstr "# pkg update -f\n" #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:215 #, no-wrap msgid "Kernel modules repositories" msgstr "Репозитории модулей ядра" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:222 msgid "" "The kernel module repositories allow users to install ready to use kernel " "modules like the ones used for graphic drivers and specific hardware. " "Starting with FreeBSD 14.3, the FreeBSD Project provides kernel modules " "built for every supported version. To create such a repository configuration " "if it does not exist, add the following to [.filename]#/usr/local/etc/pkg/" "repos/kmods.conf#:" msgstr "" "Репозитории модулей ядра позволяют пользователям устанавливать готовые к " "использованию модули, такие как драйверы графики и поддержка специфичного " "оборудования. Начиная с FreeBSD 14.3, проект FreeBSD предоставляет собранные " "модули ядра для каждой поддерживаемой версии. Чтобы создать конфигурацию " "такого репозитория (если она отсутствует), добавьте следующее в [.filename]#/" "usr/local/etc/pkg/repos/kmods.conf#:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:231 #, no-wrap msgid "" "FreeBSD-kmods: {\n" " url: \"pkg+https://pkg.FreeBSD.org/${ABI}/KMODSFLAVOR\",\n" " mirror_type: \"srv\",\n" " signature_type: \"fingerprints\",\n" " fingerprints: \"/usr/share/keys/pkg\",\n" " enabled: yes\n" "}\n" msgstr "" "FreeBSD-kmods: {\n" " url: \"pkg+https://pkg.FreeBSD.org/${ABI}/KMODSFLAVOR\",\n" " mirror_type: \"srv\",\n" " signature_type: \"fingerprints\",\n" " fingerprints: \"/usr/share/keys/pkg\",\n" " enabled: yes\n" "}\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:234 msgid "" "`KMODSFLAVOR` respects the following pattern: " "`kmods_PORTBRANCH_MINORRELEASE`." msgstr "" "Переменная `KMODSFLAVOR` использует следующий шаблон именования: " "`kmods_PORTBRANCH_MINORRELEASE`." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:236 msgid "For instance:" msgstr "Например:" #. type: Block title #: documentation/content/en/books/handbook/ports/_index.adoc:237 #, no-wrap msgid "Kmodsflavor" msgstr "Kmodsflavor" #. type: Table #: documentation/content/en/books/handbook/ports/_index.adoc:241 #, no-wrap msgid "FreeBSD Release" msgstr "Релиз FreeBSD" #. type: Table #: documentation/content/en/books/handbook/ports/_index.adoc:241 #, no-wrap msgid "ports main" msgstr "главные порты" #. type: Table #: documentation/content/en/books/handbook/ports/_index.adoc:243 #, no-wrap msgid "ports quarterly" msgstr "квартальные порты" #. type: Table #: documentation/content/en/books/handbook/ports/_index.adoc:244 #, no-wrap msgid "FreeBSD 14.2-RELEASE" msgstr "FreeBSD 14.2-RELEASE" #. type: Table #: documentation/content/en/books/handbook/ports/_index.adoc:245 #, no-wrap msgid "kmods_latest_2" msgstr "kmods_latest_2" #. type: Table #: documentation/content/en/books/handbook/ports/_index.adoc:247 #, no-wrap msgid "kmods_quarterly_2" msgstr "kmods_quarterly_2" #. type: Table #: documentation/content/en/books/handbook/ports/_index.adoc:248 #, no-wrap msgid "FreeBSD 14.3-RELEASE" msgstr "FreeBSD 14.3-RELEASE" #. type: Table #: documentation/content/en/books/handbook/ports/_index.adoc:249 #, no-wrap msgid "kmods_latest_3" msgstr "kmods_latest_3" #. type: Table #: documentation/content/en/books/handbook/ports/_index.adoc:251 #, no-wrap msgid "kmods_quarterly_3" msgstr "kmods_quarterly_3" #. type: Table #: documentation/content/en/books/handbook/ports/_index.adoc:252 #, no-wrap msgid "FreeBSD 14.3-STABLE" msgstr "FreeBSD 14.3-STABLE" #. type: Table #: documentation/content/en/books/handbook/ports/_index.adoc:253 #: documentation/content/en/books/handbook/ports/_index.adoc:257 #, no-wrap msgid "kmods_latest" msgstr "kmods_latest" #. type: Table #: documentation/content/en/books/handbook/ports/_index.adoc:255 #, no-wrap msgid "kmods_quarterly" msgstr "kmods_quarterly" #. type: Table #: documentation/content/en/books/handbook/ports/_index.adoc:256 #, no-wrap msgid "FreeBSD 15.0-CURRENT" msgstr "FreeBSD 15.0-CURRENT" #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:261 #, no-wrap msgid "Configure pkg" msgstr "Настройка pkg" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:265 msgid "" "man:pkg.conf[5] is the system-wide configuration file used by the man:pkg[8] " "tools. The default location of this file is `/usr/local/etc/pkg.conf`." msgstr "" "man:pkg.conf[5] — это общесистемный конфигурационный файл, используемый " "утилитами man:pkg[8]. Стандартное расположение этого файла — `/usr/local/etc/" "pkg.conf`." #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:270 msgid "" "FreeBSD does not need to have a `pkg.conf` file. Many installations will " "work well with no `pkg.conf` at all or with an empty `pkg.conf` (other than " "comment lines)." msgstr "" "FreeBSD не требует наличия файла `pkg.conf`. Многие установки будут работать " "без `pkg.conf` вообще или с пустым `pkg.conf` (за исключением строк с " "комментариями)." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:273 msgid "Lines in the file beginning with a \"#\" are\tcomments and are ignored." msgstr "" "Строки в файле, начинающиеся с символа \"#\", являются комментариями и " "игнорируются." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:276 msgid "" "The file is in UCL format. For more information on the syntax of man:" "libucl[3], please visit the link:https://github.com/vstakhov/libucl[official " "UCL website]." msgstr "" "Файл имеет формат UCL. Для получения дополнительной информации о синтаксисе " "man:libucl[3] посетите link:https://github.com/vstakhov/libucl[официальный " "сайт UCL]." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:278 msgid "" "The following types of options are recognized - boolean, string and list " "options." msgstr "Распознаются следующие типы опций - логические, строковые и списковые." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:280 msgid "" "A boolean option is marked as enabled if one of the following values is " "specified in the configuration file - YES, TRUE and ON." msgstr "" "Логическая опция считается включённой, если в файле конфигурации указано " "одно из следующих значений: YES, TRUE или ON." #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:282 #, no-wrap msgid "Searching Packages" msgstr "Поиск пакетов" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:285 msgid "To search a package man:pkg-search[8] can be used:" msgstr "Для поиска пакета можно использовать man:pkg-search[8]:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:289 #, no-wrap msgid "# pkg search nginx\n" msgstr "# pkg search nginx\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:309 #, no-wrap msgid "" "modsecurity3-nginx-1.0.3 Instruction detection and prevention engine / nginx Wrapper\n" "nginx-1.22.1_2,3 Robust and small WWW server\n" "nginx-devel-1.23.2_4 Robust and small WWW server\n" "nginx-full-1.22.1_1,3 Robust and small WWW server (full package)\n" "nginx-lite-1.22.1,3 Robust and small WWW server (lite package)\n" "nginx-naxsi-1.22.1,3 Robust and small WWW server (plus NAXSI)\n" "nginx-prometheus-exporter-0.10.0_7 Prometheus exporter for NGINX and NGINX Plus stats\n" "nginx-ultimate-bad-bot-blocker-4.2020.03.2005_1 Nginx bad bot and other things blocker\n" "nginx-vts-exporter-0.10.7_7 Server that scraps NGINX vts stats and export them via HTTP\n" "p5-Nginx-ReadBody-0.07_1 Nginx embeded perl module to read and evaluate a request body\n" "p5-Nginx-Simple-0.07_1 Perl 5 module for easy to use interface for Nginx Perl Module\n" "p5-Test-Nginx-0.30 Testing modules for Nginx C module development\n" "py39-certbot-nginx-2.0.0 NGINX plugin for Certbot\n" "rubygem-passenger-nginx-6.0.15 Modules for running Ruby on Rails and Rack applications\n" msgstr "" "modsecurity3-nginx-1.0.3 Instruction detection and prevention engine / nginx Wrapper\n" "nginx-1.22.1_2,3 Robust and small WWW server\n" "nginx-devel-1.23.2_4 Robust and small WWW server\n" "nginx-full-1.22.1_1,3 Robust and small WWW server (full package)\n" "nginx-lite-1.22.1,3 Robust and small WWW server (lite package)\n" "nginx-naxsi-1.22.1,3 Robust and small WWW server (plus NAXSI)\n" "nginx-prometheus-exporter-0.10.0_7 Prometheus exporter for NGINX and NGINX Plus stats\n" "nginx-ultimate-bad-bot-blocker-4.2020.03.2005_1 Nginx bad bot and other things blocker\n" "nginx-vts-exporter-0.10.7_7 Server that scraps NGINX vts stats and export them via HTTP\n" "p5-Nginx-ReadBody-0.07_1 Nginx embeded perl module to read and evaluate a request body\n" "p5-Nginx-Simple-0.07_1 Perl 5 module for easy to use interface for Nginx Perl Module\n" "p5-Test-Nginx-0.30 Testing modules for Nginx C module development\n" "py39-certbot-nginx-2.0.0 NGINX plugin for Certbot\n" "rubygem-passenger-nginx-6.0.15 Modules for running Ruby on Rails and Rack applications\n" #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:312 #, no-wrap msgid "Installing and Fetching Packages" msgstr "Установка и загрузка пакетов" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:317 msgid "" "To install a binary package man:pkg-install[8] can be used. This command " "uses repository data to determine which version of the software to install " "and if it has any uninstalled dependencies. For example, to install curl:" msgstr "" "Для установки бинарного пакета можно использовать man:pkg-install[8]. Эта " "команда использует данные репозитория для определения версии программного " "обеспечения, которую нужно установить, а также наличия неустановленных " "зависимостей. Например, для установки curl:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:321 #, no-wrap msgid "# pkg install curl\n" msgstr "# pkg install curl\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:331 #, no-wrap msgid "" "Updating FreeBSD repository catalogue...\n" "FreeBSD repository is up to date.\n" "All repositories are up to date.\n" "The following 9 package(s) will be affected (of 0 checked):\n" msgstr "" "Updating FreeBSD repository catalogue...\n" "FreeBSD repository is up to date.\n" "All repositories are up to date.\n" "The following 9 package(s) will be affected (of 0 checked):\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:342 #, no-wrap msgid "" "New packages to be INSTALLED:\n" " ca_root_nss: 3.83\n" " curl: 7.86.0\n" " gettext-runtime: 0.21\n" " indexinfo: 0.3.1\n" " libidn2: 2.3.3\n" " libnghttp2: 1.48.0\n" " libpsl: 0.21.1_4\n" " libssh2: 1.10.0.3\n" " libunistring: 1.0\n" msgstr "" "New packages to be INSTALLED:\n" " ca_root_nss: 3.83\n" " curl: 7.86.0\n" " gettext-runtime: 0.21\n" " indexinfo: 0.3.1\n" " libidn2: 2.3.3\n" " libnghttp2: 1.48.0\n" " libpsl: 0.21.1_4\n" " libssh2: 1.10.0.3\n" " libunistring: 1.0\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:344 #, no-wrap msgid "Number of packages to be installed: 9\n" msgstr "Number of packages to be installed: 9\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:347 #, no-wrap msgid "" "The process will require 11 MiB more space.\n" "3 MiB to be downloaded\n" msgstr "" "The process will require 11 MiB more space.\n" "3 MiB to be downloaded\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:349 #, no-wrap msgid "Proceed with this action? [y/N]\n" msgstr "Proceed with this action? [y/N]\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:352 msgid "" "The new package and any additional packages that were installed as " "dependencies can be seen in the installed packages list:" msgstr "" "Новый пакет и любые дополнительные пакеты, установленные в качестве " "зависимостей, можно увидеть в списке установленных пакетов:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:356 #, no-wrap msgid "# pkg info\n" msgstr "# pkg info\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:372 #, no-wrap msgid "" "ca_root_nss-3.83 Root certificate bundle from the Mozilla Project\n" "curl-7.86.0 Command line tool and library for transferring data with URLs\n" "gettext-runtime-0.21.1 GNU gettext runtime libraries and programs\n" "indexinfo-0.3.1 Utility to regenerate the GNU info page index\n" "libidn2-2.3.3 Implementation of IDNA2008 internationalized domain names\n" "libnghttp2-1.48.0 HTTP/2.0 C Library\n" "libpsl-0.21.1_6 C library to handle the Public Suffix List\n" "libssh2-1.10.0.3 Library implementing the SSH2 protocol\n" "libunistring-1.0 Unicode string library\n" "pkg-1.18.4 Package manager\n" msgstr "" "ca_root_nss-3.83 Root certificate bundle from the Mozilla Project\n" "curl-7.86.0 Command line tool and library for transferring data with URLs\n" "gettext-runtime-0.21.1 GNU gettext runtime libraries and programs\n" "indexinfo-0.3.1 Utility to regenerate the GNU info page index\n" "libidn2-2.3.3 Implementation of IDNA2008 internationalized domain names\n" "libnghttp2-1.48.0 HTTP/2.0 C Library\n" "libpsl-0.21.1_6 C library to handle the Public Suffix List\n" "libssh2-1.10.0.3 Library implementing the SSH2 protocol\n" "libunistring-1.0 Unicode string library\n" "pkg-1.18.4 Package manager\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:376 msgid "" "To fetch a package and install it later or in another place use man:pkg-" "fetch[8]. For example, to download `nginx-lite`:" msgstr "" "Для загрузки пакета с последующей установкой позже или в другом месте " "используйте man:pkg-fetch[8]. Например, чтобы скачать `nginx-lite`:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:380 #, no-wrap msgid "# pkg fetch -d -o /usr/home/user/packages/ nginx-lite\n" msgstr "# pkg fetch -d -o /usr/home/user/packages/ nginx-lite\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:383 msgid "`-d`: used to fetch all the dependencies" msgstr "`-d`: используется для получения всех зависимостей" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:384 msgid "`-o`: used to specify the download directory" msgstr "`-o`: используется для указания каталога загрузки" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:393 #, no-wrap msgid "" "Updating FreeBSD repository catalogue...\n" "FreeBSD repository is up to date.\n" "All repositories are up to date.\n" "The following packages will be fetched:\n" msgstr "" "Updating FreeBSD repository catalogue...\n" "FreeBSD repository is up to date.\n" "All repositories are up to date.\n" "The following packages will be fetched:\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:397 #, no-wrap msgid "" "New packages to be FETCHED:\n" " nginx-lite: 1.22.1,3 (342 KiB: 22.20% of the 2 MiB to download)\n" " pcre: 8.45_3 (1 MiB: 77.80% of the 2 MiB to download)\n" msgstr "" "New packages to be FETCHED:\n" " nginx-lite: 1.22.1,3 (342 KiB: 22.20% of the 2 MiB to download)\n" " pcre: 8.45_3 (1 MiB: 77.80% of the 2 MiB to download)\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:399 #, no-wrap msgid "Number of packages to be fetched: 2\n" msgstr "Number of packages to be fetched: 2\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:402 #, no-wrap msgid "" "The process will require 2 MiB more space.\n" "2 MiB to be downloaded.\n" msgstr "" "The process will require 2 MiB more space.\n" "2 MiB to be downloaded.\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:404 #, no-wrap msgid "Proceed with fetching packages? [y/N]:\n" msgstr "Proceed with fetching packages? [y/N]:\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:407 msgid "" "To install the downloaded packages man:pkg-install[8] can be used as follows:" msgstr "" "Для установки загруженных пакетов можно использовать man:pkg-install[8] " "следующим образом:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:411 #, no-wrap msgid "# cd /usr/home/user/packages/\n" msgstr "# cd /usr/home/user/packages/\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:416 #, no-wrap msgid "# pkg install nginx-lite-1.22.1,3.pkg\n" msgstr "# pkg install nginx-lite-1.22.1,3.pkg\n" #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:419 #, no-wrap msgid "Obtaining Information About Installed Packages" msgstr "Получение информации об установленных пакетах" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:422 msgid "" "Information about the packages installed on a system can be viewed by " "running man:pkg-info[8] which, when run without any switches, will list the " "package version for either all installed packages or the specified package." msgstr "" "Информацию об установленных в системе пакетах можно просмотреть с помощью " "команды man:pkg-info[8], которая при запуске без каких-либо параметров " "выводит версию пакета для всех установленных пакетов или указанного пакета." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:424 msgid "For example, to see which version of pkg is installed, run:" msgstr "Например, чтобы узнать, какая версия pkg установлена, выполните:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:428 #, no-wrap msgid "# pkg info pkg\n" msgstr "# pkg info pkg\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:457 #, no-wrap msgid "" "pkg-1.19.0\n" "Name : pkg\n" "Version : 1.19.0\n" "Installed on : Sat Dec 17 11:05:28 2022 CET\n" "Origin : ports-mgmt/pkg\n" "Architecture : FreeBSD:13:amd64\n" "Prefix : /usr/local\n" "Categories : ports-mgmt\n" "Licenses : BSD2CLAUSE\n" "Maintainer : pkg@FreeBSD.org\n" "WWW : https://github.com/freebsd/pkg\n" "Comment : Package manager\n" "Options :\n" " DOCS : on\n" "Shared Libs provided:\n" " libpkg.so.4\n" "Annotations :\n" " FreeBSD_version: 1301000\n" " repo_type : binary\n" " repository : FreeBSD\n" "Flat size : 33.2MiB\n" "Description :\n" "Package management tool\n" msgstr "" "pkg-1.19.0\n" "Name : pkg\n" "Version : 1.19.0\n" "Installed on : Sat Dec 17 11:05:28 2022 CET\n" "Origin : ports-mgmt/pkg\n" "Architecture : FreeBSD:13:amd64\n" "Prefix : /usr/local\n" "Categories : ports-mgmt\n" "Licenses : BSD2CLAUSE\n" "Maintainer : pkg@FreeBSD.org\n" "WWW : https://github.com/freebsd/pkg\n" "Comment : Package manager\n" "Options :\n" " DOCS : on\n" "Shared Libs provided:\n" " libpkg.so.4\n" "Annotations :\n" " FreeBSD_version: 1301000\n" " repo_type : binary\n" " repository : FreeBSD\n" "Flat size : 33.2MiB\n" "Description :\n" "Package management tool\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:459 #, no-wrap msgid "WWW: https://github.com/freebsd/pkg\n" msgstr "WWW: https://github.com/freebsd/pkg\n" #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:462 #, no-wrap msgid "Upgrading Installed Packages" msgstr "Обновление установленных пакетов" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:465 msgid "" "Installed packages can be upgraded to their latest versions using man:pkg-" "upgrade[8]:" msgstr "" "Установленные пакеты можно обновить до их последних версий с помощью man:pkg-" "upgrade[8]:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:469 #, no-wrap msgid "# pkg upgrade\n" msgstr "# pkg upgrade\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:472 msgid "" "This command will compare the installed versions with those available in the " "repository catalogue and upgrade them from the repository." msgstr "" "Эта команда сравнит установленные версии с доступными в каталоге репозитория " "и обновит их из репозитория." #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:474 #, no-wrap msgid "Auditing Installed Packages" msgstr "Проверка установленных пакетов" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:479 msgid "" "Software vulnerabilities are regularly discovered in third-party " "applications. To address this, pkg includes a built-in auditing mechanism. " "To determine if there are any known vulnerabilities for the software " "installed on the system, use man:pkg-audit[8]:" msgstr "" "Уязвимости в программном обеспечении регулярно обнаруживаются в сторонних " "приложениях. Для решения этой проблемы pkg включает встроенный механизм " "аудита. Чтобы определить, есть ли известные уязвимости для программного " "обеспечения, установленного в системе, используйте man:pkg-audit[8]:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:483 #, no-wrap msgid "# pkg audit -F\n" msgstr "# pkg audit -F\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:498 #, no-wrap msgid "" "Fetching vuln.xml.xz: 100% 976 KiB 499.5kB/s 00:02\n" "chromium-108.0.5359.98 is vulnerable:\n" " chromium -- multiple vulnerabilities\n" " CVE: CVE-2022-4440\n" " CVE: CVE-2022-4439\n" " CVE: CVE-2022-4438\n" " CVE: CVE-2022-4437\n" " CVE: CVE-2022-4436\n" " WWW: https://vuxml.FreeBSD.org/freebsd/83eb9374-7b97-11ed-be8f-3065ec8fd3ec.html\n" msgstr "" "Fetching vuln.xml.xz: 100% 976 KiB 499.5kB/s 00:02\n" "chromium-108.0.5359.98 is vulnerable:\n" " chromium -- multiple vulnerabilities\n" " CVE: CVE-2022-4440\n" " CVE: CVE-2022-4439\n" " CVE: CVE-2022-4438\n" " CVE: CVE-2022-4437\n" " CVE: CVE-2022-4436\n" " WWW: https://vuxml.FreeBSD.org/freebsd/83eb9374-7b97-11ed-be8f-3065ec8fd3ec.html\n" #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:501 #, no-wrap msgid "Removing Packages" msgstr "Удаление пакетов" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:504 msgid "" "Packages that are no longer needed can be removed with man:pkg-delete[8]." msgstr "" "Пакеты, которые больше не нужны, можно удалить с помощью man:pkg-delete[8]." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:506 msgid "For example:" msgstr "Например:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:510 #, no-wrap msgid "# pkg delete curl\n" msgstr "# pkg delete curl\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:518 #, no-wrap msgid "" "Checking integrity... done (0 conflicting)\n" "Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):\n" msgstr "" "Checking integrity... done (0 conflicting)\n" "Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:521 #, no-wrap msgid "" "Installed packages to be REMOVED:\n" " curl :7.86.0\n" msgstr "" "Installed packages to be REMOVED:\n" " curl :7.86.0\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:523 #: documentation/content/en/books/handbook/ports/_index.adoc:553 #, no-wrap msgid "Number of packages to be removed: 1\n" msgstr "Number of packages to be removed: 1\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:525 #, no-wrap msgid "The operation will free 4 MiB.\n" msgstr "The operation will free 4 MiB.\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:529 #, no-wrap msgid "" "Proceed with deinstallation packages? [y/N]: y\n" "[1/1] Deinstalling curl-7.86.0...\n" "[1/1] Deleting files for curl-7.86.0: 100%\n" msgstr "" "Proceed with deinstallation packages? [y/N]: y\n" "[1/1] Deinstalling curl-7.86.0...\n" "[1/1] Deleting files for curl-7.86.0: 100%\n" #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:532 #, no-wrap msgid "Automatically Removing Unused Packages" msgstr "Автоматическое удаление неиспользуемых пакетов" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:536 msgid "" "Removing a package may leave behind dependencies which are no longer " "required. Unneeded packages that were installed as dependencies (leaf " "packages) can be automatically detected and removed using man:pkg-" "autoremove[8]:" msgstr "" "Удаление пакета может оставить зависимости, которые больше не требуются. " "Ненужные пакеты, установленные как зависимости (листовые пакеты), могут быть " "автоматически обнаружены и удалены с помощью man:pkg-autoremove[8]:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:540 #, no-wrap msgid "# pkg autoremove\n" msgstr "# pkg autoremove\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:548 #, no-wrap msgid "" "Checking integrity... done (0 conflicting)\n" "Deinstallation has been requested for the following 1 packages:\n" msgstr "" "Checking integrity... done (0 conflicting)\n" "Deinstallation has been requested for the following 1 packages:\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:551 #, no-wrap msgid "" "Installed packages to be REMOVED:\n" " ca_root_nss-3.83\n" msgstr "" "Installed packages to be REMOVED:\n" " ca_root_nss-3.83\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:555 #, no-wrap msgid "The operation will free 723 KiB.\n" msgstr "The operation will free 723 KiB.\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:557 #, no-wrap msgid "Proceed with deinstalling packages? [y/N]:\n" msgstr "Proceed with deinstalling packages? [y/N]:\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:561 msgid "" "Packages installed as dependencies are called _automatic_ packages. Non-" "automatic packages, i.e the packages that were explicitly installed not as a " "dependency to another package, can be listed using:" msgstr "" "Установленные в качестве зависимостей пакеты называются _автоматическими_ " "пакетами. Неавтоматические пакеты, то есть пакеты, которые были явно " "установлены не в качестве зависимости для другого пакета, можно вывести с " "помощью:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:565 #, no-wrap msgid "# pkg prime-list\n" msgstr "# pkg prime-list\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:574 #, no-wrap msgid "" "nginx\n" "openvpn\n" "sudo\n" msgstr "" "nginx\n" "openvpn\n" "sudo\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:579 msgid "" "`pkg prime-list` is an alias command declared in `/usr/local/etc/pkg.conf`. " "There are many others that can be used to query the package database of the " "system. For instance, command `pkg prime-origins` can be used to get the " "origin port directory of the list mentioned above:" msgstr "" "`pkg prime-list` — это псевдоним команды, объявленный в `/usr/local/etc/pkg." "conf`. Существует множество других команд, которые можно использовать для " "запросов к базе данных пакетов системы. Например, команда `pkg prime-" "origins` позволяет получить каталог портов происхождения для упомянутого " "выше списка:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:583 #, no-wrap msgid "# pkg prime-origins\n" msgstr "# pkg prime-origins\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:592 #, no-wrap msgid "" "www/nginx\n" "security/openvpn\n" "security/sudo\n" msgstr "" "www/nginx\n" "security/openvpn\n" "security/sudo\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:595 msgid "" "This list can be used to rebuild all packages installed on a system using " "build tools such as package:ports-mgmt/poudriere[] or package:ports-mgmt/" "synth[]." msgstr "" "Этот список можно использовать для пересборки всех пакетов, установленных в " "системе, с помощью инструментов сборки, таких как package:ports-mgmt/" "poudriere[] или package:ports-mgmt/synth[]." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:597 msgid "Marking an installed package as automatic can be done using:" msgstr "Пометить установленный пакет как автоматический можно с помощью:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:601 #, no-wrap msgid "# pkg set -A 1 devel/cmake\n" msgstr "# pkg set -A 1 devel/cmake\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:604 msgid "" "Once a package is a leaf package and is marked as automatic, it gets " "selected by `pkg autoremove`." msgstr "" "Как только пакет становится листовым и помечается как автоматический, он " "выбирается командой `pkg autoremove`." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:606 msgid "Marking an installed package as _not_ automatic can be done using:" msgstr "Пометить установленный пакет как _не_ автоматический можно с помощью:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:610 #, no-wrap msgid "# pkg set -A 0 devel/cmake\n" msgstr "# pkg set -A 0 devel/cmake\n" #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:613 #, no-wrap msgid "Removing Stale Packages" msgstr "Удаление устаревших пакетов" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:618 msgid "" "By default, pkg stores binary packages in a cache directory defined by " "`PKG_CACHEDIR` in man:pkg.conf[5]. Only copies of the latest installed " "packages are kept. Older versions of pkg kept all previous packages. To " "remove these outdated binary packages, run:" msgstr "" "По умолчанию pkg хранит бинарные пакеты в кэш-каталоге, определённом " "параметром `PKG_CACHEDIR` в man:pkg.conf[5]. Сохраняются только копии " "последних установленных пакетов. В более старых версиях pkg сохранялись все " "предыдущие пакеты. Чтобы удалить устаревшие бинарные пакеты, выполните:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:622 #, no-wrap msgid "# pkg clean\n" msgstr "# pkg clean\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:625 msgid "The entire cache may be cleared by running:" msgstr "Весь кэш может быть очищен выполнением команды:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:629 #, no-wrap msgid "# pkg clean -a\n" msgstr "# pkg clean -a\n" #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:632 #, no-wrap msgid "Locking and Unlocking Packages" msgstr "Блокировка и разблокировка пакетов" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:638 msgid "" "man:pkg-lock[8] is used to lock packages against reinstallation, " "modification or deletion. man:pkg-unlock[8] unlocks the named packages. " "Either variant only has an effect on currently installed packages. " "Consequently it is impossible to block installation of a new package by " "using this mechanism, unless such an installation implies updating a locked " "package." msgstr "" "man:pkg-lock[8] используется для блокировки пакетов от переустановки, " "изменения или удаления. man:pkg-unlock[8] разблокирует указанные пакеты. Оба " "варианта влияют только на уже установленные пакеты. Следовательно, " "невозможно предотвратить установку нового пакета с помощью этого механизма, " "за исключением случаев, когда такая установка подразумевает обновление " "заблокированного пакета." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:640 msgid "For example, to lock `nginx-lite`:" msgstr "Например, чтобы заблокировать `nginx-lite`:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:644 #, no-wrap msgid "# pkg lock nginx-lite\n" msgstr "# pkg lock nginx-lite\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:647 msgid "And to unlock `nginx-lite`:" msgstr "И чтобы разблокировать `nginx-lite`:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:651 #, no-wrap msgid "# pkg unlock nginx-lite\n" msgstr "# pkg unlock nginx-lite\n" #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:654 #, no-wrap msgid "Modifying Package Metadata" msgstr "Изменение метаданных пакета" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:659 msgid "" "Software within the FreeBSD Ports Collection can undergo major version " "number changes. To address this, pkg has a built-in command to update " "package origins. This can be useful, for example, if package:lang/python3[] " "is renamed to package:lang/python311[] so that package:lang/python3[] can " "now represent version `3.11`." msgstr "" "Программное обеспечение в коллекции портов FreeBSD может подвергаться " "изменениям основных номеров версий. Для решения этой проблемы в pkg есть " "встроенная команда для обновления происхождения пакетов. Это может быть " "полезно, например, если package:lang/python3[] переименован в package:lang/" "python311[], чтобы package:lang/python3[] теперь мог представлять версию " "`3.11`." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:661 msgid "To change the package origin for the above example, run:" msgstr "" "Чтобы изменить источник пакета для приведённого выше примера, выполните:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:665 #, no-wrap msgid "# pkg set -o lang/python3:lang/python311\n" msgstr "# pkg set -o lang/python3:lang/python311\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:668 msgid "" "As another example, to update package:lang/ruby31[] to package:lang/" "ruby32[], run:" msgstr "" "В качестве другого примера, чтобы обновить package:lang/ruby31[] до package:" "lang/ruby32[], выполните:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:672 #, no-wrap msgid "# pkg set -o lang/ruby31:lang/ruby32\n" msgstr "# pkg set -o lang/ruby31:lang/ruby32\n" #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:678 msgid "" "When changing package origins, it is important to reinstall packages that " "are dependent on the package with the modified origin. To force a " "reinstallation of dependent packages, run:" msgstr "" "При изменении происхождения пакетов важно переустановить пакеты, зависящие " "от пакета с изменённым происхождением. Для принудительной переустановки " "зависимых пакетов выполните:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:682 #, no-wrap msgid "# pkg install -Rf lang/ruby32\n" msgstr "# pkg install -Rf lang/ruby32\n" #. type: Title == #: documentation/content/en/books/handbook/ports/_index.adoc:686 #, no-wrap msgid "Using the Ports Collection" msgstr "Использование коллекции портов" #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:690 msgid "" "The Ports Collection is a set of `Makefiles`, patches, and description " "files. Each set of these files is used to compile and install an individual " "application on FreeBSD, and is called a _port_." msgstr "" "Коллекция портов — это набор `Makefile`-файлов, патчей и описаний. Каждый " "такой набор файлов используется для сборки и установки отдельного приложения " "в FreeBSD и называется _портом_." #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:692 msgid "" "By default, the Ports Collection itself is stored as a subdirectory of `/usr/" "ports`." msgstr "По умолчанию Коллекция портов хранится в подкаталоге `/usr/ports`." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:699 msgid "" "Before installing and using the Ports Collection, please be aware that it is " "generally ill-advised to use the Ports Collection in conjunction with the " "binary packages provided via pkg to install software. pkg, by default, " "tracks quarterly branch-releases of the ports tree and not HEAD. " "Dependencies could be different for a port in HEAD compared to its " "counterpart in a quarterly branch release and this could result in conflicts " "between dependencies installed by pkg and those from the Ports Collection. " "If the Ports Collection and pkg must be used in conjunction, then be sure " "that the Ports Collection and pkg are on the same branch release of the " "ports tree." msgstr "" "Прежде чем устанавливать и использовать Коллекцию портов, учтите, что обычно " "не рекомендуется использовать Коллекцию портов вместе с бинарными пакетами, " "предоставляемыми через pkg, для установки программного обеспечения. По " "умолчанию pkg отслеживает квартальные ветки-релизы дерева портов, а не HEAD. " "Зависимости для порта в HEAD могут отличаться от его аналога в квартальном " "релизе ветки, что может привести к конфликтам между зависимостями, " "установленными pkg, и теми, что из Коллекции портов. Если необходимо " "использовать Коллекцию портов и pkg вместе, убедитесь, что ваша Коллекция " "портов и pkg находятся на одной ветке релиза дерева портов." #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:705 msgid "" "The Ports Collection contains directories for software categories. Inside " "each category are subdirectories for individual applications. Each " "application subdirectory contains a set of files that tells FreeBSD how to " "compile and install that program, called a _ports skeleton_. Each port " "skeleton includes these files and directories:" msgstr "" "Коллекция портов содержит каталоги для категорий программного обеспечения. В " "каждой категории находятся подкаталоги для отдельных приложений. Каждый " "подкаталог приложения содержит набор файлов, которые сообщают FreeBSD, как " "компилировать и устанавливать эту программу, называемый _каркасом порта_ " "(ports skeleton). Каждый каркас порта включает следующие файлы и каталоги:" #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:707 #, no-wrap msgid "*Makefile*: contains statements that specify how the application should be compiled and where its components should be installed.\n" msgstr "*Makefile*: содержит инструкции, определяющие порядок компиляции приложения и расположение его компонентов при установке.\n" #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:708 #, no-wrap msgid "*distinfo*: contains the names and checksums of the files that must be downloaded to build the port.\n" msgstr "*distinfo*: содержит имена и контрольные суммы файлов, которые необходимо загрузить для сборки порта.\n" #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:709 #, no-wrap msgid "*files/*: this directory contains any patches needed for the program to compile and install on FreeBSD. This directory may also contain other files used to build the port.\n" msgstr "*files/*: в этом каталоге содержатся все необходимые патчи для компиляции и установки программы в FreeBSD. Также в этом каталоге могут находиться другие файлы, используемые для сборки порта.\n" #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:710 #, no-wrap msgid "*pkg-descr*: provides a more detailed description of the program.\n" msgstr "*pkg-descr*: содержит более подробное описание программы.\n" #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:711 #, no-wrap msgid "*pkg-plist*: a list of all the files that will be installed by the port. It also tells the ports system which files to remove upon deinstallation.\n" msgstr "*pkg-plist*: список всех файлов, которые будут установлены портом. Также он указывает системе портов, какие файлы следует удалить при деинсталляции.\n" #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:714 msgid "" "Some ports include `pkg-message` or other files to handle special " "situations. For more details on these files, and on ports in general, refer " "to the extref:{porters-handbook}[FreeBSD Porter's Handbook]." msgstr "" "Некоторые порты включают файлы `pkg-message` или другие для обработки особых " "ситуаций. Для получения более подробной информации об этих файлах и о портах " "в целом обратитесь к extref:{porters-handbook}[Руководству по созданию " "портов FreeBSD]." #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:717 msgid "" "The port does not include the actual source code, also known as a " "`distfile`. The extract portion of building a port will automatically save " "the downloaded source to `/usr/ports/distfiles`." msgstr "" "Порт не включает в себя исходный код, также известный как `distfile`. Этап " "извлечения при сборке порта автоматически сохраняет загруженные исходные " "файлы в `/usr/ports/distfiles`." #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:719 #, no-wrap msgid "Installing the Ports Collection" msgstr "Установка коллекции портов" #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:723 msgid "" "Before an application can be compiled using a port, the Ports Collection " "must first be installed. If it was not installed during the installation of " "FreeBSD, use the following method to install it:" msgstr "" "Прежде чем приложение можно будет скомпилировать с использованием порта, " "необходимо установить Коллекцию портов. Если она не была установлена во " "время установки FreeBSD, используйте следующий метод для её установки:" #. type: delimited block * 4 #: documentation/content/en/books/handbook/ports/_index.adoc:728 #, no-wrap msgid "*Procedure: Git Method*\n" msgstr "*Процедура: Метод Git*\n" #. type: delimited block * 4 #: documentation/content/en/books/handbook/ports/_index.adoc:732 msgid "" "If more control over the ports tree is needed or if local changes need to be " "maintained, or if running FreeBSD-CURRENT, Git can be used to obtain the " "Ports Collection. Refer to extref:{committers-guide}[the Git Primer, git-" "primer] for a detailed description of Git." msgstr "" "Если требуется больше контроля над деревом портов или необходимо " "поддерживать локальные изменения, либо если используется FreeBSD-CURRENT, " "для получения коллекции портов можно использовать Git. Подробное описание " "Git см. в extref:{committers-guide}[руководстве по Git, git-primer]." #. type: delimited block * 4 #: documentation/content/en/books/handbook/ports/_index.adoc:735 msgid "" "We add `--depth 1` to the git command line to clone the tree without " "obtaining the commit history, which saves time and is acceptable for most " "users. When maintaining custom changes to the ports tree, or need the " "history for any reason, omit the `--depth 1` argument below." msgstr "" "Добавляем `--depth 1` в командную строку `git`, чтобы клонировать дерево без " "получения истории коммитов, что экономит время и приемлемо для большинства " "пользователей. Если у вас есть собственные изменения в дереве портов или вам " "нужна история по какой-либо причине, опустите аргумент `--depth 1` ниже." #. type: delimited block * 4 #: documentation/content/en/books/handbook/ports/_index.adoc:737 msgid "" "Git must be installed before it can be used to check out the ports tree. If " "a copy of the ports tree is already present, install Git like this:" msgstr "" "Git должен быть установлен перед тем, как его можно будет использовать для " "получения дерева портов. Если копия дерева портов уже существует, установите " "Git следующим образом:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:742 #, no-wrap msgid "" "# cd /usr/ports/devel/git\n" "# make install clean\n" msgstr "" "# cd /usr/ports/devel/git\n" "# make install clean\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:745 msgid "" "If the ports tree is not available, or pkg is being used to manage packages, " "Git can be installed as a package:" msgstr "" "Если дерево портов недоступно или для управления пакетами используется pkg, " "Git можно установить как пакет:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:749 #, no-wrap msgid "# pkg install git\n" msgstr "# pkg install git\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:752 msgid "Check out a copy of the HEAD branch of the ports tree:" msgstr "Извлеките копию ветки HEAD дерева портов:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:756 #, no-wrap msgid "# git clone --depth 1 https://git.FreeBSD.org/ports.git /usr/ports\n" msgstr "# git clone --depth 1 https://git.FreeBSD.org/ports.git /usr/ports\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:759 msgid "Or, check out a copy of a quarterly branch:" msgstr "Или склонируйте копию квартальной ветки:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:763 #, no-wrap msgid "# git clone --depth 1 https://git.FreeBSD.org/ports.git -b 2023Q1 /usr/ports\n" msgstr "# git clone --depth 1 https://git.FreeBSD.org/ports.git -b 2023Q1 /usr/ports\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:766 msgid "As needed, update `/usr/ports` after the initial Git checkout:" msgstr "" "По мере необходимости обновите `/usr/ports` после первоначального получения " "из Git:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:770 #, no-wrap msgid "# git -C /usr/ports pull\n" msgstr "# git -C /usr/ports pull\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:773 msgid "As needed, switch `/usr/ports` to a different quarterly branch:" msgstr "" "По мере необходимости переключите `/usr/ports` на другую квартальную ветку:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:778 #, no-wrap msgid "" "# git -C /usr/ports fetch --depth 1 origin 2023Q2:2023Q2\n" "# git -C /usr/ports switch 2023Q2\n" msgstr "" "# git -C /usr/ports fetch --depth 1 origin 2023Q2:2023Q2\n" "# git -C /usr/ports switch 2023Q2\n" #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:781 #, no-wrap msgid "Installing Ports" msgstr "Установка портов" #. type: delimited block * 4 #: documentation/content/en/books/handbook/ports/_index.adoc:785 msgid "" "This section provides basic instructions on using the Ports Collection to " "install or remove software. The detailed description of available `make` " "targets and environment variables is available in man:ports[7]." msgstr "" "Этот раздел содержит основные инструкции по использованию коллекции портов " "для установки или удаления программного обеспечения. Подробное описание " "доступных целей `make` и переменных окружения доступно в man:ports[7]." #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:793 msgid "" "Before compiling any port, be sure to update the Ports Collection as " "described in the previous section. Since the installation of any third-" "party software can introduce security vulnerabilities, it is recommended to " "first check https://vuxml.freebsd.org/[] for known security issues related " "to the port. Alternatively, run `pkg audit -F` before installing a new " "port. This command can be configured to automatically perform a security " "audit and an update of the vulnerability database during the daily security " "system check. For more information, refer to man:pkg-audit[8] and man:" "periodic[8]." msgstr "" "Прежде чем компилировать любой порт, обязательно обновите коллекцию портов, " "как описано в предыдущем разделе. Поскольку установка любого стороннего " "программного обеспечения может привести к уязвимостям в безопасности, " "рекомендуется сначала проверить https://vuxml.freebsd.org/[] на наличие " "известных проблем безопасности, связанных с портом. Или выполните `pkg audit " "-F` перед установкой нового порта. Эта команда может быть настроена для " "автоматической проверки безопасности и обновления базы данных уязвимостей в " "ходе ежедневной проверки безопасности системы. Для получения дополнительной " "информации обратитесь к man:pkg-audit[8] и man:periodic[8]." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:797 msgid "" "Using the Ports Collection assumes a working Internet connection. It also " "requires superuser privilege." msgstr "" "Использование коллекции портов предполагает наличие работающего подключения " "к Интернету. Также требуются права суперпользователя." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:800 msgid "" "To compile and install the port, change to the directory of the port to be " "installed, then type `make install` at the prompt. Messages will indicate " "the progress:" msgstr "" "Для компиляции и установки порта перейдите в каталог порта, который нужно " "установить, затем введите `make install` в командной строке. Сообщения будут " "отображать прогресс:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:822 #, no-wrap msgid "" "# cd /usr/ports/sysutils/lsof\n" "# make install\n" ">> lsof_4.88D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n" ">> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.\n" "===> Extracting for lsof-4.88\n" "...\n" "[extraction output snipped]\n" "...\n" ">> Checksum OK for lsof_4.88D.freebsd.tar.gz.\n" "===> Patching for lsof-4.88.d,8\n" "===> Applying FreeBSD patches for lsof-4.88.d,8\n" "===> Configuring for lsof-4.88.d,8\n" "...\n" "[configure output snipped]\n" "...\n" "===> Building for lsof-4.88.d,8\n" "...\n" "[compilation output snipped]\n" "...\n" msgstr "" "# cd /usr/ports/sysutils/lsof\n" "# make install\n" ">> lsof_4.88D.freebsd.tar.gz doesn't seem to exist in /usr/ports/distfiles/.\n" ">> Attempting to fetch from ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/.\n" "===> Extracting for lsof-4.88\n" "...\n" "[extraction output snipped]\n" "...\n" ">> Checksum OK for lsof_4.88D.freebsd.tar.gz.\n" "===> Patching for lsof-4.88.d,8\n" "===> Applying FreeBSD patches for lsof-4.88.d,8\n" "===> Configuring for lsof-4.88.d,8\n" "...\n" "[configure output snipped]\n" "...\n" "===> Building for lsof-4.88.d,8\n" "...\n" "[compilation output snipped]\n" "...\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:835 #, no-wrap msgid "" "===> Installing for lsof-4.88.d,8\n" "...\n" "[installation output snipped]\n" "...\n" "===> Generating temporary packing list\n" "===> Compressing manual pages for lsof-4.88.d,8\n" "===> Registering installation for lsof-4.88.d,8\n" "===> SECURITY NOTE:\n" " This port has installed the following binaries which execute with\n" " increased privileges.\n" "/usr/local/sbin/lsof\n" "#\n" msgstr "" "===> Installing for lsof-4.88.d,8\n" "...\n" "[installation output snipped]\n" "...\n" "===> Generating temporary packing list\n" "===> Compressing manual pages for lsof-4.88.d,8\n" "===> Registering installation for lsof-4.88.d,8\n" "===> SECURITY NOTE:\n" " This port has installed the following binaries which execute with\n" " increased privileges.\n" "/usr/local/sbin/lsof\n" "#\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:839 msgid "" "Since `lsof` is a program that runs with increased privileges, a security " "warning is displayed as it is installed. Once the installation is complete, " "the prompt will be returned." msgstr "" "Поскольку `lsof` — это программа, работающая с повышенными привилегиями, при " "её установке отображается предупреждение системы безопасности. После " "завершения установки будет возвращена командная строка." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:844 msgid "" "Some shells keep a cache of the commands that are available in the " "directories listed in the `PATH` environment variable, to speed up lookup " "operations for the executable file of these commands. Users of the `tcsh` " "shell should type `rehash` so that a newly installed command can be used " "without specifying its full path. Use `hash -r` instead for the `sh` " "shell. Refer to the documentation for the shell for more information." msgstr "" "Некоторые оболочки сохраняют кэш команд, доступных в каталогах, " "перечисленных в переменной окружения `PATH`, чтобы ускорить поиск " "исполняемых файлов этих команд. Пользователи оболочки `tcsh` должны ввести " "`rehash`, чтобы новоустановленная команда могла использоваться без указания " "полного пути. Для оболочки `sh` используйте `hash -r`. Дополнительную " "информацию можно найти в документации по используемой оболочке." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:847 msgid "" "During installation, a working subdirectory is created which contains all " "the temporary files used during compilation. Removing this directory saves " "disk space and minimizes the chance of problems later when upgrading to the " "newer version of the port:" msgstr "" "Во время установки создается рабочий подкаталог, содержащий все временные " "файлы, используемые при компиляции. Удаление этого каталога позволяет " "сэкономить место на диске и снижает вероятность возникновения проблем в " "дальнейшем при обновлении до более новой версии порта:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:853 #, no-wrap msgid "" "# make clean\n" "===> Cleaning for lsof-88.d,8\n" "#\n" msgstr "" "# make clean\n" "===> Cleaning for lsof-88.d,8\n" "#\n" #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:858 msgid "" "To save this extra step, instead use `make install clean` when compiling the " "port." msgstr "" "Чтобы избежать этого дополнительного шага, используйте `make install clean` " "при компиляции порта." #. type: Title ==== #: documentation/content/en/books/handbook/ports/_index.adoc:860 #, no-wrap msgid "Customizing Ports Installation" msgstr "Настройка установки портов" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:868 msgid "" "Some ports provide build options which can be used to enable or disable " "application components, provide security options, or allow for other " "customizations. Examples include package:www/firefox[] and package:security/" "gpgme[]. If the port depends upon other ports which have configurable " "options, it may pause several times for user interaction as the default " "behavior is to prompt the user to select options from a menu. To avoid this " "and do all of the configuration in one batch, run `make config-recursive` " "within the port skeleton. Then, run `make install [clean]` to compile and " "install the port." msgstr "" "Некоторые порты предоставляют опции сборки, которые можно использовать для " "включения или отключения компонентов приложения, обеспечения параметров " "безопасности или других настроек. Примеры включают package:www/firefox[] и " "package:security/gpgme[]. Если порт зависит от других портов с " "настраиваемыми опциями, процесс может несколько раз приостанавливаться для " "взаимодействия с пользователем, так как по умолчанию предлагается выбрать " "опции из меню. Чтобы избежать этого и выполнить всю настройку одной " "командой, выполните `make config-recursive` в каталоге порта. Затем " "выполните `make install [clean]` для компиляции и установки порта." #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:874 msgid "" "When using `config-recursive`, the list of ports to configure are gathered " "by the `all-depends-list` target. It is recommended to run `make config-" "recursive` until all dependent ports options have been defined, and ports " "options screens no longer appear, to be certain that all dependency options " "have been configured." msgstr "" "При использовании `config-recursive` список портов для настройки собирается " "с помощью цели `all-depends-list`. Рекомендуется выполнять `make config-" "recursive` до тех пор, пока не будут определены все параметры зависимых " "портов и экраны выбора опций портов больше не появляются, чтобы убедиться, " "что все параметры зависимостей настроены." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:881 msgid "" "There are several ways to revisit a port's build options menu in order to " "add, remove, or change these options after a port has been built. One " "method is to `cd` into the directory containing the port and type `make " "config`. Another option is to use `make showconfig`. Another option is to " "execute `make rmconfig` which will remove all selected options and allows to " "start over. All of these options, and others, are explained in great detail " "in man:ports[7]." msgstr "" "Существует несколько способов вернуться к меню настроек сборки порта, чтобы " "добавить, удалить или изменить параметры после того, как порт уже был " "собран. Один из методов — перейти в каталог с портом с помощью `cd` и ввести " "`make config`. Другой вариант — использовать `make showconfig`. Также можно " "выполнить `make rmconfig`, что удалит все выбранные параметры и позволит " "начать заново. Все эти и другие варианты подробно описаны в man:ports[7]." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:885 msgid "" "The ports system uses man:fetch[1] to download the source files, which " "supports various environment variables. The `FTP_PASSIVE_MODE`, " "`FTP_PROXY`, and `FTP_PASSWORD` variables may need to be set if the FreeBSD " "system is behind a firewall or FTP/HTTP proxy. See man:fetch[3] for the " "complete list of supported variables." msgstr "" "Система портов использует man:fetch[1] для загрузки исходных файлов, которая " "поддерживает различные переменные окружения. Переменные `FTP_PASSIVE_MODE`, " "`FTP_PROXY` и `FTP_PASSWORD` может потребоваться установить, если система " "FreeBSD находится за межсетевым экраном или FTP/HTTP прокси. Полный список " "поддерживаемых переменных смотрите в man:fetch[3]." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:890 msgid "" "For users who cannot be connected to the Internet all the time, `make fetch` " "can be run within `/usr/ports`, to fetch all distfiles, or within a " "category, such as `/usr/ports/net`, or within the specific port skeleton. " "Note that if a port has any dependencies, running this command in a category " "or ports skeleton will _not_ fetch the distfiles of ports from another " "category. Instead, use `make fetch-recursive` to also fetch the distfiles " "for all the dependencies of a port." msgstr "" "Для пользователей, которые не могут быть постоянно подключены к интернету, " "команда `make fetch` может быть выполнена в `/usr/ports`, чтобы загрузить " "все distfiles, или в категории, например `/usr/ports/net`, или в конкретном " "скелете порта. Обратите внимание, что если порт имеет зависимости, " "выполнение этой команды в категории или скелете порта _не_ загрузит " "distfiles портов из другой категории. Вместо этого используйте `make fetch-" "recursive`, чтобы также загрузить distfiles для всех зависимостей порта." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:893 msgid "" "In rare cases, such as when an organization has a local distfiles " "repository, the `MASTER_SITES` variable can be used to override the download " "locations specified in the `Makefile`. When using, specify the alternate " "location:" msgstr "" "В редких случаях, например, когда у организации есть локальный репозиторий " "distfiles, переменная `MASTER_SITES` может быть использована для " "переопределения мест загрузки, указанных в `Makefile`. При использовании " "укажите альтернативное расположение:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:899 #, no-wrap msgid "" "# cd /usr/ports/directory\n" "# make MASTER_SITE_OVERRIDE= \\\n" "ftp://ftp.organization.org/pub/FreeBSD/ports/distfiles/ fetch\n" msgstr "" "# cd /usr/ports/directory\n" "# make MASTER_SITE_OVERRIDE= \\\n" "ftp://ftp.organization.org/pub/FreeBSD/ports/distfiles/ fetch\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:902 msgid "" "The `WRKDIRPREFIX` and `PREFIX` variables can override the default working " "and target directories. For example:" msgstr "" "Переменные `WRKDIRPREFIX` и `PREFIX` позволяют переопределить рабочий и " "целевой каталоги по умолчанию. Например:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:906 #, no-wrap msgid "# make WRKDIRPREFIX=/usr/home/example/ports install\n" msgstr "# make WRKDIRPREFIX=/usr/home/example/ports install\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:909 msgid "" "will compile the port in `/usr/home/example/ports` and install everything " "under `/usr/local`." msgstr "" "соберет порт в `/usr/home/example/ports` и установит все в `/usr/local`." #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:913 #, no-wrap msgid "# make PREFIX=/usr/home/example/local install\n" msgstr "# make PREFIX=/usr/home/example/local install\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:916 msgid "" "will compile the port in `/usr/ports` and install it in `/usr/home/example/" "local`. And:" msgstr "" "скомпилирует порт в `/usr/ports` и установит его в `/usr/home/example/" "local`. И:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:920 #, no-wrap msgid "# make WRKDIRPREFIX=../ports PREFIX=../local install\n" msgstr "# make WRKDIRPREFIX=../ports PREFIX=../local install\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:923 msgid "will combine the two." msgstr "объединит эти два." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:926 msgid "" "These can also be set as environmental variables. Refer to the manual page " "for the shell for instructions on how to set an environmental variable." msgstr "" "Эти параметры также могут быть установлены как переменные среды. Обратитесь " "к руководству вашей оболочки для получения инструкций по установке " "переменных среды." #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:928 #, no-wrap msgid "Removing Installed Ports" msgstr "Удаление установленных портов" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:932 msgid "" "Installed ports can be uninstalled using `pkg delete`. Examples for using " "this command can be found in the man:pkg-delete[8] manual page." msgstr "" "Установленные порты можно удалить с помощью `pkg delete`. Примеры " "использования этой команды приведены на man:pkg-delete[8]." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:934 msgid "Alternately, `make deinstall` can be run in the port\\'s directory:" msgstr "Или в каталоге порта можно выполнить `make deinstall`:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:942 #, no-wrap msgid "" "# cd /usr/ports/sysutils/lsof\n" "# make deinstall\n" "===> Deinstalling for sysutils/lsof\n" "===> Deinstalling\n" "Deinstallation has been requested for the following 1 packages:\n" msgstr "" "# cd /usr/ports/sysutils/lsof\n" "# make deinstall\n" "===> Deinstalling for sysutils/lsof\n" "===> Deinstalling\n" "Deinstallation has been requested for the following 1 packages:\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:944 #, no-wrap msgid "\tlsof-4.88.d,8\n" msgstr "\tlsof-4.88.d,8\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:947 #, no-wrap msgid "" "The deinstallation will free 229 kB\n" "[1/1] Deleting lsof-4.88.d,8... done\n" msgstr "" "The deinstallation will free 229 kB\n" "[1/1] Deleting lsof-4.88.d,8... done\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:952 msgid "" "It is recommended to read the messages as the port is uninstalled. If the " "port has any applications that depend upon it, this information will be " "displayed but the uninstallation will proceed. In such cases, it may be " "better to reinstall the application in order to prevent broken dependencies." msgstr "" "Рекомендуется прочитать сообщения во время удаления порта. Если у порта есть " "приложения, которые от него зависят, эта информация будет отображена, но " "удаление продолжится. В таких случаях может быть лучше переустановить " "приложение, чтобы избежать нарушенных зависимостей." #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:954 #, no-wrap msgid "Upgrading Ports" msgstr "Обновление портов" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:958 msgid "" "Over time, newer versions of software become available in the Ports " "Collection. This section describes how to determine which software can be " "upgraded and how to perform the upgrade." msgstr "" "Со временем в Коллекции портов становятся доступны новые версии программного " "обеспечения. В этом разделе описано, как определить, какие программы можно " "обновить, и как выполнить обновление." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:962 msgid "" "To determine if newer versions of installed ports are available, ensure that " "the latest version of the ports tree is installed, using the updating " "command described in crossref:ports[ports-using-git-method, \"Git Method" "\"]. The following command will list the installed ports which are out of " "date:" msgstr "" "Чтобы определить, доступны ли более новые версии установленных портов, " "убедитесь, что у вас установлена последняя версия дерева портов, используя " "команду обновления, описанную в crossref:ports[ports-using-git-method, \"Git " "Method\"]. Следующая команда выведет список устаревших установленных портов:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:966 #, no-wrap msgid "# pkg version -l \"<\"\n" msgstr "# pkg version -l \"<\"\n" #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:973 msgid "" "Before attempting an upgrade, read `/usr/ports/UPDATING` from the top of the " "file to the date closest to the last time ports were upgraded or the system " "was installed. This file describes various issues and additional steps " "users may encounter and need to perform when updating a port, including such " "things as file format changes, changes in locations of configuration files, " "or any incompatibilities with previous versions. Make note of any " "instructions which match any of the ports that need upgrading and follow " "these instructions when performing the upgrade." msgstr "" "Перед попыткой обновления прочитайте файл `/usr/ports/UPDATING` с начала до " "даты, наиболее близкой к последнему обновлению портов или установке системы. " "Этот файл описывает различные проблемы и дополнительные шаги, с которыми " "могут столкнуться пользователи при обновлении портов, включая такие вещи, " "как изменения форматов файлов, перемещение конфигурационных файлов или " "несовместимость с предыдущими версиями. Отметьте все инструкции, относящиеся " "к портам, которые требуют обновления, и следуйте этим инструкциям при " "выполнении обновления." #. type: Title ==== #: documentation/content/en/books/handbook/ports/_index.adoc:976 #, no-wrap msgid "Tools to Upgrade and Manage Ports" msgstr "Инструменты для обновления и управления портами" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:980 msgid "" "The Ports Collection contains several utilities to perform the actual " "upgrade. Each has its strengths and weaknesses." msgstr "" "Коллекция портов содержит несколько утилит для выполнения обновления. У " "каждой есть свои сильные и слабые стороны." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:983 msgid "" "Historically, most installations used either Portmaster or Portupgrade. " "Synth is a newer alternative." msgstr "" "Исторически большинство установок использовали либо Portmaster, либо " "Portupgrade. Synth — это более современная альтернатива." #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:988 msgid "" "The choice of which tool is best for a particular system is up to the system " "administrator. It is recommended practice to back up data before using any " "of these tools." msgstr "" "Выбор наилучшего инструмента для конкретной системы остаётся за системным " "администратором. Рекомендуется создать резервную копию данных перед " "использованием любого из этих инструментов." #. type: Title ==== #: documentation/content/en/books/handbook/ports/_index.adoc:991 #, no-wrap msgid "Upgrading Ports Using Portmaster" msgstr "Обновление портов с помощью Portmaster" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:996 msgid "" "package:ports-mgmt/portmaster[] is a very small utility for upgrading " "installed ports. It is designed to use the tools installed with the FreeBSD " "base system without depending on other ports or databases. To install this " "utility as a port:" msgstr "" "package:ports-mgmt/portmaster[] — это очень небольшая утилита для обновления " "установленных портов. Она предназначена для использования инструментов, " "установленных в базовой системе FreeBSD, без зависимости от других портов " "или баз данных. Чтобы установить эту утилиту как порт:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1001 #, no-wrap msgid "" "# cd /usr/ports/ports-mgmt/portmaster\n" "# make install clean\n" msgstr "" "# cd /usr/ports/ports-mgmt/portmaster\n" "# make install clean\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1004 msgid "Portmaster defines four categories of ports:" msgstr "Portmaster определяет четыре категории портов:" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1006 msgid "" "Root port: has no dependencies and is not a dependency of any other ports." msgstr "" "Корневой порт (root port): не имеет зависимостей и сам не является " "зависимостью для других портов." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1007 msgid "Trunk port: has no dependencies, but other ports depend upon it." msgstr "" "Ствольный порт (trunk port): не имеет зависимостей, но другие порты зависят " "от него." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1008 msgid "Branch port: has dependencies and other ports depend upon it." msgstr "" "Веточный порт (branch port): имеет зависимости и другие порты зависят от " "него." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1009 msgid "Leaf port: has dependencies but no other ports depend upon it." msgstr "" "Листовой порт (leaf port): имеет зависимости, но другие порты от него не " "зависят." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1011 msgid "To list these categories and search for updates:" msgstr "Чтобы перечислить эти категории и найти обновления:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1032 #, no-wrap msgid "" "# portmaster -L\n" "===>>> Root ports (No dependencies, not depended on)\n" "===>>> ispell-3.2.06_18\n" "===>>> screen-4.0.3\n" " ===>>> New version available: screen-4.0.3_1\n" "===>>> tcpflow-0.21_1\n" "===>>> 7 root ports\n" "...\n" "===>>> Branch ports (Have dependencies, are depended on)\n" "===>>> apache22-2.2.3\n" " ===>>> New version available: apache22-2.2.8\n" "...\n" "===>>> Leaf ports (Have dependencies, not depended on)\n" "===>>> automake-1.9.6_2\n" "===>>> bash-3.1.17\n" " ===>>> New version available: bash-3.2.33\n" "...\n" "===>>> 32 leaf ports\n" msgstr "" "# portmaster -L\n" "===>>> Root ports (No dependencies, not depended on)\n" "===>>> ispell-3.2.06_18\n" "===>>> screen-4.0.3\n" " ===>>> New version available: screen-4.0.3_1\n" "===>>> tcpflow-0.21_1\n" "===>>> 7 root ports\n" "...\n" "===>>> Branch ports (Have dependencies, are depended on)\n" "===>>> apache22-2.2.3\n" " ===>>> New version available: apache22-2.2.8\n" "...\n" "===>>> Leaf ports (Have dependencies, not depended on)\n" "===>>> automake-1.9.6_2\n" "===>>> bash-3.1.17\n" " ===>>> New version available: bash-3.2.33\n" "...\n" "===>>> 32 leaf ports\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1035 #, no-wrap msgid "" "===>>> 137 total installed ports\n" " ===>>> 83 have new versions available\n" msgstr "" "===>>> 137 total installed ports\n" " ===>>> 83 have new versions available\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1038 msgid "This command is used to upgrade all outdated ports:" msgstr "Эта команда используется для обновления всех устаревших портов:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1042 #, no-wrap msgid "# portmaster -a\n" msgstr "# portmaster -a\n" #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1052 msgid "" "By default, Portmaster makes a backup package before deleting the existing " "port. If the installation of the new version is successful, Portmaster " "deletes the backup. Using `-b` instructs Portmaster not to automatically " "delete the backup. Adding `-i` starts Portmaster in interactive mode, " "prompting for confirmation before upgrading each port. Many other options " "are available. Read through the manual page for man:portmaster[8] for " "details regarding their usage." msgstr "" "По умолчанию Portmaster создаёт резервную копию пакета перед удалением " "существующего порта. Если установка новой версии проходит успешно, " "Portmaster удаляет резервную копию. Использование опции `-b` указывает " "Portmaster не удалять резервную копию автоматически. Добавление опции `-i` " "запускает Portmaster в интерактивном режиме, запрашивая подтверждение перед " "обновлением каждого порта. Доступно множество других опций. Подробности об " "их использовании можно узнать на man-странице man:portmaster[8]." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1055 msgid "" "If errors are encountered during the upgrade process, add `-f` to upgrade " "and rebuild all ports:" msgstr "" "Если в процессе обновления возникают ошибки, добавьте `-f` для обновления и " "пересборки всех портов:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1059 #, no-wrap msgid "# portmaster -af\n" msgstr "# portmaster -af\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1063 msgid "" "Portmaster can also be used to install new ports on the system, upgrading " "all dependencies before building and installing the new port. To use this " "function, specify the location of the port in the Ports Collection:" msgstr "" "Portmaster также может использоваться для установки новых портов в системе, " "обновляя все зависимости перед сборкой и установкой нового порта. Чтобы " "использовать эту функцию, укажите расположение порта в коллекции портов:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1067 #, no-wrap msgid "# portmaster shells/bash\n" msgstr "# portmaster shells/bash\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1070 msgid "" "More information about package:ports-mgmt/portmaster[] may be found in its " "`pkg-descr`." msgstr "" "Дополнительную информацию о package:ports-mgmt/portmaster[] можно найти в " "его `pkg-descr`." #. type: Title ==== #: documentation/content/en/books/handbook/ports/_index.adoc:1072 #, no-wrap msgid "Upgrading Ports Using Portupgrade" msgstr "Обновление портов с помощью Portupgrade" #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1077 msgid "Portupgrade is deprecated and will be removed in the near future." msgstr "Portupgrade устарел и будет удален в ближайшем будущем." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1083 msgid "" "package:ports-mgmt/portupgrade[] is another utility that can be used to " "upgrade ports. It installs a suite of applications which can be used to " "manage ports. However, it is dependent upon Ruby. To install the port:" msgstr "" "package:ports-mgmt/portupgrade[] — это ещё одна утилита, которую можно " "использовать для обновления портов. Она устанавливает набор приложений для " "управления портами. Однако она зависит от Ruby. Для установки порта " "выполните:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1088 #, no-wrap msgid "" "# cd /usr/ports/ports-mgmt/portupgrade\n" "# make install clean\n" msgstr "" "# cd /usr/ports/ports-mgmt/portupgrade\n" "# make install clean\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1091 msgid "" "Before performing an upgrade using this utility, it is recommended to scan " "the list of installed ports using `pkgdb -F` and to fix all the " "inconsistencies it reports." msgstr "" "Прежде чем выполнять обновление с помощью этой утилиты, рекомендуется " "проверить список установленных портов с помощью `pkgdb -F` и исправить все " "обнаруженные несоответствия." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1094 msgid "" "To upgrade all the outdated ports installed on the system, use `portupgrade -" "a`. Alternately, include `-i` to be asked for confirmation of every " "individual upgrade:" msgstr "" "Для обновления всех устаревших портов, установленных в системе, используйте " "`portupgrade -a`. Или добавьте `-i` для запроса подтверждения каждого " "обновления:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1098 #, no-wrap msgid "# portupgrade -ai\n" msgstr "# portupgrade -ai\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1102 msgid "" "To upgrade only a specified application instead of all available ports, use " "`portupgrade _pkgname_`. It is very important to include `-R` to first " "upgrade all the ports required by the given application:" msgstr "" "Для обновления только указанного приложения вместо всех доступных портов " "используйте `portupgrade _pkgname_`. Очень важно включить опцию `-R`, чтобы " "сначала обновить все порты, необходимые для данного приложения:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1106 #, no-wrap msgid "# portupgrade -R firefox\n" msgstr "# portupgrade -R firefox\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1113 msgid "" "If `-P` is included, Portupgrade searches for available packages in the " "local directories listed in `PKG_PATH`. If none are available locally, it " "then fetches packages from a remote site. If packages can not be found " "locally or fetched remotely, Portupgrade will use ports. To avoid using " "ports entirely, specify `-PP`. This last set of options tells Portupgrade " "to abort if no packages are available:" msgstr "" "Если указан `-P`, Portupgrade ищет доступные пакеты в локальных каталогах, " "перечисленных в `PKG_PATH`. Если локально пакеты не найдены, он загружает их " "с удалённого сайта. Если пакеты не могут быть найдены локально или загружены " "удалённо, Portupgrade использует порты. Чтобы полностью избежать " "использования портов, укажите `-PP`. Последний набор опций предписывает " "Portupgrade прервать работу, если пакеты недоступны:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1117 #, no-wrap msgid "# portupgrade -PP gnome3\n" msgstr "# portupgrade -PP gnome3\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1121 msgid "" "To just fetch the port distfiles, or packages, if `-P` is specified, without " "building or installing anything, use `-F`. For further information on all " "of the available switches, refer to the manual page for `portupgrade`." msgstr "" "Чтобы только загрузить distfiles портов или пакеты (если указан `-P`), без " "сборки или установки, используйте `-F`. Для получения дополнительной " "информации о всех доступных опциях обратитесь к руководству `portupgrade`." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1123 msgid "" "More information about package:ports-mgmt/portupgrade[] may be found in its " "`pkg-descr`." msgstr "" "Дополнительную информацию о package:ports-mgmt/portupgrade[] можно найти в " "его `pkg-descr`." #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:1125 #, no-wrap msgid "Ports and Disk Space" msgstr "Порты и дисковое пространство" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1131 msgid "" "Using the Ports Collection will use up disk space over time. After building " "and installing a port, running `make clean` within the ports skeleton will " "clean up the temporary `work` directory. If Portmaster is used to install a " "port, it will automatically remove this directory unless `-K` is specified. " "If Portupgrade is installed, this command will remove all `work` directories " "found within the local copy of the Ports Collection:" msgstr "" "Использование коллекции портов со временем приводит к расходу дискового " "пространства. После сборки и установки порта выполнение команды `make clean` " "в скелете порта очистит временный каталог `work`. При использовании " "Portmaster для установки порта этот каталог будет удалён автоматически, если " "не указан параметр `-K`. Если установлен Portupgrade, следующая команда " "удалит все каталоги `work` в локальной копии коллекции портов:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1135 #, no-wrap msgid "# portsclean -C\n" msgstr "# portsclean -C\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1139 msgid "" "In addition, outdated source distribution files accumulate in `/usr/ports/" "distfiles` over time. To use Portupgrade to delete all the distfiles that " "are no longer referenced by any ports:" msgstr "" "Кроме того, устаревшие файлы исходных дистрибутивов со временем " "накапливаются в `/usr/ports/distfiles`. Чтобы использовать Portupgrade для " "удаления всех distfiles, на которые больше нет ссылок из портов:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1143 #, no-wrap msgid "# portsclean -D\n" msgstr "# portsclean -D\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1146 msgid "" "Portupgrade can remove all distfiles not referenced by any port currently " "installed on the system:" msgstr "" "Portupgrade может удалить все distfiles, на которые нет ссылок из портов, " "установленных в системе:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1150 #, no-wrap msgid "# portsclean -DD\n" msgstr "# portsclean -DD\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1153 msgid "If Portmaster is installed, use:" msgstr "Если установлен Portmaster, используйте:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1157 #, no-wrap msgid "# portmaster --clean-distfiles\n" msgstr "# portmaster --clean-distfiles\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1160 msgid "" "By default, this command is interactive and prompts the user to confirm if a " "distfile should be deleted." msgstr "" "По умолчанию эта команда интерактивна и запрашивает подтверждение " "пользователя на удаление distfile." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1162 msgid "" "In addition to these commands, package:ports-mgmt/pkg_cutleaves[] automates " "the task of removing installed ports that are no longer needed." msgstr "" "В дополнение к этим командам, package:ports-mgmt/pkg_cutleaves[] " "автоматизирует задачу удаления установленных портов, которые больше не нужны." #. type: Title == #: documentation/content/en/books/handbook/ports/_index.adoc:1164 #, no-wrap msgid "Building Packages with poudriere" msgstr "Сборка пакетов с poudriere" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1171 msgid "" "poudriere is a `BSD`-licensed utility for creating and testing FreeBSD " "packages. It uses FreeBSD jails to set up isolated compilation " "environments. These jails can be used to build packages for versions of " "FreeBSD that are different from the system on which it is installed, and " "also to build packages for i386 if the host is an amd64 system. Once the " "packages are built, they are in a layout identical to the official mirrors. " "These packages are usable by man:pkg[8] and other package management tools." msgstr "" "poudriere — это утилита с лицензией `BSD` для создания и тестирования " "пакетов FreeBSD. Она использует механизм jail в FreeBSD для настройки " "изолированных сред сборки. Эти jail могут использоваться для сборки пакетов " "для версий FreeBSD, отличных от версии системы, на которой установлена " "poudriere, а также для сборки пакетов под i386 на хосте с архитектурой " "amd64. После сборки пакеты располагаются в структуре, идентичной официальным " "зеркалам. Эти пакеты могут использоваться man:pkg[8] и другими инструментами " "управления пакетами." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1176 msgid "" "poudriere is installed using the package:ports-mgmt/poudriere[] package or " "port. The installation includes a sample configuration file `/usr/local/etc/" "poudriere.conf.sample`. Copy this file to `/usr/local/etc/poudriere.conf`. " "Edit the copied file to suit the local configuration." msgstr "" "poudriere устанавливается с помощью пакета package:ports-mgmt/poudriere[] " "или порта. Установка включает пример файла конфигурации `/usr/local/etc/" "poudriere.conf.sample`. Скопируйте этот файл в `/usr/local/etc/poudriere." "conf`. Отредактируйте скопированный файл в соответствии с локальной " "конфигурацией." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1182 msgid "" "While `ZFS` is not required on the system running poudriere, it is " "beneficial. When `ZFS` is used, `ZPOOL` must be specified in `/usr/local/" "etc/poudriere.conf` and `FREEBSD_HOST` should be set to a nearby mirror. " "Defining `CCACHE_DIR` enables the use of package:devel/ccache[] to cache " "compilation and reduce build times for frequently-compiled code. It may be " "convenient to put poudriere datasets in an isolated tree mounted at `/" "poudriere`. Defaults for the other configuration values are adequate." msgstr "" "Хотя `ZFS` не является обязательным для системы, на которой запущен " "poudriere, его использование даёт преимущества. При использовании `ZFS` " "необходимо указать `ZPOOL` в `/usr/local/etc/poudriere.conf`, а " "`FREEBSD_HOST` следует установить на ближайшее зеркало. Определение " "`CCACHE_DIR` позволяет использовать package:devel/ccache[] для кэширования " "компиляции и сокращения времени сборки часто компилируемого кода. Может быть " "удобно разместить наборы данных poudriere в изолированном дереве, " "смонтированном в `/poudriere`. Значения по умолчанию для остальных " "параметров конфигурации являются приемлемыми." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1186 msgid "" "The number of processor cores detected is used to define how many builds " "will run in parallel. Supply enough virtual memory, either with `RAM` or " "swap space. If virtual memory runs out, the compilation jails will stop and " "be torn down, resulting in weird error messages." msgstr "" "Количество обнаруженных ядер процессора определяет, сколько сборок будет " "выполняться параллельно. Обеспечьте достаточный объём виртуальной памяти, " "используя `RAM` или файл подкачки. Если виртуальная память закончится, " "компиляционные окружения остановятся и будут уничтожены, что приведёт к " "странным сообщениям об ошибках." #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:1188 #, no-wrap msgid "Initialize Jails and Port Trees" msgstr "Инициализация Jail и дерева портов" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1194 msgid "" "After configuration, initialize poudriere so that it installs a jail with " "the required FreeBSD tree and a ports tree. Specify a name for the jail " "using `-j` and the FreeBSD version with `-v`. On systems running FreeBSD/" "amd64, the architecture can be set with `-a` to either `i386` or `amd64`. " "The default is the architecture shown by `uname`." msgstr "" "После настройки инициализируйте poudriere, чтобы он установил jail с " "требуемым деревом FreeBSD и деревом портов. Укажите имя для jail с помощью `-" "j`, а версию FreeBSD — с помощью `-v`. На системах под управлением FreeBSD/" "amd64 архитектуру можно задать с помощью `-a`, указав `i386` или `amd64`. По " "умолчанию используется архитектура, отображаемая командой `uname`." #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1241 #, no-wrap msgid "" "# poudriere jail -c -j 13amd64 -v 13.1-RELEASE\n" "[00:00:00] Creating 13amd64 fs at /poudriere/jails/13amd64... done\n" "[00:00:00] Using pre-distributed MANIFEST for FreeBSD 13.1-RELEASE amd64\n" "[00:00:00] Fetching base for FreeBSD 13.1-RELEASE amd64\n" "/poudriere/jails/13amd64/fromftp/base.txz 125 MB 4110 kBps 31s\n" "[00:00:33] Extracting base... done\n" "[00:00:54] Fetching src for FreeBSD 13.1-RELEASE amd64\n" "/poudriere/jails/13amd64/fromftp/src.txz 154 MB 4178 kBps 38s\n" "[00:01:33] Extracting src... done\n" "[00:02:31] Fetching lib32 for FreeBSD 13.1-RELEASE amd64\n" "/poudriere/jails/13amd64/fromftp/lib32.txz 24 MB 3969 kBps 06s\n" "[00:02:38] Extracting lib32... done\n" "[00:02:42] Cleaning up... done\n" "[00:02:42] Recording filesystem state for clean... done\n" "[00:02:42] Upgrading using ftp\n" "/etc/resolv.conf -> /poudriere/jails/13amd64/etc/resolv.conf\n" "Looking up update.FreeBSD.org mirrors... 3 mirrors found.\n" "Fetching public key from update4.freebsd.org... done.\n" "Fetching metadata signature for 13.1-RELEASE from update4.freebsd.org... done.\n" "Fetching metadata index... done.\n" "Fetching 2 metadata files... done.\n" "Inspecting system... done.\n" "Preparing to download files... done.\n" "Fetching 124 patches.....10....20....30....40....50....60....70....80....90....100....110....120.. done.\n" "Applying patches... done.\n" "Fetching 6 files... done.\n" "The following files will be added as part of updating to\n" "13.1-RELEASE-p1:\n" "/usr/src/contrib/unbound/.github\n" "/usr/src/contrib/unbound/.github/FUNDING.yml\n" "/usr/src/contrib/unbound/contrib/drop2rpz\n" "/usr/src/contrib/unbound/contrib/unbound_portable.service.in\n" "/usr/src/contrib/unbound/services/rpz.c\n" "/usr/src/contrib/unbound/services/rpz.h\n" "/usr/src/lib/libc/tests/gen/spawnp_enoexec.sh\n" "The following files will be updated as part of updating to\n" "13.1-RELEASE-p1:\n" "[…]\n" "Installing updates...Scanning //usr/share/certs/blacklisted for certificates...\n" "Scanning //usr/share/certs/trusted for certificates...\n" " done.\n" "13.1-RELEASE-p1\n" "[00:04:06] Recording filesystem state for clean... done\n" "[00:04:07] Jail 13amd64 13.1-RELEASE-p1 amd64 is ready to be used\n" msgstr "" "# poudriere jail -c -j 13amd64 -v 13.1-RELEASE\n" "[00:00:00] Creating 13amd64 fs at /poudriere/jails/13amd64... done\n" "[00:00:00] Using pre-distributed MANIFEST for FreeBSD 13.1-RELEASE amd64\n" "[00:00:00] Fetching base for FreeBSD 13.1-RELEASE amd64\n" "/poudriere/jails/13amd64/fromftp/base.txz 125 MB 4110 kBps 31s\n" "[00:00:33] Extracting base... done\n" "[00:00:54] Fetching src for FreeBSD 13.1-RELEASE amd64\n" "/poudriere/jails/13amd64/fromftp/src.txz 154 MB 4178 kBps 38s\n" "[00:01:33] Extracting src... done\n" "[00:02:31] Fetching lib32 for FreeBSD 13.1-RELEASE amd64\n" "/poudriere/jails/13amd64/fromftp/lib32.txz 24 MB 3969 kBps 06s\n" "[00:02:38] Extracting lib32... done\n" "[00:02:42] Cleaning up... done\n" "[00:02:42] Recording filesystem state for clean... done\n" "[00:02:42] Upgrading using ftp\n" "/etc/resolv.conf -> /poudriere/jails/13amd64/etc/resolv.conf\n" "Looking up update.FreeBSD.org mirrors... 3 mirrors found.\n" "Fetching public key from update4.freebsd.org... done.\n" "Fetching metadata signature for 13.1-RELEASE from update4.freebsd.org... done.\n" "Fetching metadata index... done.\n" "Fetching 2 metadata files... done.\n" "Inspecting system... done.\n" "Preparing to download files... done.\n" "Fetching 124 patches.....10....20....30....40....50....60....70....80....90....100....110....120.. done.\n" "Applying patches... done.\n" "Fetching 6 files... done.\n" "The following files will be added as part of updating to\n" "13.1-RELEASE-p1:\n" "/usr/src/contrib/unbound/.github\n" "/usr/src/contrib/unbound/.github/FUNDING.yml\n" "/usr/src/contrib/unbound/contrib/drop2rpz\n" "/usr/src/contrib/unbound/contrib/unbound_portable.service.in\n" "/usr/src/contrib/unbound/services/rpz.c\n" "/usr/src/contrib/unbound/services/rpz.h\n" "/usr/src/lib/libc/tests/gen/spawnp_enoexec.sh\n" "The following files will be updated as part of updating to\n" "13.1-RELEASE-p1:\n" "[…]\n" "Installing updates...Scanning //usr/share/certs/blacklisted for certificates...\n" "Scanning //usr/share/certs/trusted for certificates...\n" " done.\n" "13.1-RELEASE-p1\n" "[00:04:06] Recording filesystem state for clean... done\n" "[00:04:07] Jail 13amd64 13.1-RELEASE-p1 amd64 is ready to be used\n" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1248 #, no-wrap msgid "" "# poudriere ports -c -p local -m git+https\n" "[00:00:00] Creating local fs at /poudriere/ports/local... done\n" "[00:00:00] Checking out the ports tree... done\n" msgstr "" "# poudriere ports -c -p local -m git+https\n" "[00:00:00] Creating local fs at /poudriere/ports/local... done\n" "[00:00:00] Checking out the ports tree... done\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1253 msgid "" "On a single computer, poudriere can build ports with multiple " "configurations, in multiple jails, and from different port trees. Custom " "configurations for these combinations are called _sets_. See the " "CUSTOMIZATION section of man:poudriere[8] for details after package:ports-" "mgmt/poudriere[] or package:ports-mgmt/poudriere-devel[] is installed." msgstr "" "На одном компьютере poudriere может собирать порты с различными " "конфигурациями, в нескольких jail и из разных деревьев портов. " "Пользовательские конфигурации для таких комбинаций называются _наборами_. " "Подробности смотрите в разделе CUSTOMIZATION руководства man:poudriere[8] " "после установки package:ports-mgmt/poudriere[] или package:ports-mgmt/" "poudriere-devel[]." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1257 msgid "" "The basic configuration shown here puts a single jail-, port-, and set-" "specific `make.conf` in `/usr/local/etc/poudriere.d`. The filename in this " "example is created by combining the jail name, port name, and set name: " "`13amd64-local-workstation-make.conf`. The system `make.conf` and this new " "file are combined at build time to create the `make.conf` used by the build " "jail." msgstr "" "Базовая конфигурация, представленная здесь, размещает отдельные файлы `make." "conf` для каждого jail, порта и набора в `/usr/local/etc/poudriere.d`. Имя " "файла в этом примере формируется путем объединения имени jail, имени порта и " "имени набора: `13amd64-local-workstation-make.conf`. Системный `make.conf` и " "этот новый файл объединяются во время сборки, чтобы создать `make.conf`, " "используемый build jail." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1259 msgid "" "Packages to be built are entered in `13amd64-local-workstation-pkglist` " "(ports with extref:{porters-handbook}flavors[FLAVORS] can be defined with " "@FLAVOR):" msgstr "" "Пакеты для сборки указываются в файле `13amd64-local-workstation-pkglist` " "(для портов с extref:{porters-handbook}flavors[FLAVORS] можно указать " "@FLAVOR):" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1267 #, no-wrap msgid "" "editors/emacs\n" "devel/git\n" "devel/php-composer2@php82\n" "ports-mgmt/pkg\n" "...\n" msgstr "" "editors/emacs\n" "devel/git\n" "devel/php-composer2@php82\n" "ports-mgmt/pkg\n" "...\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1270 msgid "Options and dependencies for the specified ports are configured:" msgstr "Настраиваются параметры и зависимости для указанных портов:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1274 #, no-wrap msgid "# poudriere options -j 13amd64 -p local -z workstation -f 13amd64-local-workstation-pkglist\n" msgstr "# poudriere options -j 13amd64 -p local -z workstation -f 13amd64-local-workstation-pkglist\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1277 msgid "Finally, packages are built and a package repository is created:" msgstr "Наконец, пакеты собираются и создается репозиторий пакетов:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1281 #, no-wrap msgid "# poudriere bulk -j 13amd64 -p local -z workstation -f 13amd64-local-workstation-pkglist\n" msgstr "# poudriere bulk -j 13amd64 -p local -z workstation -f 13amd64-local-workstation-pkglist\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1285 msgid "" "While running, pressing kbd:[Ctrl+t] displays the current state of the " "build. poudriere also builds files in `/poudriere/logs/bulk/jailname` that " "can be used with a web server to display build information." msgstr "" "Во время работы нажатие kbd:[Ctrl+t] отображает текущее состояние сборки. " "poudriere также создает файлы в `/poudriere/logs/bulk/jailname`, которые " "можно использовать с веб-сервером для отображения информации о сборке." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1287 msgid "" "After completion, the new packages are now available for installation from " "the poudriere repository." msgstr "" "По завершении новые пакеты становятся доступными для установки из " "репозитория poudriere." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1289 msgid "" "For more information on using poudriere, see man:poudriere[8] and the main " "web site, https://github.com/freebsd/poudriere/wiki[]." msgstr "" "Для получения дополнительной информации об использовании poudriere см. man:" "poudriere[8] и основной веб-сайт: https://github.com/freebsd/poudriere/" "wiki[]." #. type: Title === #: documentation/content/en/books/handbook/ports/_index.adoc:1290 #, no-wrap msgid "Configuring pkg Clients to Use a poudriere Repository" msgstr "Настройка клиентов pkg для использования репозитория poudriere" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1295 msgid "" "While it is possible to use both a custom repository along side of the " "official repository, sometimes it is useful to disable the official " "repository. This is done by creating a configuration file that overrides " "and disables the official configuration file. Create `/usr/local/etc/pkg/" "repos/FreeBSD.conf` that contains the following:" msgstr "" "Хотя можно использовать как пользовательский репозиторий вместе с " "официальным, иногда полезно отключить официальный репозиторий. Это делается " "путём создания конфигурационного файла, который переопределяет и отключает " "официальный конфигурационный файл. Создайте `/usr/local/etc/pkg/repos/" "FreeBSD.conf` со следующим содержимым:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1301 #, no-wrap msgid "" "FreeBSD: {\n" "\tenabled: no\n" "}\n" msgstr "" "FreeBSD: {\n" "\tenabled: no\n" "}\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1305 msgid "" "Usually it is easiest to serve a poudriere repository to the client machines " "via HTTP. Set up a webserver to serve up the package directory, for " "instance: `/usr/local/poudriere/data/packages/13amd64`, where `13amd64` is " "the name of the build." msgstr "" "Обычно проще всего предоставлять доступ к репозиторию poudriere клиентским " "машинам через HTTP. Настройте веб-сервер для обслуживания каталога пакетов, " "например: `/usr/local/poudriere/data/packages/13amd64`, где `13amd64` — это " "название сборки." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1308 msgid "" "If the URL to the package repository is: `https://pkg.example.com/13amd64`, " "then the repository configuration file in `/usr/local/etc/pkg/repos/custom." "conf` would look like:" msgstr "" "Если URL репозитория пакетов: `https://pkg.example.com/13amd64`, то файл " "конфигурации репозитория в `/usr/local/etc/pkg/repos/custom.conf` будет " "выглядеть так:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1315 #, no-wrap msgid "" "custom: {\n" "\turl: \"https://pkg.example.com/13amd64\",\n" "\tenabled: yes,\n" "}\n" msgstr "" "custom: {\n" "\turl: \"https://pkg.example.com/13amd64\",\n" "\tenabled: yes,\n" "}\n" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1318 msgid "" "If exposing the package repository to the internet is not desired, the " "`file://` protocol can be used to point to the repository directly:" msgstr "" "Если нежелательно предоставлять доступ к репозиторию пакетов через интернет, " "можно использовать протокол `file://` для прямого указания на репозиторий:" #. type: delimited block . 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1325 #, no-wrap msgid "" "custom: {\n" "\turl: \"file:///usr/local/poudriere/data/packages/11amd64\",\n" "\tenabled: yes,\n" "}\n" msgstr "" "custom: {\n" "\turl: \"file:///usr/local/poudriere/data/packages/11amd64\",\n" "\tenabled: yes,\n" "}\n" #. type: Title == #: documentation/content/en/books/handbook/ports/_index.adoc:1328 #, no-wrap msgid "Post-Installation Considerations" msgstr "Пост-установочные вопросы" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1332 msgid "" "Regardless of whether the software was installed from a binary package or " "port, most third-party applications require some level of configuration " "after installation. The following commands and locations can be used to " "help determine what was installed with the application." msgstr "" "Независимо от того, было ли программное обеспечение установлено из бинарного " "пакета или порта, большинство сторонних приложений требуют некоторой " "настройки после установки. Следующие команды и расположения могут помочь " "определить, что было установлено вместе с приложением." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1334 msgid "" "Most applications install at least one default configuration file in `/usr/" "local/etc`. In cases where an application has a large number of " "configuration files, a subdirectory will be created to hold them. Often, " "sample configuration files are installed which end with a suffix such as `." "sample`. The configuration files should be reviewed and possibly edited to " "meet the system's needs. To edit a sample file, first copy it without the `." "sample` extension." msgstr "" "Большинство приложений устанавливают как минимум один конфигурационный файл " "по умолчанию в `/usr/local/etc`. В случаях, когда приложение имеет большое " "количество конфигурационных файлов, создаётся подкаталог для их хранения. " "Часто устанавливаются примеры конфигурационных файлов, которые имеют " "окончание, например, `.sample`. Конфигурационные файлы следует просмотреть " "и, возможно, отредактировать в соответствии с потребностями системы. Для " "редактирования файла-примера сначала скопируйте его без расширения `.sample`." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1335 msgid "" "Applications which provide documentation will install it into `/usr/local/" "share/doc` and many applications also install manual pages. This " "documentation should be consulted before continuing." msgstr "" "Приложения, которые предоставляют документацию, устанавливают её в `/usr/" "local/share/doc`, а многие приложения также устанавливают страницы " "руководств. Перед продолжением следует ознакомиться с этой документацией." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1336 msgid "" "Some applications run services which must be added to `/etc/rc.conf` before " "starting the application. These applications usually install a startup " "script in `/usr/local/etc/rc.d`. See crossref:config[configtuning-starting-" "services,Starting Services] for more information." msgstr "" "Некоторые приложения запускают службы, которые необходимо добавить в `/etc/" "rc.conf` перед запуском приложения. Обычно такие приложения устанавливают " "скрипт запуска в `/usr/local/etc/rc.d`. Дополнительную информацию можно " "найти в crossref:config[configtuning-starting-services,Запуск служб]." #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1341 msgid "" "By design, applications do not run their startup script upon installation, " "nor do they run their stop script upon deinstallation or upgrade. This " "decision is left to the individual system administrator." msgstr "" "По замыслу, приложения не запускают свои стартовые скрипты при установке, а " "также не выполняют скрипты остановки при удалении или обновлении. Это " "решение остаётся на усмотрение системного администратора." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1344 msgid "" "Users of man:csh[1] should run `rehash` to rebuild the known binary list in " "the shells `PATH`." msgstr "" "Пользователи man:csh[1] должны выполнить `rehash`, чтобы перестроить список " "известных двоичных файлов в `PATH` оболочки." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1345 msgid "" "Use `pkg info` to determine which files, man pages, and binaries were " "installed with the application." msgstr "" "Используйте `pkg info`, чтобы определить, какие файлы, man-страницы и " "бинарные файлы были установлены вместе с приложением." #. type: Title == #: documentation/content/en/books/handbook/ports/_index.adoc:1347 #, no-wrap msgid "Dealing with Broken Ports" msgstr "Работа с неработающими портами" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1350 msgid "When a port does not build or install, try the following:" msgstr "Когда порт не собирается или не устанавливается, попробуйте следующее:" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1352 msgid "" "Search to see if there is a fix pending for the port in the link:https://www." "FreeBSD.org/support/[Problem Report database]. If so, implementing the " "proposed fix may fix the issue." msgstr "" "Поищите, есть ли исправление для порта в базе данных link:https://www." "FreeBSD.org/support/[отчётов о проблемах]. Если оно есть, применение " "предложенного исправления может решить проблему." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1353 msgid "" "Ask the maintainer of the port for help. Type `make maintainer` in the ports " "skeleton or read the port's `Makefile` to find the maintainer's email " "address. Remember to include the output leading up to the error in the email " "to the maintainer." msgstr "" "Обратитесь к сопровождающему порта за помощью. Введите `make maintainer` в " "скелете портов или прочитайте `Makefile` порта, чтобы найти адрес " "электронной почты сопровождающего. Не забудьте включить вывод, " "предшествующий ошибке, в письмо сопровождающему." #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1359 msgid "" "Some ports are not maintained by an individual but instead by a group " "maintainer represented by a extref:{mailing-list-faq}[mailing list]. Many, " "but not all, of these addresses look like mailto:freebsd-listname@FreeBSD." "org[freebsd-listname@FreeBSD.org]. Please take this into account when " "sending an email." msgstr "" "Некоторые порты поддерживаются не отдельными людьми, а группой " "сопровождающих, представленной extref:{mailing-list-faq}[рассылкой]. Многие, " "но не все, такие адреса выглядят как mailto:freebsd-listname@FreeBSD." "org[freebsd-listname@FreeBSD.org]. Учтите это при отправке письма." #. type: delimited block = 4 #: documentation/content/en/books/handbook/ports/_index.adoc:1362 msgid "" "In particular, ports maintained by mailto:ports@FreeBSD.org[ports@FreeBSD." "org] are not maintained by a specific individual. Instead, any fixes and " "support come from the general community who subscribe to that mailing list. " "More volunteers are always needed!" msgstr "" "В частности, порты, поддерживаемые mailto:ports@FreeBSD.org[ports@FreeBSD." "org], не курируются конкретным человеком. Вместо этого исправления и " "поддержка поступают от сообщества в целом, участники которого подписаны на " "этот список рассылки. Добровольцы всегда нужны!" #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1365 msgid "" "If there is no response to the email, use Bugzilla to submit a bug report " "using the instructions in extref:{problem-reports}[Writing FreeBSD Problem " "Reports]." msgstr "" "Если на письмо не получен ответ, используйте Bugzilla для отправки отчёта об " "ошибке, следуя инструкциям в extref:{problem-reports}[Составление отчётов о " "проблемах в FreeBSD]." #. type: Plain text #: documentation/content/en/books/handbook/ports/_index.adoc:1366 msgid "" "Fix it! The extref:{porters-handbook}[Porter's Handbook] includes detailed " "information on the ports infrastructure, enabling the fixing of occasional " "broken ports or the submission of new ones. Install the package instead of " "the port using the instructions in crossref:ports[pkgng-intro, Using pkg for " "Binary Package Management]." msgstr "" "Исправьте это! В extref:{porters-handbook}[Руководстве FreeBSD по созданию " "портов] содержится подробная информация об инфраструктуре портов, так что " "можно исправить случайно сломанный порт или даже предложить свой " "собственный! Установите пакет вместо порта по инструкции в разделе crossref:" "ports[pkgng-intro, Использование pkg для управления бинарными пакетами]." #, no-wrap #~ msgid "# git -C /usr/ports switch 2023Q1\n" #~ msgstr "# git -C /usr/ports switch 2023Q1\n" #~ msgid "" #~ "Install the package instead of the port using the instructions in " #~ "crossref:ports[pkgng-intro, Using pkg for Binary Package Management]." #~ msgstr "" #~ "Установите пакет вместо порта, следуя инструкциям в crossref:ports[pkgng-" #~ "intro, Использование pkg для управления бинарными пакетами]."