diff options
Diffstat (limited to 'documentation/content/ru/books/handbook/kernelconfig/_index.po')
| -rw-r--r-- | documentation/content/ru/books/handbook/kernelconfig/_index.po | 940 |
1 files changed, 940 insertions, 0 deletions
diff --git a/documentation/content/ru/books/handbook/kernelconfig/_index.po b/documentation/content/ru/books/handbook/kernelconfig/_index.po new file mode 100644 index 0000000000..a6260a05f9 --- /dev/null +++ b/documentation/content/ru/books/handbook/kernelconfig/_index.po @@ -0,0 +1,940 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR The FreeBSD Project +# This file is distributed under the same license as the FreeBSD Documentation package. +# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025. +msgid "" +msgstr "" +"Project-Id-Version: FreeBSD Documentation VERSION\n" +"POT-Creation-Date: 2025-10-20 11:02+0300\n" +"PO-Revision-Date: 2025-06-14 04:45+0000\n" +"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n" +"Language-Team: Russian <https://translate-dev.freebsd.org/projects/" +"documentation/bookshandbookkernelconfig_index/ru/>\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 Hash Value: description +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:1 +#, no-wrap +msgid "This chapter covers how to configure the FreeBSD Kernel. When to build a custom kernel, how to take a hardware inventory, how to customize a kernel configuration file, etc" +msgstr "Эта глава рассказывает о настройке ядра FreeBSD. Когда стоит собирать собственное ядро, как провести инвентаризацию оборудования, как настроить конфигурационный файл ядра и т. д." + +#. type: Yaml Front Matter Hash Value: part +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:1 +#, no-wrap +msgid "Part II. Common Tasks" +msgstr "Часть II. Стандартные задачи" + +#. type: Yaml Front Matter Hash Value: title +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:1 +#, no-wrap +msgid "Chapter 10. Configuring the FreeBSD Kernel" +msgstr "Глава 10. Настройка ядра FreeBSD" + +#. type: Title = +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:15 +#, no-wrap +msgid "Configuring the FreeBSD Kernel" +msgstr "Настройка ядра FreeBSD" + +#. type: Title == +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:53 +#, no-wrap +msgid "Synopsis" +msgstr "Обзор" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:58 +msgid "" +"The kernel is the core of the FreeBSD operating system. It is responsible " +"for managing memory, enforcing security controls, networking, disk access, " +"and much more. While much of FreeBSD is dynamically configurable, some " +"users may wish to configure and compile a custom kernel." +msgstr "" +"Ядро — это основа операционной системы FreeBSD. Оно отвечает за управление " +"памятью, обеспечение контроля безопасности, работу с сетью, доступ к дискам " +"и многое другое. Хотя большая часть FreeBSD динамически настраивается, " +"некоторые пользователи могут захотеть настроить и скомпилировать собственное " +"ядро." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:60 +msgid "After reading this chapter, you will know:" +msgstr "Прочитав эту главу, вы будете знать:" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:62 +msgid "When to build a custom kernel." +msgstr "Когда следует собирать собственный ядро." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:63 +msgid "How to take a hardware inventory." +msgstr "Как провести инвентаризацию оборудования." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:64 +msgid "How to customize a kernel configuration file." +msgstr "Как настроить файл конфигурации ядра." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:65 +msgid "" +"How to use the kernel configuration file to create and build a new kernel." +msgstr "" +"Как использовать файл конфигурации ядра для создания и сборки нового ядра." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:66 +msgid "How to install the new kernel." +msgstr "Как установить новое ядро." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:67 +msgid "How to troubleshoot if things go wrong." +msgstr "Как устранить неполадки, если что-то пойдет не так." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:69 +msgid "" +"All of the commands listed in the examples in this chapter should be " +"executed as `root`." +msgstr "" +"Все команды, приведенные в примерах этой главы, должны выполняться от имени " +"пользователя `root`." + +#. type: Title == +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:71 +#, no-wrap +msgid "Why Build a Custom Kernel?" +msgstr "Зачем собирать собственное ядро?" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:75 +msgid "" +"Traditionally, FreeBSD used a monolithic kernel. The kernel was one large " +"program, supported a fixed list of devices, and in order to change the " +"kernel's behavior, one had to compile and then reboot into a new kernel." +msgstr "" +"Традиционно FreeBSD использовала монолитное ядро. Ядро представляло собой " +"одну большую программу, поддерживало фиксированный список устройств, и для " +"изменения его поведения необходимо было скомпилировать новое ядро, а затем " +"перезагрузиться в него." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:79 +msgid "" +"Today, most of the functionality in the FreeBSD kernel is contained in " +"modules which can be dynamically loaded and unloaded from the kernel as " +"necessary. This allows the running kernel to adapt immediately to new " +"hardware and for new functionality to be brought into the kernel. This is " +"known as a modular kernel." +msgstr "" +"Сегодня большая часть функциональности ядра FreeBSD содержится в модулях, " +"которые могут быть динамически загружены в ядро или выгружены из него по " +"мере необходимости. Это позволяет работающему ядру немедленно адаптироваться " +"к новому оборудованию и добавлять новую функциональность. Такое ядро " +"называется модульным." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:83 +msgid "" +"Occasionally, it is still necessary to perform static kernel configuration. " +"Sometimes the needed functionality is so tied to the kernel that it can not " +"be made dynamically loadable. Some security environments prevent the " +"loading and unloading of kernel modules and require that only needed " +"functionality is statically compiled into the kernel." +msgstr "" +"Время от времени всё ещё требуется выполнять статическую настройку ядра. " +"Иногда необходимая функциональность настолько тесно связана с ядром, что её " +"невозможно сделать динамически загружаемой. В некоторых средах с повышенными " +"требованиями к безопасности запрещена загрузка и выгрузка модулей ядра, и " +"требуется, чтобы только необходимая функциональность была статически " +"скомпилирована в ядро." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:88 +msgid "" +"Building a custom kernel is often a rite of passage for advanced BSD users. " +"This process, while time consuming, can provide benefits to the FreeBSD " +"system. Unlike the [.filename]#GENERIC# kernel, which must support a wide " +"range of hardware, a custom kernel can be stripped down to only provide " +"support for that computer's hardware. This has a number of benefits, such " +"as:" +msgstr "" +"Сборка собственного ядра часто является своего рода обрядом посвящения для " +"опытных пользователей BSD. Этот процесс, хотя и отнимает много времени, " +"может принести пользу системе FreeBSD. В отличие от ядра " +"[.filename]#GENERIC#, которое должно поддерживать широкий спектр " +"оборудования, собственное ядро можно сократить до поддержки только " +"аппаратного обеспечения данного компьютера. Это дает ряд преимуществ, таких " +"как:" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:90 +msgid "" +"Faster boot time. Since the kernel will only probe the hardware on the " +"system, the time it takes the system to boot can decrease." +msgstr "" +"Более быстрая загрузка. Поскольку ядро будет проверять только оборудование, " +"установленное в системе, время загрузки системы может сократиться." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:91 +msgid "" +"Lower memory usage. A custom kernel often uses less memory than the " +"[.filename]#GENERIC# kernel by omitting unused features and device drivers. " +"This is important because the kernel code remains resident in physical " +"memory at all times, preventing that memory from being used by applications. " +"For this reason, a custom kernel is useful on a system with a small amount " +"of RAM." +msgstr "" +"Снижение использования памяти. Собственное ядро часто потребляет меньше " +"памяти, чем ядро [.filename]#GENERIC#, за счёт исключения неиспользуемых " +"функций и драйверов устройств. Это важно, поскольку код ядра постоянно " +"находится в физической памяти, не позволяя использовать эту память " +"приложениям. По этой причине собственное ядро полезно на системах с " +"небольшим объёмом оперативной памяти." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:92 +msgid "" +"Additional hardware support. A custom kernel can add support for devices " +"which are not present in the [.filename]#GENERIC# kernel." +msgstr "" +"Дополнительная поддержка оборудования. Собственное ядро может добавить " +"поддержку устройств, которые отсутствуют в ядре [.filename]#GENERIC#." + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:98 +msgid "" +"When building a custom kernel, it is important to note that non-default " +"configurations are less thoroughly tested than the GENERIC configuration. " +"While customizing the kernel can provide specific benefits it also increases " +"the risk of encountering build or runtime issues. Custom kernel " +"configurations are recommended only for advanced users who have a specific " +"reason for making changes and are willing to engage in the debugging process " +"if necessary." +msgstr "" +"При сборке собственного ядра важно учитывать, что нестандартные конфигурации " +"тестируются менее тщательно, чем конфигурация GENERIC. Хотя настройка ядра " +"может дать определённые преимущества, она также увеличивает риск " +"возникновения проблем при сборке или во время работы. Пользовательские " +"конфигурации ядра рекомендуются только опытным пользователям, у которых есть " +"веская причина для внесения изменений и которые готовы при необходимости " +"участвовать в процессе отладки." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:102 +msgid "" +"Before building a custom kernel, consider the reason for doing so. If there " +"is a need for specific hardware support, it may already exist as a module." +msgstr "" +"Прежде чем собирать собственное ядро, стоит подумать о причине этого. Если " +"требуется поддержка определённого оборудования, она может уже существовать в " +"виде модуля." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:106 +msgid "" +"Kernel modules exist in [.filename]#/boot/kernel# and may be dynamically " +"loaded into the running kernel using man:kldload[8]. Most kernel drivers " +"have a loadable module and manual page. For example, the man:ath[4] " +"wireless network driver has the following information in its manual page:" +msgstr "" +"Модули ядра находятся в [.filename]#/boot/kernel# и могут быть динамически " +"загружены в работающее ядро с помощью man:kldload[8]. Большинство драйверов " +"ядра имеют загружаемый модуль и страницу руководства. Например, драйвер " +"беспроводной сети man:ath[4] содержит следующую информацию на своей странице " +"руководства:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:111 +#, no-wrap +msgid "" +"Alternatively, to load the driver as a module at boot time, place the\n" +"following line in man:loader.conf[5]:\n" +msgstr "" +"В качестве альтернативы, для загрузки драйвера в виде модуля при старте системы,\n" +"поместите следующую строку в man:loader.conf[5]:\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:113 +#, no-wrap +msgid " if_ath_load=\"YES\"\n" +msgstr " if_ath_load=\"YES\"\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:116 +msgid "" +"Adding `if_ath_load=\"YES\"` to [.filename]#/boot/loader.conf# will load " +"this module dynamically at boot time." +msgstr "" +"Добавление `if_ath_load=\"YES\"` в [.filename]#/boot/loader.conf# позволит " +"динамически загрузить этот модуль во время загрузки системы." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:119 +msgid "" +"In some cases, there is no associated module in [.filename]#/boot/kernel#. " +"This is mostly true for certain subsystems." +msgstr "" +"В некоторых случаях связанный модуль отсутствует в [.filename]#/boot/" +"kernel#. Это в основном относится к определенным подсистемам." + +#. type: Title == +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:121 +#, no-wrap +msgid "Finding the System Hardware" +msgstr "Поиск информации об оборудовании системы" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:126 +msgid "" +"Before editing the kernel configuration file, it is recommended to perform " +"an inventory of the machine's hardware. On a dual-boot system, the " +"inventory can be created from the other operating system. For example, " +"Microsoft(R)'s Device Manager contains information about installed devices." +msgstr "" +"Прежде чем редактировать файл конфигурации ядра, рекомендуется составить " +"перечень оборудования компьютера. На системе с двойной загрузкой этот " +"перечень можно создать из другой операционной системы. Например, Диспетчер " +"устройств Microsoft(R) содержит информацию об установленных устройствах." + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:130 +msgid "" +"Some versions of Microsoft(R) Windows(R) have a System icon which can be " +"used to access Device Manager." +msgstr "" +"Некоторые версии Microsoft(R) Windows(R) имеют значок \"Система\", который " +"можно использовать для доступа к диспетчеру устройств." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:135 +msgid "" +"If FreeBSD is the only installed operating system, use man:dmesg[8] to " +"determine the hardware that was found and listed during the boot probe. " +"Most device drivers on FreeBSD have a manual page which lists the hardware " +"supported by that driver. For example, the following lines indicate that " +"the man:psm[4] driver found a mouse:" +msgstr "" +"Если FreeBSD — единственная установленная операционная система, используйте " +"man:dmesg[8] для определения оборудования, обнаруженного и перечисленного во " +"время загрузки. Большинство драйверов устройств в FreeBSD имеют справочную " +"страницу, в которой перечислено поддерживаемое оборудование. Например, " +"следующие строки указывают, что драйвер man:psm[4] обнаружил мышь:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:142 +#, no-wrap +msgid "" +"psm0: <PS/2 Mouse> irq 12 on atkbdc0\n" +"psm0: [GIANT-LOCKED]\n" +"psm0: [ITHREAD]\n" +"psm0: model Generic PS/2 mouse, device ID 0\n" +msgstr "" +"psm0: <PS/2 Mouse> irq 12 on atkbdc0\n" +"psm0: [GIANT-LOCKED]\n" +"psm0: [ITHREAD]\n" +"psm0: model Generic PS/2 mouse, device ID 0\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:145 +msgid "" +"Since this hardware exists, this driver should not be removed from a custom " +"kernel configuration file." +msgstr "" +"Поскольку данное оборудование существует, этот драйвер не следует удалять из " +"файла конфигурации собственного ядра." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:147 +msgid "" +"If the output of `dmesg` does not display the results of the boot probe " +"output, instead read the contents of [.filename]#/var/run/dmesg.boot#." +msgstr "" +"Если вывод команды `dmesg` не отображает результаты загрузочного probing, " +"вместо этого прочитайте содержимое файла [.filename]#/var/run/dmesg.boot#." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:150 +msgid "" +"Another tool for finding hardware is man:pciconf[8], which provides more " +"verbose output. For example:" +msgstr "" +"Еще один инструмент для поиска оборудования — это man:pciconf[8], который " +"предоставляет более подробный вывод. Например:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:159 +#, no-wrap +msgid "" +"% pciconf -lv\n" +"ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00\n" +" vendor = 'Atheros Communications Inc.'\n" +" device = 'AR5212 Atheros AR5212 802.11abg wireless'\n" +" class = network\n" +" subclass = ethernet\n" +msgstr "" +"% pciconf -lv\n" +"ath0@pci0:3:0:0: class=0x020000 card=0x058a1014 chip=0x1014168c rev=0x01 hdr=0x00\n" +" vendor = 'Atheros Communications Inc.'\n" +" device = 'AR5212 Atheros AR5212 802.11abg wireless'\n" +" class = network\n" +" subclass = ethernet\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:162 +msgid "" +"This output shows that the [.filename]#ath# driver located a wireless " +"Ethernet device." +msgstr "" +"Этот вывод показывает, что драйвер [.filename]#ath# обнаружил беспроводное " +"Ethernet-устройство." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:165 +msgid "" +"The `-k` flag of man:man[1] can be used to provide useful information. For " +"example, it can be used to display a list of manual pages which contain a " +"particular device brand or name:" +msgstr "" +"Флаг `-k` утилиты man:man[1] может быть полезен для получения информации. " +"Например, с его помощью можно вывести список страниц руководства, содержащих " +"определённое название или марку устройства:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:171 +#, no-wrap +msgid "" +"# man -k Atheros\n" +"ath(4) - Atheros IEEE 802.11 wireless network driver\n" +"ath_hal(4) - Atheros Hardware Access Layer (HAL)\n" +msgstr "" +"# man -k Atheros\n" +"ath(4) - Atheros IEEE 802.11 wireless network driver\n" +"ath_hal(4) - Atheros Hardware Access Layer (HAL)\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:174 +msgid "" +"Once the hardware inventory list is created, refer to it to ensure that " +"drivers for installed hardware are not removed as the custom kernel " +"configuration is edited." +msgstr "" +"После составления списка оборудования обратитесь к нему, чтобы убедиться, " +"что драйверы установленного оборудования не будут удалены при редактировании " +"конфигурации собственного ядра." + +#. type: Title == +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:176 +#, no-wrap +msgid "The Configuration File" +msgstr "Файл конфигурации" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:179 +msgid "" +"In order to create a custom kernel configuration file and build a custom " +"kernel, the full FreeBSD source tree must first be installed." +msgstr "" +"Для создания файла конфигурации собственного ядра и сборки кастомного ядра " +"необходимо сначала установить полное дерево исходных кодов FreeBSD." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:182 +msgid "" +"If [.filename]#/usr/src/# does not exist or it is empty, source has not been " +"installed. Source can be installed with Git using the instructions in " +"crossref:mirrors[git,“Using Git”]." +msgstr "" +"Если [.filename]#/usr/src/# не существует или пуст, исходный код не " +"установлен. Исходный код можно установить с помощью Git, следуя инструкциям " +"в crossref:mirrors[git,“Использование Git”]." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:187 +msgid "" +"Once source is installed, review the contents of [.filename]#/usr/src/sys#. " +"This directory contains a number of subdirectories, including those which " +"represent the following supported architectures: [.filename]#amd64#, " +"[.filename]#i386#, [.filename]#powerpc#, and [.filename]#sparc64#. " +"Everything inside a particular architecture's directory deals with that " +"architecture only and the rest of the code is machine independent code " +"common to all platforms. Each supported architecture has a " +"[.filename]#conf# subdirectory which contains the [.filename]#GENERIC# " +"kernel configuration file for that architecture." +msgstr "" +"После установки исходного кода ознакомьтесь с содержимым каталога " +"[.filename]#/usr/src/sys#. Этот каталог содержит несколько подкаталогов, " +"включая те, которые соответствуют следующим поддерживаемым архитектурам: " +"[.filename]#amd64#, [.filename]#i386#, [.filename]#powerpc# и " +"[.filename]#sparc64#. Всё содержимое каталога конкретной архитектуры " +"относится только к этой архитектуре, а остальной код является машинно-" +"независимым и общим для всех платформ. Каждая поддерживаемая архитектура " +"имеет подкаталог [.filename]#conf#, который содержит файл конфигурации ядра " +"[.filename]#GENERIC# для данной архитектуры." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:193 +msgid "" +"Do not make edits to [.filename]#GENERIC#. Instead, copy the file to a " +"different name and make edits to the copy. The convention is to use a name " +"with all capital letters. When maintaining multiple FreeBSD machines with " +"different hardware, it is a good idea to name it after the machine's " +"hostname. This example creates a copy, named [.filename]#MYKERNEL#, of the " +"[.filename]#GENERIC# configuration file for the `amd64` architecture:" +msgstr "" +"Не вносите изменения в файл [.filename]#GENERIC#. Вместо этого скопируйте " +"его под другим именем и редактируйте копию. По сложившейся практике имя " +"файла должно состоять из заглавных букв. Если вы обслуживаете несколько " +"машин FreeBSD с разным оборудованием, разумно назвать файл по имени хоста " +"соответствующей машины. В следующем примере создаётся копия файла " +"конфигурации [.filename]#GENERIC# для архитектуры `amd64` с именем " +"[.filename]#MYKERNEL#:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:198 +#, no-wrap +msgid "" +"# cd /usr/src/sys/amd64/conf\n" +"# cp GENERIC MYKERNEL\n" +msgstr "" +"# cd /usr/src/sys/amd64/conf\n" +"# cp GENERIC MYKERNEL\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:202 +msgid "" +"[.filename]#MYKERNEL# can now be customized with any `ASCII` text editor. " +"The default editor is vi, though an easier editor for beginners, called ee, " +"is also installed with FreeBSD." +msgstr "" +"[.filename]#MYKERNEL# теперь можно настроить с помощью любого текстового " +"редактора, поддерживающего `ASCII`. Редактор по умолчанию — vi, но для " +"новичков также установлен более простой редактор под названием ee." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:208 +msgid "" +"The format of the kernel configuration file is simple. Each line contains a " +"keyword that represents a device or subsystem, an argument, and a brief " +"description. Any text after a `+#+` is considered a comment and ignored. " +"To remove kernel support for a device or subsystem, put a `+#+` at the " +"beginning of the line representing that device or subsystem. Do not add or " +"remove a `+#+` for any line that you do not understand." +msgstr "" +"Формат файла конфигурации ядра прост. Каждая строка содержит ключевое слово, " +"представляющее устройство или подсистему, аргумент и краткое описание. Любой " +"текст после `+#+` считается комментарием и игнорируется. Чтобы удалить " +"поддержку устройства или подсистемы в ядре, поставьте `+#+` в начале строки, " +"соответствующей этому устройству или подсистеме. Не добавляйте и не удаляйте " +"`+#+` для строк, которые вы не понимаете." + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:214 +msgid "" +"It is easy to remove support for a device or option and end up with a broken " +"kernel. For example, if the man:ata[4] driver is removed from the kernel " +"configuration file, a system using `ATA` disk drivers may not boot. When in " +"doubt, just leave support in the kernel." +msgstr "" +"Легко удалить поддержку устройства или опции и получить нерабочее ядро. " +"Например, если драйвер man:ata[4] удалён из конфигурационного файла ядра, " +"система, использующая драйверы дисков `ATA`, может не загрузиться. Если " +"сомневаетесь — оставьте поддержку в ядре." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:218 +msgid "" +"In addition to the brief descriptions provided in this file, additional " +"descriptions are contained in [.filename]#NOTES#, which can be found in the " +"same directory as [.filename]#GENERIC# for that architecture. For " +"architecture independent options, refer to [.filename]#/usr/src/sys/conf/" +"NOTES#." +msgstr "" +"В дополнение к кратким описаниям, приведённым в этом файле, дополнительные " +"описания содержатся в [.filename]#NOTES#, которые можно найти в том же " +"каталоге, что и [.filename]#GENERIC# для данной архитектуры. Для " +"архитектурно-независимых параметров обратитесь к [.filename]#/usr/src/sys/" +"conf/NOTES#." + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:222 +msgid "" +"When finished customizing the kernel configuration file, save a backup copy " +"to a location outside of [.filename]#/usr/src#." +msgstr "" +"После завершения настройки конфигурационного файла ядра сохраните резервную " +"копию в расположении за пределами [.filename]#/usr/src#." + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:224 +msgid "" +"Alternately, keep the kernel configuration file elsewhere and create a " +"symbolic link to the file:" +msgstr "" +"Альтернативно, можно сохранить файл конфигурации ядра в другом месте и " +"создать символическую ссылку на него:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:231 +#, no-wrap +msgid "" +"# cd /usr/src/sys/amd64/conf\n" +"# mkdir /root/kernels\n" +"# cp GENERIC /root/kernels/MYKERNEL\n" +"# ln -s /root/kernels/MYKERNEL\n" +msgstr "" +"# cd /usr/src/sys/amd64/conf\n" +"# mkdir /root/kernels\n" +"# cp GENERIC /root/kernels/MYKERNEL\n" +"# ln -s /root/kernels/MYKERNEL\n" + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:238 +msgid "" +"An `include` directive is available for use in configuration files. This " +"allows another configuration file to be included in the current one, making " +"it easy to maintain small changes relative to an existing file. If only a " +"small number of additional options or drivers are required, this allows a " +"delta to be maintained with respect to [.filename]#GENERIC#, as seen in this " +"example:" +msgstr "" +"В конфигурационных файлах доступна директива `include`, которая позволяет " +"включать содержимое другого конфигурационного файла в текущий. Это упрощает " +"поддержку небольших изменений относительно существующего файла. Если " +"требуется лишь несколько дополнительных параметров или драйверов, можно " +"сохранять разницу относительно [.filename]#GENERIC#, как показано в примере:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:243 +#, no-wrap +msgid "" +"include GENERIC\n" +"ident MYKERNEL\n" +msgstr "" +"include GENERIC\n" +"ident MYKERNEL\n" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:248 +#, no-wrap +msgid "" +"options IPFIREWALL\n" +"options DUMMYNET\n" +"options IPFIREWALL_DEFAULT_TO_ACCEPT\n" +"options IPDIVERT\n" +msgstr "" +"options IPFIREWALL\n" +"options DUMMYNET\n" +"options IPFIREWALL_DEFAULT_TO_ACCEPT\n" +"options IPDIVERT\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:253 +msgid "" +"Using this method, the local configuration file expresses local differences " +"from a [.filename]#GENERIC# kernel. As upgrades are performed, new features " +"added to [.filename]#GENERIC# will also be added to the local kernel unless " +"they are specifically prevented using `nooptions` or `nodevice`. A " +"comprehensive list of configuration directives and their descriptions may be " +"found in man:config[5]." +msgstr "" +"При использовании этого метода локальный конфигурационный файл отражает " +"локальные отличия от ядра [.filename]#GENERIC#. При выполнении обновлений " +"новые функции, добавленные в [.filename]#GENERIC#, также будут добавлены в " +"локальное ядро, если они не запрещены явно с помощью `nooptions` или " +"`nodevice`. Полный список директив конфигурации и их описания можно найти в " +"man:config[5]." + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:257 +msgid "" +"To build a file which contains all available options, run the following " +"command as `root`:" +msgstr "" +"Чтобы создать файл, содержащий все доступные параметры, выполните следующую " +"команду от имени `root`:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:261 +#, no-wrap +msgid "# cd /usr/src/sys/arch/conf && make LINT\n" +msgstr "# cd /usr/src/sys/arch/conf && make LINT\n" + +#. type: Title == +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:266 +#, no-wrap +msgid "Building and Installing a Custom Kernel" +msgstr "Сборка и установка собственного ядра" + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:269 +msgid "" +"Once the edits to the custom configuration file have been saved, the source " +"code for the kernel can be compiled using the following steps:" +msgstr "" +"После сохранения изменений в пользовательском конфигурационном файле " +"исходный код ядра можно скомпилировать, выполнив следующие шаги:" + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:273 +#, fuzzy +#| msgid "*Procedure: Building a Kernel*\n" +msgid "*Procedure: Building a Kernel*" +msgstr "*Процедура: Сборка ядра*\n" + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:275 +msgid "Change to this directory:" +msgstr "Перейдите в этот каталог:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:279 +#, no-wrap +msgid "# cd /usr/src\n" +msgstr "# cd /usr/src\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:282 +msgid "" +"Compile the new kernel by specifying the name of the custom kernel " +"configuration file:" +msgstr "Соберите новое ядро, указав имя файла конфигурации собственного ядра:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:286 +#, no-wrap +msgid "# make buildkernel KERNCONF=MYKERNEL\n" +msgstr "# make buildkernel KERNCONF=MYKERNEL\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:289 +msgid "" +"Install the new kernel associated with the specified kernel configuration " +"file. This command will copy the new kernel to [.filename]#/boot/kernel/" +"kernel# and save the old kernel to [.filename]#/boot/kernel.old/kernel#:" +msgstr "" +"Установите новое ядро, связанное с указанным файлом конфигурации ядра. Эта " +"команда скопирует новое ядро в [.filename]#/boot/kernel/kernel#, а старое " +"ядро сохранит в [.filename]#/boot/kernel.old/kernel#:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:293 +#, no-wrap +msgid "# make installkernel KERNCONF=MYKERNEL\n" +msgstr "# make installkernel KERNCONF=MYKERNEL\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:297 +msgid "" +"Shutdown the system and reboot into the new kernel. If something goes wrong, " +"refer to crossref:kernelconfig[kernelconfig-noboot, The kernel does not " +"boot]." +msgstr "" +"Выключите систему и перезагрузитесь с новым ядром. Если возникнут проблемы, " +"обратитесь к разделу crossref:kernelconfig[kernelconfig-noboot, Ядро не " +"загружается]." + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:301 +msgid "" +"By default, when a custom kernel is compiled, all kernel modules are " +"rebuilt. To update a kernel faster or to build only custom modules, edit " +"[.filename]#/etc/make.conf# before starting to build the kernel." +msgstr "" +"По умолчанию при компиляции собственного ядра все модули ядра " +"пересобираются. Чтобы ускорить обновление ядра или собрать только " +"необходимые модули, отредактируйте [.filename]#/etc/make.conf# перед началом " +"сборки ядра." + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:303 +msgid "" +"For example, this variable specifies the list of modules to build instead of " +"using the default of building all modules:" +msgstr "" +"Например, эта переменная задаёт список модулей для сборки вместо " +"использования значения по умолчанию (сборка всех модулей):" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:307 +#, no-wrap +msgid "MODULES_OVERRIDE = linux acpi\n" +msgstr "MODULES_OVERRIDE = linux acpi\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:310 +msgid "" +"Alternately, this variable lists which modules to exclude from the build " +"process:" +msgstr "" +"В качестве альтернативы, эта переменная указывает, какие модули исключить из " +"процесса сборки:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:314 +#, no-wrap +msgid "WITHOUT_MODULES = linux acpi sound\n" +msgstr "WITHOUT_MODULES = linux acpi sound\n" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:318 +msgid "" +"Additional variables are available. Refer to man:make.conf[5] for details." +msgstr "" +"Доступны дополнительные переменные. Подробности смотрите в man:make.conf[5]." + +#. type: Title == +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:320 +#, no-wrap +msgid "If Something Goes Wrong" +msgstr "Если что-то пойдет не так" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:323 +msgid "" +"There are four categories of trouble that can occur when building a custom " +"kernel:" +msgstr "" +"Существует четыре типа проблем, которые могут возникнуть при сборке " +"собственного ядра:" + +#. type: Labeled list +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:324 +#, no-wrap +msgid "`config` fails" +msgstr "`config` завершается с ошибкой" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:327 +msgid "" +"If `config` fails, it will print the line number that is incorrect. As an " +"example, for the following message, make sure that line 17 is typed " +"correctly by comparing it to [.filename]#GENERIC# or [.filename]#NOTES#:" +msgstr "" +"Если `config` завершается с ошибкой, он выводит номер строки, содержащей " +"ошибку. Например, при получении следующего сообщения убедитесь, что строка " +"17 введена правильно, сравнив её с [.filename]#GENERIC# или " +"[.filename]#NOTES#:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:331 +#, no-wrap +msgid "config: line 17: syntax error\n" +msgstr "config: line 17: syntax error\n" + +#. type: Labeled list +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:333 +#, no-wrap +msgid "`make` fails" +msgstr "`make` завершается с ошибкой" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:336 +msgid "" +"If `make` fails, it is usually due to an error in the kernel configuration " +"file which is not severe enough for `config` to catch. Review the " +"configuration, and if the problem is not apparent, send an email to the " +"{freebsd-questions} which contains the kernel configuration file." +msgstr "" +"Если `make` завершается с ошибкой, обычно это связано с ошибкой в файле " +"конфигурации ядра, которую `config` не смог обнаружить. Проверьте " +"конфигурацию, и если проблема не очевидна, отправьте письмо в список " +"рассылки {freebsd-questions}, приложив файл конфигурации ядра." + +#. type: Labeled list +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:338 +#, no-wrap +msgid "The kernel does not boot" +msgstr "Ядро не загружается" + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:343 +msgid "" +"If the new kernel does not boot or fails to recognize devices, do not panic! " +"Fortunately, FreeBSD has an excellent mechanism for recovering from " +"incompatible kernels. Simply choose the kernel to boot from at the FreeBSD " +"boot loader. This can be accessed when the system boot menu appears by " +"selecting the \"Escape to a loader prompt\" option. At the prompt, type " +"`boot _kernel.old_`, or the name of any other kernel that is known to boot " +"properly." +msgstr "" +"Если новый ядро не загружается или не распознаёт устройства, не паникуйте! К " +"счастью, в FreeBSD есть отличный механизм восстановления после проблем с " +"несовместимыми ядрами. Просто выберите ядро для загрузки в загрузчике " +"FreeBSD. Это можно сделать при появлении меню загрузки системы, выбрав опцию " +"«Escape to a loader prompt». В командной строке введите `boot _kernel.old_` " +"или имя любого другого ядра, которое заведомо загружается правильно." + +#. type: Plain text +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:347 +msgid "" +"After booting with a good kernel, check over the configuration file and try " +"to build it again. One helpful resource is [.filename]#/var/log/messages# " +"which records the kernel messages from every successful boot. Also, " +"man:dmesg[8] will print the kernel messages from the current boot." +msgstr "" +"После загрузки с исправным ядром проверьте конфигурационный файл и " +"попробуйте собрать его снова. Полезным ресурсом может быть [.filename]#/var/" +"log/messages#, где записываются сообщения ядра при каждой успешной загрузке. " +"Также man:dmesg[8] выведет сообщения ядра текущей загрузки." + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:353 +msgid "" +"When troubleshooting a kernel make sure to keep a copy of a kernel that is " +"known to work, such as [.filename]#GENERIC#. This is important because " +"every time a new kernel is installed, [.filename]#kernel.old# is overwritten " +"with the last installed kernel, which may or may not be bootable. As soon " +"as possible, move the working kernel by renaming the directory containing " +"the good kernel:" +msgstr "" +"При устранении неполадок ядра обязательно сохраняйте копию работоспособного " +"ядра, например, [.filename]#GENERIC#. Это важно, потому что при каждой " +"установке нового ядра файл [.filename]#kernel.old# перезаписывается " +"последним установленным ядром, которое может быть или не быть загружаемым. " +"Как можно скорее переместите рабочее ядро, переименовав каталог, содержащий " +"исправное ядро:" + +#. type: delimited block . 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:358 +#, no-wrap +msgid "" +"# mv /boot/kernel /boot/kernel.bad\n" +"# mv /boot/kernel.good /boot/kernel\n" +msgstr "" +"# mv /boot/kernel /boot/kernel.bad\n" +"# mv /boot/kernel.good /boot/kernel\n" + +#. type: Labeled list +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:362 +#, no-wrap +msgid "The kernel works, but man:ps[1] does not" +msgstr "Ядро работает, но man:ps[1] — нет" + +#. type: delimited block = 4 +#: documentation/content/en/books/handbook/kernelconfig/_index.adoc:365 +msgid "" +"If the kernel version differs from the one that the system utilities have " +"been built with, for example, a kernel built from -CURRENT sources is " +"installed on a -RELEASE system, many system status commands like man:ps[1] " +"and man:vmstat[8] will not work. To fix this, crossref:cutting-" +"edge[makeworld,recompile and install a world] built with the same version of " +"the source tree as the kernel. It is never a good idea to use a different " +"version of the kernel than the rest of the operating system." +msgstr "" +"Если версия ядра отличается от той, с которой собраны системные утилиты, " +"например, при установке ядра, собранного из исходников -CURRENT, на систему " +"-RELEASE, многие команды для просмотра состояния системы, такие как " +"man:ps[1] и man:vmstat[8], не будут работать. Чтобы исправить это, " +"crossref:cutting-edge[makeworld,пересоберите и установите world], собранный " +"из той же версии исходного дерева, что и ядро. Никогда не рекомендуется " +"использовать версию ядра, отличную от остальной операционной системы." |
