aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladlen Popolitov <vladlen@FreeBSD.org>2026-08-13 14:05:16 +0000
committerVladlen Popolitov <vladlen@FreeBSD.org>2026-08-13 14:05:16 +0000
commitc83f1a58e605a8ea075f6449856d9dc091305479 (patch)
treef547ade70199649b89aa6a35d5fb92026b25a4b7
parent7262c7f7c0444007febd1e53cf2a991a9118d652 (diff)
update translation of articles/ g-n to Russian
Differential Revision: https://reviews.freebsd.org/D58808
-rw-r--r--documentation/content/ru/articles/geom-class/_index.adoc8
-rw-r--r--documentation/content/ru/articles/geom-class/_index.po351
-rw-r--r--documentation/content/ru/articles/gjournal-desktop/_index.adoc4
-rw-r--r--documentation/content/ru/articles/gjournal-desktop/_index.po706
-rw-r--r--documentation/content/ru/articles/hubs/_index.adoc10
-rw-r--r--documentation/content/ru/articles/hubs/_index.po272
-rw-r--r--documentation/content/ru/articles/license-guide/_index.adoc46
-rw-r--r--documentation/content/ru/articles/license-guide/_index.po535
-rw-r--r--documentation/content/ru/articles/linux-emulation/_index.adoc2
-rw-r--r--documentation/content/ru/articles/linux-emulation/_index.po841
-rw-r--r--documentation/content/ru/articles/new-users/_index.adoc2
-rw-r--r--documentation/content/ru/articles/new-users/_index.po389
12 files changed, 1670 insertions, 1496 deletions
diff --git a/documentation/content/ru/articles/geom-class/_index.adoc b/documentation/content/ru/articles/geom-class/_index.adoc
index f0432642f4..68055b27e1 100644
--- a/documentation/content/ru/articles/geom-class/_index.adoc
+++ b/documentation/content/ru/articles/geom-class/_index.adoc
@@ -99,7 +99,7 @@ options WITNESS
Установка отладочного ядра обычным способом (`make installkernel`) не даст привычного результата: файл ядра будет называться [.filename]#kernel.debug# и будет находиться в [.filename]#/usr/obj/usr/src/sys/KERNELNAME/#. Для удобства, отладочное ядро необходимо скопировать в [.filename]#/boot/kernel/#.
-Также удобно иметь включенный отладчик ядра, так вы сможете исследовать паники сразу-же после их возникновения. Для включения отладчика добавьте следующие строки в файл конфигурации ядра:
+Также удобно иметь включённый отладчик ядра, так вы сможете исследовать паники сразу-же после их возникновения. Для включения отладчика добавьте следующие строки в файл конфигурации ядра:
[.programlisting]
....
@@ -115,7 +115,7 @@ options KDB_TRACE
debug.debugger_on_panic=1
....
-Паники системы будут происходить, поэтому уделите внимание кэшу файловой системы. Обычно, при включенном механизме softupdates, последняя версия файла может быть утеряна если паника произошла раньше сбрасывания кэша на устройство хранения. Выключение механизма softupdates (посредством монтирования файловой системы с опцией "sync") значительно сказывается на производительности и, опять-же, не гарантирует целостности данных. Как компромисс, можно сократить задержки сбрасывания кэша механизма softupdates. Есть три переменных sysctl, значения которых необходимо изменить (лучше всего - прописав их в [.filename]#/etc/sysctl.conf#):
+Паники системы будут происходить, поэтому уделите внимание кэшу файловой системы. Обычно, при включённом механизме softupdates, последняя версия файла может быть утеряна если паника произошла раньше сбрасывания кэша на устройство хранения. Выключение механизма softupdates (посредством монтирования файловой системы с опцией "sync") значительно сказывается на производительности и, опять-же, не гарантирует целостности данных. Как компромисс, можно сократить задержки сбрасывания кэша механизма softupdates. Есть три переменных sysctl, значения которых необходимо изменить (лучше всего - прописав их в [.filename]#/etc/sysctl.conf#):
[.programlisting]
....
@@ -172,7 +172,7 @@ KMOD=geom_journal
.include <bsd.kmod.mk>
....
-Этот [.filename]#Makefile# (с измененными именами файлов) подойдет к любому модулю ядра. Класс GEOM может размещаться в одном единственном модуле ядра. Если для сборки вашего модуля требуется больше, чем один файл, то перечислите их имена, разделенные пробельными символами, в переменной `SRCS`.
+Этот [.filename]#Makefile# (с изменёнными именами файлов) подойдет к любому модулю ядра. Класс GEOM может размещаться в одном единственном модуле ядра. Если для сборки вашего модуля требуется больше, чем один файл, то перечислите их имена, разделённые пробельными символами, в переменной `SRCS`.
[[kernelprog]]
== Программирование в ядре FreeBSD
@@ -345,7 +345,7 @@ KMOD=geom_journal
* Вызывать man:malloc[9] и `uma_zalloc`() с установленным флагом `M_WAITOK`
* Использовать man:sx[9]
-Это ограничение на код GEOM призвано избежать от "засорения" пути запроса ввода/вывода, так как блокировки обычно не имеют четких временных границ, и нет гарантий на занимаемое время (также на то есть и другие технические причины). Это также значит, что в вышеупомянутых потоках сколь-нибудь сложные операции выполнить нельзя, например: любое сложное преобразование требует выделения памяти. К счастью решение есть: создание дополнительных ядерных потоков.
+Это ограничение на код GEOM призвано избежать от "засорения" пути запроса ввода/вывода, так как блокировки обычно не имеют чётких временных границ, и нет гарантий на занимаемое время (также на то есть и другие технические причины). Это также значит, что в вышеупомянутых потоках сколь-нибудь сложные операции выполнить нельзя, например: любое сложное преобразование требует выделения памяти. К счастью решение есть: создание дополнительных ядерных потоков.
[[geom-kernelthreads]]
=== Ядерные потоки выполнения, предназначенные для использования в коде geom
diff --git a/documentation/content/ru/articles/geom-class/_index.po b/documentation/content/ru/articles/geom-class/_index.po
index 98c63ac300..6e805169ad 100644
--- a/documentation/content/ru/articles/geom-class/_index.po
+++ b/documentation/content/ru/articles/geom-class/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2026-05-11 14:38+0300\n"
-"PO-Revision-Date: 2026-04-05 04:45+0000\n"
+"POT-Creation-Date: 2026-08-06 22:55+0100\n"
+"PO-Revision-Date: 2026-05-18 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlesgeom-class_index/ru/>\n"
@@ -14,8 +14,8 @@ msgstr ""
"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"
+"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
@@ -32,12 +32,12 @@ msgid "Writing a GEOM Class"
msgstr "Создание класса GEOM"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:44
+#: documentation/content/en/articles/geom-class/_index.adoc:43
msgid "Abstract"
msgstr "Аннотация"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:47
+#: documentation/content/en/articles/geom-class/_index.adoc:46
msgid ""
"This text documents some starting points in developing GEOM classes, and "
"kernel modules in general. It is assumed that the reader is familiar with C "
@@ -49,24 +49,24 @@ msgstr ""
"процессов (userland)."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:49
+#: documentation/content/en/articles/geom-class/_index.adoc:48
msgid "'''"
msgstr "'''"
#. type: Title ==
-#: documentation/content/en/articles/geom-class/_index.adoc:53
+#: documentation/content/en/articles/geom-class/_index.adoc:52
#, no-wrap
msgid "Introduction"
msgstr "Введение"
#. type: Title ===
-#: documentation/content/en/articles/geom-class/_index.adoc:56
+#: documentation/content/en/articles/geom-class/_index.adoc:55
#, no-wrap
msgid "Documentation"
msgstr "Documentation"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:60
+#: documentation/content/en/articles/geom-class/_index.adoc:59
msgid ""
"Documentation on kernel programming is scarce - it is one of few areas where "
"there is nearly nothing in the way of friendly tutorials, and the phrase "
@@ -81,7 +81,7 @@ msgstr ""
"изучению перед тем, как начать программировать:"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:62
+#: documentation/content/en/articles/geom-class/_index.adoc:61
msgid ""
"The extref:{developers-handbook}[FreeBSD Developer's Handbook] - part of the "
"documentation project, it does not contain anything specific to kernel "
@@ -92,7 +92,7 @@ msgstr ""
"нём нет, зато есть немного общей полезной информации."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:63
+#: documentation/content/en/articles/geom-class/_index.adoc:62
msgid ""
"The extref:{arch-handbook}[FreeBSD Architecture Handbook] - also from the "
"documentation project, contains descriptions of several low-level facilities "
@@ -106,7 +106,7 @@ msgstr ""
"driverbasics]."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:64
+#: documentation/content/en/articles/geom-class/_index.adoc:63
msgid ""
"The Blueprints section of http://www.freebsddiary.org[FreeBSD Diary] web "
"site - contains several interesting articles on kernel facilities."
@@ -115,7 +115,7 @@ msgstr ""
"www.freebsddiary.com[FreeBSD Diary]."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:65
+#: documentation/content/en/articles/geom-class/_index.adoc:64
msgid ""
"The man pages in section 9 - for important documentation on kernel functions."
msgstr ""
@@ -123,7 +123,7 @@ msgstr ""
"документацию по функциям ядра."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:66
+#: documentation/content/en/articles/geom-class/_index.adoc:65
msgid ""
"The man:geom[4] man page and http://phk.freebsd.dk/pubs/[PHK's GEOM slides] "
"- for general introduction of the GEOM subsystem."
@@ -132,19 +132,19 @@ msgstr ""
"Пола-Хеннинга Кампа ] - общее представление о подсистеме GEOM."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:67
+#: documentation/content/en/articles/geom-class/_index.adoc:66
msgid ""
-"Man pages man:g_bio[9], man:g_event[9], man:g_data[9], man:g_geom[9], "
-"man:g_provider[9], man:g_consumer[9], man:g_access[9] & others linked from "
+"Man pages man:g_bio[9], man:g_event[9], man:g_data[9], man:g_geom[9], man:"
+"g_provider[9], man:g_consumer[9], man:g_access[9] & others linked from "
"those, for documentation on specific functionalities."
msgstr ""
-"Страницы справочника man:g_bio[9], man:g_event[9], man:g_data[9], "
-"man:g_geom[9], man:g_provider[9], man:g_consumer[9], man:g_access[9], а "
-"также другие, связанные с вышеупомянутыми и раскрывающие специфический "
-"функционал подсистемы GEOM."
+"Страницы справочника man:g_bio[9], man:g_event[9], man:g_data[9], man:"
+"g_geom[9], man:g_provider[9], man:g_consumer[9], man:g_access[9], а также "
+"другие, связанные с вышеупомянутыми и раскрывающие специфический функционал "
+"подсистемы GEOM."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:68
+#: documentation/content/en/articles/geom-class/_index.adoc:67
msgid ""
"The man:style[9] man page - for documentation on the coding-style "
"conventions which must be followed for any code which is to be committed to "
@@ -155,13 +155,13 @@ msgstr ""
"ваш код в Subversion репозиторий FreeBSD."
#. type: Title ==
-#: documentation/content/en/articles/geom-class/_index.adoc:70
+#: documentation/content/en/articles/geom-class/_index.adoc:69
#, no-wrap
msgid "Preliminaries"
msgstr "Подготовка"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:77
+#: documentation/content/en/articles/geom-class/_index.adoc:76
msgid ""
"The best way to do kernel development is to have (at least) two separate "
"computers. One of these would contain the development environment and "
@@ -183,7 +183,7 @@ msgstr ""
"портов кабелем RS-232 или соединения при помощи KVM-устройства."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:80
+#: documentation/content/en/articles/geom-class/_index.adoc:79
msgid ""
"But, since not everybody has two or more computers handy, there are a few "
"things that can be done to prepare an otherwise \"live\" system for "
@@ -198,13 +198,13 @@ msgstr ""
"после, конечно-же, выделенного для тестов компьютера)."
#. type: Title ===
-#: documentation/content/en/articles/geom-class/_index.adoc:82
+#: documentation/content/en/articles/geom-class/_index.adoc:81
#, no-wrap
msgid "Modifying a System for Development"
msgstr "Настройка системы для разработки"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:85
+#: documentation/content/en/articles/geom-class/_index.adoc:84
msgid ""
"For any kernel programming a kernel with `INVARIANTS` enabled is a must-"
"have. So enter these in your kernel configuration file:"
@@ -213,7 +213,7 @@ msgstr ""
"следующие строки в файл конфигурации ядра:"
#. type: delimited block . 4
-#: documentation/content/en/articles/geom-class/_index.adoc:90
+#: documentation/content/en/articles/geom-class/_index.adoc:89
#, no-wrap
msgid ""
"options INVARIANT_SUPPORT\n"
@@ -223,7 +223,7 @@ msgstr ""
"options INVARIANTS\n"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:93
+#: documentation/content/en/articles/geom-class/_index.adoc:92
msgid ""
"For more debugging you should also include WITNESS support, which will alert "
"you of mistakes in locking:"
@@ -232,7 +232,7 @@ msgstr ""
"будет предупреждать вас в случае возникновения взаимоблокировок:"
#. type: delimited block . 4
-#: documentation/content/en/articles/geom-class/_index.adoc:98
+#: documentation/content/en/articles/geom-class/_index.adoc:97
#, no-wrap
msgid ""
"options WITNESS_SUPPORT\n"
@@ -242,26 +242,25 @@ msgstr ""
"options WITNESS\n"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:101
+#: documentation/content/en/articles/geom-class/_index.adoc:100
msgid "For debugging crash dumps, a kernel with debug symbols is needed:"
msgstr ""
"Также включите отладочные символы, если планируете выполнять отладку по "
"дампам аварийных отказов:"
#. type: delimited block . 4
-#: documentation/content/en/articles/geom-class/_index.adoc:105
+#: documentation/content/en/articles/geom-class/_index.adoc:104
#, no-wrap
msgid " makeoptions DEBUG=-g\n"
msgstr " makeoptions DEBUG=-g\n"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:110
+#: documentation/content/en/articles/geom-class/_index.adoc:109
msgid ""
"With the usual way of installing the kernel (`make installkernel`) the debug "
-"kernel will not be automatically installed. It is called "
-"[.filename]#kernel.debug# and located in [.filename]#/usr/obj/usr/src/sys/"
-"KERNELNAME/#. For convenience it should be copied to [.filename]#/boot/"
-"kernel/#."
+"kernel will not be automatically installed. It is called [.filename]#kernel."
+"debug# and located in [.filename]#/usr/obj/usr/src/sys/KERNELNAME/#. For "
+"convenience it should be copied to [.filename]#/boot/kernel/#."
msgstr ""
"Установка отладочного ядра обычным способом (`make installkernel`) не даст "
"привычного результата: файл ядра будет называться [.filename]#kernel.debug# "
@@ -270,18 +269,18 @@ msgstr ""
"#."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:113
+#: documentation/content/en/articles/geom-class/_index.adoc:112
msgid ""
"Another convenience is enabling the kernel debugger so you can examine a "
"kernel panic when it happens. For this, enter the following lines in your "
"kernel configuration file:"
msgstr ""
-"Также удобно иметь включенный отладчик ядра, так вы сможете исследовать "
+"Также удобно иметь включённый отладчик ядра, так вы сможете исследовать "
"паники сразу-же после их возникновения. Для включения отладчика добавьте "
"следующие строки в файл конфигурации ядра:"
#. type: delimited block . 4
-#: documentation/content/en/articles/geom-class/_index.adoc:119
+#: documentation/content/en/articles/geom-class/_index.adoc:118
#, no-wrap
msgid ""
"options KDB\n"
@@ -293,7 +292,7 @@ msgstr ""
"options KDB_TRACE\n"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:122
+#: documentation/content/en/articles/geom-class/_index.adoc:121
msgid ""
"For this to work you might need to set a sysctl (if it is not on by default):"
msgstr ""
@@ -301,13 +300,13 @@ msgstr ""
"понадобиться установить переменную sysctl:"
#. type: delimited block . 4
-#: documentation/content/en/articles/geom-class/_index.adoc:126
+#: documentation/content/en/articles/geom-class/_index.adoc:125
#, no-wrap
msgid " debug.debugger_on_panic=1\n"
msgstr " debug.debugger_on_panic=1\n"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:134
+#: documentation/content/en/articles/geom-class/_index.adoc:133
msgid ""
"Kernel panics will happen, so care should be taken with the filesystem "
"cache. In particular, having softupdates might mean the latest file version "
@@ -319,7 +318,7 @@ msgid ""
"set in [.filename]#/etc/sysctl.conf#):"
msgstr ""
"Паники системы будут происходить, поэтому уделите внимание кэшу файловой "
-"системы. Обычно, при включенном механизме softupdates, последняя версия "
+"системы. Обычно, при включённом механизме softupdates, последняя версия "
"файла может быть утеряна если паника произошла раньше сбрасывания кэша на "
"устройство хранения. Выключение механизма softupdates (посредством "
"монтирования файловой системы с опцией \"sync\") значительно сказывается на "
@@ -329,7 +328,7 @@ msgstr ""
"всего - прописав их в [.filename]#/etc/sysctl.conf#):"
#. type: delimited block . 4
-#: documentation/content/en/articles/geom-class/_index.adoc:140
+#: documentation/content/en/articles/geom-class/_index.adoc:139
#, no-wrap
msgid ""
"kern.filedelay=5\n"
@@ -341,12 +340,12 @@ msgstr ""
"kern.metadelay=3\n"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:143
+#: documentation/content/en/articles/geom-class/_index.adoc:142
msgid "The numbers represent seconds."
msgstr "Значения этих переменных - секунды."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:151
+#: documentation/content/en/articles/geom-class/_index.adoc:150
msgid ""
"For debugging kernel panics, kernel core dumps are required. Since a kernel "
"panic might make filesystems unusable, this crash dump is first written to a "
@@ -365,7 +364,7 @@ msgstr ""
"следующими переменными [.filename]#/etc/rc.conf#:"
#. type: delimited block . 4
-#: documentation/content/en/articles/geom-class/_index.adoc:156
+#: documentation/content/en/articles/geom-class/_index.adoc:155
#, no-wrap
msgid ""
"dumpdev=\"/dev/ad0s4b\"\n"
@@ -375,7 +374,7 @@ msgstr ""
"dumpdir=\"/usr/core\"\n"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:159
+#: documentation/content/en/articles/geom-class/_index.adoc:158
msgid ""
"The `dumpdev` variable specifies the swap partition and `dumpdir` tells the "
"system where in the filesystem to relocate the core dump on reboot."
@@ -384,7 +383,7 @@ msgstr ""
"системе куда перемещать дамп ядра при следующей загрузке."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:162
+#: documentation/content/en/articles/geom-class/_index.adoc:161
msgid ""
"Writing kernel core dumps is slow and takes a long time so if you have lots "
"of memory (>256M) and lots of panics it could be frustrating to sit and wait "
@@ -401,13 +400,13 @@ msgstr ""
"loader.conf#:"
#. type: delimited block . 4
-#: documentation/content/en/articles/geom-class/_index.adoc:166
+#: documentation/content/en/articles/geom-class/_index.adoc:165
#, no-wrap
msgid " hw.physmem=\"256M\"\n"
msgstr " hw.physmem=\"256M\"\n"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:169
+#: documentation/content/en/articles/geom-class/_index.adoc:168
msgid ""
"If the panics are frequent and filesystems large (or you simply do not trust "
"softupdates+background fsck) it is advisable to turn background fsck off via "
@@ -419,13 +418,13 @@ msgstr ""
"установки переменной в [.filename]#/etc/rc.conf#:"
#. type: delimited block . 4
-#: documentation/content/en/articles/geom-class/_index.adoc:173
+#: documentation/content/en/articles/geom-class/_index.adoc:172
#, no-wrap
msgid " background_fsck=\"NO\"\n"
msgstr " background_fsck=\"NO\"\n"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:178
+#: documentation/content/en/articles/geom-class/_index.adoc:177
msgid ""
"This way, the filesystems will always get checked when needed. Note that "
"with background fsck, a new panic could happen while it is checking the "
@@ -439,13 +438,13 @@ msgstr ""
"использовать второй компьютер в качестве NFS-сервера."
#. type: Title ===
-#: documentation/content/en/articles/geom-class/_index.adoc:180
+#: documentation/content/en/articles/geom-class/_index.adoc:179
#, no-wrap
msgid "Starting the Project"
msgstr "Начало проекта"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:184
+#: documentation/content/en/articles/geom-class/_index.adoc:183
msgid ""
"For the purpose of creating a new GEOM class, an empty subdirectory has to "
"be created under an arbitrary user-accessible directory. You do not have to "
@@ -456,13 +455,13 @@ msgstr ""
"изначально размещался в [.filename]#/usr/src#."
#. type: Title ===
-#: documentation/content/en/articles/geom-class/_index.adoc:186
+#: documentation/content/en/articles/geom-class/_index.adoc:185
#, no-wrap
msgid "The Makefile"
msgstr "Makefile"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:189
+#: documentation/content/en/articles/geom-class/_index.adoc:188
msgid ""
"It is good practice to create [.filename]#Makefiles# for every nontrivial "
"coding project, which of course includes kernel modules."
@@ -472,18 +471,18 @@ msgstr ""
"создание модулей ядра."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:192
+#: documentation/content/en/articles/geom-class/_index.adoc:191
msgid ""
"Creating the [.filename]#Makefile# is simple thanks to an extensive set of "
-"helper routines provided by the system. In short, here is how a minimal "
-"[.filename]#Makefile# looks for a kernel module:"
+"helper routines provided by the system. In short, here is how a minimal [."
+"filename]#Makefile# looks for a kernel module:"
msgstr ""
"Создание [.filename]#Makefile# - дело не сложное благодаря исчерпывающему "
"набору вспомогательных средств, предоставляемых системой. В вкратце, вот как "
"должен выглядеть [.filename]#Makefile# для модуля ядра:"
#. type: delimited block . 4
-#: documentation/content/en/articles/geom-class/_index.adoc:197
+#: documentation/content/en/articles/geom-class/_index.adoc:196
#, no-wrap
msgid ""
"SRCS=g_journal.c\n"
@@ -493,38 +492,38 @@ msgstr ""
"KMOD=geom_journal\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/geom-class/_index.adoc:199
+#: documentation/content/en/articles/geom-class/_index.adoc:198
#, no-wrap
msgid ".include <bsd.kmod.mk>\n"
msgstr ".include <bsd.kmod.mk>\n"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:203
+#: documentation/content/en/articles/geom-class/_index.adoc:202
msgid ""
"This [.filename]#Makefile# (with changed filenames) will do for any kernel "
"module, and a GEOM class can reside in just one kernel module. If more than "
"one file is required, list it in the `SRCS` variable, separated with "
"whitespace from other filenames."
msgstr ""
-"Этот [.filename]#Makefile# (с измененными именами файлов) подойдет к любому "
+"Этот [.filename]#Makefile# (с изменёнными именами файлов) подойдет к любому "
"модулю ядра. Класс GEOM может размещаться в одном единственном модуле ядра. "
"Если для сборки вашего модуля требуется больше, чем один файл, то "
-"перечислите их имена, разделенные пробельными символами, в переменной `SRCS`."
+"перечислите их имена, разделённые пробельными символами, в переменной `SRCS`."
#. type: Title ==
-#: documentation/content/en/articles/geom-class/_index.adoc:205
+#: documentation/content/en/articles/geom-class/_index.adoc:204
#, no-wrap
msgid "On FreeBSD Kernel Programming"
msgstr "Программирование в ядре FreeBSD"
#. type: Title ===
-#: documentation/content/en/articles/geom-class/_index.adoc:208
+#: documentation/content/en/articles/geom-class/_index.adoc:207
#, no-wrap
msgid "Memory Allocation"
msgstr "Выделение памяти"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:213
+#: documentation/content/en/articles/geom-class/_index.adoc:212
msgid ""
"See man:malloc[9]. Basic memory allocation is only slightly different than "
"its userland equivalent. Most notably, `malloc`() and `free`() accept "
@@ -536,7 +535,7 @@ msgstr ""
"дополнительные параметры, которые описаны в странице справочника."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:215
+#: documentation/content/en/articles/geom-class/_index.adoc:214
msgid ""
"A \"malloc type\" must be declared in the declaration section of a source "
"file, like this:"
@@ -545,23 +544,23 @@ msgstr ""
"кодом, например:"
#. type: delimited block . 4
-#: documentation/content/en/articles/geom-class/_index.adoc:219
+#: documentation/content/en/articles/geom-class/_index.adoc:218
#, no-wrap
msgid " static MALLOC_DEFINE(M_GJOURNAL, \"gjournal data\", \"GEOM_JOURNAL Data\");\n"
msgstr " static MALLOC_DEFINE(M_GJOURNAL, \"gjournal data\", \"GEOM_JOURNAL Data\");\n"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:222
+#: documentation/content/en/articles/geom-class/_index.adoc:221
msgid ""
-"To use this macro, [.filename]#sys/param.h#, [.filename]#sys/kernel.h# and "
-"[.filename]#sys/malloc.h# headers must be included."
+"To use this macro, [.filename]#sys/param.h#, [.filename]#sys/kernel.h# and [."
+"filename]#sys/malloc.h# headers must be included."
msgstr ""
"Для того, чтобы можно было использовать этот макрос, необходимо включить "
"следующие заголовочные файлы: [.filename]#sys/param.h#, [.filename]#sys/"
"kernel.h# и [.filename]#sys/malloc.h#."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:225
+#: documentation/content/en/articles/geom-class/_index.adoc:224
msgid ""
"There is another mechanism for allocating memory, the UMA (Universal Memory "
"Allocator). See man:uma[9] for details, but it is a special type of "
@@ -574,13 +573,13 @@ msgstr ""
"элементов одинакового размера (например, динамические массивы структур)."
#. type: Title ===
-#: documentation/content/en/articles/geom-class/_index.adoc:227
+#: documentation/content/en/articles/geom-class/_index.adoc:226
#, no-wrap
msgid "Lists and Queues"
msgstr "Очереди и списки"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:234
+#: documentation/content/en/articles/geom-class/_index.adoc:233
msgid ""
"See man:queue[3]. There are a LOT of cases when a list of things needs to "
"be maintained. Fortunately, this data structure is implemented (in several "
@@ -600,22 +599,22 @@ msgstr ""
"не следует воспринимать в всерьез)."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:236
+#: documentation/content/en/articles/geom-class/_index.adoc:235
msgid ""
-"If data retrieval speed is very important, see man:tree[3] and "
-"man:hashinit[9]."
+"If data retrieval speed is very important, see man:tree[3] and man:"
+"hashinit[9]."
msgstr ""
"Если важна скорость получения данных, то возьмите на вооружение man:tree[3] "
"и man:hashinit[9]."
#. type: Title ===
-#: documentation/content/en/articles/geom-class/_index.adoc:238
+#: documentation/content/en/articles/geom-class/_index.adoc:237
#, no-wrap
msgid "BIOs"
msgstr "BIOs"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:242
+#: documentation/content/en/articles/geom-class/_index.adoc:241
msgid ""
"Structure `bio` is used for any and all Input/Output operations concerning "
"GEOM. It basically contains information about what device ('provider') "
@@ -629,7 +628,7 @@ msgstr ""
"буфер, а также набор \"определённых пользователем\" флагов и полей ."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:246
+#: documentation/content/en/articles/geom-class/_index.adoc:245
msgid ""
"The important thing here is that ``bio``s are handled asynchronously. That "
"means that, in most parts of the code, there is no analogue to userland's "
@@ -645,15 +644,15 @@ msgstr ""
"вызывается определённая пользователем функция."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:250
+#: documentation/content/en/articles/geom-class/_index.adoc:249
msgid ""
"The asynchronous programming model (also called \"event-driven\") is "
"somewhat harder than the much more used imperative one used in userland (at "
"least it takes a while to get used to it). In some cases the helper "
"routines `g_write_data`() and `g_read_data`() can be used, but __not "
"always__. In particular, they cannot be used when a mutex is held; for "
-"example, the GEOM topology mutex or the internal mutex held during the "
-"`.start`() and `.stop`() functions."
+"example, the GEOM topology mutex or the internal mutex held during the `."
+"start`() and `.stop`() functions."
msgstr ""
"Асинхронная модель программирования в чем-то сложней, нежели чаще "
"используемая императивная модель, используемая в пространстве "
@@ -665,19 +664,19 @@ msgstr ""
"выполнения `.start`() или `.stop`()."
#. type: Title ==
-#: documentation/content/en/articles/geom-class/_index.adoc:252
+#: documentation/content/en/articles/geom-class/_index.adoc:251
#, no-wrap
msgid "On GEOM Programming"
msgstr "Программирование в системе GEOM"
#. type: Title ===
-#: documentation/content/en/articles/geom-class/_index.adoc:255
+#: documentation/content/en/articles/geom-class/_index.adoc:254
#, no-wrap
msgid "Ggate"
msgstr "Ggate"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:259
+#: documentation/content/en/articles/geom-class/_index.adoc:258
msgid ""
"If maximum performance is not needed, a much simpler way of making a data "
"transformation is to implement it in userland via the ggate (GEOM gate) "
@@ -690,13 +689,13 @@ msgstr ""
"следует отнести невозможность простого переноса кода в ядро."
#. type: Title ===
-#: documentation/content/en/articles/geom-class/_index.adoc:261
+#: documentation/content/en/articles/geom-class/_index.adoc:260
#, no-wrap
msgid "GEOM Class"
msgstr "Класс GEOM"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:266
+#: documentation/content/en/articles/geom-class/_index.adoc:265
msgid ""
"GEOM classes are transformations on the data. These transformations can be "
"combined in a tree-like fashion. Instances of GEOM classes are called "
@@ -707,7 +706,7 @@ msgstr ""
"__geom__."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:268
+#: documentation/content/en/articles/geom-class/_index.adoc:267
msgid ""
"Each GEOM class has several \"class methods\" that get called when there is "
"no geom instance available (or they are simply not bound to a single "
@@ -718,7 +717,7 @@ msgstr ""
"экземпляру класса):"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:270
+#: documentation/content/en/articles/geom-class/_index.adoc:269
msgid ""
"`.init` is called when GEOM becomes aware of a GEOM class (when the kernel "
"module gets loaded.)"
@@ -727,7 +726,7 @@ msgstr ""
"GEOM (например, когда загружается модуль ядра)."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:271
+#: documentation/content/en/articles/geom-class/_index.adoc:270
msgid ""
"`.fini` gets called when GEOM abandons the class (when the module gets "
"unloaded)"
@@ -736,7 +735,7 @@ msgstr ""
"выгрузке модуля)"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:272
+#: documentation/content/en/articles/geom-class/_index.adoc:271
msgid ""
"`.taste` is called next, once for each provider the system has available. If "
"applicable, this function will usually create and start a geom instance."
@@ -746,12 +745,12 @@ msgstr ""
"создаёт и запускает экземпляр geom."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:273
+#: documentation/content/en/articles/geom-class/_index.adoc:272
msgid "`.destroy_geom` is called when the geom should be disbanded"
msgstr "`.destroy_geom` вызывается при необходимости разрушить экземпляр geom"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:274
+#: documentation/content/en/articles/geom-class/_index.adoc:273
msgid ""
"`.ctlconf` is called when user requests reconfiguration of existing geom"
msgstr ""
@@ -759,7 +758,7 @@ msgstr ""
"существующего экземпляра geom"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:276
+#: documentation/content/en/articles/geom-class/_index.adoc:275
msgid ""
"Also defined are the GEOM event functions, which will get copied to the geom "
"instance."
@@ -767,7 +766,7 @@ msgstr ""
"Также определены функции событий GEOM, которые копируются в экземпляр geom."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:278
+#: documentation/content/en/articles/geom-class/_index.adoc:277
msgid ""
"Field `.geom` in the `g_class` structure is a LIST of geoms instantiated "
"from the class."
@@ -776,18 +775,18 @@ msgstr ""
"реализованных из класса."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:280
+#: documentation/content/en/articles/geom-class/_index.adoc:279
msgid "These functions are called from the g_event kernel thread."
msgstr "Эти функции вызываются из g_event потока ядра."
#. type: Title ===
-#: documentation/content/en/articles/geom-class/_index.adoc:282
+#: documentation/content/en/articles/geom-class/_index.adoc:281
#, no-wrap
msgid "Softc"
msgstr "Softc"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:288
+#: documentation/content/en/articles/geom-class/_index.adoc:287
msgid ""
"The name \"softc\" is a legacy term for \"driver private data\". The name "
"most probably comes from the archaic term \"software control block\". In "
@@ -795,29 +794,29 @@ msgid ""
"attached to a geom instance to hold whatever data is private to the geom "
"instance. Most GEOM classes have the following members:"
msgstr ""
-"\"softc\" - это устаревший термин для \"приватных данных драйвера\" "
-"(\"driver private data\"). Название вероятней всего происходит от "
+"\"softc\" - это устаревший термин для \"приватных данных драйвера"
+"\" (\"driver private data\"). Название вероятней всего происходит от "
"устаревшего термина \"software control block\". В системе GEOM softc это "
"структура (точнее: указатель на структуру) которая может быть присоединена к "
"экземпляру geom и может содержать приватные данные экземпляра. У большинства "
"классов GEOM есть следующие члены:"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:290
+#: documentation/content/en/articles/geom-class/_index.adoc:289
msgid "`struct g_provider *provider` : The \"provider\" this geom instantiates"
msgstr ""
"`struct g_provider *provider` : \"поставщик geom\" предоставляемый данным "
"экземпляром geom"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:291
+#: documentation/content/en/articles/geom-class/_index.adoc:290
msgid "`uint16_t n_disks` : Number of consumer this geom consumes"
msgstr ""
"`uint16_t n_disks` : Количество потребителей geom (\"consumer\"), "
"обслуживаемых данным экземпляром geom"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:292
+#: documentation/content/en/articles/geom-class/_index.adoc:291
msgid ""
"`struct g_consumer \\**disks` : Array of `struct g_consumer*`. (It is not "
"possible to use just single indirection because struct g_consumer* are "
@@ -828,7 +827,7 @@ msgstr ""
"структуры struct g_consumer)."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:295
+#: documentation/content/en/articles/geom-class/_index.adoc:294
msgid ""
"The `softc` structure contains all the state of geom instance. Every geom "
"instance has its own softc."
@@ -837,13 +836,13 @@ msgstr ""
"есть свой softc."
#. type: Title ===
-#: documentation/content/en/articles/geom-class/_index.adoc:297
+#: documentation/content/en/articles/geom-class/_index.adoc:296
#, no-wrap
msgid "Metadata"
msgstr "Метаданные"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:300
+#: documentation/content/en/articles/geom-class/_index.adoc:299
msgid ""
"Format of metadata is more-or-less class-dependent, but MUST start with:"
msgstr ""
@@ -851,19 +850,19 @@ msgstr ""
"_обязан_ начинаться с:"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:302
+#: documentation/content/en/articles/geom-class/_index.adoc:301
msgid "16 byte buffer for null-terminated signature (usually the class name)"
msgstr ""
"16-байтного буфера для подписи - строки с завершающим нулем (обычно это имя "
"класса)"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:303
+#: documentation/content/en/articles/geom-class/_index.adoc:302
msgid "uint32 version ID"
msgstr "uint32 идентификатора версии"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:305
+#: documentation/content/en/articles/geom-class/_index.adoc:304
msgid ""
"It is assumed that geom classes know how to handle metadata with version "
"ID's lower than theirs."
@@ -872,7 +871,7 @@ msgstr ""
"идентификаторами версий ниже, чем их собственные."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:307
+#: documentation/content/en/articles/geom-class/_index.adoc:306
msgid ""
"Metadata is located in the last sector of the provider (and thus must fit in "
"it)."
@@ -881,7 +880,7 @@ msgstr ""
"целиком умещаться в нем)."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:309
+#: documentation/content/en/articles/geom-class/_index.adoc:308
msgid ""
"(All this is implementation-dependent but all existing code works like that, "
"and it is supported by libraries.)"
@@ -890,23 +889,23 @@ msgstr ""
"описанному и поддерживается библиотеками.)"
#. type: Title ===
-#: documentation/content/en/articles/geom-class/_index.adoc:311
+#: documentation/content/en/articles/geom-class/_index.adoc:310
#, no-wrap
msgid "Labeling/creating a GEOM"
msgstr "Маркирование/создание экземпляра geom"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:314
+#: documentation/content/en/articles/geom-class/_index.adoc:313
msgid "The sequence of events is:"
msgstr "Последовательность событий следующая:"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:316
+#: documentation/content/en/articles/geom-class/_index.adoc:315
msgid "user calls man:geom[8] utility (or one of its hardlinked friends)"
msgstr "пользователь запускает служебную программу man:geom[8]"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:317
+#: documentation/content/en/articles/geom-class/_index.adoc:316
msgid ""
"the utility figures out which geom class it is supposed to handle and "
"searches for [.filename]#geom_CLASSNAME.so# library (usually in [.filename]#/"
@@ -917,7 +916,7 @@ msgstr ""
"geom#)."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:318
+#: documentation/content/en/articles/geom-class/_index.adoc:317
msgid ""
"it man:dlopen[3]-s the library, extracts the definitions of command-line "
"parameters and helper functions."
@@ -926,12 +925,12 @@ msgstr ""
"функции и определения параметров командной строки."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:320
+#: documentation/content/en/articles/geom-class/_index.adoc:319
msgid "In the case of creating/labeling a new geom, this is what happens:"
msgstr "Вот так происходит создание/маркирование нового экземпляра geom:"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:322
+#: documentation/content/en/articles/geom-class/_index.adoc:321
msgid ""
"man:geom[8] looks in the command-line argument for the command (usually "
"`label`), and calls a helper function."
@@ -940,7 +939,7 @@ msgstr ""
"и вызывает вспомогательную функцию."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:323
+#: documentation/content/en/articles/geom-class/_index.adoc:322
msgid ""
"The helper function checks parameters and gathers metadata, which it "
"proceeds to write to all concerned providers."
@@ -949,7 +948,7 @@ msgstr ""
"записываются во все вовлеченные поставщики geom."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:324
+#: documentation/content/en/articles/geom-class/_index.adoc:323
msgid ""
"This \"spoils\" existing geoms (if any) and initializes a new round of "
"\"tasting\" of the providers. The intended geom class recognizes the "
@@ -960,7 +959,7 @@ msgstr ""
"опознает метаданные и активирует экземпляр geom."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:326
+#: documentation/content/en/articles/geom-class/_index.adoc:325
msgid ""
"(The above sequence of events is implementation-dependent but all existing "
"code works like that, and it is supported by libraries.)"
@@ -970,13 +969,13 @@ msgstr ""
"поддерживается библиотеками.)"
#. type: Title ===
-#: documentation/content/en/articles/geom-class/_index.adoc:328
+#: documentation/content/en/articles/geom-class/_index.adoc:327
#, no-wrap
msgid "GEOM Command Structure"
msgstr "Структура команд geom"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:332
+#: documentation/content/en/articles/geom-class/_index.adoc:331
msgid ""
"The helper [.filename]#geom_CLASSNAME.so# library exports `class_commands` "
"structure, which is an array of `struct g_command` elements. Commands are "
@@ -987,18 +986,18 @@ msgstr ""
"g_command`. Эти команды одинакового формата и выглядят следующим образом:"
#. type: delimited block . 4
-#: documentation/content/en/articles/geom-class/_index.adoc:336
+#: documentation/content/en/articles/geom-class/_index.adoc:335
#, no-wrap
msgid " verb [-options] geomname [other]\n"
msgstr " verb [-options] geomname [other]\n"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:339
+#: documentation/content/en/articles/geom-class/_index.adoc:338
msgid "Common verbs are:"
msgstr "Общими командами являются:"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:341
+#: documentation/content/en/articles/geom-class/_index.adoc:340
msgid ""
"label - to write metadata to devices so they can be recognized at tasting "
"and brought up in geoms"
@@ -1007,29 +1006,29 @@ msgstr ""
"процессе тестирования и использованы в соответствующих экземплярах geom"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:342
+#: documentation/content/en/articles/geom-class/_index.adoc:341
msgid "destroy - to destroy metadata, so the geoms get destroyed"
msgstr ""
"destroy - разрушить метаданные, за которым последует разрушение экземпляров "
"geom"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:344
+#: documentation/content/en/articles/geom-class/_index.adoc:343
msgid "Common options are:"
msgstr "Общие опции:"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:346
+#: documentation/content/en/articles/geom-class/_index.adoc:345
msgid "`-v` : be verbose"
msgstr "`-v` : детальный вывод"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:347
+#: documentation/content/en/articles/geom-class/_index.adoc:346
msgid "`-f` : force"
msgstr "`-f` : принудить"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:351
+#: documentation/content/en/articles/geom-class/_index.adoc:350
msgid ""
"Many actions, such as labeling and destroying metadata can be performed in "
"userland. For this, `struct g_command` provides field `gc_func` that can be "
@@ -1045,13 +1044,13 @@ msgstr ""
"передана модулю ядра: функции `.ctlreq` класса GEOM."
#. type: Title ===
-#: documentation/content/en/articles/geom-class/_index.adoc:353
+#: documentation/content/en/articles/geom-class/_index.adoc:352
#, no-wrap
msgid "Geoms"
msgstr "Экземпляры geom"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:357
+#: documentation/content/en/articles/geom-class/_index.adoc:356
msgid ""
"Geoms are instances of GEOM classes. They have internal data (a softc "
"structure) and some functions with which they respond to external events."
@@ -1061,42 +1060,42 @@ msgstr ""
"реагируют на внешние события."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:359
+#: documentation/content/en/articles/geom-class/_index.adoc:358
msgid "The event functions are:"
msgstr "Функции событий:"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:361
+#: documentation/content/en/articles/geom-class/_index.adoc:360
msgid "`.access` : calculates permissions (read/write/exclusive)"
msgstr ""
"`.access` : просчитывает права доступа (чтение/запись/исключительный доступ)"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:362
+#: documentation/content/en/articles/geom-class/_index.adoc:361
msgid "`.dumpconf` : returns XML-formatted information about the geom"
msgstr "`.dumpconf` : возвращает информацию о экземпляре geom; формат XML"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:363
+#: documentation/content/en/articles/geom-class/_index.adoc:362
msgid "`.orphan` : called when some underlying provider gets disconnected"
msgstr ""
"`.orphan` : вызывается, когда отсоединяется любой из низлежащих поставщиков "
"geom"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:364
+#: documentation/content/en/articles/geom-class/_index.adoc:363
msgid "`.spoiled` : called when some underlying provider gets written to"
msgstr ""
"`.spoiled` : вызывается, когда производится запись в низлежащий поставщик "
"geom"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:365
+#: documentation/content/en/articles/geom-class/_index.adoc:364
msgid "`.start` : handles I/O"
msgstr "`.start` : обрабатывает ввод/вывод"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:367
+#: documentation/content/en/articles/geom-class/_index.adoc:366
msgid ""
"These functions are called from the `g_down` kernel thread and there can be "
"no sleeping in this context, (see definition of sleeping elsewhere) which "
@@ -1108,31 +1107,31 @@ msgstr ""
"быстроте обработки."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:369
+#: documentation/content/en/articles/geom-class/_index.adoc:368
msgid ""
-"Of these, the most important function for doing actual useful work is the "
-"`.start`() function, which is called when a BIO request arrives for a "
-"provider managed by a instance of geom class."
+"Of these, the most important function for doing actual useful work is the `."
+"start`() function, which is called when a BIO request arrives for a provider "
+"managed by a instance of geom class."
msgstr ""
"Из вышеупомянутых, наиболее важной и выполняющей полезную работу функцией "
"является `.start`(), которая вызывается всякий раз, когда поставщику geom, "
"управляемому экземпляром класса, приходит запрос BIO."
#. type: Title ===
-#: documentation/content/en/articles/geom-class/_index.adoc:371
+#: documentation/content/en/articles/geom-class/_index.adoc:370
#, no-wrap
msgid "GEOM Threads"
msgstr "Потоки выполнения системы geom"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:374
+#: documentation/content/en/articles/geom-class/_index.adoc:373
msgid "There are three kernel threads created and run by the GEOM framework:"
msgstr ""
"Системой GEOM в ядре ОС создаются и используются три потока выполнения "
"(kernel threads):"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:376
+#: documentation/content/en/articles/geom-class/_index.adoc:375
msgid ""
"`g_down` : Handles requests coming from high-level entities (such as a "
"userland request) on the way to physical devices"
@@ -1142,7 +1141,7 @@ msgstr ""
"физическим устройствам"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:377
+#: documentation/content/en/articles/geom-class/_index.adoc:376
msgid ""
"`g_up` : Handles responses from device drivers to requests made by higher-"
"level entities"
@@ -1151,7 +1150,7 @@ msgstr ""
"высокоуровневыми сущностями"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:378
+#: documentation/content/en/articles/geom-class/_index.adoc:377
msgid ""
"`g_event` : Handles all other cases: creation of geom instances, access "
"counting, \"spoil\" events, etc."
@@ -1160,7 +1159,7 @@ msgstr ""
"geom, просчитывание прав доступа, события \"повреждения\" и т.п."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:380
+#: documentation/content/en/articles/geom-class/_index.adoc:379
msgid ""
"When a user process issues \"read data X at offset Y of a file\" request, "
"this is what happens:"
@@ -1169,7 +1168,7 @@ msgstr ""
"Y файла\", происходит следующее:"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:382
+#: documentation/content/en/articles/geom-class/_index.adoc:381
msgid ""
"The filesystem converts the request into a struct bio instance and passes it "
"to the GEOM subsystem. It knows what geom instance should handle it because "
@@ -1181,7 +1180,7 @@ msgstr ""
"экземпляром geom."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:383
+#: documentation/content/en/articles/geom-class/_index.adoc:382
msgid ""
"The request ends up as a call to the `.start`() function made on the g_down "
"thread and reaches the top-level geom instance."
@@ -1190,7 +1189,7 @@ msgstr ""
"верхнего экземпляра geom."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:384
+#: documentation/content/en/articles/geom-class/_index.adoc:383
msgid ""
"This top-level geom instance (for example the partition slicer) determines "
"that the request should be routed to a lower-level instance (for example the "
@@ -1207,7 +1206,7 @@ msgstr ""
"`g_io_request`()"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:385
+#: documentation/content/en/articles/geom-class/_index.adoc:384
msgid ""
"The disk driver gets the bio request also as a call to `.start`() on the "
"`g_down` thread. It talks to hardware, gets the data back, and calls "
@@ -1218,7 +1217,7 @@ msgstr ""
"данных и вызывает функцию `g_io_deliver`() используя копию запроса bio."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:386
+#: documentation/content/en/articles/geom-class/_index.adoc:385
msgid ""
"Now, the notification of bio completion \"bubbles up\" in the `g_up` thread. "
"First the partition slicer gets `.done`() called in the `g_up` thread, it "
@@ -1232,13 +1231,13 @@ msgstr ""
"`g_io_deliver`() используя первоначальный запрос."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:387
+#: documentation/content/en/articles/geom-class/_index.adoc:386
msgid "The filesystem gets the data and transfers it to userland."
msgstr ""
"Файловая система получает данные и передаёт их пользовательскому процессу."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:389
+#: documentation/content/en/articles/geom-class/_index.adoc:388
msgid ""
"See man:g_bio[9] man page for information how the data is passed back and "
"forth in the `bio` structure (note in particular the `bio_parent` and "
@@ -1249,7 +1248,7 @@ msgstr ""
"полей `bio_parent` и `bio_children`)."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:392
+#: documentation/content/en/articles/geom-class/_index.adoc:391
msgid ""
"One important feature is: __THERE CAN BE NO SLEEPING IN G_UP AND G_DOWN "
"THREADS__. This means that none of the following things can be done in "
@@ -1259,12 +1258,12 @@ msgstr ""
"G_DOWN__. Вот неполный перечень того, что нельзя делать в этих потоках:"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:394
+#: documentation/content/en/articles/geom-class/_index.adoc:393
msgid "Calls to `msleep`() and `tsleep`(), obviously."
msgstr "Вызывать функции `msleep`() или `tsleep`()."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:395
+#: documentation/content/en/articles/geom-class/_index.adoc:394
msgid ""
"Calls to `g_write_data`() and `g_read_data`(), because these sleep between "
"passing the data to consumers and returning."
@@ -1273,23 +1272,23 @@ msgstr ""
"блокируются в момент обмена данными с потребителями geom."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:396
+#: documentation/content/en/articles/geom-class/_index.adoc:395
msgid "Waiting for I/O."
msgstr "Ожидать ввод/вывод."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:397
+#: documentation/content/en/articles/geom-class/_index.adoc:396
msgid "Calls to man:malloc[9] and `uma_zalloc`() with `M_WAITOK` flag set"
msgstr ""
"Вызывать man:malloc[9] и `uma_zalloc`() с установленным флагом `M_WAITOK`"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:398
+#: documentation/content/en/articles/geom-class/_index.adoc:397
msgid "sx and other sleepable locks"
msgstr "Использовать man:sx[9]"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:402
+#: documentation/content/en/articles/geom-class/_index.adoc:401
msgid ""
"This restriction is here to stop GEOM code clogging the I/O request path, "
"since sleeping is usually not time-bound and there can be no guarantees on "
@@ -1299,7 +1298,7 @@ msgid ""
"there is a way out: creating additional kernel threads."
msgstr ""
"Это ограничение на код GEOM призвано избежать от \"засорения\" пути запроса "
-"ввода/вывода, так как блокировки обычно не имеют четких временных границ, и "
+"ввода/вывода, так как блокировки обычно не имеют чётких временных границ, и "
"нет гарантий на занимаемое время (также на то есть и другие технические "
"причины). Это также значит, что в вышеупомянутых потоках сколь-нибудь "
"сложные операции выполнить нельзя, например: любое сложное преобразование "
@@ -1307,13 +1306,13 @@ msgstr ""
"ядерных потоков."
#. type: Title ===
-#: documentation/content/en/articles/geom-class/_index.adoc:404
+#: documentation/content/en/articles/geom-class/_index.adoc:403
#, no-wrap
msgid "Kernel Threads for Use in GEOM Code"
msgstr "Ядерные потоки выполнения, предназначенные для использования в коде geom"
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:407
+#: documentation/content/en/articles/geom-class/_index.adoc:406
msgid ""
"Kernel threads are created with man:kthread_create[9] function, and they are "
"sort of similar to userland threads in behavior, only they cannot return to "
@@ -1325,7 +1324,7 @@ msgstr ""
"своём завершении; по завершению - необходимо вызывать man:kthread_exit[9]."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:410
+#: documentation/content/en/articles/geom-class/_index.adoc:409
msgid ""
"In GEOM code, the usual use of threads is to offload processing of requests "
"from `g_down` thread (the `.start`() function). These threads look like "
@@ -1342,7 +1341,7 @@ msgstr ""
"и обрабатываются в большом блоке `switch`()."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:415
+#: documentation/content/en/articles/geom-class/_index.adoc:414
msgid ""
"The main benefit of using a thread to handle I/O requests is that it can "
"sleep when needed. Now, this sounds good, but should be carefully thought "
@@ -1360,7 +1359,7 @@ msgstr ""
"`.start`(), уделяя особое внимание ошибкам при работе с памятью."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:419
+#: documentation/content/en/articles/geom-class/_index.adoc:418
msgid ""
"The other benefit of having a event-handler thread like that is to serialize "
"all the requests and responses coming from different geom threads into one "
@@ -1373,7 +1372,7 @@ msgstr ""
"функцией `.done`() может быть оставлена потоку `g_up`."
#. type: Plain text
-#: documentation/content/en/articles/geom-class/_index.adoc:422
+#: documentation/content/en/articles/geom-class/_index.adoc:421
msgid ""
"Mutexes in FreeBSD kernel (see man:mutex[9]) have one distinction from their "
"more common userland cousins - the code cannot sleep while holding a "
diff --git a/documentation/content/ru/articles/gjournal-desktop/_index.adoc b/documentation/content/ru/articles/gjournal-desktop/_index.adoc
index eafbfe32ab..327fa4eb8f 100644
--- a/documentation/content/ru/articles/gjournal-desktop/_index.adoc
+++ b/documentation/content/ru/articles/gjournal-desktop/_index.adoc
@@ -282,9 +282,9 @@ flags soft-updates+journal
==== Стратегия разбиения на разделы
-Во время установки используйте режим ручного разбиения, предоставляемый установщиком. Создайте любую поддерживаемую файловую систему для `/`, а также стандартные разделы UFS для `/usr` и `/var`, но уменьшите размер `/usr`, чтобы оставить достаточно нераспределенного пространства в конце диска.
+Во время установки используйте режим ручного разбиения, предоставляемый установщиком. Создайте любую поддерживаемую файловую систему для `/`, а также стандартные разделы UFS для `/usr` и `/var`, но уменьшите размер `/usr`, чтобы оставить достаточно нераспределённого пространства в конце диска.
-Из оставшегося нераспределенного пространства создайте два дополнительных раздела, которые будут использоваться исключительно в качестве журнальных провайдеров:
+Из оставшегося нераспределённого пространства создайте два дополнительных раздела, которые будут использоваться исключительно в качестве журнальных провайдеров:
* Один раздел для журнала `/usr`
* Один раздел для журнала `/var`
diff --git a/documentation/content/ru/articles/gjournal-desktop/_index.po b/documentation/content/ru/articles/gjournal-desktop/_index.po
index 61c3bd74d0..87365e9cca 100644
--- a/documentation/content/ru/articles/gjournal-desktop/_index.po
+++ b/documentation/content/ru/articles/gjournal-desktop/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2026-02-22 15:58+0000\n"
-"PO-Revision-Date: 2026-05-11 04:45+0000\n"
+"POT-Creation-Date: 2026-08-06 22:55+0100\n"
+"PO-Revision-Date: 2026-05-18 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlesgjournal-desktop_index/ru/>\n"
@@ -14,8 +14,8 @@ msgstr ""
"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"
+"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: Title =
@@ -26,12 +26,12 @@ msgid "Implementing UFS Journaling on a Desktop PC"
msgstr "Настройка журналирования UFS для настольного компьютера"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:46
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:45
msgid "Abstract"
msgstr "Аннотация"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:52
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:51
msgid ""
"A journaling file system uses a log to record file system updates and "
"preserves consistency in the event of a system crash or power failure. "
@@ -61,18 +61,18 @@ msgstr ""
"версий FreeBSD с 13 по 15_."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:54
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:53
msgid "'''"
msgstr "'''"
#. type: Title ==
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:58
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:57
#, no-wrap
msgid "Introduction"
msgstr "Введение"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:63
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:62
msgid ""
"While professional servers are usually well protected from unforeseen "
"shutdowns, the typical desktop is at the mercy of power failures, accidental "
@@ -93,7 +93,7 @@ msgstr ""
"вмешательство пользователя и данные могут быть утерянными."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:65
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:64
msgid ""
"FreeBSD provides two distinct journaling mechanisms for the UFS file system:"
msgstr ""
@@ -101,21 +101,21 @@ msgstr ""
"системы UFS:"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:67
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:155
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:158
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:161
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:66
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:154
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:157
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:160
#, no-wrap
msgid "Soft Updates with journaling"
msgstr "Журналирование с Soft Updates"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:68
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:67
msgid "GEOM journaling (`gjournal`)"
msgstr "Журналирование с командой GEOM `gjournal`"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:70
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:69
msgid ""
"These mechanisms operate at different layers of the system and have "
"different performance and semantic characteristics."
@@ -124,7 +124,7 @@ msgstr ""
"характеристиками производительности и семантики."
#. type: delimited block = 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:74
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:73
msgid ""
"For most modern FreeBSD systems, including desktops and general-purpose "
"servers, *Soft Updates with journaling* is the recommended solution."
@@ -134,7 +134,7 @@ msgstr ""
"журналированием*."
#. type: delimited block = 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:76
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:75
msgid ""
"GEOM journaling is a legacy and specialized mechanism and should only be "
"used when its specific semantics are required."
@@ -144,7 +144,7 @@ msgstr ""
"семантики."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:79
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:78
msgid ""
"This article explains both mechanisms, their differences, and correct modern "
"usage."
@@ -153,12 +153,12 @@ msgstr ""
"современное использование."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:81
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:80
msgid "Read this chapter to learn:"
msgstr "Прочтите эту главу, чтобы узнать:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:83
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:82
msgid ""
"The journaling mechanisms available for the UFS file system in FreeBSD and "
"how they differ."
@@ -167,7 +167,7 @@ msgstr ""
"различия."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:84
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:83
msgid ""
"When to use file system-level Soft Updates journaling and when GEOM "
"journaling may be appropriate."
@@ -176,7 +176,7 @@ msgstr ""
"и когда может быть уместно журналирование GEOM."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:85
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:84
msgid ""
"How to enable or disable Soft Updates journaling on existing UFS file "
"systems."
@@ -185,7 +185,7 @@ msgstr ""
"файловых системах UFS."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:86
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:85
msgid ""
"How to configure GEOM journaling on new or existing partitions, including "
"required kernel support and journal sizing considerations."
@@ -194,7 +194,7 @@ msgstr ""
"включая необходимую поддержку ядра и вопросы определения размера журнала."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:87
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:86
msgid ""
"What configuration changes are required to mount journaled file systems and "
"how journaling affects system behavior."
@@ -203,30 +203,30 @@ msgstr ""
"файловых систем и как журналирование влияет на поведение системы."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:88
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:87
msgid "How to diagnose and resolve common issues related to UFS journaling."
msgstr ""
"Как диагностировать неполадки и разрешать проблемы, связанные с "
"журналированием файловой системы UFS."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:90
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:89
msgid "Before reading this article:"
msgstr "Перед прочтением этой статьи вам необходимо:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:92
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:91
msgid "Understand basic UNIX(R) and FreeBSD concepts."
msgstr ""
"Понимать базовые концепции таких операционных систем, как UNIX(R) и FreeBSD."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:93
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:92
msgid "Be familiar with the FreeBSD installation process using bsdinstall."
msgstr "Быть знакомым с процедурой установки FreeBSD, используя bsdinstall."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:94
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:93
msgid ""
"Have basic knowledge of disk partitioning and file systems, including tools "
"such as gpart(8), newfs(8), and mount(8)."
@@ -235,7 +235,7 @@ msgstr ""
"инструменты, как gpart(8), newfs(8) и mount(8)."
#. type: delimited block = 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:99
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:98
msgid ""
"Some of the procedures described in this article involve modifying file "
"system or disk configuration and may require unmounting file systems or "
@@ -250,7 +250,7 @@ msgstr ""
"копии_ всех важных данных."
#. type: delimited block = 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:102
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:101
msgid ""
"Enabling file system-level Soft Updates journaling is generally safe and "
"does not require disk repartitioning. However, configuring GEOM journaling "
@@ -263,19 +263,19 @@ msgstr ""
"опытными администраторами, полностью понимающими последствия."
#. type: Title ==
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:105
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:104
#, no-wrap
msgid "Understanding Journaling in FreeBSD"
msgstr "Реализация журналирования в FreeBSD"
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:107
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:106
#, no-wrap
msgid "Soft Updates with Journaling (Recommended)"
msgstr "Soft Updates с журналированием (рекомендуется)"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:109
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:108
msgid ""
"Soft Updates is the default UFS consistency mechanism in FreeBSD. When "
"combined with journaling, it provides *metadata journaling* within the file "
@@ -286,37 +286,37 @@ msgstr ""
"метаданных* в самой файловой системе."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:111
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:110
msgid "Advantages of Soft Updates with journaling include:"
msgstr "Преимущества Soft Updates с журналированием включают:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:113
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:112
msgid "Very fast crash recovery (typically seconds)"
msgstr "Очень быстрое восстановление после сбоя (обычно за секунды)"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:114
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:113
msgid "Normal `sync(2)` and `fsync(2)` semantics"
msgstr "Обычная семантика `sync(2)` и `fsync(2)`"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:115
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:114
msgid "No additional partitions or GEOM layers"
msgstr "Никаких дополнительных разделов или слоев GEOM"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:116
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:115
msgid "Simple configuration and maintenance"
msgstr "Простая настройка и обслуживание"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:118
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:117
msgid "From `tunefs(8)`:"
msgstr "Из `tunefs(8)`:"
#. type: delimited block _ 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:121
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:120
msgid ""
"Enabling journaling reduces the time spent by fsck_ffs(8) cleaning up a file "
"system after a crash to a few seconds from minutes to hours."
@@ -326,7 +326,7 @@ msgstr ""
"нескольких секунд."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:124
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:123
msgid ""
"This mechanism is suitable for nearly all UFS-based systems and is the "
"default recommendation."
@@ -335,13 +335,13 @@ msgstr ""
"рекомендуемым по умолчанию."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:125
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:124
#, no-wrap
msgid "GEOM Journaling (`gjournal`)"
msgstr "Журналирование с командой GEOM `gjournal`"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:128
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:127
msgid ""
"GEOM journaling operates at the block level, below the file system. It "
"journals all block writes, including *both metadata and file data*."
@@ -350,37 +350,37 @@ msgstr ""
"журналирует все записи блоков, включая *как метаданные, так и данные файлов*."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:130
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:129
msgid "Key characteristics of GEOM journaling:"
msgstr "Ключевые характеристики журналирования GEOM:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:132
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:131
msgid "Implemented as a GEOM class (`geom_journal`)"
msgstr "Реализовано как класс GEOM (`geom_journal`)"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:133
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:132
msgid "Journals all block I/O, not just metadata"
msgstr "Журналирует весь блочный ввод-вывод, а не только метаданные"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:134
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:133
msgid "Requires explicit cooperation from UFS using the `-J` flag"
msgstr "Требует явного согласования от UFS с использованием флага `-J`"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:135
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:134
msgid "Disables Soft Updates"
msgstr "Отключает Soft Updates"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:136
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:135
msgid "Alters the semantics of `sync(2)` and `fsync(2)`"
msgstr "Изменяет семантику `sync(2)` и `fsync(2)`"
#. type: delimited block = 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:140
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:139
msgid ""
"On GEOM-journaled file systems, `sync(2)` and `fsync(2)` do not guarantee "
"that data has been committed to stable storage. To ensure persistence, "
@@ -391,7 +391,7 @@ msgstr ""
"обеспечения сохранности необходимо использовать `gjournal sync`."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:143
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:142
msgid ""
"Because of these differences, GEOM journaling is not recommended for general-"
"purpose desktop or server use."
@@ -400,73 +400,73 @@ msgstr ""
"использования на настольных компьютерах или серверах."
#. type: Title ==
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:144
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:143
#, no-wrap
msgid "Choosing the Appropriate Journaling Method"
msgstr "Выбор подходящего метода журналирования"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:147
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:146
msgid "The following table summarizes recommended usage:"
msgstr "В следующей таблице приведены рекомендуемые варианты использования:"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:150
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:149
#, no-wrap
msgid "Use case"
msgstr "Вариант использования"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:152
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:151
#, no-wrap
msgid "Recommended mechanism"
msgstr "Рекомендуемый механизм"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:153
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:152
#, no-wrap
msgid "Desktop or laptop system"
msgstr "Настольная или портативная система"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:156
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:155
#, no-wrap
msgid "General-purpose server"
msgstr "Универсальный сервер"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:159
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:158
#, no-wrap
msgid "Legacy UFS systems"
msgstr "Устаревшие системы UFS"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:162
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:161
#, no-wrap
msgid "File system-independent journaling requirements"
msgstr "Требования к журналированию, не зависящие от файловой системы"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:164
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:166
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:163
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:165
#, no-wrap
msgid "GEOM journaling"
msgstr "Журналирование GEOM"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:165
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:164
#, no-wrap
msgid "Specialized block-level logging needs"
msgstr "Специализированное журналирование на уровне блоков"
#. type: Title ==
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:168
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:167
#, no-wrap
msgid "Using Soft Updates with Journaling"
msgstr "Использование Soft Updates с журналированием"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:173
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:172
msgid ""
"Soft Updates with journaling provide file system-level journaling for UFS. "
"This mechanism preserves file system consistency while retaining the "
@@ -480,14 +480,14 @@ msgstr ""
"журналирующее устройство или раздел не требуется."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:174
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:254
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:173
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:253
#, no-wrap
msgid "Overview"
msgstr "Обзор"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:179
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:178
msgid ""
"Soft Updates with journaling record file system metadata changes in a "
"journal stored inside the file system itself, implemented as a hidden file "
@@ -504,7 +504,7 @@ msgstr ""
"систему без полной проверки согласованности."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:182
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:181
msgid ""
"This form of journaling applies to file system metadata only. File data "
"integrity remains the responsibility of applications."
@@ -513,13 +513,13 @@ msgstr ""
"Целостность данных файлов остается ответственностью приложений."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:183
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:182
#, no-wrap
msgid "Enabling Journaling on an Existing File System"
msgstr "Включение журналирования на существующей файловой системе"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:186
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:185
msgid ""
"The file system must be unmounted or mounted read-only before changing "
"journaling settings."
@@ -528,7 +528,7 @@ msgstr ""
"для чтения перед изменением настроек журналирования."
#. type: delimited block - 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:192
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:191
#, no-wrap
msgid ""
"# umount /usr\n"
@@ -540,7 +540,7 @@ msgstr ""
"# mount /usr\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:195
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:194
msgid ""
"No additional configuration is required. Standard mount options may be used."
msgstr ""
@@ -548,13 +548,13 @@ msgstr ""
"параметры монтирования."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:196
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:195
#, no-wrap
msgid "Journal Storage and Size"
msgstr "Хранение журналов и их размер"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:200
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:199
msgid ""
"A default journal size is selected automatically when journaling is "
"enabled. In most cases, the default size is sufficient and does not require "
@@ -565,7 +565,7 @@ msgstr ""
"корректировки."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:202
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:201
msgid ""
"If necessary, the journal size in bytes can be specified explicitly using "
"the `-S` option to `tunefs(8)`:"
@@ -574,13 +574,13 @@ msgstr ""
"опции `-S` для `tunefs(8)`:"
#. type: delimited block - 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:206
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:205
#, no-wrap
msgid "# tunefs -S 64000000 /dev/ada0p2\n"
msgstr "# tunefs -S 64000000 /dev/ada0p2\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:209
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:208
msgid ""
"Journal size tuning is rarely required and should be considered only for "
"file systems with unusually high metadata update rates."
@@ -589,13 +589,13 @@ msgstr ""
"для файловых систем с необычно высокой частотой обновления метаданных."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:210
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:209
#, no-wrap
msgid "Checking Soft Updates with Journaling"
msgstr "Проверка Soft Updates с журналированием"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:213
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:212
msgid ""
"The journaling status of a UFS file system using Soft Updates can be "
"verified with `tunefs(8)` or `dumpfs(8)`."
@@ -604,12 +604,12 @@ msgstr ""
"можно проверить с помощью `tunefs(8)` или `dumpfs(8)`."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:215
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:214
msgid "To display the current file system settings, run:"
msgstr "Чтобы отобразить текущие настройки файловой системы, выполните:"
#. type: delimited block - 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:221
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:220
#, no-wrap
msgid ""
"# tunefs -p /dev/ada0p2 | grep -i journal\n"
@@ -621,30 +621,30 @@ msgstr ""
"tunefs: gjournal: (-J) disabled\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:224
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:223
msgid "Look for the following indicators in the output:"
msgstr "Ищите следующие индикаторы в выводе:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:226
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:225
msgid "Soft Updates enabled"
msgstr "Soft Updates включены"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:227
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:226
msgid "Soft Updates journaling enabled"
msgstr "Soft Updates с журналированием включены"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:229
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:644
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:228
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:643
msgid ""
"Alternatively, `dumpfs(8)` can be used to inspect the file system superblock:"
msgstr ""
"Или для проверки суперблока файловой системы можно использовать `dumpfs(8)`:"
#. type: delimited block - 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:234
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:233
#, no-wrap
msgid ""
"# dumpfs /dev/ada0p2 | grep -i journal\n"
@@ -655,20 +655,20 @@ msgstr ""
"flags soft-updates+journal\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:237
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:236
msgid "These commands are read-only and do not modify file system state."
msgstr ""
"Эти команды предназначены только для чтения и не изменяют состояние файловой "
"системы."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:238
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:237
#, no-wrap
msgid "File System Checks and Maintenance"
msgstr "Проверка и обслуживание файловой системы"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:241
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:240
msgid ""
"Although journaling dramatically reduces recovery time after a crash, it "
"does not eliminate the need for periodic full file system checks."
@@ -678,33 +678,33 @@ msgstr ""
"системы."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:243
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:242
msgid "Journaling guarantees consistency, not correctness"
msgstr "Журналирование гарантирует целостность, а не корректность"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:244
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:243
msgid "Media errors are not repaired by journaling"
msgstr "Ошибки носителя не исправляются журналированием"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:245
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:244
msgid "Periodic `fsck` should still be scheduled"
msgstr "Периодическая проверка `fsck` все еще должна быть запланирована"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:246
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:245
msgid "Background `fsck` can be used on live file systems"
msgstr "Фоновый `fsck` может использоваться на работающих файловых системах"
#. type: Title ==
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:247
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:246
#, no-wrap
msgid "Using GEOM Journaling (Advanced)"
msgstr "Использование журналирования GEOM (Продвинутый уровень)"
#. type: delimited block = 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:252
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:251
msgid ""
"This section is intended for advanced users who understand the implications "
"of block-level journaling and altered sync semantics."
@@ -714,7 +714,7 @@ msgstr ""
"синхронизации."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:259
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:258
msgid ""
"This functionality is provided by loading the [.filename]#geom_journal.ko# "
"module into the kernel (or building it into a custom kernel) and using the "
@@ -731,7 +731,7 @@ msgstr ""
"следующий раздел)."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:262
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:261
msgid ""
"GEOM journaling is implemented by the `geom_journal` kernel module and is "
"configured using the `gjournal(8)` utility. It provides block-level "
@@ -743,7 +743,7 @@ msgstr ""
"блоков ниже слоя файловой системы и требует явной поддержки со стороны UFS."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:265
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:264
msgid ""
"When GEOM journaling is used, some disk space is needed to keep the journal "
"itself. The provider that contains the file system data is referred to as "
@@ -756,7 +756,7 @@ msgstr ""
"журнал, называется _провайдером журнала_."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:270
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:269
msgid ""
"When journaling an existing (non-empty) file system, the data and journal "
"providers must be separate. When journaling a new, empty file system, a "
@@ -773,14 +773,14 @@ msgstr ""
"который затем монтируется файловой системой. Например:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:272
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:271
msgid ""
"The `/usr` file system resides on `/dev/ada0p2` and already contains data."
msgstr ""
"Файловая система `/usr` расположена на `/dev/ada0p2` и уже содержит данные."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:273
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:272
msgid ""
"Free disk space has been allocated in a separate partition, `/dev/ada0p4`, "
"to hold the journal."
@@ -789,7 +789,7 @@ msgstr ""
"для хранения журнала."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:275
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:274
msgid ""
"After configuring GEOM journaling, a new provider `/dev/ada0p2.journal` is "
"created. This journaled provider combines `/dev/ada0p2` as the data "
@@ -802,7 +802,7 @@ msgstr ""
"используется для всех последующих операций файловой системы."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:278
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:277
msgid ""
"The amount of disk space required for the journal depends primarily on the "
"write workload of the file system rather than on the size of the data "
@@ -816,17 +816,17 @@ msgstr ""
"журналов или ограничения записи."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:280
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:279
msgid "From the man page `gjournal(8)`:"
msgstr "Из справочной страницы `gjournal(8)`:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:282
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:281
msgid "The default journal size is 1 GB."
msgstr "Размер журнала по умолчанию составляет 1 ГБ."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:283
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:282
msgid ""
"The recommended minimum journal size is twice the amount of installed "
"physical memory."
@@ -835,7 +835,7 @@ msgstr ""
"установленной оперативной памяти."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:284
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:283
msgid ""
"The journal size should be chosen based on expected write load, not file "
"system size."
@@ -844,7 +844,7 @@ msgstr ""
"размера файловой системы."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:286
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:285
msgid ""
"An undersized journal may result in degraded performance or forced journal "
"switches under heavy write load."
@@ -853,7 +853,7 @@ msgstr ""
"или вынужденным переключениям журнала при высокой нагрузке на запись."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:288
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:287
msgid ""
"For more information about journaling, please read the manual page of man:"
"gjournal[8]."
@@ -862,13 +862,13 @@ msgstr ""
"прочитайте страницу справочника, посвященную man:gjournal[8]."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:290
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:289
#, no-wrap
msgid "Steps During the Installation of FreeBSD"
msgstr "Действия, необходимые во время установки FreeBSD"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:294
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:293
msgid ""
"This section describes optional installation-time preparation for systems "
"that are configured to use GEOM journaling. The goal is to reserve disk "
@@ -881,13 +881,13 @@ msgstr ""
"впоследствии будут связаны с файловыми системами `/usr` и `/var`."
#. type: Title ====
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:295
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:294
#, no-wrap
msgid "Reserving Space for Journaling"
msgstr "Выделение места под журналирование"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:299
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:298
msgid ""
"On a typical system with a single disk, the operating system, installed "
"software, and user data all reside on the same device. The default "
@@ -902,7 +902,7 @@ msgstr ""
"меньшими разделами для `/var` и других точек монтирования."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:303
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:302
msgid ""
"By default, the installer allocates all available disk space to file systems "
"and does not leave unused space. When GEOM journaling is planned for "
@@ -918,7 +918,7 @@ msgstr ""
"журналироваться, требует собственного журнального провайдера."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:305
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:304
msgid ""
"Since `/usr` typically occupies the largest portion of the disk, it is "
"usually the most practical partition to reduce slightly in order to make "
@@ -929,20 +929,20 @@ msgstr ""
"журналируемых провайдеров."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:307
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:306
msgid "In our example GEOM journaling is planned for both `/usr` and `/var`."
msgstr ""
-"В нашем примере журналирование GEOM планируется как для `/usr`, так и для "
-"`/var`."
+"В нашем примере журналирование GEOM планируется как для `/usr`, так и для `/"
+"var`."
#. type: Title ====
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:308
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:307
#, no-wrap
msgid "Partitioning Strategy"
msgstr "Стратегия разбиения на разделы"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:312
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:311
msgid ""
"During installation, use the manual partitioning mode provided by the "
"installer. Create any supported file system type for `/`, and create "
@@ -951,31 +951,31 @@ msgid ""
msgstr ""
"Во время установки используйте режим ручного разбиения, предоставляемый "
"установщиком. Создайте любую поддерживаемую файловую систему для `/`, а "
-"также стандартные разделы UFS для `/usr` и `/var`, но уменьшите размер `/usr`"
-", чтобы оставить достаточно нераспределенного пространства в конце диска."
+"также стандартные разделы UFS для `/usr` и `/var`, но уменьшите размер `/"
+"usr`, чтобы оставить достаточно нераспределённого пространства в конце диска."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:314
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:313
msgid ""
"From the remaining unallocated space, create two additional partitions that "
"will be used exclusively as journal providers:"
msgstr ""
-"Из оставшегося нераспределенного пространства создайте два дополнительных "
+"Из оставшегося нераспределённого пространства создайте два дополнительных "
"раздела, которые будут использоваться исключительно в качестве журнальных "
"провайдеров:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:316
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:315
msgid "One partition for the `/usr` journal"
msgstr "Один раздел для журнала `/usr`"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:317
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:316
msgid "One partition for the `/var` journal"
msgstr "Один раздел для журнала `/var`"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:320
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:319
msgid ""
"These partitions must not be assigned mount points and must not be used for "
"swap. They will remain unused until they are explicitly associated with "
@@ -987,98 +987,98 @@ msgstr ""
"`gjournal(8)` после установки."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:322
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:321
msgid "A typical layout may look like the following:"
msgstr "Типичная схема может выглядеть следующим образом:"
#. type: Block title
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:323
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:322
#, no-wrap
msgid "Partitions Reserved for GEOM Journaling"
msgstr "Разделы, Зарезервированные для Журналирования GEOM"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:327
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:326
#, no-wrap
msgid "Provider"
msgstr "Поставщик"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:328
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:327
#, no-wrap
msgid "Intended Use"
msgstr "Предназначение"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:330
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:329
#, no-wrap
msgid "Notes"
msgstr "Заметки"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:331
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:330
#, no-wrap
msgid "/dev/ada0p2"
msgstr "/dev/ada0p2"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:332
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:331
#, no-wrap
msgid "/var"
msgstr "/var"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:334
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:338
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:333
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:337
#, no-wrap
msgid "UFS file system (data provider)"
msgstr "Файловая система UFS (поставщик данных)"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:335
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:334
#, no-wrap
msgid "/dev/ada0p3"
msgstr "/dev/ada0p3"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:336
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:335
#, no-wrap
msgid "/usr"
msgstr "/usr"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:339
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:338
#, no-wrap
msgid "/dev/ada0p4"
msgstr "/dev/ada0p4"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:340
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:339
#, no-wrap
msgid "Journal for /var"
msgstr "Журнал для /var"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:342
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:345
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:341
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:344
#, no-wrap
msgid "Unformatted, unused partition"
msgstr "Неформатированный, неиспользуемый раздел"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:343
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:342
#, no-wrap
msgid "/dev/ada0p5"
msgstr "/dev/ada0p5"
#. type: Table
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:344
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:343
#, no-wrap
msgid "Journal for /usr"
msgstr "Журнал для /usr"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:349
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:348
msgid ""
"The exact device names will vary depending on the disk layout and "
"partitioning scheme. It is strongly recommended to record the provider "
@@ -1090,13 +1090,13 @@ msgstr ""
"время установки, так как они потребуются при настройке журнала."
#. type: Title ====
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:350
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:349
#, no-wrap
msgid "Journal Size Considerations"
msgstr "Соображения по размеру журнала"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:355
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:354
msgid ""
"Journal size depends on the expected write workload rather than on the size "
"of the file system. For general-purpose systems, journal sizes of 1–2 GB "
@@ -1109,7 +1109,7 @@ msgstr ""
"могут потребоваться журналы большего размера."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:357
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:356
msgid ""
"Allocate journal space conservatively during installation, as resizing "
"partitions later may require additional downtime."
@@ -1119,13 +1119,13 @@ msgstr ""
"простоя."
#. type: Title ====
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:358
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:357
#, no-wrap
msgid "Completing the Installation"
msgstr "Завершение инсталляции"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:362
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:361
msgid ""
"After reserving the required partitions, complete the FreeBSD installation "
"normally. It is recommended to postpone the installation of third-party "
@@ -1138,7 +1138,7 @@ msgstr ""
"журналирования GEOM."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:365
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:364
msgid ""
"At this stage, the system will boot using the standard UFS file systems. "
"The reserved journal partitions will remain unused until journaling is "
@@ -1149,13 +1149,13 @@ msgstr ""
"до тех пор, пока журналирование не будет явно включено."
#. type: Title ====
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:367
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:366
#, no-wrap
msgid "First Boot After Installation"
msgstr "Первая загрузка после установки"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:371
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:370
msgid ""
"After the first successful boot, no immediate configuration changes are "
"required. The system should be verified to boot and operate normally before "
@@ -1166,7 +1166,7 @@ msgstr ""
"прежде чем продолжить."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:373
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:372
msgid ""
"Once the base system is confirmed to be functional, the next steps involve:"
msgstr ""
@@ -1174,40 +1174,40 @@ msgstr ""
"шаги включают:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:375
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:374
msgid "Loading or enabling GEOM journaling support"
msgstr "Загрузка или включение поддержки журналирования GEOM"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:376
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:375
msgid "Associating journal providers with their corresponding data providers"
msgstr ""
"Связывание журнальных провайдеров с соответствующими провайдерами данных"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:377
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:376
msgid "Updating `/etc/fstab` to mount the journaled devices"
msgstr "Обновление `/etc/fstab` для монтирования журналируемых устройств"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:379
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:378
msgid "These steps are described in the following section."
msgstr "Эти шаги описаны в следующем разделе."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:381
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:380
#, no-wrap
msgid "Setting Up Journaling"
msgstr "Настройка журналирования"
#. type: Title ====
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:384
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:383
#, no-wrap
msgid "Enabling GEOM Journaling on Existing File Systems"
msgstr "Включение журналирования GEOM в существующих файловых системах"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:387
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:386
msgid ""
"This section describes how to enable GEOM journaling on the `/usr` and `/"
"var` file systems using the partitions prepared during installation."
@@ -1217,7 +1217,7 @@ msgstr ""
"установки."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:390
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:389
msgid ""
"Once the required journal providers have been reserved, GEOM journaling can "
"be configured. Because the file systems to be journaled must not be "
@@ -1229,19 +1229,19 @@ msgstr ""
"однопользовательский режим."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:392
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:391
msgid "Log in as `root` and enter:"
msgstr "Залогиньтесь `root` и введите:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:396
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:719
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:395
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:718
#, no-wrap
msgid "# shutdown now\n"
msgstr "# shutdown now\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:401
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:400
msgid ""
"Press kbd:[Enter] to obtain a root shell. Unmount the file systems that "
"will be journaled. In this example, `/usr` and `/var`:"
@@ -1251,26 +1251,26 @@ msgstr ""
"журналированию, в нашем примере это [.filename]#/usr# и [.filename]#/var#:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:405
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:726
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:404
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:725
#, no-wrap
msgid "# umount /usr /var\n"
msgstr "# umount /usr /var\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:408
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:407
msgid "Load the GEOM journaling kernel module:"
msgstr "Загрузите модуль ядра GEOM journaling:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:412
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:691
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:411
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:690
#, no-wrap
msgid "# gjournal load\n"
msgstr "# gjournal load\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:416
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:415
msgid ""
"Next, associate each data provider with its corresponding journal provider. "
"Use your notes to determine which partition will be used for each journal."
@@ -1280,31 +1280,31 @@ msgstr ""
"использоваться для каждого журнала."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:418
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:417
msgid "In this example:"
msgstr "В этом примере:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:420
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:419
msgid ""
"`/usr` resides on `/dev/ada0p3` and its journal provider is `/dev/ada0p5`"
msgstr ""
"`/usr` находится на `/dev/ada0p3`, а его журнальный провайдер — `/dev/ada0p5`"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:421
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:420
msgid ""
"`/var` resides on `/dev/ada0p2` and its journal provider is `/dev/ada0p4`"
msgstr ""
"`/var` находится на `/dev/ada0p2`, а его журнальный провайдер — `/dev/ada0p4`"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:423
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:422
msgid "Create the journaled providers using `gjournal(8)`:"
msgstr "Создайте журналируемые провайдеры с помощью `gjournal(8)`:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:430
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:429
#, no-wrap
msgid ""
"# gjournal label ada0p3 ada0p5\n"
@@ -1318,7 +1318,7 @@ msgstr ""
"GEOM_JOURNAL: Journal ada0p3 clean.\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:435
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:434
#, no-wrap
msgid ""
"# gjournal label ada0p2 ada0p4\n"
@@ -1332,7 +1332,7 @@ msgstr ""
"GEOM_JOURNAL: Journal ada0p2 clean.\n"
#. type: delimited block = 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:442
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:441
msgid ""
"If `gjournal` reports that the last sector of a provider is in use, the "
"command will fail. On freshly created or unused partitions, it is safe to "
@@ -1343,28 +1343,28 @@ msgstr ""
"безопасно повторить операцию с флагом `-f` для принудительной инициализации:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:446
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:445
#, no-wrap
msgid "# gjournal label -f /dev/ada0p2 /dev/ada0p4\n"
msgstr "# gjournal label -f /dev/ada0p2 /dev/ada0p4\n"
#. type: delimited block = 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:450
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:449
msgid "After labeling, two new journaled providers are created:"
msgstr "После маркировки создаются два новых журналируемых провайдера:"
#. type: delimited block = 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:452
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:451
msgid "`/dev/ada0p3.journal` for `/usr`"
msgstr "`/dev/ada0p3.journal` для `/usr`"
#. type: delimited block = 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:453
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:452
msgid "`/dev/ada0p2.journal` for `/var`"
msgstr "`/dev/ada0p2.journal` для `/var`"
#. type: delimited block = 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:455
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:454
msgid ""
"These devices will replace the original data providers when mounting the "
"file systems."
@@ -1373,7 +1373,7 @@ msgstr ""
"систем."
#. type: delimited block = 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:457
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:456
msgid ""
"Before mounting, we must however set the journal flag on them and clear the "
"Soft Updates flag:"
@@ -1382,7 +1382,7 @@ msgstr ""
"Soft Updates:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:465
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:464
#, no-wrap
msgid ""
"# tunefs -J enable -n disable -j disable /dev/ada0p3.journal\n"
@@ -1398,7 +1398,7 @@ msgstr ""
"tunefs: soft updates cleared\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:471
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:470
#, no-wrap
msgid ""
"# tunefs -J enable -n disable -j disable /dev/ada0p2.journal\n"
@@ -1414,7 +1414,7 @@ msgstr ""
"tunefs: soft updates cleared\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:474
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:473
msgid ""
"Now, mount the new devices manually at their respective places to verify "
"correct operation (note that we can now use the `async` mount option) and "
@@ -1426,7 +1426,7 @@ msgstr ""
"место на диске:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:481
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:480
#, no-wrap
msgid ""
"# mount -o async /dev/ada0p2.journal /var\n"
@@ -1440,7 +1440,7 @@ msgstr ""
"# rm /usr/.sujournal\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:484
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:483
msgid ""
"Edit [.filename]#/etc/fstab# and update the entries for [.filename]#/usr# "
"and [.filename]#/var#:"
@@ -1449,7 +1449,7 @@ msgstr ""
"систем: [.filename]#/usr# и [.filename]#/var#:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:489
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:488
#, no-wrap
msgid ""
"/dev/ada0p3.journal /usr ufs rw,async 2 2\n"
@@ -1459,7 +1459,7 @@ msgstr ""
"/dev/ada0p2.journal /var ufs rw,async 2 2\n"
#. type: delimited block = 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:494
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:493
msgid ""
"Make sure the above entries are correct, or you will have trouble starting "
"up normally after you reboot!"
@@ -1468,7 +1468,7 @@ msgstr ""
"перезагрузки возможны проблемы со стандартным запуском системы!"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:497
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:496
msgid ""
"Finally, edit [.filename]#/boot/loader.conf# and add the following line so "
"the man:gjournal[8] module is loaded at every boot:"
@@ -1477,15 +1477,15 @@ msgstr ""
"для автоматической загрузки модуля man:gjournal[8] при каждом старте системы:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:501
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:683
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:817
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:500
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:682
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:816
#, no-wrap
msgid "geom_journal_load=\"YES\"\n"
msgstr "geom_journal_load=\"YES\"\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:505
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:504
msgid ""
"Congratulations! Your system is now set for journaling. You can either type "
"`exit` to return to multi-user mode, or reboot to test your configuration "
@@ -1496,19 +1496,19 @@ msgstr ""
"перезагрузить систему для проверки конфигурации (рекомендуется)."
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:509
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:763
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:508
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:762
#, no-wrap
msgid "# shutdown -r now\n"
msgstr "# shutdown -r now\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:512
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:511
msgid "During the boot you will see messages like the following:"
msgstr "Во время перезагрузки вы увидите сообщение следующего вида:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:522
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:521
#, no-wrap
msgid ""
"# dmesg | grep GEOM_JOURNAL\n"
@@ -1528,20 +1528,20 @@ msgstr ""
"GEOM_JOURNAL: Journal ada0p3 clean.\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:525
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:524
msgid "After an unclean shutdown, the messages will vary slightly, i.e.:"
msgstr ""
"После некорректного завершения работы сообщения будут немного отличаться, "
"например:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:529
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:528
#, no-wrap
msgid "GEOM_JOURNAL: Journal ada0p2 consistent.\n"
msgstr "GEOM_JOURNAL: Journal ada0p2 consistent.\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:532
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:531
msgid ""
"This usually means that man:gjournal[8] used the information in the journal "
"provider to return the file system to a consistent state."
@@ -1550,13 +1550,13 @@ msgstr ""
"для приведения файловой системы в согласованное состояние."
#. type: Title ====
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:534
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:533
#, no-wrap
msgid "Enabling GEOM Journaling on Newly Created Partitions"
msgstr "Включение журналирования GEOM на вновь созданных разделах"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:538
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:537
msgid ""
"The procedure described earlier is required when enabling GEOM journaling on "
"file systems that already contain data. When journaling a newly created, "
@@ -1569,7 +1569,7 @@ msgstr ""
"журнальные провайдеры могут находиться в одном разделе."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:540
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:539
msgid ""
"This approach is typically used for new disks or newly allocated partitions "
"that have not yet been formatted with a file system."
@@ -1578,7 +1578,7 @@ msgstr ""
"разделов, которые еще не были отформатированы под файловую систему."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:545
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:544
msgid ""
"While the above procedure is necessary for journaling partitions that "
"already contain data, journaling an empty partition is somewhat easier, "
@@ -1595,13 +1595,13 @@ msgstr ""
"журнала не сложнее набора:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:549
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:548
#, no-wrap
msgid "# gjournal label /dev/ada1p1\n"
msgstr "# gjournal label /dev/ada1p1\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:555
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:554
msgid ""
"The journal size will be 1 GB by default. You may adjust it by using the `-"
"s` option. The value can be given in bytes, or appended by `K`, `M` or `G` "
@@ -1615,7 +1615,7 @@ msgstr ""
"малого размера."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:557
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:556
msgid ""
"For example, to create a 2 GB journal, you could use the following command:"
msgstr ""
@@ -1623,13 +1623,13 @@ msgstr ""
"команду:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:561
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:560
#, no-wrap
msgid "# gjournal label -s 2G /dev/ada1p1\n"
msgstr "# gjournal label -s 2G /dev/ada1p1\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:564
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:563
msgid ""
"You can then initialyze a UFS file system on your new partition, enable "
"journaling using `newfs(8)` on the `.journal` device, and disable Soft "
@@ -1640,7 +1640,7 @@ msgstr ""
"Soft Updates, используя `tunefs(8)`:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:569
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:568
#, no-wrap
msgid ""
"# newfs -J /dev/ada1p1.journal\n"
@@ -1650,7 +1650,7 @@ msgstr ""
"# tunefs -n disable -j disable /dev/ada1p1.journal\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:573
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:572
msgid ""
"After the file system has been created, it can be mounted normally. For "
"example, to mount it at `/data`:"
@@ -1659,13 +1659,13 @@ msgstr ""
"Например, чтобы смонтировать её в `/data`:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:577
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:576
#, no-wrap
msgid "# mount /dev/ada1p1.journal /data\n"
msgstr "# mount /dev/ada1p1.journal /data\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:580
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:579
msgid ""
"To ensure the file system is mounted automatically at boot, add an entry to "
"[.filename]#/etc/fstab#:"
@@ -1674,45 +1674,45 @@ msgstr ""
"добавьте запись в [.filename]#/etc/fstab#:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:584
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:583
#, no-wrap
msgid "/dev/ada1p1.journal /data ufs rw,async 2 2\n"
msgstr "/dev/ada1p1.journal /data ufs rw,async 2 2\n"
#. type: Title =====
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:586
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:585
#, no-wrap
msgid "Notes on Usage"
msgstr "Заметки по использованию"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:589
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:588
msgid "When using a single provider for both data and journal storage:"
msgstr "При использовании одного провайдера для хранения данных и журналов:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:591
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:590
msgid "The partition must be empty before labeling"
msgstr "Раздел должен быть пустым перед выполнением `gjournal label`"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:592
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:591
msgid "The journal space is allocated from within the partition"
msgstr "Журнальное пространство выделяется внутри раздела диска"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:593
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:592
msgid "The file system size will be reduced by the size of the journal"
msgstr "Размер файловой системы будет уменьшен на размер журнала"
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:595
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:594
#, no-wrap
msgid "Building Journaling into Your Custom Kernel"
msgstr "Встраивание журналирования в собственное ядро"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:599
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:598
msgid ""
"If you do not wish to load `geom_journal` as a module, you can build its "
"functions right into your kernel. Edit your custom kernel configuration "
@@ -1724,29 +1724,29 @@ msgstr ""
"строки:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:603
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:602
#, no-wrap
msgid "options UFS_GJOURNAL <1>\n"
msgstr "options UFS_GJOURNAL <1>\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:605
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:604
#, no-wrap
msgid "options GEOM_JOURNAL <2>\n"
msgstr "options GEOM_JOURNAL <2>\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:608
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:607
msgid "Note: This is already in GENERIC"
msgstr "Обратите внимание — это уже есть в GENERIC"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:609
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:608
msgid "You will have to add this one"
msgstr "Вам надо добавить эту опцию"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:612
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:611
msgid ""
"Rebuild and reinstall your kernel following the relevant extref:{handbook}"
"kernelconfig[instructions in the FreeBSD Handbook., kernelconfig]"
@@ -1755,7 +1755,7 @@ msgstr ""
"kernelconfig[Руководства FreeBSD., kernelconfig]"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:614
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:613
msgid ""
"Do not forget to remove the relevant \"load\" entry from [.filename]#/boot/"
"loader.conf# if you have previously used it."
@@ -1765,43 +1765,43 @@ msgstr ""
"внесена)."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:615
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:614
#, no-wrap
msgid "Checking GEOM Journaling"
msgstr "Проверка GEOM журналирования"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:618
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:617
msgid ""
"GEOM journaling status can be verified by inspecting active GEOM providers."
msgstr ""
"Статус журналирования GEOM можно уточнить, проверив активные провайдеры GEOM."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:620
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:619
msgid "To list all active GEOM journal devices, run:"
msgstr ""
"Чтобы вывести список всех активных устройств журналирования GEOM, выполните:"
#. type: delimited block - 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:624
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:623
#, no-wrap
msgid "# gjournal list\n"
msgstr "# gjournal list\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:627
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:626
msgid "Or to view a summary of journal status:"
msgstr "Или для просмотра сводки состояния журнала:"
#. type: delimited block - 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:631
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:630
#, no-wrap
msgid "# gjournal status\n"
msgstr "# gjournal status\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:635
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:634
msgid ""
"Journaled file systems are identified by device names ending in `.journal`. "
"The presence of these providers indicates that GEOM journaling is active."
@@ -1811,19 +1811,19 @@ msgstr ""
"активность журналирования GEOM."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:637
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:636
msgid "Additional information about GEOM device stacking can be obtained with:"
msgstr ""
"Дополнительную информацию о цепочке устройств GEOM можно получить с помощью:"
#. type: delimited block - 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:641
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:640
#, no-wrap
msgid "# geom -t\n"
msgstr "# geom -t\n"
#. type: delimited block - 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:649
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:648
#, no-wrap
msgid ""
"# dumpfs /dev/ada0p2.journal | grep -i journal\n"
@@ -1833,13 +1833,13 @@ msgstr ""
"flags gjournal\n"
#. type: Title ==
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:653
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:652
#, no-wrap
msgid "Troubleshooting Journaling"
msgstr "Устранение неполадок с журналированием"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:656
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:655
msgid ""
"The following section covers frequently asked questions regarding problems "
"related to journaling."
@@ -1848,15 +1848,13 @@ msgstr ""
"связанных с журналированием."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:657
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:656
#, no-wrap
msgid "I am experiencing kernel panics during periods of high disk activity. Is this related to GEOM journaling?"
-msgstr ""
-"Я получаю паники ядра во время высокой дисковой активности. Это связано с "
-"журналированием GEOM?"
+msgstr "Я получаю паники ядра во время высокой дисковой активности. Это связано с журналированием GEOM?"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:660
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:659
msgid ""
"On modern FreeBSD systems, kernel panics caused solely by an undersized GEOM "
"journal are rare."
@@ -1865,7 +1863,7 @@ msgstr ""
"исключительно недостаточным размером журнала GEOM, встречаются редко."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:663
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:662
msgid ""
"Under sustained or burst-heavy write workloads, an undersized journal "
"typically results in write throttling or temporary I/O stalls while the "
@@ -1883,7 +1881,7 @@ msgstr ""
"работы может угрожать целостности файловой системы."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:665
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:664
msgid ""
"If panics are observed during heavy write activity, increasing the size of "
"the journal provider for the affected file system is recommended."
@@ -1892,13 +1890,13 @@ msgstr ""
"рекомендуется увеличить размер журнала для затронутой файловой системы."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:666
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:665
#, no-wrap
msgid "I made some mistake during configuration, and I cannot boot normally now. Can this be fixed some way?"
msgstr "Я допустил некоторые ошибки во время конфигурирования, теперь система не загружается. Можно это как-нибудь исправить?"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:672
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:671
msgid ""
"You either forgot (or misspelled) the entry in [.filename]#/boot/loader."
"conf#, or there are errors in your [.filename]#/etc/fstab# file. These are "
@@ -1916,18 +1914,18 @@ msgstr ""
"варианты:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:676
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:675
#, no-wrap
msgid "# cat /boot/loader.conf\n"
msgstr "# cat /boot/loader.conf\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:679
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:678
msgid "Ensure that the following line exists and is spelled correctly:"
msgstr "Убедитесь, что следующая строка существует и написана правильно:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:687
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:686
msgid ""
"If the `geom_journal_load` entry is missing or misspelled, the journaled "
"devices are never created. Load the module manually, mount all partitions, "
@@ -1939,7 +1937,7 @@ msgstr ""
"(продолжайте загрузку):"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:698
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:697
#, no-wrap
msgid ""
"GEOM_JOURNAL: Journal 2948326772: ada0p4 contains journal.\n"
@@ -1957,7 +1955,7 @@ msgstr ""
"GEOM_JOURNAL: Journal ada0p3 clean.\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:702
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:701
#, no-wrap
msgid ""
"# mount -a\n"
@@ -1969,7 +1967,7 @@ msgstr ""
"(boot continues)\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:707
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:706
msgid ""
"If, on the other hand, this entry is correct, have a look at [.filename]#/"
"etc/fstab#. You will probably find a misspelled or missing entry. In this "
@@ -1982,13 +1980,13 @@ msgstr ""
"продолжите загрузку в многопользовательский режим."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:708
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:707
#, no-wrap
msgid "Can I remove journaling and return to my standard file system with Soft Updates?"
msgstr "Возможно ли отказаться от журналирования и вернуться к моей привычной файловой системе с механизмом Soft Updates?"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:713
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:712
msgid ""
"Sure. Use the following procedure, which reverses the changes. The "
"partitions you created for the journal providers can then be used for other "
@@ -1999,33 +1997,33 @@ msgstr ""
"могут позже быть использованы для других целей."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:715
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:714
msgid "Login as `root` and switch to single user mode:"
msgstr "Залогиньтесь `root` и переведите систему в однопользовательский режим:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:722
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:721
msgid "Unmount the journaled partitions:"
msgstr "Размонтируйте журналируемые разделы:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:729
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:728
msgid "Synchronize the journals:"
msgstr "Синхронизируйте журналы:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:733
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:732
#, no-wrap
msgid "# gjournal sync\n"
msgstr "# gjournal sync\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:736
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:735
msgid "Stop the journaling providers:"
msgstr "Остановите поставщиков журналов:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:741
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:740
#, no-wrap
msgid ""
"# gjournal stop ada0p2.journal\n"
@@ -2035,7 +2033,7 @@ msgstr ""
"# gjournal stop ada0p3.journal\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:745
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:744
msgid ""
"Next step should be done with unloaded gjournal kernel module. If the "
"following command fails:"
@@ -2044,32 +2042,32 @@ msgstr ""
"следующая команда завершится неудачей:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:750
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:749
msgid "... # gjournal unload ..."
msgstr "... # gjournal unload ..."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:752
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:751
msgid ""
"ensure that the following line exists in [.filename]#/boot/loader.conf# and "
"is spelled correctly:"
msgstr ""
-"Убедитесь, что следующая строка присутствует в [.filename]#/boot/loader.conf#"
-" и написана правильно:"
+"Убедитесь, что следующая строка присутствует в [.filename]#/boot/loader."
+"conf# и написана правильно:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:756
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:755
#, no-wrap
msgid "geom_journal_load=\"NO\"\n"
msgstr "geom_journal_load=\"NO\"\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:759
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:758
msgid "Reboot your desktop without gjournal kernel module:"
msgstr "Перезагрузите ваш компьютер без модуля ядра gjournal:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:766
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:765
msgid ""
"Boot into single-user mode again. Clear the journaling metadata from all the "
"devices used:"
@@ -2078,7 +2076,7 @@ msgstr ""
"журналирования со всех задействованных устройств:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:773
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:772
#, no-wrap
msgid ""
"# gjournal clear ada0p2\n"
@@ -2092,13 +2090,13 @@ msgstr ""
"# gjournal clear ada0p5\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:776
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:775
msgid ""
"Clear the file system journaling flag, and restore the Soft Updates flags:"
msgstr "Снимите флаг журналирования и установите флаги механизма Soft Updates:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:783
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:782
#, no-wrap
msgid ""
"# tunefs -J disable -n enable -j enable ada0p2\n"
@@ -2112,7 +2110,7 @@ msgstr ""
"tunefs: soft updates set\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:788
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:787
#, no-wrap
msgid ""
"# tunefs -J disable -n enable -j enable ada0p3\n"
@@ -2126,12 +2124,12 @@ msgstr ""
"tunefs: soft updates set\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:791
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:790
msgid "Remount the old devices by hand:"
msgstr "Смонтируйте вручную старые (первоначальные) устройства:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:796
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:795
#, no-wrap
msgid ""
"# mount -o rw /dev/ada0p2 /var\n"
@@ -2141,13 +2139,13 @@ msgstr ""
"# mount -o rw /dev/ada0p3 /usr\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:799
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:798
msgid "Edit [.filename]#/etc/fstab# and restore it to its original state:"
msgstr ""
"Откройте файл [.filename]#/etc/fstab# и приведите его к изначальному виду:"
#. type: delimited block . 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:804
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:803
#, no-wrap
msgid ""
"/dev/ada0p2 /usr ufs rw 2 2\n"
@@ -2157,7 +2155,7 @@ msgstr ""
"/dev/ada0p3 /var ufs rw 2 2\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:807
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:806
msgid ""
"Finally, edit [.filename]#/boot/loader.conf#, remove the entry that loads "
"the `geom_journal` module (or re-enable it if gjournal is still required for "
@@ -2168,13 +2166,13 @@ msgstr ""
"требуется для других разделов диска), и перезагрузите операционную систему."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:808
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:807
#, no-wrap
msgid "How do I temporarily boot without GEOM journaling?"
msgstr "Как временно загрузиться без журналирования GEOM?"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:811
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:810
msgid ""
"To boot the system without GEOM journaling, prevent the journal module from "
"loading during startup."
@@ -2183,7 +2181,7 @@ msgstr ""
"модуля журнала во время запуска."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:813
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:812
msgid ""
"Comment out or remove the following line from [.filename]#/boot/loader.conf# "
"and reboot:"
@@ -2192,7 +2190,7 @@ msgstr ""
"loader.conf# и перезагрузитесь:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:821
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:820
msgid ""
"After booting without GEOM journaling, journaled devices (`*.journal`) will "
"not be created. File Systems must be mounted using their original (non-"
@@ -2205,7 +2203,7 @@ msgstr ""
"мере необходимости для восстановления или обслуживания."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:823
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:822
msgid ""
"This method does not modify on-disk journal metadata and can be safely used "
"for troubleshooting."
@@ -2214,20 +2212,20 @@ msgstr ""
"использоваться для устранения неполадок."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:824
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:823
#, no-wrap
msgid "Can I resize a GEOM journal after it has been created?"
msgstr "Можно ли изменить размер журнала GEOM после его создания?"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:827
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:826
msgid ""
"No. A GEOM journal cannot be resized in place after it has been created."
msgstr ""
"Нет. Журнал GEOM не может быть изменён в размере на месте после его создания."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:831
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:830
msgid ""
"The journal size is fixed at the time the journal is labeled. To change the "
"journal size, GEOM journaling must be removed and reconfigured with a new "
@@ -2243,7 +2241,7 @@ msgstr ""
"размера, как описано ранее в этой статье."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:833
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:832
msgid ""
"Plan journal sizes conservatively to accommodate peak write activity, as "
"resizing requires reinitialization of the journal configuration."
@@ -2253,13 +2251,13 @@ msgstr ""
"конфигурации журнала."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:834
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:833
#, no-wrap
msgid "What happens after an unclean shutdown or power failure?"
msgstr "Что происходит после некорректного завершения работы или сбоя питания?"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:837
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:836
msgid ""
"After an unclean shutdown or power failure, GEOM journaling and Soft Updates "
"with journaling replay the pending journal records during the next boot to "
@@ -2271,7 +2269,7 @@ msgstr ""
"состояние."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:840
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:839
msgid ""
"If the journal replay completes successfully, the file system is mounted "
"normally and no full file system check is required. Journal replay "
@@ -2285,7 +2283,7 @@ msgstr ""
"системы."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:842
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:841
msgid ""
"A full file system check may still be required in rare cases, such as when "
"underlying storage errors are detected or the journal itself is inconsistent."
@@ -2295,13 +2293,13 @@ msgstr ""
"самого журнала."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:843
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:842
#, no-wrap
msgid "How does GEOM journaling interact with fsck?"
msgstr "Как взаимодействует журналирование GEOM с fsck?"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:846
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:845
msgid ""
"GEOM journaling and Soft Updates with journaling interact with `fsck_ffs(8)` "
"in different ways, reflecting their different integration levels in the "
@@ -2312,7 +2310,7 @@ msgstr ""
"стеке хранения FreeBSD."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:851
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:850
msgid ""
"For GEOM journaling, crash recovery is performed by the GEOM framework "
"itself. During system startup, the `geom_journal` class detects journal "
@@ -2331,12 +2329,12 @@ msgstr ""
"видимым для более высоких уровней системы. Если воспроизведение журнала "
"завершается успешно, файловая система возвращается в согласованное "
"состояние, и суперблок UFS обновляется, чтобы указать, что проверка файловой "
-"системы не требуется. Когда позже во время загрузки вызывается `fsck_ffs(8)`"
-", он считывает это состояние из суперблока и пропускает проверку файловой "
-"системы."
+"системы не требуется. Когда позже во время загрузки вызывается "
+"`fsck_ffs(8)`, он считывает это состояние из суперблока и пропускает "
+"проверку файловой системы."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:856
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:855
msgid ""
"For Soft Updates with journaling, recovery is initiated by `fsck_ffs(8)` "
"itself. During the file system check phase at boot time, `fsck_ffs(8)` "
@@ -2347,8 +2345,8 @@ msgid ""
"file system check is performed."
msgstr ""
"Для Soft Updates с журналированием восстановление инициируется самим "
-"`fsck_ffs(8)`. Во время проверки файловой системы при загрузке, `fsck_ffs(8)`"
-" обнаруживает, что файловая система поддерживает Soft Updates с "
+"`fsck_ffs(8)`. Во время проверки файловой системы при загрузке, "
+"`fsck_ffs(8)` обнаруживает, что файловая система поддерживает Soft Updates с "
"журналированием, и запускает логику воспроизведения журнала. Если "
"воспроизведение журнала сообщает, что файловая система непротиворечива, "
"`fsck_ffs(8)` завершается досрочно без выполнения полной проверки. Если "
@@ -2356,7 +2354,7 @@ msgstr ""
"традиционная проверка файловой системы."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:858
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:857
msgid ""
"As a result, the recovery path during system startup depends on the "
"journaling mechanism in use, as illustrated by the following boot sequence:"
@@ -2366,7 +2364,7 @@ msgstr ""
"последовательностью загрузки:"
#. type: delimited block - 4
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:885
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:884
#, no-wrap
msgid ""
"Firmware / Boot Loader\n"
@@ -2404,8 +2402,7 @@ msgstr ""
"Фреймворк GEOM framework (обнаружение поставщиков - tasting)\n"
" |\n"
" +--> Журналирование GEOM (gjournal)\n"
-" | - Выполнение записи на диск из журнала выполняется на этом "
-"этапе\n"
+" | - Выполнение записи на диск из журнала выполняется на этом этапе\n"
" | - Согласованность файловой системы восстановлена\n"
" | - Суперблок обновлен\n"
" |\n"
@@ -2413,10 +2410,8 @@ msgstr ""
"Фаза проверки файловой системы (fsck_ffs)\n"
" |\n"
" +--> Журналирование с Soft Updates\n"
-" | - Выполнение записи на диск из журнала, инициированное "
-"командой fsck\n"
-" | - fsck сразу выходит, если файловая система в согласованном "
-"состоянии\n"
+" | - Выполнение записи на диск из журнала, инициированное командой fsck\n"
+" | - fsck сразу выходит, если файловая система в согласованном состоянии\n"
" |\n"
" v\n"
"Монтирование файловой системы\n"
@@ -2425,7 +2420,7 @@ msgstr ""
"Обычная работа системы\n"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:889
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:888
msgid ""
"`fsck_ffs(8)` is still used when journal replay cannot be completed, when "
"underlying storage errors are detected, or during periodic manual or "
@@ -2439,15 +2434,13 @@ msgstr ""
"заменяет `fsck_ffs(8)` полностью."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:890
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:889
#, no-wrap
msgid "Why does `gjournal clear` report \"Operation not permitted\" even in single-user mode?"
-msgstr ""
-"Почему команда `gjournal clear` сообщает \"Операция не разрешена\" даже в "
-"однопользовательском режиме?"
+msgstr "Почему команда `gjournal clear` сообщает \"Операция не разрешена\" даже в однопользовательском режиме?"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:895
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:894
msgid ""
"In GEOM, the same underlying storage can be exposed through multiple "
"provider names at the same time. For example, a partition may be visible "
@@ -2462,7 +2455,7 @@ msgstr ""
"ссылающиеся на одно и то же физическое хранилище."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:898
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:897
msgid ""
"When `gjournal stop` or `gjournal clear` is executed on one provider name, "
"the GEOM framework may immediately detect the journal metadata again through "
@@ -2478,7 +2471,7 @@ msgstr ""
"\"Операция не разрешена\"."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:901
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:900
msgid ""
"It is technically possible to suppress this behavior by disabling GEOM "
"tasting or by preventing the creation of alternative provider names, but "
@@ -2492,7 +2485,7 @@ msgstr ""
"провайдеров."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:904
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:903
msgid ""
"For this reason, the recommended and safe procedure is to unload the "
"`geom_journal` module entirely before removing journal metadata, as "
@@ -2507,13 +2500,13 @@ msgstr ""
"что позволяет команде `gjournal clear` завершиться успешно."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:905
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:904
#, no-wrap
msgid "Can GEOM journaling be used on the root file system?"
msgstr "Можно ли использовать журналирование GEOM на корневой файловой системе?"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:908
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:907
msgid ""
"Yes. GEOM journaling can be used on the root file system, but it requires "
"additional care during system configuration."
@@ -2522,7 +2515,7 @@ msgstr ""
"но требует дополнительной осторожности при настройке системы."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:911
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:910
msgid ""
"The GEOM journal module must be loaded early during the boot process so that "
"the journaled root device is available before the root file system is "
@@ -2538,7 +2531,7 @@ msgstr ""
"последовательность загрузки и процедуры восстановления."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:913
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:912
msgid ""
"For these reasons, GEOM journaling is more commonly applied to non-root file "
"systems such as `/usr` and `/var`."
@@ -2547,15 +2540,13 @@ msgstr ""
"системам, таким как `/usr` и `/var`."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:914
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:913
#, no-wrap
msgid "What are the performance implications of using GEOM journaling?"
-msgstr ""
-"Каковы последствия для производительности при использовании журналирования "
-"GEOM?"
+msgstr "Каковы последствия для производительности при использовании журналирования GEOM?"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:918
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:917
msgid ""
"GEOM journaling introduces additional write I/O because all write operations "
"are first recorded in the journal before being committed to the data "
@@ -2569,7 +2560,7 @@ msgstr ""
"файловыми системами без журналирования."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:922
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:921
msgid ""
"Read performance is typically unaffected. The performance impact is most "
"noticeable on write-heavy workloads and depends on journal size, placement, "
@@ -2583,19 +2574,18 @@ msgstr ""
"поставщика журнала минимизирует потери в производительности."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:923
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:922
#, no-wrap
msgid "Can GEOM journaling be used together with other GEOM classes?"
-msgstr ""
-"Может ли журналирование GEOM использоваться вместе с другими классами GEOM?"
+msgstr "Может ли журналирование GEOM использоваться вместе с другими классами GEOM?"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:926
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:925
msgid "Yes. GEOM journaling can be stacked with other GEOM classes."
msgstr "Да. GEOM журналирование может быть объединено с другими классами GEOM."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:929
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:928
msgid ""
"When used together, GEOM journaling typically operates on top of providers "
"created by other GEOM classes such as `gmirror(8)` or `graid3(8)`. The "
@@ -2608,7 +2598,7 @@ msgstr ""
"задокументированным требованиям к слоям задействованных классов GEOM."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:931
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:930
msgid ""
"GEOM journaling maintains file system consistency across the stacked "
"providers, but it does not replace redundancy or error detection provided by "
@@ -2619,13 +2609,13 @@ msgstr ""
"предоставляемые другими классами GEOM."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:932
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:931
#, no-wrap
msgid "Can GEOM journaling and Soft Updates be enabled at the same time?"
msgstr "Можно ли одновременно включить журналирование GEOM и Soft Updates?"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:935
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:934
msgid ""
"No. GEOM journaling and Soft Updates must not be enabled at the same time on "
"the same file system."
@@ -2634,7 +2624,7 @@ msgstr ""
"на одной файловой системе."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:938
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:937
msgid ""
"GEOM journaling requires exclusive control over write ordering and "
"consistency guarantees. If Soft Updates are enabled together with GEOM "
@@ -2647,7 +2637,7 @@ msgstr ""
"целостность данных не может быть гарантирована."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:940
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:939
msgid ""
"When using GEOM journaling, Soft Updates must be disabled on the affected "
"file system, as described earlier in this article."
@@ -2656,13 +2646,13 @@ msgstr ""
"затронутой файловой системе, как описано ранее в этой статье."
#. type: Title ===
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:942
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:941
#, no-wrap
msgid "What is the difference between Soft Updates and Soft Updates with Journaling?"
msgstr "В чем разница между Soft Updates и Soft Updates с журналированием?"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:945
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:944
msgid ""
"Both Soft Updates and Soft Updates with Journaling are designed to maintain "
"file system consistency, but they use different mechanisms and behave "
@@ -2673,7 +2663,7 @@ msgstr ""
"ведут себя по-разному после сбоя системы."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:949
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:948
msgid ""
"_Soft Updates_ ensure consistency by carefully ordering metadata writes in "
"memory so that only safe states are written to disk. If a crash occurs, any "
@@ -2691,7 +2681,7 @@ msgstr ""
"запуск `fsck_ffs(8)`."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:953
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:952
msgid ""
"_Soft Updates with Journaling_ build on top of _Soft Updates_ by adding a "
"metadata journal stored within the file system. Metadata changes are first "
@@ -2707,7 +2697,7 @@ msgstr ""
"необходимости полного запуска `fsck_ffs(8)`."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:955
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:954
msgid ""
"In short, _Soft Updates_ provide consistency without a journal, while _Soft "
"Updates with Journaling_ add fast and automatic recovery after crashes at "
@@ -2719,13 +2709,13 @@ msgstr ""
"пространства и незначительного снижения производительности."
#. type: Title ==
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:958
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:957
#, no-wrap
msgid "Further Reading"
msgstr "Для дальнейшего ознакомления"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:962
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:961
msgid ""
"Journaling is a fairly new feature of FreeBSD, and as such, it is not very "
"well documented yet. You may however find the following additional "
@@ -2736,7 +2726,7 @@ msgstr ""
"источники:"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:964
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:963
msgid ""
"A extref:{handbook}geom[section on journaling, geom-gjournal] is now part of "
"the FreeBSD Handbook."
@@ -2745,7 +2735,7 @@ msgstr ""
"посвященный журналированию."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:965
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:964
msgid ""
"https://lists.freebsd.org/pipermail/freebsd-current/2006-June/064043."
"html[This post] in {freebsd-current} by man:gjournal[8]'s developer, `{pjd}`."
@@ -2755,7 +2745,7 @@ msgstr ""
"автором man:gjournal[8]."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:966
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:965
msgid ""
"https://lists.freebsd.org/pipermail/freebsd-questions/2008-April/173501."
"html[This post] in {freebsd-questions} by `{ivoras}`."
@@ -2764,7 +2754,7 @@ msgstr ""
"html[Этот пост] от `{ivoras}` в списке рассылки {freebsd-questions}."
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:967
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:966
msgid ""
"https://www.youtube.com/watch?v=_NuhRkiInvA[Journaled Soft-Updates, Dr. Kirk "
"McKusick, BSDCan 2010] on YouTube"
@@ -2773,7 +2763,7 @@ msgstr ""
"McKusick, BSDCan 2010] на YouTube"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:968
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:967
msgid ""
"https://www.youtube.com/watch?v=xMpmOezBJZo[GEOM - in Infrastructure We "
"Trust, Pawel Jakub Dawidek, AsiaBSDCon 2008] on YouTube"
@@ -2782,7 +2772,7 @@ msgstr ""
"Trust, Pawel Jakub Dawidek, AsiaBSDCon 2008] на YouTube"
#. type: Plain text
-#: documentation/content/en/articles/gjournal-desktop/_index.adoc:968
+#: documentation/content/en/articles/gjournal-desktop/_index.adoc:967
msgid "The manual pages of man:gjournal[8], man:geom[8], and man:tunefs[8]."
msgstr "Страницы Справочника man:gjournal[8], man:geom[8] и man:tunefs[8]."
diff --git a/documentation/content/ru/articles/hubs/_index.adoc b/documentation/content/ru/articles/hubs/_index.adoc
index 13a331cec0..c6dd7a707d 100644
--- a/documentation/content/ru/articles/hubs/_index.adoc
+++ b/documentation/content/ru/articles/hubs/_index.adoc
@@ -115,18 +115,18 @@ toc::[]
* `/usr/libexec/ftpd`: базовый FTP-даемон FreeBSD. Не забудьте прочитать man:ftpd[8].
* package:ftp/ncftpd[]: коммерческий пакет, свободен для использования в учебных целях.
-* package:ftp/oftpd[]: FTP-даемон, написанный в основном с точки зрения защищенности.
+* package:ftp/oftpd[]: FTP-даемон, написанный в основном с точки зрения защищённости.
* package:ftp/proftpd[]: Модульный и очень гибкий FTP-даемон.
-* package:ftp/pure-ftpd[]: Еще один FTP-даемон, разработанный с позиций защищенности.
+* package:ftp/pure-ftpd[]: Еще один FTP-даемон, разработанный с позиций защищённости.
* package:ftp/twoftpd[]: См. предыдущий пункт.
-* package:ftp/vsftpd[]: "очень защищенный" ("very secure") ftpd.
+* package:ftp/vsftpd[]: "очень защищённый" ("very secure") ftpd.
ftpd, proftpd и, возможно, ncftpd являются наиболее часто встречающимися FTP серверами. Прочие распространены среди существующих зеркал в существенно меньшей степени. Дополнительным поводом для рассмотрения может являться возможность гибко ограничивать количество одновременных соединений, что поможет вам удержать в нужных рамках потребление пропускной способности ваших каналов и машинные ресурсы.
[[mirror-serv-rsync]]
==== Rsync (необязательный сервис для FTP зеркала)
-rsync часто используется для предоставления доступа к FTP-области FreeBSD, чтобы другие зеркала могли синхронизироваться по вашему. Протокол rsync во многом отличается от FTP, в частности, он гораздо гуманнее с точки зрения пропускной способности каналов, поскольку не требует передачи измененного файла целиком (передаются лишь различия). Взамен rsync требует значительных объёмов памяти. Размер каждого процесса зависит от размера синхронизируемого модуля (в основном от количества каталогов и файлов). rsync может использовать в качестве транспортного протокола `rsh` или `ssh` (по умолчанию); также, может использоваться внутренний протокол rsync (этот метод предпочтителен для публичных rsync-серверов). Поддерживается авторизация клиентов и различные ограничения. Для протокола rsync существует единственный пакет:
+rsync часто используется для предоставления доступа к FTP-области FreeBSD, чтобы другие зеркала могли синхронизироваться по вашему. Протокол rsync во многом отличается от FTP, в частности, он гораздо гуманнее с точки зрения пропускной способности каналов, поскольку не требует передачи изменённого файла целиком (передаются лишь различия). Взамен rsync требует значительных объёмов памяти. Размер каждого процесса зависит от размера синхронизируемого модуля (в основном от количества каталогов и файлов). rsync может использовать в качестве транспортного протокола `rsh` или `ssh` (по умолчанию); также, может использоваться внутренний протокол rsync (этот метод предпочтителен для публичных rsync-серверов). Поддерживается авторизация клиентов и различные ограничения. Для протокола rsync существует единственный пакет:
* package:net/rsync[]
@@ -256,7 +256,7 @@ rsync часто используется для предоставления д
[[mirror-where-simple]]
==== Я хочу получить копию зеркала хоть откуда-нибудь!
-Если у вас нет особых намерений или требований, применимо утверждение в crossref:hubs[mirror-where-where, Так откуда же мне синхронизироваться?]. Это означает:
+Если у вас нет особых намерений или требований, применимо утверждение в crossref:hubs[mirror-where-where, "Так откуда же мне синхронизироваться?"]. Это означает:
[.procedure]
====
diff --git a/documentation/content/ru/articles/hubs/_index.po b/documentation/content/ru/articles/hubs/_index.po
index 06964bc90e..d2be9d78a7 100644
--- a/documentation/content/ru/articles/hubs/_index.po
+++ b/documentation/content/ru/articles/hubs/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-11-08 16:17+0000\n"
-"PO-Revision-Date: 2026-04-05 04:45+0000\n"
+"POT-Creation-Date: 2026-08-06 22:55+0100\n"
+"PO-Revision-Date: 2026-08-08 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articleshubs_index/ru/>\n"
@@ -32,12 +32,12 @@ msgid "Mirroring FreeBSD"
msgstr "Поддержка зеркал FreeBSD"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:50
+#: documentation/content/en/articles/hubs/_index.adoc:49
msgid "Abstract"
msgstr "Аннотация"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:52
+#: documentation/content/en/articles/hubs/_index.adoc:51
msgid ""
"An in-progress article on how to mirror FreeBSD, aimed at hub administrators."
msgstr ""
@@ -45,23 +45,23 @@ msgstr ""
"FreeBSD и адресованной администраторам зеркал."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:54
+#: documentation/content/en/articles/hubs/_index.adoc:53
msgid "'''"
msgstr "'''"
#. type: delimited block = 4
-#: documentation/content/en/articles/hubs/_index.adoc:60
+#: documentation/content/en/articles/hubs/_index.adoc:59
msgid "We are not accepting new community mirrors at this time."
msgstr "На текущий момент заявки на подключение новых зеркал не принимаются."
#. type: Title ==
-#: documentation/content/en/articles/hubs/_index.adoc:63
+#: documentation/content/en/articles/hubs/_index.adoc:62
#, no-wrap
msgid "Contact Information"
msgstr "Контактная информация"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:67
+#: documentation/content/en/articles/hubs/_index.adoc:66
msgid ""
"The Mirror System Coordinators can be reached through email at mailto:mirror-"
"admin@FreeBSD.org[mirror-admin@FreeBSD.org]. There is also a {freebsd-hubs}."
@@ -71,19 +71,19 @@ msgstr ""
"{freebsd-hubs}."
#. type: Title ==
-#: documentation/content/en/articles/hubs/_index.adoc:69
+#: documentation/content/en/articles/hubs/_index.adoc:68
#, no-wrap
msgid "Requirements for FreeBSD Mirrors"
msgstr "Требования к зеркалам FreeBSD"
#. type: Title ===
-#: documentation/content/en/articles/hubs/_index.adoc:72
+#: documentation/content/en/articles/hubs/_index.adoc:71
#, no-wrap
msgid "Disk Space"
msgstr "Дисковое пространство"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:82
+#: documentation/content/en/articles/hubs/_index.adoc:81
msgid ""
"Disk space is one of the most important requirements. Depending on the set "
"of releases, architectures, and degree of completeness you want to mirror, a "
@@ -107,22 +107,22 @@ msgstr ""
"пространство спокойствия ради. Вот некоторые оценки объёма:"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:84
+#: documentation/content/en/articles/hubs/_index.adoc:83
msgid "Full FTP Distribution: 1.4 TB"
msgstr "Полное зеркало FTP: 1.4 TB"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:85
+#: documentation/content/en/articles/hubs/_index.adoc:84
msgid "CTM deltas: 10 GB"
msgstr "Комплект изменений CTM: 10 GB"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:86
+#: documentation/content/en/articles/hubs/_index.adoc:85
msgid "Web pages: 1GB"
msgstr "Веб-страницы: 1 GB"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:88
+#: documentation/content/en/articles/hubs/_index.adoc:87
msgid ""
"The current disk usage of FTP Distribution can be found at link:ftp://ftp."
"FreeBSD.org/pub/FreeBSD/dir.sizes[ftp://ftp.FreeBSD.org/pub/FreeBSD/dir."
@@ -133,13 +133,13 @@ msgstr ""
"sizes]."
#. type: Title ===
-#: documentation/content/en/articles/hubs/_index.adoc:90
+#: documentation/content/en/articles/hubs/_index.adoc:89
#, no-wrap
msgid "Network Connection/Bandwidth"
msgstr "Требования к сетевой связности и пропускной способности"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:97
+#: documentation/content/en/articles/hubs/_index.adoc:96
msgid ""
"Of course, you need to be connected to the Internet. The required bandwidth "
"depends on your intended use of the mirror. If you just want to mirror some "
@@ -157,7 +157,7 @@ msgstr ""
"лишь очень грубые оценки:"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:99
+#: documentation/content/en/articles/hubs/_index.adoc:98
msgid ""
"Local site, no public access: basically no minimum, but < 2 Mbps could make "
"syncing too slow."
@@ -166,12 +166,12 @@ msgstr ""
"шириной менее 2 Mbps может сделать процесс обновления мучительно медленным."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:100
+#: documentation/content/en/articles/hubs/_index.adoc:99
msgid "Unofficial public site: 34 Mbps is probably a good start."
msgstr "Неофициальное публичное зеркало: 34 Mbps выглядит неплохо для начала."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:101
+#: documentation/content/en/articles/hubs/_index.adoc:100
msgid ""
"Official site: > 100 Mbps is recommended, and your host should be connected "
"as close as possible to your border router."
@@ -181,13 +181,13 @@ msgstr ""
"сети."
#. type: Title ===
-#: documentation/content/en/articles/hubs/_index.adoc:103
+#: documentation/content/en/articles/hubs/_index.adoc:102
#, no-wrap
msgid "System Requirements, CPU, RAM"
msgstr "Системные требования, процессор и память"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:111
+#: documentation/content/en/articles/hubs/_index.adoc:110
msgid ""
"One thing this depends on the expected number of clients, which is "
"determined by the server's policy. It is also affected by the types of "
@@ -206,7 +206,7 @@ msgstr ""
"части сервера."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:114
+#: documentation/content/en/articles/hubs/_index.adoc:113
msgid ""
"For a moderately visited site that offers rsync, you might consider a "
"current CPU with around 800MHz - 1 GHz, and at least 512MB RAM. This is "
@@ -218,7 +218,7 @@ msgstr ""
"зеркала."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:116
+#: documentation/content/en/articles/hubs/_index.adoc:115
msgid ""
"For a frequently used site you definitely need more RAM (consider 2GB as a "
"good start) and possibly more CPU, which could also mean that you need to go "
@@ -229,7 +229,7 @@ msgstr ""
"требование многопроцессорной (SMP) платформы."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:120
+#: documentation/content/en/articles/hubs/_index.adoc:119
msgid ""
"You also want to consider a fast disk subsystem. Operations on the SVN "
"repository require a fast disk subsystem (RAID is highly advised). A SCSI "
@@ -243,13 +243,13 @@ msgstr ""
"запросов небольшого размера."
#. type: Title ===
-#: documentation/content/en/articles/hubs/_index.adoc:122
+#: documentation/content/en/articles/hubs/_index.adoc:121
#, no-wrap
msgid "Services to Offer"
msgstr "Предоставляемые сервисы"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:127
+#: documentation/content/en/articles/hubs/_index.adoc:126
msgid ""
"Every mirror site is required to have a set of core services available. In "
"addition to these required services, there are a number of optional services "
@@ -263,13 +263,13 @@ msgstr ""
"потребуются от вас."
#. type: Title ====
-#: documentation/content/en/articles/hubs/_index.adoc:129
+#: documentation/content/en/articles/hubs/_index.adoc:128
#, no-wrap
msgid "FTP (required for FTP Fileset)"
msgstr "FTP (требуется для FTP зеркала)"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:135
+#: documentation/content/en/articles/hubs/_index.adoc:134
msgid ""
"This is one of the most basic services, and it is required for each mirror "
"offering public FTP distributions. FTP access must be anonymous, and no "
@@ -287,7 +287,7 @@ msgstr ""
"должен быть доступен с путем [.filename]#/pub/FreeBSD#."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:137
+#: documentation/content/en/articles/hubs/_index.adoc:136
msgid ""
"There is a lot of software available which can be set up to allow anonymous "
"FTP (in alphabetical order)."
@@ -296,7 +296,7 @@ msgstr ""
"программ (перечислены в алфавитном порядке)."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:139
+#: documentation/content/en/articles/hubs/_index.adoc:138
msgid ""
"`/usr/libexec/ftpd`: FreeBSD's own ftpd can be used. Be sure to read man:"
"ftpd[8]."
@@ -305,43 +305,43 @@ msgstr ""
"ftpd[8]."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:140
+#: documentation/content/en/articles/hubs/_index.adoc:139
msgid "package:ftp/ncftpd[]: A commercial package, free for educational use."
msgstr ""
"package:ftp/ncftpd[]: коммерческий пакет, свободен для использования в "
"учебных целях."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:141
+#: documentation/content/en/articles/hubs/_index.adoc:140
msgid "package:ftp/oftpd[]: An ftpd designed with security as a main focus."
msgstr ""
"package:ftp/oftpd[]: FTP-даемон, написанный в основном с точки зрения "
-"защищенности."
+"защищённости."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:142
+#: documentation/content/en/articles/hubs/_index.adoc:141
msgid "package:ftp/proftpd[]: A modular and very flexible ftpd."
msgstr "package:ftp/proftpd[]: Модульный и очень гибкий FTP-даемон."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:143
+#: documentation/content/en/articles/hubs/_index.adoc:142
msgid "package:ftp/pure-ftpd[]: Another ftpd developed with security in mind."
msgstr ""
"package:ftp/pure-ftpd[]: Еще один FTP-даемон, разработанный с позиций "
-"защищенности."
+"защищённости."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:144
+#: documentation/content/en/articles/hubs/_index.adoc:143
msgid "package:ftp/twoftpd[]: As above."
msgstr "package:ftp/twoftpd[]: См. предыдущий пункт."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:145
+#: documentation/content/en/articles/hubs/_index.adoc:144
msgid "package:ftp/vsftpd[]: The \"very secure\" ftpd."
-msgstr "package:ftp/vsftpd[]: \"очень защищенный\" (\"very secure\") ftpd."
+msgstr "package:ftp/vsftpd[]: \"очень защищённый\" (\"very secure\") ftpd."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:149
+#: documentation/content/en/articles/hubs/_index.adoc:148
msgid ""
"FreeBSD's `ftpd`, `proftpd` and maybe `ncftpd` are among the most commonly "
"used FTPds. The others do not have a large userbase among mirror sites. "
@@ -357,13 +357,13 @@ msgstr ""
"ваших каналов и машинные ресурсы."
#. type: Title ====
-#: documentation/content/en/articles/hubs/_index.adoc:151
+#: documentation/content/en/articles/hubs/_index.adoc:150
#, no-wrap
msgid "Rsync (optional for FTP Fileset)"
msgstr "Rsync (необязательный сервис для FTP зеркала)"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:161
+#: documentation/content/en/articles/hubs/_index.adoc:160
msgid ""
"Rsync is often offered for access to the contents of the FTP area of "
"FreeBSD, so other mirror sites can use your system as their source. The "
@@ -380,7 +380,7 @@ msgstr ""
"rsync часто используется для предоставления доступа к FTP-области FreeBSD, "
"чтобы другие зеркала могли синхронизироваться по вашему. Протокол rsync во "
"многом отличается от FTP, в частности, он гораздо гуманнее с точки зрения "
-"пропускной способности каналов, поскольку не требует передачи измененного "
+"пропускной способности каналов, поскольку не требует передачи изменённого "
"файла целиком (передаются лишь различия). Взамен rsync требует значительных "
"объёмов памяти. Размер каждого процесса зависит от размера синхронизируемого "
"модуля (в основном от количества каталогов и файлов). rsync может "
@@ -391,18 +391,18 @@ msgstr ""
"единственный пакет:"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:163
+#: documentation/content/en/articles/hubs/_index.adoc:162
msgid "package:net/rsync[]"
msgstr "package:net/rsync[]"
#. type: Title ====
-#: documentation/content/en/articles/hubs/_index.adoc:165
+#: documentation/content/en/articles/hubs/_index.adoc:164
#, no-wrap
msgid "HTTP (required for Web Pages, Optional for FTP Fileset)"
msgstr "HTTP (требуется для веб-страниц, дополнителен для FTP зеркал)"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:171
+#: documentation/content/en/articles/hubs/_index.adoc:170
msgid ""
"If you want to offer the FreeBSD web pages, you will need to install a web "
"server. You may optionally offer the FTP fileset via HTTP. The choice of "
@@ -416,7 +416,7 @@ msgstr ""
"перечислены ниже:"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:173
+#: documentation/content/en/articles/hubs/_index.adoc:172
msgid ""
"package:www/apache24[]: Apache is still one of the most widely deployed web "
"servers on the Internet. It is used extensively by the FreeBSD Project."
@@ -425,7 +425,7 @@ msgstr ""
"веб-сервер, активно используемый проектом FreeBSD."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:174
+#: documentation/content/en/articles/hubs/_index.adoc:173
msgid ""
"package:www/boa[]: Boa is a single-tasking HTTP server. Unlike traditional "
"web servers, it does not fork for each incoming connection, nor does it fork "
@@ -439,7 +439,7 @@ msgstr ""
"значительно более высокую производительность для чисто статического контента."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:175
+#: documentation/content/en/articles/hubs/_index.adoc:174
msgid ""
"package:www/cherokee[]: Cherokee is a very fast, flexible and easy to "
"configure web server. It supports the widespread technologies nowadays: "
@@ -454,7 +454,7 @@ msgstr ""
"балансировку нагрузки. Также он генерирует журналы, совместимые с Apache."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:176
+#: documentation/content/en/articles/hubs/_index.adoc:175
msgid ""
"package:www/lighttpd[]: lighttpd is a secure, fast, compliant and very "
"flexible web server which has been optimized for high-performance "
@@ -467,7 +467,7 @@ msgstr ""
"памяти и эффективно распределяет нагрузку на процессор."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:177
+#: documentation/content/en/articles/hubs/_index.adoc:176
msgid ""
"package:www/nginx[]: nginx is a high performance edge web server with a low "
"memory footprint and key features to build a modern and efficient web "
@@ -483,7 +483,7 @@ msgstr ""
"соединений, выгрузку SSL и потоковую передачу HTTP-медиа."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:178
+#: documentation/content/en/articles/hubs/_index.adoc:177
msgid ""
"package:www/thttpd[]: If you are going to be serving a large amount of "
"static content you may find that using an application such as thttpd is more "
@@ -496,13 +496,13 @@ msgstr ""
"оптимизировано для отличной производительности в FreeBSD."
#. type: Title ==
-#: documentation/content/en/articles/hubs/_index.adoc:180
+#: documentation/content/en/articles/hubs/_index.adoc:179
#, no-wrap
msgid "How to Mirror FreeBSD"
msgstr "Как вести зеркало FreeBSD"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:184
+#: documentation/content/en/articles/hubs/_index.adoc:183
msgid ""
"Ok, now you know the requirements and how to offer the services, but not how "
"to get it. :-) This section explains how to actually mirror the various "
@@ -515,13 +515,13 @@ msgstr ""
"синхронизации."
#. type: Title ===
-#: documentation/content/en/articles/hubs/_index.adoc:186
+#: documentation/content/en/articles/hubs/_index.adoc:185
#, no-wrap
msgid "Mirroring the FTP Site"
msgstr "Зеркалирование FTP-области"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:191
+#: documentation/content/en/articles/hubs/_index.adoc:190
msgid ""
"The FTP area is the largest amount of data that needs to be mirrored. It "
"includes the _distribution sets_ required for network installation, the "
@@ -539,7 +539,7 @@ msgstr ""
"для разных версий FreeBSD и различных архитектур."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:197
+#: documentation/content/en/articles/hubs/_index.adoc:196
msgid ""
"The best way to mirror the FTP area is rsync. You can install the port "
"package:net/rsync[] and then use rsync to sync with your upstream host. "
@@ -556,7 +556,7 @@ msgstr ""
"поддерживающее rsync."
#. type: delimited block = 4
-#: documentation/content/en/articles/hubs/_index.adoc:202
+#: documentation/content/en/articles/hubs/_index.adoc:201
msgid ""
"Since the number of rsync clients will have a significant impact on the "
"server machine, most admins impose limitations on their server. For a "
@@ -570,18 +570,18 @@ msgstr ""
"в них исключения для вас (поскольку вы также поддерживаете зеркало)."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:205
+#: documentation/content/en/articles/hubs/_index.adoc:204
msgid "A command line to mirror FreeBSD might look like:"
msgstr "Строка для синхронизации FreeBSD по rsync выглядит примерно так:"
#. type: delimited block . 4
-#: documentation/content/en/articles/hubs/_index.adoc:209
+#: documentation/content/en/articles/hubs/_index.adoc:208
#, no-wrap
msgid "% rsync -vaHz --delete rsync://ftp4.de.FreeBSD.org/FreeBSD/ /pub/FreeBSD/\n"
msgstr "% rsync -vaHz --delete rsync://ftp4.de.FreeBSD.org/FreeBSD/ /pub/FreeBSD/\n"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:213
+#: documentation/content/en/articles/hubs/_index.adoc:212
msgid ""
"Consult the documentation for rsync, which is also available at http://rsync."
"samba.org/[http://rsync.samba.org/], about the various options to be used "
@@ -599,13 +599,13 @@ msgstr ""
"запуска подобной команды из man:cron[8]."
#. type: Title ===
-#: documentation/content/en/articles/hubs/_index.adoc:215
+#: documentation/content/en/articles/hubs/_index.adoc:214
#, no-wrap
msgid "Mirroring the WWW Pages"
msgstr "Зеркалирование страниц WWW"
#. type: delimited block = 4
-#: documentation/content/en/articles/hubs/_index.adoc:220
+#: documentation/content/en/articles/hubs/_index.adoc:219
msgid ""
"Since doc migration to Hugo/Asciidoctor on 2021-01-25, mirroring the website "
"with rsync no longer works."
@@ -614,7 +614,7 @@ msgstr ""
"веб-сайта с помощью rsync больше не работает."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:223
+#: documentation/content/en/articles/hubs/_index.adoc:222
msgid ""
"There are ongoing studies to implement a website mirror with the extref:"
"{handbook}mirrors/[official infrastructure]."
@@ -623,7 +623,7 @@ msgstr ""
"{handbook}mirrors/[официальной инфраструктуры]."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:225
+#: documentation/content/en/articles/hubs/_index.adoc:224
msgid ""
"For the former website mirrors, a way to achieve mirroring the website today "
"is building the website locally with the corresponding address it will be "
@@ -634,13 +634,13 @@ msgstr ""
"размещён."
#. type: delimited block . 4
-#: documentation/content/en/articles/hubs/_index.adoc:229
+#: documentation/content/en/articles/hubs/_index.adoc:228
#, no-wrap
msgid "% cd website && env HUGO_baseURL=\"https://www.XX.freebsd.org/\" make\n"
msgstr "% cd website && env HUGO_baseURL=\"https://www.XX.freebsd.org/\" make\n"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:232
+#: documentation/content/en/articles/hubs/_index.adoc:231
msgid ""
"Check for more details about the build tools on extref:{fdp-primer}overview/"
"[FreeBSD Documentation Project Primer for New Contributors, overview-quick-"
@@ -655,7 +655,7 @@ msgstr ""
#. % rsync -vaHz --delete rsync://bit0.us-west.freebsd.org/FreeBSD-www-data/ /usr/local/www/
#. ....
#. type: delimited block = 4
-#: documentation/content/en/articles/hubs/_index.adoc:243
+#: documentation/content/en/articles/hubs/_index.adoc:242
msgid ""
"Notice the website was split into www.FreeBSD.org and docs.FreeBSD.org, and "
"there are links between them; plus, at this moment, `HUGO_baseURL` variable "
@@ -667,13 +667,13 @@ msgstr ""
"рекомендуется."
#. type: Title ===
-#: documentation/content/en/articles/hubs/_index.adoc:246
+#: documentation/content/en/articles/hubs/_index.adoc:245
#, no-wrap
msgid "Mirroring Packages"
msgstr "Зеркалирование пакетов"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:251
+#: documentation/content/en/articles/hubs/_index.adoc:250
msgid ""
"Due to very high requirements of bandwidth, storage and administration the "
"FreeBSD Project has decided not to allow public mirrors of packages. For "
@@ -688,13 +688,13 @@ msgstr ""
"пакеты и их зависимости можно загрузить, выполнив что-то вроде следующего:"
#. type: delimited block . 4
-#: documentation/content/en/articles/hubs/_index.adoc:255
+#: documentation/content/en/articles/hubs/_index.adoc:254
#, no-wrap
msgid "% pkg fetch -d -o /usr/local/mirror vim\n"
msgstr "% pkg fetch -d -o /usr/local/mirror vim\n"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:258
+#: documentation/content/en/articles/hubs/_index.adoc:257
msgid ""
"Once those packages have been fetched, the repository metadata must be "
"generated by running:"
@@ -703,13 +703,13 @@ msgstr ""
"выполнив:"
#. type: delimited block . 4
-#: documentation/content/en/articles/hubs/_index.adoc:262
+#: documentation/content/en/articles/hubs/_index.adoc:261
#, no-wrap
msgid "% pkg repo /usr/local/mirror\n"
msgstr "% pkg repo /usr/local/mirror\n"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:266
+#: documentation/content/en/articles/hubs/_index.adoc:265
msgid ""
"Once the packages have been fetched and the metadata for the repository has "
"been generated, serve the packages up to the client machines via HTTP. For "
@@ -721,13 +721,13 @@ msgstr ""
"на man-страницах man:pkg[8], в частности на странице man:pkg-repo[8]."
#. type: Title ===
-#: documentation/content/en/articles/hubs/_index.adoc:268
+#: documentation/content/en/articles/hubs/_index.adoc:267
#, no-wrap
msgid "How Often Should I Mirror?"
msgstr "Как часто синхронизироваться?"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:274
+#: documentation/content/en/articles/hubs/_index.adoc:273
msgid ""
"Every mirror should be updated at a minimum of once per day. Certainly a "
"script with locking to prevent multiple runs happening at the same time will "
@@ -742,7 +742,7 @@ msgstr ""
"предоставить невозможно. Это может работать примерно так:"
#. type: delimited block = 4
-#: documentation/content/en/articles/hubs/_index.adoc:278
+#: documentation/content/en/articles/hubs/_index.adoc:277
msgid ""
"Put the command to run your mirroring application in a script. Use of a "
"plain `/bin/sh` script is recommended."
@@ -752,7 +752,7 @@ msgstr ""
"sh`."
#. type: delimited block = 4
-#: documentation/content/en/articles/hubs/_index.adoc:279
+#: documentation/content/en/articles/hubs/_index.adoc:278
msgid ""
"Add some output redirections so diagnostic messages are logged to a file."
msgstr ""
@@ -760,12 +760,12 @@ msgstr ""
"файл."
#. type: delimited block = 4
-#: documentation/content/en/articles/hubs/_index.adoc:280
+#: documentation/content/en/articles/hubs/_index.adoc:279
msgid "Test if your script works. Check the logs."
msgstr "Попробуйте, как ваш скрипт работает. По завершении проверьте журналы."
#. type: delimited block = 4
-#: documentation/content/en/articles/hubs/_index.adoc:281
+#: documentation/content/en/articles/hubs/_index.adoc:280
msgid ""
"Use man:crontab[1] to add the script to the appropriate user's man:"
"crontab[5]. This should be a different user than what your FTP daemon runs "
@@ -783,28 +783,28 @@ msgstr ""
"содержат все необходимые файлы к моменту официального объявления релиза."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:284
+#: documentation/content/en/articles/hubs/_index.adoc:283
msgid "Here are some recommended schedules:"
msgstr "Некоторые рекомендуемые установки частоты обновления:"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:286
+#: documentation/content/en/articles/hubs/_index.adoc:285
msgid "FTP fileset: daily"
msgstr "FTP-набор: раз в сутки"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:287
+#: documentation/content/en/articles/hubs/_index.adoc:286
msgid "WWW pages: daily"
msgstr "WWW-страницы: раз в сутки"
#. type: Title ==
-#: documentation/content/en/articles/hubs/_index.adoc:289
+#: documentation/content/en/articles/hubs/_index.adoc:288
#, no-wrap
msgid "Where to Mirror From"
msgstr "С какого сервера синхронизироваться"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:294
+#: documentation/content/en/articles/hubs/_index.adoc:293
msgid ""
"This is an important issue. So this section will spend some effort to "
"explain the backgrounds. We will say this several times: under no "
@@ -815,13 +815,13 @@ msgstr ""
"FreeBSD.org_."
#. type: Title ===
-#: documentation/content/en/articles/hubs/_index.adoc:296
+#: documentation/content/en/articles/hubs/_index.adoc:295
#, no-wrap
msgid "A few Words About the Organization"
msgstr "Организация системы зеркал"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:307
+#: documentation/content/en/articles/hubs/_index.adoc:306
msgid ""
"Mirrors are organized by country. All official mirrors have a DNS entry of "
"the form `ftpN.CC.FreeBSD.org`. _CC_ (i.e., country code) is the _top level "
@@ -851,7 +851,7 @@ msgstr ""
"синхронизации."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:317
+#: documentation/content/en/articles/hubs/_index.adoc:316
msgid ""
"Additionally there exists a hierarchy of mirrors, which is described in "
"terms of __tiers__. The master sites are not referred to but can be "
@@ -873,19 +873,19 @@ msgstr ""
"следует помнить, что чем меньше номер слоя, тем выше требования к зеркалу, "
"как было описано в <<mirror-requirements>>. Помимо того, доступ к зеркалам 1 "
"слоя может быть ограничен; безусловно ограничен доступ к основным сайтам. "
-"Иерархия _слоев_ не отражается в DNS и, вообще говоря, нигде (кроме "
-"мастер-сайтов) не документирована. Тем не менее, официальные зеркала с "
-"малыми (1-4, как правило) номерами обычно представляют первый слой. (Это "
-"грубая оценка, и ни в коем случае не правило)."
+"Иерархия _слоев_ не отражается в DNS и, вообще говоря, нигде (кроме мастер-"
+"сайтов) не документирована. Тем не менее, официальные зеркала с малыми (1-4, "
+"как правило) номерами обычно представляют первый слой. (Это грубая оценка, и "
+"ни в коем случае не правило)."
#. type: Title ===
-#: documentation/content/en/articles/hubs/_index.adoc:319
+#: documentation/content/en/articles/hubs/_index.adoc:318
#, no-wrap
msgid "Ok, but Where Should I get the Stuff Now?"
msgstr "Так откуда же мне синхронизироваться?"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:323
+#: documentation/content/en/articles/hubs/_index.adoc:322
msgid ""
"Under no circumstances should you mirror from `ftp.FreeBSD.org`. The short "
"answer is: from the site that is closest to you in Internet terms, or gives "
@@ -896,24 +896,24 @@ msgstr ""
"наилучший."
#. type: Title ====
-#: documentation/content/en/articles/hubs/_index.adoc:325
+#: documentation/content/en/articles/hubs/_index.adoc:324
#, no-wrap
msgid "I Just Want to Mirror from Somewhere!"
msgstr "Я хочу получить копию зеркала хоть откуда-нибудь!"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:330
+#: documentation/content/en/articles/hubs/_index.adoc:329
msgid ""
"If you have no special intentions or requirements, the statement in crossref:"
-"hubs[mirror-where-where, Ok, but Where Should I get the Stuff Now?] "
+"hubs[mirror-where-where,\"Ok, but Where Should I get the Stuff Now?\"] "
"applies. This means:"
msgstr ""
"Если у вас нет особых намерений или требований, применимо утверждение в "
-"crossref:hubs[mirror-where-where, Так откуда же мне синхронизироваться?]. "
-"Это означает:"
+"crossref:hubs[mirror-where-where, \"Так откуда же мне синхронизироваться?\"]"
+". Это означает:"
#. type: delimited block = 4
-#: documentation/content/en/articles/hubs/_index.adoc:334
+#: documentation/content/en/articles/hubs/_index.adoc:333
msgid ""
"Check for those which provide fastest access (number of hops, round-trip-"
"times) and offer the services you intend to use (like rsync)."
@@ -923,7 +923,7 @@ msgstr ""
"сервисы (такие как rsync)."
#. type: delimited block = 4
-#: documentation/content/en/articles/hubs/_index.adoc:335
+#: documentation/content/en/articles/hubs/_index.adoc:334
msgid ""
"Contact the administrators of your chosen site stating your request, and "
"asking about their terms and policies."
@@ -932,18 +932,18 @@ msgstr ""
"уточните их правила."
#. type: delimited block = 4
-#: documentation/content/en/articles/hubs/_index.adoc:336
+#: documentation/content/en/articles/hubs/_index.adoc:335
msgid "Set up your mirror as described above."
msgstr "Сконфигурируйте ваше зеркало, как описывалось выше."
#. type: Title ====
-#: documentation/content/en/articles/hubs/_index.adoc:339
+#: documentation/content/en/articles/hubs/_index.adoc:338
#, no-wrap
msgid "I am an Official Mirror, What is the Right Site for Me?"
msgstr "Я поддерживаю официальное зеркало, какой сайт мне выбрать?"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:345
+#: documentation/content/en/articles/hubs/_index.adoc:344
msgid ""
"In general the description in crossref:hubs[mirror-where-simple, I Just Want "
"to Mirror from Somewhere!] still applies. Of course you may want to put "
@@ -957,13 +957,13 @@ msgstr ""
"относительно _официальных_ зеркал описаны в <<mirror-official>>."
#. type: Title ====
-#: documentation/content/en/articles/hubs/_index.adoc:347
+#: documentation/content/en/articles/hubs/_index.adoc:346
#, no-wrap
msgid "I Want to Access the Master Sites!"
msgstr "Мне нужен доступ к основным сайтам!"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:354
+#: documentation/content/en/articles/hubs/_index.adoc:353
msgid ""
"If you have good reasons and good prerequisites, you may want and get access "
"to one of the master sites. Access to these sites is generally restricted, "
@@ -978,12 +978,12 @@ msgstr ""
"использования. Наличие у вас статуса _официального_ зеркала, безусловно, "
"является хорошим подспорьем. В противном случае убедитесь, что ваша страна "
"действительно нуждается ещё в одном зеркале. Если их уже три или более, "
-"сначала свяжитесь с администратором соответствующей зоны DNS "
-"(mailto:hostmaster@CC.FreeBSD.org[hostmaster@CC.FreeBSD.org]) или напишите в "
+"сначала свяжитесь с администратором соответствующей зоны DNS (mailto:"
+"hostmaster@CC.FreeBSD.org[hostmaster@CC.FreeBSD.org]) или напишите в "
"{freebsd-hubs}."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:357
+#: documentation/content/en/articles/hubs/_index.adoc:356
msgid ""
"Whoever helped you become, an _official_ should have helped you gain access "
"to an appropriate upstream host, either one of the master sites or a "
@@ -997,23 +997,23 @@ msgstr ""
"org[mirror-admin@FreeBSD.org], чтобы запросить помощь в этом вопросе."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:359
+#: documentation/content/en/articles/hubs/_index.adoc:358
msgid "There is one master site for the FTP fileset."
msgstr "Существует один основной сайт для синхронизации набора файлов FTP."
#. type: Title =====
-#: documentation/content/en/articles/hubs/_index.adoc:361
+#: documentation/content/en/articles/hubs/_index.adoc:360
#, no-wrap
msgid "ftp-master.FreeBSD.org"
msgstr "ftp-master.FreeBSD.org"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:364
+#: documentation/content/en/articles/hubs/_index.adoc:363
msgid "This is the master site for the FTP fileset."
msgstr "Это основной сервер для синхронизации FTP набора."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:367
+#: documentation/content/en/articles/hubs/_index.adoc:366
msgid ""
"`ftp-master.FreeBSD.org` provides rsync access, in addition to FTP. Refer "
"to crossref:hubs[mirror-ftp-rsync, Mirroring the FTP Site]."
@@ -1023,7 +1023,7 @@ msgstr ""
"Mirroring the FTP Site]."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:369
+#: documentation/content/en/articles/hubs/_index.adoc:368
msgid ""
"Mirrors are also encouraged to allow rsync access for the FTP contents, "
"since they are __Tier-1__-mirrors."
@@ -1032,23 +1032,23 @@ msgstr ""
"протоколу rsync."
#. type: Title ==
-#: documentation/content/en/articles/hubs/_index.adoc:371
+#: documentation/content/en/articles/hubs/_index.adoc:370
#, no-wrap
msgid "Official Mirrors"
msgstr "Официальные зеркала"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:374
+#: documentation/content/en/articles/hubs/_index.adoc:373
msgid "Official mirrors are mirrors that"
msgstr "Официальные зеркала обладают следующим свойствами"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:376
+#: documentation/content/en/articles/hubs/_index.adoc:375
msgid "a) have a `FreeBSD.org` DNS entry (usually a CNAME)."
msgstr "a) имеют запись в домене `FreeBSD.org` (обычно типа CNAME)."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:377
+#: documentation/content/en/articles/hubs/_index.adoc:376
msgid ""
"b) are listed as an official mirror in the FreeBSD documentation (like "
"handbook)."
@@ -1057,7 +1057,7 @@ msgstr ""
"другой документации."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:380
+#: documentation/content/en/articles/hubs/_index.adoc:379
msgid ""
"So far to distinguish official mirrors. Official mirrors are not necessarily "
"__Tier-1__-mirrors. However you probably will not find a __Tier-1__-mirror, "
@@ -1068,13 +1068,13 @@ msgstr ""
"можно найти зеркало __уровня 1__, не являющееся официальным."
#. type: Title ===
-#: documentation/content/en/articles/hubs/_index.adoc:382
+#: documentation/content/en/articles/hubs/_index.adoc:381
#, no-wrap
msgid "Special Requirements for Official (tier-1) Mirrors"
msgstr "Отдельные требования к официальным зеркалам 1 уровня"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:387
+#: documentation/content/en/articles/hubs/_index.adoc:386
msgid ""
"It is not so easy to state requirements for all official mirrors, since the "
"project is sort of tolerant here. It is more easy to say, what _official "
@@ -1087,27 +1087,27 @@ msgstr ""
"должны рассматривать этот список как __настойчивые пожелания__."
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:389
+#: documentation/content/en/articles/hubs/_index.adoc:388
msgid "Tier-1 mirrors are required to:"
msgstr "Зеркала 1 уровня должны:"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:391
+#: documentation/content/en/articles/hubs/_index.adoc:390
msgid "carry the complete fileset"
msgstr "поддерживать полный список файлов"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:392
+#: documentation/content/en/articles/hubs/_index.adoc:391
msgid "allow access to other mirror sites"
msgstr "предоставлять доступ для других зеркал"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:393
+#: documentation/content/en/articles/hubs/_index.adoc:392
msgid "provide FTP and rsync access"
msgstr "обеспечивать доступ по протоколам ftp и rsync"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:396
+#: documentation/content/en/articles/hubs/_index.adoc:395
msgid ""
"Furthermore, admins should be subscribed to the {freebsd-hubs}. See extref:"
"{handbook}eresources[this link, eresources-mail] for details, how to "
@@ -1118,7 +1118,7 @@ msgstr ""
"дополнительной информации о подписке."
#. type: delimited block = 4
-#: documentation/content/en/articles/hubs/_index.adoc:401
+#: documentation/content/en/articles/hubs/_index.adoc:400
msgid ""
"It is _very_ important for a hub administrator, especially Tier-1 hub "
"admins, to check the https://www.FreeBSD.org/releng/[release schedule] for "
@@ -1133,7 +1133,7 @@ msgstr ""
"подготовиться к большому всплеску трафика, который последует за ним."
#. type: delimited block = 4
-#: documentation/content/en/articles/hubs/_index.adoc:404
+#: documentation/content/en/articles/hubs/_index.adoc:403
msgid ""
"It is also important that hub administrators try to keep their mirrors as up-"
"to-date as possible (again, even more crucial for Tier-1 mirrors). If "
@@ -1147,13 +1147,13 @@ msgstr ""
"информации и т.д. Поддерживайте актуальность ваших зеркал!"
#. type: Title ===
-#: documentation/content/en/articles/hubs/_index.adoc:407
+#: documentation/content/en/articles/hubs/_index.adoc:406
#, no-wrap
msgid "How to Become Official Then?"
msgstr "Как стать официальным зеркалом?"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:410
+#: documentation/content/en/articles/hubs/_index.adoc:409
msgid ""
"Please contact the Cluster Administrators as documented at https://www."
"FreeBSD.org/administration/#t-clusteradm."
@@ -1162,13 +1162,13 @@ msgstr ""
"https://www.FreeBSD.org/administration/#t-clusteradm."
#. type: Title ==
-#: documentation/content/en/articles/hubs/_index.adoc:412
+#: documentation/content/en/articles/hubs/_index.adoc:411
#, no-wrap
msgid "Some Statistics from Mirror Sites"
msgstr "Статистика некоторых зеркал"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:415
+#: documentation/content/en/articles/hubs/_index.adoc:414
msgid ""
"Here are links to the stat pages of your favorite mirrors (aka the only ones "
"who feel like providing stats)."
@@ -1177,13 +1177,13 @@ msgstr ""
"единственных, кто предоставляет такую статистику)."
#. type: Title ===
-#: documentation/content/en/articles/hubs/_index.adoc:417
+#: documentation/content/en/articles/hubs/_index.adoc:416
#, no-wrap
msgid "FTP Site Statistics"
msgstr "Статистика FTP сайтов"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:420
+#: documentation/content/en/articles/hubs/_index.adoc:419
msgid ""
"ftp.is.FreeBSD.org - mailto:hostmaster@is.FreeBSD.org[hostmaster@is.FreeBSD."
"org] - http://www.rhnet.is/status/draupnir/draupnir.html[ (Bandwidth)] "
@@ -1196,7 +1196,7 @@ msgstr ""
"rhnet.is/status/ftp/http-notendur.html[(HTTP processes)]"
#. type: Plain text
-#: documentation/content/en/articles/hubs/_index.adoc:420
+#: documentation/content/en/articles/hubs/_index.adoc:419
msgid ""
"ftp2.ru.FreeBSD.org - mailto:mirror@macomnet.ru[mirror@macomnet.ru] - http://"
"mirror.macomnet.net/mrtg/mirror.macomnet.net_195.128.64.25.html[(Bandwidth)] "
diff --git a/documentation/content/ru/articles/license-guide/_index.adoc b/documentation/content/ru/articles/license-guide/_index.adoc
index a9e2168a1e..fbc7b3bd00 100644
--- a/documentation/content/ru/articles/license-guide/_index.adoc
+++ b/documentation/content/ru/articles/license-guide/_index.adoc
@@ -42,10 +42,12 @@ toc::[]
[[intro]]
+Данная политика применяется к репозиторию исходных кодов FreeBSD (src). Репозитории портов и документации имеют собственные руководящие принципы лицензирования.
+
[[pref-license]]
== Предпочтительная лицензия для новых файлов
-Оставшаяся часть этого раздела предназначена для того, чтобы помочь вам разобраться. Как правило, если сомневаетесь, спрашивайте. Получить совет гораздо проще, чем исправлять дерево исходного кода. Проект FreeBSD использует как явные лицензии (где дословный текст лицензии воспроизводится в каждом файле), так и отделённые лицензии (где тег в файле указывает лицензию, как описано в этом документе).
+Оставшаяся часть этого раздела предназначена для того, чтобы помочь вам разобраться. Как правило, если сомневаетесь, спрашивайте. Получить совет гораздо проще, чем исправлять репозиторий исходного кода. Проект FreeBSD использует как явные лицензии (где дословный текст лицензии воспроизводится в каждом файле), так и отделённые лицензии (где тег в файле указывает лицензию, как описано в этом документе). Предпочтительнее маркировка только кодом SPDX (без воспроизведения всего текста лицензии).
Проект FreeBSD использует следующий текст в качестве предпочтительной лицензии:
@@ -58,6 +60,8 @@ toc::[]
*/
....
+Предпочтительный порядок следующий: сначала уведомление об авторском праве (copyright), затем SPDX-License-Identifier, однако допустим и любой другой порядок. Когда присутствуют одновременно SPDX-License-Identifier и полный текст лицензии, приоритет имеет полный текст, а SPDX-License-Identifier носит исключительно информационный характер. Если присутствуют оба элемента, SPDX-License-Identifier часто располагается перед уведомлением об авторском праве и текстом лицензии.
+
Проект FreeBSD не разрешает использование «рекламного условия»footnote:[прим перев: требование указания первоначального автора при всех изменениях кода] в новом коде. Из-за большого числа участников проекта FreeBSD соблюдение этого условия стало затруднительным для многих коммерческих поставщиков. Если у вас есть код в дереве с рекламным условием, пожалуйста, рассмотрите возможность перехода на лицензию без него. Новые вклады в FreeBSD должны использовать лицензию BSD-2-Clause.
Проект FreeBSD не поощряет полностью новые лицензии и вариации стандартных лицензий. Новые лицензии требуют одобрения {core-email} для размещения в основном репозитории. В прошлом нестандартные лицензии вызывали больше проблем, чем стандартные. Плохая проработка нестандартных лицензий часто приводит к непредвиденным последствиям, поэтому они вряд ли будут одобрены {core-email}. Проект FreeBSD стандартизируется на лицензии BSD-2-Clause, как опубликовано SPDX.
@@ -83,26 +87,50 @@ toc::[]
=== Политика
+* Ниже перечислены идентификаторы SPDX-License-Identifier, которые в рамках данной политики считаются лицензиями BSD
+** BSD-1-Clause
+** BSD-2-Clause
+** BSD-2-Clause-first-lines
+** BSD-3-Clause
+** BSD-3-Clause-acpica
+** BSD-3-Clause-flex
+** BSD-3-Clause-LBNL
+** BSD-3-Clause-Open-MPI
+** BSD-3-Clause-Sun
+** BSD-4.3RENO
+** BSD-4.3TAHOE
+** BSD-Source-beginning-file
+** CMU-Mach
+** ISC
+** MIT
+** MIT-CMU
+** SSH-OpenSSH
+** Vixie-Cron
+** Zlib
+
* Импорт нового программного обеспечения, лицензированного под любыми лицензиями, кроме лицензии BSD и подобных лицензий BSD (как определено ниже), требует предварительного одобрения от Основной команды FreeBSD. Запросы на импорт должны включать:
** Список новых возможностей или исправлений ошибок, которые содержит новая версия или патчи, вместе с доказательствами того, что эти возможности нужны нашим пользователям. Идеальными формами доказательств являются PR (запросы на включение изменений) или ссылки на обсуждения в почтовых рассылках.
-** Этот процесс должен использоваться для всех импортов программного обеспечения, а не только для тех, которые требуют проверки Основной команды (Core Team). Сам факт существования новой версии не является оправданием для импорта программного обеспечения в исходные коды или порты.
+** Этот процесс должен использоваться для всех импортов программного обеспечения, а не только для тех, которые требуют проверки Основной команды (Core Team). Сам факт существования новой версии не является оправданием для импорта программного обеспечения в исходный код.
** Список ветвей FreeBSD, которые могут быть затронуты. Расширение области применения требует нового запроса и одобрения от основной команды FreeBSD.
-* Лицензия Apache 2.0 допустима для использования в некоторых случаях. Основная команда должна одобрить импорт новых компонентов, лицензированных по лицензии Apache, или изменение лицензии существующих компонентов на лицензию Apache.
+* Лицензия Apache 2.0 (Apache-2.0) допустима для использования в некоторых случаях. Основная команда должна одобрить импорт новых компонентов, лицензированных по лицензии Apache, или изменение лицензии существующих компонентов на лицензию Apache.
** Данная лицензия одобрена для следующих компонентов:
*** Инструментарий LLVM и (с исключениями LLVM) компоненты времени выполнения.
-* Лицензия BSD+Patent License допустима для использования в некоторых случаях. Основная команда (Core Team) должна одобрить импорт новых компонентов, лицензированных по BSD+Patent License, или изменение лицензии существующих компонентов на BSD+Patent License.
+* Лицензия BSD+Patent License (BSD-2-Clause-Patent) допустима для использования в некоторых случаях. Основная команда (Core Team) должна одобрить импорт новых компонентов, лицензированных по BSD+Patent License, или изменение лицензии существующих компонентов на BSD+Patent License.
** Данная лицензия одобрена для следующих компонентов:
*** Код, основанный на EDK2, связанный с функциональностью UEFI
-* Общая лицензия на разработку и распространение (CDDL) допустима для использования в некоторых случаях. Основная команда должна одобрить импорт новых компонентов с лицензией CDDL или изменение лицензии существующих компонентов на CDDL.
+* Общая лицензия на разработку и распространение (CDDL-1.1) допустима для использования в некоторых случаях. Основная команда должна одобрить импорт новых компонентов с лицензией CDDL или изменение лицензии существующих компонентов на CDDL.
** Данная лицензия одобрена для следующих компонентов:
*** DTrace
*** Файловая система ZFS, включая поддержку в ядре и пользовательские утилиты
+* Изначально многие элементы в дереве FreeBSD были помечены лицензией BSD-2-Clause-FreeBSD. Однако SPDX объявил эту лицензию устаревшей как вариант, и большинство файлов, маркированные этй лицензией, следует рассматривать, как попадающие под лицензию BSD-2-Clause, так как текст устаревшего тега в SPDX относится к чему-то другому. Добавление новых файлов с этой лицензией строго запрещено.
+
+* Проект FreeBSD не одобряет использование совершенно новых лицензий и вариаций стандартных лицензий.
+
* Исторически фраза "All Rights Reserved." включалась во все уведомления об авторских правах. Все релизы BSD содержали её, чтобы соответствовать требованиям https://en.wikipedia.org/wiki/Buenos_Aires_Convention[Буэнос-Айресской конвенции 1910 года] в Америке. После ратификации https://en.wikipedia.org/wiki/Berne_Convention[Бернской конвенции] в 2000 году Никарагуа, Буэнос-Айресская конвенция — и эта фраза — устарели. В связи с этим проект FreeBSD рекомендует опускать эту фразу в новом коде и призывает текущих правообладателей удалить её. В 2018 году проект обновил свои шаблоны, убрав её.
-* Изначально многие элементы в дереве FreeBSD были помечены лицензией BSD-2-Clause-FreeBSD. Однако SPDX объявил эту лицензию устаревшей как вариант, и текст устаревшего тега в SPDX отличается от стандартной лицензии FreeBSD настолько, что его не следует использовать. Проводится проверка его текущего использования.
==== Допустимые лицензии
@@ -158,6 +186,8 @@ toc::[]
Проект FreeBSD в настоящее время не использует файлы `DEP5`, описанные в стандарте `REUSE Software`. Проект FreeBSD ещё не пометил все файлы в дереве в соответствии с этим стандартом, как описано далее в этом документе. Проект FreeBSD пока не включил эти файлы в свои репозитории, поскольку данная политика ещё находится в процессе разработки.
+Эта секция является работой в процессе.
+
[[individual-files]]
== Лицензии индивидуальных файлов
@@ -195,7 +225,7 @@ toc::[]
Где `id` — это короткий идентификатор лицензии SPDX из столбца `Identifier` на страницах https://spdx.org/licenses/[Идентификаторы SPDX] или https://spdx.org/licenses/exceptions-index.html[исключения лицензий]. Если в каталоге [.filename]#LICENSE/# нет файла, то такая лицензия или исключение не могут быть указаны как отдельная лицензия в этом разделе.
-При чтении текста лицензии, отделенного от файла, необходимо учитывать ряд аспектов, чтобы отделенная лицензия имела смысл.
+При чтении текста лицензии, отделённого от файла, необходимо учитывать ряд аспектов, чтобы отделённая лицензия имела смысл.
. Любая ссылка на уведомление об авторских правах должна относиться к уведомлению, составленному из лицензированного файла, а не из любого уведомления об авторских правах в самом тексте файла лицензии. Многие файлы SPDX содержат примеры уведомлений об авторских правах, которые понимаются исключительно как образцы.
. Когда в тексте лицензии упоминаются названия организаций, они должны интерпретироваться как относящиеся к списку всех правообладателей, указанных в уведомлениях об авторских правах лицензированного файла. Например, лицензия BSD-4-clause содержит фразу "Этот продукт включает программное обеспечение, разработанное организацией". Фраза 'организацией' должна быть заменена на правообладателей.
@@ -209,7 +239,7 @@ toc::[]
Файлы, созданные проектом, в которых отсутствует уведомление об авторских правах, считаются подпадающими под общие положения об авторских правах и лицензировании в файле [.filename]#COPYRIGHT#. Это означает, что либо файл представляет собой простое изложение фактов, не охраняемых законом об авторских правах, либо его содержание настолько тривиально, что не требует оформления явной лицензии.
-Файлы, которые не имеют маркировки и содержат значительное количество материала, защищенного авторским правом, или которые автор считает неправильно промаркированными, должны быть доведены до сведения основной команды (Core Team) FreeBSD. Проект FreeBSD строго придерживается политики соблюдения всех соответствующих лицензий.
+Файлы, которые не имеют маркировки и содержат значительное количество материала, защищённого авторским правом, или которые автор считает неправильно промаркированными, должны быть доведены до сведения основной команды (Core Team) FreeBSD. Проект FreeBSD строго придерживается политики соблюдения всех соответствующих лицензий.
В будущем все подобные файлы будут явно помечены или следовать соглашению REUSE Software о файлах с расширением [.filename]#.license#.
diff --git a/documentation/content/ru/articles/license-guide/_index.po b/documentation/content/ru/articles/license-guide/_index.po
index c150cbe0a6..756a4bec1b 100644
--- a/documentation/content/ru/articles/license-guide/_index.po
+++ b/documentation/content/ru/articles/license-guide/_index.po
@@ -1,12 +1,12 @@
# 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.
+# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025, 2026.
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-05-01 19:56-0300\n"
-"PO-Revision-Date: 2025-11-25 04:45+0000\n"
+"POT-Creation-Date: 2026-08-06 22:55+0100\n"
+"PO-Revision-Date: 2026-08-08 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articleslicense-guide_index/ru/>\n"
@@ -31,43 +31,55 @@ msgid "FreeBSD License Policies"
msgstr "Политики лицензирования FreeBSD"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:40
+#: documentation/content/en/articles/license-guide/_index.adoc:39
msgid "'''"
msgstr "'''"
-#. type: Title ==
+#. type: Plain text
#: documentation/content/en/articles/license-guide/_index.adoc:46
+msgid ""
+"This policy applies to the FreeBSD source repository (src). The ports and "
+"documentation repositories have their own licensing guidelines."
+msgstr ""
+"Данная политика применяется к репозиторию исходных кодов FreeBSD (src). "
+"Репозитории портов и документации имеют собственные руководящие принципы "
+"лицензирования."
+
+#. type: Title ==
+#: documentation/content/en/articles/license-guide/_index.adoc:48
#, no-wrap
msgid "Preferred License for New Files"
msgstr "Предпочтительная лицензия для новых файлов"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:52
+#: documentation/content/en/articles/license-guide/_index.adoc:55
msgid ""
"The rest of this section is intended to help you get started. As a rule, "
"when in doubt, ask. It is much easier to receive advice than to fix the "
-"source tree. The FreeBSD Project makes use of both explicit licenses (where "
-"the verbatim text of the license is reproduced in each file) and detached "
-"licenses (where a tag in the file specifies the license, as described in "
-"this document)."
+"source repository. The FreeBSD Project makes use of both explicit licenses "
+"(where the verbatim text of the license is reproduced in each file) and "
+"detached licenses (where a tag in the file specifies the license, as "
+"described in this document). SPDX-only license marking (without reproducing "
+"the full license text) is preferred."
msgstr ""
"Оставшаяся часть этого раздела предназначена для того, чтобы помочь вам "
"разобраться. Как правило, если сомневаетесь, спрашивайте. Получить совет "
-"гораздо проще, чем исправлять дерево исходного кода. Проект FreeBSD "
+"гораздо проще, чем исправлять репозиторий исходного кода. Проект FreeBSD "
"использует как явные лицензии (где дословный текст лицензии воспроизводится "
"в каждом файле), так и отделённые лицензии (где тег в файле указывает "
-"лицензию, как описано в этом документе)."
+"лицензию, как описано в этом документе). Предпочтительнее маркировка только "
+"кодом SPDX (без воспроизведения всего текста лицензии)."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:54
+#: documentation/content/en/articles/license-guide/_index.adoc:57
msgid "The FreeBSD Project uses this text as the preferred license:"
msgstr ""
"Проект FreeBSD использует следующий текст в качестве предпочтительной "
"лицензии:"
#. type: delimited block . 4
-#: documentation/content/en/articles/license-guide/_index.adoc:62
-#: documentation/content/en/articles/license-guide/_index.adoc:158
+#: documentation/content/en/articles/license-guide/_index.adoc:65
+#: documentation/content/en/articles/license-guide/_index.adoc:189
#, no-wrap
msgid ""
"/*\n"
@@ -83,7 +95,25 @@ msgstr ""
" */\n"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:68
+#: documentation/content/en/articles/license-guide/_index.adoc:70
+msgid ""
+"The preferred order is the copyright notice first, followed by the SPDX-"
+"License-Identifier, but either order is acceptable. When both SPDX-License-"
+"Identifier and the full text of the license are present, the full text takes "
+"priority and the SPDX-License-Identifier is informational only. When both "
+"are present, the SPDX-License-Identifier will often preceed the copyright "
+"and license text."
+msgstr ""
+"Предпочтительный порядок следующий: сначала уведомление об авторском праве "
+"(copyright), затем SPDX-License-Identifier, однако допустим и любой другой "
+"порядок. Когда присутствуют одновременно SPDX-License-Identifier и полный "
+"текст лицензии, приоритет имеет полный текст, а SPDX-License-Identifier "
+"носит исключительно информационный характер. Если присутствуют оба элемента, "
+"SPDX-License-Identifier часто располагается перед уведомлением об авторском "
+"праве и текстом лицензии."
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:75
msgid ""
"The FreeBSD project does not allow using the \"advertising clause\" in new "
"code. Due to the large number of contributors to the FreeBSD project, "
@@ -101,7 +131,7 @@ msgstr ""
"использовать лицензию BSD-2-Clause."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:74
+#: documentation/content/en/articles/license-guide/_index.adoc:81
msgid ""
"The FreeBSD project discourages completely new licenses and variations on "
"the standard licenses. New licenses require the approval of {core-email} to "
@@ -120,7 +150,7 @@ msgstr ""
"опубликовано SPDX."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:80
+#: documentation/content/en/articles/license-guide/_index.adoc:87
msgid ""
"In addition, project policy requires that code licensed under some non-BSD "
"licenses must be placed in specific sections of the repository. For some "
@@ -140,7 +170,7 @@ msgstr ""
"использоваться в предварительно скомпилированных модулях."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:84
+#: documentation/content/en/articles/license-guide/_index.adoc:91
msgid ""
"Developers are reminded that, in open source, getting \"open\" correct is "
"just as important as getting \"source\" correct. Improper handling of "
@@ -154,13 +184,13 @@ msgstr ""
"адресу {core-email}."
#. type: Title ==
-#: documentation/content/en/articles/license-guide/_index.adoc:86
+#: documentation/content/en/articles/license-guide/_index.adoc:93
#, no-wrap
msgid "Software License Policy"
msgstr "Политика лицензирования программного обеспечения"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:92
+#: documentation/content/en/articles/license-guide/_index.adoc:99
msgid ""
"The following sections outline the project's Software License Policies in "
"detail. For the most part we expect developers to read, understand and "
@@ -179,13 +209,13 @@ msgstr ""
"пожалуйста, обратитесь к {core-email}."
#. type: Title ===
-#: documentation/content/en/articles/license-guide/_index.adoc:93
+#: documentation/content/en/articles/license-guide/_index.adoc:100
#, no-wrap
msgid "Guiding Principles"
msgstr "Руководящие принципы"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:98
+#: documentation/content/en/articles/license-guide/_index.adoc:105
msgid ""
"The FreeBSD Project aims to produce a complete, BSD-licensed operating "
"system allowing consumers of the system to produce derivative products "
@@ -207,7 +237,7 @@ msgstr ""
"новых технологий."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:100
+#: documentation/content/en/articles/license-guide/_index.adoc:107
msgid ""
"We accept however that compelling reasons exist to allow differently-"
"licensed software to be included in the FreeBSD source tree."
@@ -216,7 +246,7 @@ msgstr ""
"дерево FreeBSD программного обеспечения с другими лицензиями."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:103
+#: documentation/content/en/articles/license-guide/_index.adoc:110
msgid ""
"We require software licensed under some non-BSD licenses to be carefully "
"isolated in the source tree so that it cannot contaminate BSD-only "
@@ -230,7 +260,7 @@ msgstr ""
"создание производных продуктов, доступных только под BSD."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:107
+#: documentation/content/en/articles/license-guide/_index.adoc:114
msgid ""
"Unless a special exception is made, no existing BSD-licensed components may "
"be replaced with more restrictively licensed software. We encourage FreeBSD "
@@ -246,25 +276,129 @@ msgstr ""
"более полную интеграцию в операционную систему FreeBSD."
#. type: Title ===
-#: documentation/content/en/articles/license-guide/_index.adoc:108
+#: documentation/content/en/articles/license-guide/_index.adoc:115
#, no-wrap
msgid "Policy"
msgstr "Политика"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:112
+#: documentation/content/en/articles/license-guide/_index.adoc:118
+msgid ""
+"The following are the SPDX-License-Identifiers that are considered BSD "
+"licenses for this policy"
+msgstr ""
+"Ниже перечислены идентификаторы SPDX-License-Identifier, которые в рамках "
+"данной политики считаются лицензиями BSD"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:119
+msgid "BSD-1-Clause"
+msgstr "BSD-1-Clause"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:120
+msgid "BSD-2-Clause"
+msgstr "BSD-2-Clause"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:121
+msgid "BSD-2-Clause-first-lines"
+msgstr "BSD-2-Clause-first-lines"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:122
+msgid "BSD-3-Clause"
+msgstr "BSD-3-Clause"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:123
+msgid "BSD-3-Clause-acpica"
+msgstr "BSD-3-Clause-acpica"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:124
+msgid "BSD-3-Clause-flex"
+msgstr "BSD-3-Clause-flex"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:125
+msgid "BSD-3-Clause-LBNL"
+msgstr "BSD-3-Clause-LBNL"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:126
+msgid "BSD-3-Clause-Open-MPI"
+msgstr "BSD-3-Clause-Open-MPI"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:127
+msgid "BSD-3-Clause-Sun"
+msgstr "BSD-3-Clause-Sun"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:128
+msgid "BSD-4.3RENO"
+msgstr "BSD-4.3RENO"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:129
+msgid "BSD-4.3TAHOE"
+msgstr "BSD-4.3TAHOE"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:130
+msgid "BSD-Source-beginning-file"
+msgstr "BSD-Source-beginning-file"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:131
+msgid "CMU-Mach"
+msgstr "CMU-Mach"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:132
+msgid "ISC"
+msgstr "ISC"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:133
+msgid "MIT"
+msgstr "MIT"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:134
+msgid "MIT-CMU"
+msgstr "MIT-CMU"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:135
+msgid "SSH-OpenSSH"
+msgstr "SSH-OpenSSH"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:136
+msgid "Vixie-Cron"
+msgstr "Vixie-Cron"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:137
+msgid "Zlib"
+msgstr "Zlib"
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:140
msgid ""
"The import of new software licensed under any licenses other than the BSD "
"license and BSD-Like Licenses (as defined below) requires the prior approval "
"of the FreeBSD Core Team. Requests for import must include:"
msgstr ""
"Импорт нового программного обеспечения, лицензированного под любыми "
-"лицензиями, кроме лицензии BSD и подобных лицензий BSD (как определено ниже)"
-", требует предварительного одобрения от Основной команды FreeBSD. Запросы на "
-"импорт должны включать:"
+"лицензиями, кроме лицензии BSD и подобных лицензий BSD (как определено "
+"ниже), требует предварительного одобрения от Основной команды FreeBSD. "
+"Запросы на импорт должны включать:"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:114
+#: documentation/content/en/articles/license-guide/_index.adoc:142
msgid ""
"A list of features or bug fixes that the new version or patches contain, "
"along with evidence that our users need those features. PRs or references "
@@ -276,19 +410,19 @@ msgstr ""
"на включение изменений) или ссылки на обсуждения в почтовых рассылках."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:116
+#: documentation/content/en/articles/license-guide/_index.adoc:144
msgid ""
"This process should be used for all software imports, not just those that "
"require Core Team review. The mere existence of a new version does not "
-"justify an import of software to source or ports."
+"justify an import of software to source."
msgstr ""
"Этот процесс должен использоваться для всех импортов программного "
"обеспечения, а не только для тех, которые требуют проверки Основной команды ("
"Core Team). Сам факт существования новой версии не является оправданием для "
-"импорта программного обеспечения в исходные коды или порты."
+"импорта программного обеспечения в исходный код."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:118
+#: documentation/content/en/articles/license-guide/_index.adoc:146
msgid ""
"A list of FreeBSD branches that may be affected. Expansions of scope "
"require a new request to and approval from the FreeBSD Core Team."
@@ -297,82 +431,110 @@ msgstr ""
"применения требует нового запроса и одобрения от основной команды FreeBSD."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:121
+#: documentation/content/en/articles/license-guide/_index.adoc:149
msgid ""
-"The Apache License 2.0 is acceptable for use in some cases. The Core Team "
-"must approve the import of new Apache License licensed components or the "
-"change of license of existing components to the Apache License."
+"The Apache License 2.0 (Apache-2.0) is acceptable for use in some cases. "
+"The Core Team must approve the import of new Apache License licensed "
+"components or the change of license of existing components to the Apache "
+"License."
msgstr ""
-"Лицензия Apache 2.0 допустима для использования в некоторых случаях. "
-"Основная команда должна одобрить импорт новых компонентов, лицензированных "
-"по лицензии Apache, или изменение лицензии существующих компонентов на "
-"лицензию Apache."
+"Лицензия Apache 2.0 (Apache-2.0) допустима для использования в некоторых "
+"случаях. Основная команда должна одобрить импорт новых компонентов, "
+"лицензированных по лицензии Apache, или изменение лицензии существующих "
+"компонентов на лицензию Apache."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:122
-#: documentation/content/en/articles/license-guide/_index.adoc:127
-#: documentation/content/en/articles/license-guide/_index.adoc:132
+#: documentation/content/en/articles/license-guide/_index.adoc:150
+#: documentation/content/en/articles/license-guide/_index.adoc:155
+#: documentation/content/en/articles/license-guide/_index.adoc:160
msgid "This license is approved for the following components:"
msgstr "Данная лицензия одобрена для следующих компонентов:"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:123
+#: documentation/content/en/articles/license-guide/_index.adoc:151
msgid "LLVM toolchain and (with LLVM Exceptions) runtime components."
msgstr ""
"Инструментарий LLVM и (с исключениями LLVM) компоненты времени выполнения."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:126
+#: documentation/content/en/articles/license-guide/_index.adoc:154
msgid ""
-"The BSD+Patent License is acceptable for use in some cases. The Core Team "
-"must approve the import of new BSD+Patent License licensed components or the "
-"change of license of existing components to the BSD+Patent License."
+"The BSD+Patent License (BSD-2-Clause-Patent) is acceptable for use in some "
+"cases. The Core Team must approve the import of new BSD+Patent License "
+"licensed components or the change of license of existing components to the "
+"BSD+Patent License."
msgstr ""
-"Лицензия BSD+Patent License допустима для использования в некоторых случаях. "
-"Основная команда (Core Team) должна одобрить импорт новых компонентов, "
-"лицензированных по BSD+Patent License, или изменение лицензии существующих "
-"компонентов на BSD+Patent License."
+"Лицензия BSD+Patent License (BSD-2-Clause-Patent) допустима для "
+"использования в некоторых случаях. Основная команда (Core Team) должна "
+"одобрить импорт новых компонентов, лицензированных по BSD+Patent License, "
+"или изменение лицензии существующих компонентов на BSD+Patent License."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:128
+#: documentation/content/en/articles/license-guide/_index.adoc:156
msgid "EDK2 derived code related to UEFI functionality"
msgstr "Код, основанный на EDK2, связанный с функциональностью UEFI"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:131
+#: documentation/content/en/articles/license-guide/_index.adoc:159
msgid ""
-"The Common Development and Distribution License (CDDL) is acceptable for use "
-"in some cases. The Core Team must approve the import of new CDDL licensed "
-"components or the change of license of existing components to the CDDL."
+"The Common Development and Distribution License (CDDL-1.1) is acceptable for "
+"use in some cases. The Core Team must approve the import of new CDDL "
+"licensed components or the change of license of existing components to the "
+"CDDL."
msgstr ""
-"Общая лицензия на разработку и распространение (CDDL) допустима для "
+"Общая лицензия на разработку и распространение (CDDL-1.1) допустима для "
"использования в некоторых случаях. Основная команда должна одобрить импорт "
"новых компонентов с лицензией CDDL или изменение лицензии существующих "
"компонентов на CDDL."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:133
+#: documentation/content/en/articles/license-guide/_index.adoc:161
msgid "DTrace"
msgstr "DTrace"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:134
+#: documentation/content/en/articles/license-guide/_index.adoc:162
msgid "ZFS filesystem, including kernel support and userland utilities"
msgstr ""
"Файловая система ZFS, включая поддержку в ядре и пользовательские утилиты"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:140
+#: documentation/content/en/articles/license-guide/_index.adoc:166
+msgid ""
+"Initially, many items in the FreeBSD tree were marked with BSD-2-Clause-"
+"FreeBSD. However, SPDX has obsoleted the license as a variant; and most "
+"files tagged with it should have been BSD-2-Clause since SPDX's license text "
+"was for something else. Adding new files with this identifier is expressly "
+"prohibited."
+msgstr ""
+"Изначально многие элементы в дереве FreeBSD были помечены лицензией BSD-2"
+"-Clause-FreeBSD. Однако SPDX объявил эту лицензию устаревшей как вариант, и "
+"большинство файлов, маркированные этй лицензией, следует рассматривать, как "
+"попадающие под лицензию BSD-2-Clause, так как текст устаревшего тега в SPDX "
+"относится к чему-то другому. Добавление новых файлов с этой лицензией строго "
+"запрещено."
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:168
+msgid ""
+"The FreeBSD project discourages completely new licenses and variations on "
+"the standard licenses."
+msgstr ""
+"Проект FreeBSD не одобряет использование совершенно новых лицензий и "
+"вариаций стандартных лицензий."
+
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:174
msgid ""
"Historically, the phrase 'All Rights Reserved.' was included in all "
"copyright notices. All the BSD releases had it, to comply with the https://"
"en.wikipedia.org/wiki/Buenos_Aires_Convention[Buenos Aires Convention of "
-"1910] in the Americas. With the ratification of the https://"
-"en.wikipedia.org/wiki/Berne_Convention[Berne Convention] in 2000 by "
-"Nicaragua, the Buenos Aires Convention -- and the phrase -- became "
-"obsolete. As such, the FreeBSD project recommends that new code omit the "
-"phrase and encourages existing copyright holders to remove it. In 2018, the "
-"project updated its templates to remove it."
+"1910] in the Americas. With the ratification of the https://en.wikipedia."
+"org/wiki/Berne_Convention[Berne Convention] in 2000 by Nicaragua, the Buenos "
+"Aires Convention -- and the phrase -- became obsolete. As such, the FreeBSD "
+"project recommends that new code omit the phrase and encourages existing "
+"copyright holders to remove it. In 2018, the project updated its templates "
+"to remove it."
msgstr ""
"Исторически фраза \"All Rights Reserved.\" включалась во все уведомления об "
"авторских правах. Все релизы BSD содержали её, чтобы соответствовать "
@@ -384,28 +546,14 @@ msgstr ""
"текущих правообладателей удалить её. В 2018 году проект обновил свои "
"шаблоны, убрав её."
-#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:143
-msgid ""
-"Initially, many items in the FreeBSD tree were marked with BSD-2-Clause-"
-"FreeBSD. However, SPDX has obsoleted the license as a variant; and the SPDX "
-"text of the obsolete tag differs enough from the standard FreeBSD license "
-"that it shouldn't be used. A review of its current use is ongoing."
-msgstr ""
-"Изначально многие элементы в дереве FreeBSD были помечены лицензией BSD-2"
-"-Clause-FreeBSD. Однако SPDX объявил эту лицензию устаревшей как вариант, и "
-"текст устаревшего тега в SPDX отличается от стандартной лицензии FreeBSD "
-"настолько, что его не следует использовать. Проводится проверка его текущего "
-"использования."
-
#. type: Title ====
-#: documentation/content/en/articles/license-guide/_index.adoc:144
+#: documentation/content/en/articles/license-guide/_index.adoc:175
#, no-wrap
msgid "Acceptable licenses"
msgstr "Допустимые лицензии"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:148
+#: documentation/content/en/articles/license-guide/_index.adoc:179
msgid ""
"The following licenses are considered to be acceptable BSD-Like Licenses for "
"the purpose of this Policy. Deviations or the use of any other license must "
@@ -416,17 +564,17 @@ msgstr ""
"быть согласованы с основной командой (Core Team) FreeBSD:"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:150
+#: documentation/content/en/articles/license-guide/_index.adoc:181
msgid "The 2 clause version of the BSD license"
msgstr "Версия лицензии BSD с 2 пунктами"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:160
+#: documentation/content/en/articles/license-guide/_index.adoc:191
msgid "The 3 clause version of the BSD license"
msgstr "Версия лицензии BSD с 3 пунктами"
#. type: delimited block . 4
-#: documentation/content/en/articles/license-guide/_index.adoc:168
+#: documentation/content/en/articles/license-guide/_index.adoc:199
#, no-wrap
msgid ""
"/*\n"
@@ -442,12 +590,12 @@ msgstr ""
" */\n"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:170
+#: documentation/content/en/articles/license-guide/_index.adoc:201
msgid "The ISC License"
msgstr "Лицензия ISC"
#. type: delimited block . 4
-#: documentation/content/en/articles/license-guide/_index.adoc:178
+#: documentation/content/en/articles/license-guide/_index.adoc:209
#, no-wrap
msgid ""
"/*\n"
@@ -463,12 +611,12 @@ msgstr ""
" */\n"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:180
+#: documentation/content/en/articles/license-guide/_index.adoc:211
msgid "The MIT License"
msgstr "Лицензия MIT"
#. type: delimited block . 4
-#: documentation/content/en/articles/license-guide/_index.adoc:188
+#: documentation/content/en/articles/license-guide/_index.adoc:219
#, no-wrap
msgid ""
"/*\n"
@@ -484,19 +632,19 @@ msgstr ""
" */\n"
#. type: Title ==
-#: documentation/content/en/articles/license-guide/_index.adoc:189
+#: documentation/content/en/articles/license-guide/_index.adoc:220
#, no-wrap
msgid "Software Collection License"
msgstr "Лицензия набора программного обеспечения (Software Collection License)"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:194
+#: documentation/content/en/articles/license-guide/_index.adoc:225
msgid ""
-"The FreeBSD Project licenses its compilation of software as described in "
-"[.filename]#COPYRIGHT# under the BSD-2-Clause license. This license does "
-"not supersede the license of individual files, which is described below. "
-"Files that do not have an explicit license are licensed under the BSD-2-"
-"Clause license."
+"The FreeBSD Project licenses its compilation of software as described in [."
+"filename]#COPYRIGHT# under the BSD-2-Clause license. This license does not "
+"supersede the license of individual files, which is described below. Files "
+"that do not have an explicit license are licensed under the BSD-2-Clause "
+"license."
msgstr ""
"Проект FreeBSD лицензирует свою подборку программного обеспечения, как "
"описано в [.filename]#COPYRIGHT#, по лицензии BSD-2-Clause. Данная лицензия "
@@ -504,13 +652,13 @@ msgstr ""
"имеющие явной лицензии, распространяются по лицензии BSD-2-Clause."
#. type: Title ==
-#: documentation/content/en/articles/license-guide/_index.adoc:195
+#: documentation/content/en/articles/license-guide/_index.adoc:226
#, no-wrap
msgid "License File Location"
msgstr "Расположение файла лицензии"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:207
+#: documentation/content/en/articles/license-guide/_index.adoc:238
msgid ""
"To comply with the https://reuse.software/[REUSE Software] standard as much "
"as possible, all license files will be stored in the [.filename]#LICENSES/# "
@@ -526,33 +674,34 @@ msgid ""
"Identifier expressions, but aren't otherwise allowed as detached licenses. "
"All such files must appear at least once in the FreeBSD software collection, "
"and should be removed when the last file that references them is removed. "
-"Licenses that have no adequate SPDX matching license must be in "
-"[.filename]#LICENSES/other/# and have a filename that starts with "
-"LicenseRef- followed by a unique idstring. No such files have currently "
-"been identified, but if they are, a full list will appear here."
+"Licenses that have no adequate SPDX matching license must be in [."
+"filename]#LICENSES/other/# and have a filename that starts with LicenseRef- "
+"followed by a unique idstring. No such files have currently been "
+"identified, but if they are, a full list will appear here."
msgstr ""
"Для соответствия стандарту https://reuse.software/[REUSE Software] насколько "
-"это возможно, все файлы лицензий будут храниться в каталоге [.filename]#"
-"LICENSES/# репозитория. В этом корневом каталоге есть три подкаталога. "
-"Подкаталог [.filename]#LICENSES/text/# содержит в отдельном виде тексты всех "
-"лицензий, разрешённых в комплекте программного обеспечения FreeBSD. Эти "
-"файлы сохраняются с использованием идентификатора SPDX-License-Identifier с "
-"добавлением .txt. Подкаталог [.filename]#LICENSES/exceptions/# содержит "
-"тексты всех исключений, разрешённых в отдельном виде в комплекте "
+"это возможно, все файлы лицензий будут храниться в каталоге [."
+"filename]#LICENSES/# репозитория. В этом корневом каталоге есть три "
+"подкаталога. Подкаталог [.filename]#LICENSES/text/# содержит в отдельном "
+"виде тексты всех лицензий, разрешённых в комплекте программного обеспечения "
+"FreeBSD. Эти файлы сохраняются с использованием идентификатора SPDX-License-"
+"Identifier с добавлением .txt. Подкаталог [.filename]#LICENSES/exceptions/# "
+"содержит тексты всех исключений, разрешённых в отдельном виде в комплекте "
"программного обеспечения FreeBSD. Эти файлы сохраняются с использованием "
-"идентификатора исключения с добавлением .txt. Подкаталог [.filename]#"
-"LICENSES/other/# содержит в отдельном виде файлы лицензий, упомянутые в "
-"выражениях SPDX-License-Identifier, но не разрешённые в качестве отдельных "
-"лицензий. Все такие файлы должны присутствовать в комплекте программного "
-"обеспечения FreeBSD хотя бы один раз и должны быть удалены, когда удаляется "
-"последний файл, ссылающийся на них. Лицензии, для которых нет подходящего "
-"соответствия в SPDX, должны находиться в [.filename]#LICENSES/other/# и "
-"иметь имя файла, начинающееся с LicenseRef-, за которым следует уникальная "
-"строка идентификатора. В настоящее время такие файлы не выявлены, но если "
-"они появятся, их полный список будет приведён здесь."
+"идентификатора исключения с добавлением .txt. Подкаталог [."
+"filename]#LICENSES/other/# содержит в отдельном виде файлы лицензий, "
+"упомянутые в выражениях SPDX-License-Identifier, но не разрешённые в "
+"качестве отдельных лицензий. Все такие файлы должны присутствовать в "
+"комплекте программного обеспечения FreeBSD хотя бы один раз и должны быть "
+"удалены, когда удаляется последний файл, ссылающийся на них. Лицензии, для "
+"которых нет подходящего соответствия в SPDX, должны находиться в [."
+"filename]#LICENSES/other/# и иметь имя файла, начинающееся с LicenseRef-, за "
+"которым следует уникальная строка идентификатора. В настоящее время такие "
+"файлы не выявлены, но если они появятся, их полный список будет приведён "
+"здесь."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:211
+#: documentation/content/en/articles/license-guide/_index.adoc:242
msgid ""
"The FreeBSD Project currently does not make use of the `DEP5` files "
"described in the `REUSE Software` standard. The FreeBSD Project has not "
@@ -566,14 +715,19 @@ msgstr ""
"FreeBSD пока не включил эти файлы в свои репозитории, поскольку данная "
"политика ещё находится в процессе разработки."
+#. type: Plain text
+#: documentation/content/en/articles/license-guide/_index.adoc:244
+msgid "This section is a work in progress."
+msgstr "Эта секция является работой в процессе."
+
#. type: Title ==
-#: documentation/content/en/articles/license-guide/_index.adoc:213
+#: documentation/content/en/articles/license-guide/_index.adoc:246
#, no-wrap
msgid "Individual Files License"
msgstr "Лицензии индивидуальных файлов"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:217
+#: documentation/content/en/articles/license-guide/_index.adoc:250
msgid ""
"Each individual file in the FreeBSD software collection has its own "
"copyright and license. How they are marked varies and is described in this "
@@ -584,7 +738,7 @@ msgstr ""
"описан в этом разделе."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:221
+#: documentation/content/en/articles/license-guide/_index.adoc:254
msgid ""
"A copyright notice identifies who claims the legal copyright to a file. "
"These are provided on a best effort basis by the project. Because "
@@ -597,7 +751,7 @@ msgstr ""
"правообладатель может отличаться от указанного в файле."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:230
+#: documentation/content/en/articles/license-guide/_index.adoc:263
msgid ""
"A license is a legal document between the contributor and the users of the "
"software granting permission to use the copyrighted portions of the "
@@ -631,7 +785,7 @@ msgstr ""
"разделы о том, как проект FreeBSD их использует."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:233
+#: documentation/content/en/articles/license-guide/_index.adoc:266
msgid ""
"Entities that contribute fixes and enhancements to the software collection "
"without an explicit license agree to license those changes under the terms "
@@ -646,19 +800,19 @@ msgstr ""
"правах только от значительных участников для файлов в коллекции."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:235
+#: documentation/content/en/articles/license-guide/_index.adoc:268
msgid "There are four types of files in the FreeBSD software collection:"
msgstr ""
"В комплекте программного обеспечения FreeBSD существует четыре типа файлов:"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:237
+#: documentation/content/en/articles/license-guide/_index.adoc:270
msgid "Files that have only an explicit copyright notice and license."
msgstr ""
"Файлы, содержащие только явное уведомление об авторских правах и лицензию."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:238
+#: documentation/content/en/articles/license-guide/_index.adoc:271
msgid ""
"Files that have both an explicit copyright notice and license, and a SPDX-"
"License-Identifier tag."
@@ -667,7 +821,7 @@ msgstr ""
"и тег SPDX-License-Identifier."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:239
+#: documentation/content/en/articles/license-guide/_index.adoc:272
msgid ""
"Files that have only a copyright notice and an SPDX-License-Identifier tag, "
"but no explicit license."
@@ -676,20 +830,20 @@ msgstr ""
"Identifier, но без явного указания лицензии."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:240
+#: documentation/content/en/articles/license-guide/_index.adoc:273
msgid "Files that lack any copyright or license at all."
msgstr ""
"Файлы, в которых отсутствует какое-либо указание на авторские права или "
"лицензию."
#. type: Title ===
-#: documentation/content/en/articles/license-guide/_index.adoc:241
+#: documentation/content/en/articles/license-guide/_index.adoc:274
#, no-wrap
msgid "Only Copyright and License"
msgstr "Только авторские права и лицензия"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:245
+#: documentation/content/en/articles/license-guide/_index.adoc:278
msgid ""
"Many files in the FreeBSD software collection have both a copyright notice "
"and an explicit license contained in the file. In these cases, the license "
@@ -700,39 +854,38 @@ msgstr ""
"случаях применяется лицензия, указанная в файле."
#. type: Title ===
-#: documentation/content/en/articles/license-guide/_index.adoc:246
+#: documentation/content/en/articles/license-guide/_index.adoc:279
#, no-wrap
msgid "Copyright and License with SPDX-License-Identifier expression"
msgstr "Авторские права и лицензия с выражением SPDX-License-Identifier"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:252
+#: documentation/content/en/articles/license-guide/_index.adoc:285
msgid ""
"Some files in the FreeBSD software collection contain a copyright statement, "
"an SPDX-License-Identifier tag and an explicit license. The explicit "
"license takes precedence over the SPDX-License-Identifier tag. The SPDX-"
"License-Identifier tag is the project's best effort attempt to characterize "
-"the license, but is only informative for automated tools. See "
-"crossref:license-guide[expressions,SPDX-License-Identifier Expressions] for "
-"how to interpret the expression."
+"the license, but is only informative for automated tools. See crossref:"
+"license-guide[expressions,SPDX-License-Identifier Expressions] for how to "
+"interpret the expression."
msgstr ""
"Некоторые файлы в коллекции программного обеспечения FreeBSD содержат "
"заявление об авторских правах, тег SPDX-License-Identifier и явную лицензию. "
"Явная лицензия имеет приоритет над тегом SPDX-License-Identifier. Тег SPDX-"
"License-Identifier представляет собой наилучшую попытку проекта "
"охарактеризовать лицензию, но является лишь информационным полем для "
-"автоматизированных инструментов. См. crossref:license-guide["
-"expressions,Выражения SPDX-License-Identifier] для интерпретации выражения."
+"автоматизированных инструментов. См. crossref:license-guide[expressions,"
+"Выражения SPDX-License-Identifier] для интерпретации выражения."
#. type: Title ===
-#: documentation/content/en/articles/license-guide/_index.adoc:253
+#: documentation/content/en/articles/license-guide/_index.adoc:286
#, no-wrap
msgid "Only Copyright and SPDX-License-Identifier expression."
-msgstr ""
-"Только уведомление об авторских правах и выражение SPDX-License-Identifier."
+msgstr "Только уведомление об авторских правах и выражение SPDX-License-Identifier."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:259
+#: documentation/content/en/articles/license-guide/_index.adoc:292
msgid ""
"Some files in the tree contain detached licenses. These files contain only "
"a copyright notice and an SPDX-License-Identifier expression, but no "
@@ -750,7 +903,7 @@ msgstr ""
"определённых стандартом."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:261
+#: documentation/content/en/articles/license-guide/_index.adoc:294
msgid ""
"The license for files containing only the SPDX-License-Identifier should be "
"construed to be"
@@ -759,7 +912,7 @@ msgstr ""
"толковаться как"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:264
+#: documentation/content/en/articles/license-guide/_index.adoc:297
msgid ""
"Start the license with the copyright notice from the file. Include all the "
"copyright holders."
@@ -768,7 +921,7 @@ msgstr ""
"правообладателей."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:267
+#: documentation/content/en/articles/license-guide/_index.adoc:300
msgid ""
"For each sub-expression, copy the license text from [.filename]#LICENSE/text/"
"`id`.txt#. When exceptions are present, append them from [.filename]#src/"
@@ -781,31 +934,31 @@ msgstr ""
"интерпретироваться в соответствии со стандартом SPDX."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:270
+#: documentation/content/en/articles/license-guide/_index.adoc:303
msgid ""
"Where `id` is the SPDX short license identifier from the `Identifier` column "
"of https://spdx.org/licenses/[SPDX Identifiers] or https://spdx.org/licenses/"
-"exceptions-index.html[license exception]. If there is no file in "
-"[.filename]#LICENSE/#, then that license or exception cannot be specified as "
-"a detached license under this section."
+"exceptions-index.html[license exception]. If there is no file in [."
+"filename]#LICENSE/#, then that license or exception cannot be specified as a "
+"detached license under this section."
msgstr ""
"Где `id` — это короткий идентификатор лицензии SPDX из столбца `Identifier` "
-"на страницах https://spdx.org/licenses/[Идентификаторы SPDX] или https://spdx"
-".org/licenses/exceptions-index.html[исключения лицензий]. Если в каталоге [."
-"filename]#LICENSE/# нет файла, то такая лицензия или исключение не могут "
-"быть указаны как отдельная лицензия в этом разделе."
+"на страницах https://spdx.org/licenses/[Идентификаторы SPDX] или https://"
+"spdx.org/licenses/exceptions-index.html[исключения лицензий]. Если в "
+"каталоге [.filename]#LICENSE/# нет файла, то такая лицензия или исключение "
+"не могут быть указаны как отдельная лицензия в этом разделе."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:272
+#: documentation/content/en/articles/license-guide/_index.adoc:305
msgid ""
"When reading the license text that is detached from a file, a number of "
"considerations must be taken to make the detached license make sense."
msgstr ""
-"При чтении текста лицензии, отделенного от файла, необходимо учитывать ряд "
-"аспектов, чтобы отделенная лицензия имела смысл."
+"При чтении текста лицензии, отделённого от файла, необходимо учитывать ряд "
+"аспектов, чтобы отделённая лицензия имела смысл."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:275
+#: documentation/content/en/articles/license-guide/_index.adoc:308
msgid ""
"Any reference to a copyright notice shall refer to the copyright notice "
"constructed from the licensed file, not from any copyright notice in the "
@@ -819,7 +972,7 @@ msgstr ""
"исключительно как образцы."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:278
+#: documentation/content/en/articles/license-guide/_index.adoc:311
msgid ""
"When names of entities are referred to in the license text, they shall be "
"construed to apply to the list of all copyright holders listed in the "
@@ -836,7 +989,7 @@ msgstr ""
"заменена на правообладателей."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:280
+#: documentation/content/en/articles/license-guide/_index.adoc:313
msgid ""
"When the SPDX offers variations of the license, it is understood the license "
"in the [.filename]#LICENSE/# file represents the exact version of the "
@@ -851,12 +1004,12 @@ msgstr ""
"юридически идентичными."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:284
+#: documentation/content/en/articles/license-guide/_index.adoc:317
msgid ""
"For licenses that have slight variations in text, the SPDX has guidelines to "
"match them. These guidelines are not relevant here. Contributors wishing "
-"to license under a variant of a SPDX license not contained verbatim in "
-"[.filename]#LICENSE/# cannot use the detached option and must specify the "
+"to license under a variant of a SPDX license not contained verbatim in [."
+"filename]#LICENSE/# cannot use the detached option and must specify the "
"license explicitly."
msgstr ""
"Для лицензий с небольшими вариациями в тексте SPDX предоставляет "
@@ -866,18 +1019,18 @@ msgstr ""
"вариант и должны явно указать лицензию."
#. type: Title ===
-#: documentation/content/en/articles/license-guide/_index.adoc:285
+#: documentation/content/en/articles/license-guide/_index.adoc:318
#, no-wrap
msgid "Files without Copyright or any License Marking"
msgstr "Файлы без указания авторских прав или любой лицензионной отметки"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:290
+#: documentation/content/en/articles/license-guide/_index.adoc:323
msgid ""
"Some files cannot have suitable comments added to them. In such cases, a "
"license may be found in [.filename]#file.ext.license#. For example, a file "
-"named [.filename]#foo.jpg# may have a license in "
-"[.filename]#foo.jpg.license#, following the REUSE Software conventions."
+"named [.filename]#foo.jpg# may have a license in [.filename]#foo.jpg."
+"license#, following the REUSE Software conventions."
msgstr ""
"Некоторые файлы не могут содержать подходящих комментариев. В таких случаях "
"лицензия может быть найдена в [.filename]#file.ext.license#. Например, файл "
@@ -885,7 +1038,7 @@ msgstr ""
"license#, следуя соглашениям REUSE Software."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:293
+#: documentation/content/en/articles/license-guide/_index.adoc:326
msgid ""
"Files created by the project that lack a copyright notice are understood to "
"fall under the blanket copyright and licensing in [.filename]#COPYRIGHT#. "
@@ -901,7 +1054,7 @@ msgstr ""
"оформления явной лицензии."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:296
+#: documentation/content/en/articles/license-guide/_index.adoc:329
msgid ""
"Files that lack marking and have more than a trivial amount of copyrightable "
"material, or whose author believes them to be improperly marked, should be "
@@ -909,13 +1062,13 @@ msgid ""
"of the FreeBSD Project to comply with all appropriate licenses."
msgstr ""
"Файлы, которые не имеют маркировки и содержат значительное количество "
-"материала, защищенного авторским правом, или которые автор считает "
+"материала, защищённого авторским правом, или которые автор считает "
"неправильно промаркированными, должны быть доведены до сведения основной "
"команды (Core Team) FreeBSD. Проект FreeBSD строго придерживается политики "
"соблюдения всех соответствующих лицензий."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:298
+#: documentation/content/en/articles/license-guide/_index.adoc:331
msgid ""
"In the future, all such files will be marked explicitly, or follow the REUSE "
"Software [.filename]#.license# convention."
@@ -924,13 +1077,13 @@ msgstr ""
"REUSE Software о файлах с расширением [.filename]#.license#."
#. type: Title ===
-#: documentation/content/en/articles/license-guide/_index.adoc:300
+#: documentation/content/en/articles/license-guide/_index.adoc:333
#, no-wrap
msgid "SPDX-License-Identifier Expressions"
msgstr "Выражения SPDX-License-Identifier"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:307
+#: documentation/content/en/articles/license-guide/_index.adoc:340
msgid ""
"An 'SPDX License expression' is used in two contexts in the FreeBSD software "
"collection. First, its full form is used for files that have explicit "
@@ -950,7 +1103,7 @@ msgstr ""
"этого выражения."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:311
+#: documentation/content/en/articles/license-guide/_index.adoc:344
msgid ""
"An `SPDX License sub-expression` is either an SPDX short form license "
"identifier from the https://spdx.org/licenses/[SPDX License List], or the "
@@ -968,12 +1121,12 @@ msgstr ""
"org/licenses/exceptions-index.html[исключение из лицензии]. Если применяются "
"несколько лицензий, выражение состоит из подвыражений, разделённых ключевыми "
"словами \"AND\", \"OR\" и окружённых символами \"(\", \")\". Полное описание "
-"выражений доступно в https://spdx.github.io/spdx-spec/"
-"appendix-IV-SPDX-license-expressions/[спецификации] и имеет приоритет в "
-"случае противоречий с упрощённым изложением этого раздела."
+"выражений доступно в https://spdx.github.io/spdx-spec/appendix-IV-SPDX-"
+"license-expressions/[спецификации] и имеет приоритет в случае противоречий с "
+"упрощённым изложением этого раздела."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:319
+#: documentation/content/en/articles/license-guide/_index.adoc:352
msgid ""
"Some license identifiers, like [L]GPL, have the option to use only that "
"version, or any later version. SPDX defines the suffix `-or-later` to mean "
@@ -997,7 +1150,7 @@ msgstr ""
"соответствующим образом."
#. type: delimited block . 4
-#: documentation/content/en/articles/license-guide/_index.adoc:324
+#: documentation/content/en/articles/license-guide/_index.adoc:357
#, no-wrap
msgid ""
" // SPDX-License-Identifier: GPL-2.0-only\n"
@@ -1007,7 +1160,7 @@ msgstr ""
" // SPDX-License-Identifier: LGPL-2.1-or-later\n"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:328
+#: documentation/content/en/articles/license-guide/_index.adoc:361
msgid ""
"`WITH` should be used when a license modifier is needed. In the FreeBSD "
"project, a number of files from LLVM have an exception to the Apache 2.0 "
@@ -1017,13 +1170,13 @@ msgstr ""
"FreeBSD ряд файлов из LLVM имеют исключение из лицензии Apache 2.0:"
#. type: delimited block . 4
-#: documentation/content/en/articles/license-guide/_index.adoc:332
+#: documentation/content/en/articles/license-guide/_index.adoc:365
#, no-wrap
msgid " // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n"
msgstr " // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception\n"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:336
+#: documentation/content/en/articles/license-guide/_index.adoc:369
msgid ""
"https://spdx.org/licenses/exceptions-index.html[Exception tags] are managed "
"by SPDX. License exceptions can only be applied to certain licenses, as "
@@ -1034,7 +1187,7 @@ msgstr ""
"как указано в исключении."
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:339
+#: documentation/content/en/articles/license-guide/_index.adoc:372
msgid ""
"`OR` should be used if the file has a choice of license and one license is "
"selected. For example, some dtsi files are available under dual licenses:"
@@ -1044,13 +1197,13 @@ msgstr ""
"лицензиями:"
#. type: delimited block . 4
-#: documentation/content/en/articles/license-guide/_index.adoc:343
+#: documentation/content/en/articles/license-guide/_index.adoc:376
#, no-wrap
msgid " // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause\n"
msgstr " // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause\n"
#. type: Plain text
-#: documentation/content/en/articles/license-guide/_index.adoc:347
+#: documentation/content/en/articles/license-guide/_index.adoc:380
msgid ""
"`AND` should be used if the file has multiple licenses whose terms all apply "
"to use the file. For example, if code has been incorporated by several "
@@ -1061,7 +1214,7 @@ msgstr ""
"заимствован из нескольких проектов, каждый со своей собственной лицензией:"
#. type: delimited block . 4
-#: documentation/content/en/articles/license-guide/_index.adoc:351
+#: documentation/content/en/articles/license-guide/_index.adoc:384
#, no-wrap
msgid " // SPDX-License-Identifier: BSD-2-Clause AND MIT\n"
msgstr " // SPDX-License-Identifier: BSD-2-Clause AND MIT\n"
diff --git a/documentation/content/ru/articles/linux-emulation/_index.adoc b/documentation/content/ru/articles/linux-emulation/_index.adoc
index 52fe091ee4..3446c42023 100644
--- a/documentation/content/ru/articles/linux-emulation/_index.adoc
+++ b/documentation/content/ru/articles/linux-emulation/_index.adoc
@@ -316,7 +316,7 @@ int clone_flags = (CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGNAL
[[freebsd-refcounts]]
===== Счетчики ссылок (refcount)
-Счетчики ссылок (refcounts) — это интерфейсы для работы с подсчетом ссылок. Они реализованы с использованием атомарных операций и предназначены для случаев, когда счетчик ссылок — это единственное, что требует защиты, поэтому даже такие механизмы, как спин-мьютекс, не рекомендуются. Использование интерфейса refcount для структур, где уже применяется мьютекс, часто является ошибкой, так как, вероятно, следует защитить счетчик ссылок в рамках уже существующих защищенных участков кода. В настоящее время man-страница, посвященная refcount, отсутствует; для обзора существующего API обратитесь к [.filename]#sys/refcount.h#.
+Счетчики ссылок (refcounts) — это интерфейсы для работы с подсчетом ссылок. Они реализованы с использованием атомарных операций и предназначены для случаев, когда счетчик ссылок — это единственное, что требует защиты, поэтому даже такие механизмы, как спин-мьютекс, не рекомендуются. Использование интерфейса refcount для структур, где уже применяется мьютекс, часто является ошибкой, так как, вероятно, следует защитить счетчик ссылок в рамках уже существующих защищённых участков кода. В настоящее время man-страница, посвященная refcount, отсутствует; для обзора существующего API обратитесь к [.filename]#sys/refcount.h#.
[[freebsd-locks]]
===== Блокировки
diff --git a/documentation/content/ru/articles/linux-emulation/_index.po b/documentation/content/ru/articles/linux-emulation/_index.po
index 7ce32d7274..3846798301 100644
--- a/documentation/content/ru/articles/linux-emulation/_index.po
+++ b/documentation/content/ru/articles/linux-emulation/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-11-08 16:17+0000\n"
-"PO-Revision-Date: 2026-04-05 04:45+0000\n"
+"POT-Creation-Date: 2026-08-06 22:55+0100\n"
+"PO-Revision-Date: 2026-05-18 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articleslinux-emulation_index/ru/>\n"
@@ -14,8 +14,8 @@ msgstr ""
"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"
+"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
@@ -37,12 +37,12 @@ msgid "Linux(R) emulation in FreeBSD"
msgstr "Эмуляция Linux(R) в FreeBSD"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:44
+#: documentation/content/en/articles/linux-emulation/_index.adoc:43
msgid "Abstract"
msgstr "Аннотация"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:54
+#: documentation/content/en/articles/linux-emulation/_index.adoc:53
msgid ""
"This masters thesis deals with updating the Linux(R) emulation layer (the so "
"called _Linuxulator_). The task was to update the layer to match the "
@@ -74,18 +74,18 @@ msgstr ""
"2.6 стандартным слоем эмуляции в FreeBSD."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:56
+#: documentation/content/en/articles/linux-emulation/_index.adoc:55
msgid "'''"
msgstr "'''"
#. type: Title ==
-#: documentation/content/en/articles/linux-emulation/_index.adoc:60
+#: documentation/content/en/articles/linux-emulation/_index.adoc:59
#, no-wrap
msgid "Introduction"
msgstr "Введение"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:67
+#: documentation/content/en/articles/linux-emulation/_index.adoc:66
msgid ""
"In the last few years the open source UNIX(R) based operating systems "
"started to be widely deployed on server and client machines. Among these "
@@ -112,7 +112,7 @@ msgstr ""
"множество проприетарных программ, которые не поддерживают FreeBSD."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:69
+#: documentation/content/en/articles/linux-emulation/_index.adoc:68
msgid ""
"Naturally, a need for the ability to run Linux(R) binaries on a FreeBSD "
"system arises and this is what this thesis deals with: the emulation of the "
@@ -123,7 +123,7 @@ msgstr ""
"эмуляции ядра Linux(R) в операционной системе FreeBSD."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:72
+#: documentation/content/en/articles/linux-emulation/_index.adoc:71
msgid ""
"During the Summer of 2006 Google Inc. sponsored a project which focused on "
"extending the Linux(R) emulation layer (the so called Linuxulator) in "
@@ -136,13 +136,13 @@ msgstr ""
"рамках этого проекта."
#. type: Title ==
-#: documentation/content/en/articles/linux-emulation/_index.adoc:74
+#: documentation/content/en/articles/linux-emulation/_index.adoc:73
#, no-wrap
msgid "A look inside..."
msgstr "Взгляд изнутри..."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:80
+#: documentation/content/en/articles/linux-emulation/_index.adoc:79
msgid ""
"In this section we are going to describe every operating system in "
"question. How they deal with syscalls, trapframes etc., all the low-level "
@@ -158,13 +158,13 @@ msgstr ""
"UNIX(R)."
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:82
+#: documentation/content/en/articles/linux-emulation/_index.adoc:81
#, no-wrap
msgid "What is UNIX(R)"
msgstr "Что такое UNIX(R)"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:94
+#: documentation/content/en/articles/linux-emulation/_index.adoc:93
msgid ""
"UNIX(R) is an operating system with a long history that has influenced "
"almost every other operating system currently in use. Starting in the "
@@ -199,15 +199,15 @@ msgstr ""
"Давайте подведём итог типичным характеристикам UNIX(R)."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:96
-#: documentation/content/en/articles/linux-emulation/_index.adoc:187
-#: documentation/content/en/articles/linux-emulation/_index.adoc:279
+#: documentation/content/en/articles/linux-emulation/_index.adoc:95
+#: documentation/content/en/articles/linux-emulation/_index.adoc:186
+#: documentation/content/en/articles/linux-emulation/_index.adoc:278
#, no-wrap
msgid "Technical details"
msgstr "Технические детали"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:104
+#: documentation/content/en/articles/linux-emulation/_index.adoc:103
msgid ""
"Every running program constitutes a process that represents a state of the "
"computation. Running process is divided between kernel-space and user-"
@@ -228,13 +228,13 @@ msgstr ""
"важные из них рассмотрены ниже."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:106
+#: documentation/content/en/articles/linux-emulation/_index.adoc:105
#, no-wrap
msgid "Communication between kernel and user space process"
msgstr "Обмен данными между ядром и пользовательским процессом"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:114
+#: documentation/content/en/articles/linux-emulation/_index.adoc:113
msgid ""
"Common UNIX(R) API defines a syscall as a way to issue commands from a user "
"space process to the kernel. The most common implementation is either by "
@@ -256,7 +256,7 @@ msgstr ""
"синхронными."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:118
+#: documentation/content/en/articles/linux-emulation/_index.adoc:117
msgid ""
"Another possible way to communicate is by using a _trap_. Traps occur "
"asynchronously after some event occurs (division by zero, page fault etc.). "
@@ -264,19 +264,19 @@ msgid ""
"reaction like sending a _signal_ (division by zero)."
msgstr ""
"Еще один возможный способ взаимодействия — использование _прерывания_. "
-"Прерывания происходят асинхронно после возникновения определённого события ("
-"деление на ноль, ошибка страницы и т.д.). Прерывание может быть прозрачным "
+"Прерывания происходят асинхронно после возникновения определённого события "
+"(деление на ноль, ошибка страницы и т.д.). Прерывание может быть прозрачным "
"для процесса (ошибка страницы) или привести к реакции, например, отправке "
"_сигнала_ (деление на ноль)."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:120
+#: documentation/content/en/articles/linux-emulation/_index.adoc:119
#, no-wrap
msgid "Communication between processes"
msgstr "Обмен данными между процессами"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:125
+#: documentation/content/en/articles/linux-emulation/_index.adoc:124
msgid ""
"There are other APIs (System V IPC, shared memory etc.) but the single most "
"important API is signal. Signals are sent by processes or by the kernel and "
@@ -291,13 +291,13 @@ msgstr ""
"действию, которое нельзя изменить или игнорировать."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:127
+#: documentation/content/en/articles/linux-emulation/_index.adoc:126
#, no-wrap
msgid "Process management"
msgstr "Управление процессами"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:137
+#: documentation/content/en/articles/linux-emulation/_index.adoc:136
msgid ""
"Kernel instances are processed first in the system (so called init). Every "
"running process can create its identical copy using the man:fork[2] "
@@ -321,13 +321,13 @@ msgstr ""
"определённый родитель (идентифицируемый его PID)."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:139
+#: documentation/content/en/articles/linux-emulation/_index.adoc:138
#, no-wrap
msgid "Thread management"
msgstr "Управление потоками"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:145
+#: documentation/content/en/articles/linux-emulation/_index.adoc:144
msgid ""
"Traditional UNIX(R) does not define any API nor implementation for "
"threading, while POSIX(R) defines its threading API but the implementation "
@@ -344,17 +344,17 @@ msgstr ""
"пространстве (потоки 1:N). Сравнение основных особенностей каждого подхода:"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:147
+#: documentation/content/en/articles/linux-emulation/_index.adoc:146
msgid "1:1 threading"
msgstr "Потоки 1:1"
#. type: Bullet: '- '
-#: documentation/content/en/articles/linux-emulation/_index.adoc:149
+#: documentation/content/en/articles/linux-emulation/_index.adoc:148
msgid "heavyweight threads"
msgstr "тяжеловесные потоки"
#. type: Bullet: '- '
-#: documentation/content/en/articles/linux-emulation/_index.adoc:150
+#: documentation/content/en/articles/linux-emulation/_index.adoc:149
msgid ""
"the scheduling cannot be altered by the user (slightly mitigated by the "
"POSIX(R) API)"
@@ -363,48 +363,48 @@ msgstr ""
"благодаря POSIX(R) API)"
#. type: Bullet: '+ '
-#: documentation/content/en/articles/linux-emulation/_index.adoc:151
+#: documentation/content/en/articles/linux-emulation/_index.adoc:150
msgid "no syscall wrapping necessary"
msgstr "нет необходимости в обёртке системных вызовов"
#. type: Bullet: '+ '
-#: documentation/content/en/articles/linux-emulation/_index.adoc:152
+#: documentation/content/en/articles/linux-emulation/_index.adoc:151
msgid "can utilize multiple CPUs"
msgstr "может использовать несколько процессоров"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:154
+#: documentation/content/en/articles/linux-emulation/_index.adoc:153
msgid "1:N threading"
msgstr "Потоки 1:N"
#. type: Bullet: '+ '
-#: documentation/content/en/articles/linux-emulation/_index.adoc:156
+#: documentation/content/en/articles/linux-emulation/_index.adoc:155
msgid "lightweight threads"
msgstr "легковесные потоки"
#. type: Bullet: '+ '
-#: documentation/content/en/articles/linux-emulation/_index.adoc:157
+#: documentation/content/en/articles/linux-emulation/_index.adoc:156
msgid "scheduling can be easily altered by the user"
msgstr "планирование может быть легко изменено пользователем"
#. type: Bullet: '- '
-#: documentation/content/en/articles/linux-emulation/_index.adoc:158
+#: documentation/content/en/articles/linux-emulation/_index.adoc:157
msgid "syscalls must be wrapped"
msgstr "Системные вызовы должны быть обернуты"
#. type: Bullet: '- '
-#: documentation/content/en/articles/linux-emulation/_index.adoc:159
+#: documentation/content/en/articles/linux-emulation/_index.adoc:158
msgid "cannot utilize more than one CPU"
msgstr "не может использовать более одного CPU"
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:161
+#: documentation/content/en/articles/linux-emulation/_index.adoc:160
#, no-wrap
msgid "What is FreeBSD?"
msgstr "Что такое FreeBSD?"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:169
+#: documentation/content/en/articles/linux-emulation/_index.adoc:168
msgid ""
"The FreeBSD project is one of the oldest open source operating systems "
"currently available for daily use. It is a direct descendant of the genuine "
@@ -426,7 +426,7 @@ msgstr ""
"систему NetBSD с другими целями. Мы сосредоточимся на FreeBSD."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:174
+#: documentation/content/en/articles/linux-emulation/_index.adoc:173
msgid ""
"FreeBSD is a modern UNIX(R)-based operating system with all the features of "
"UNIX(R). Preemptive multitasking, multiuser facilities, TCP/IP networking, "
@@ -446,42 +446,42 @@ msgstr ""
"разработку 7-CURRENT поддерживаются следующие функции эмуляции:"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:176
+#: documentation/content/en/articles/linux-emulation/_index.adoc:175
msgid "FreeBSD/i386 emulation on FreeBSD/amd64"
msgstr "Совместимость FreeBSD/i386 на FreeBSD/amd64"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:177
+#: documentation/content/en/articles/linux-emulation/_index.adoc:176
msgid "FreeBSD/i386 emulation on FreeBSD/ia64"
msgstr "FreeBSD/i386 эмуляция на FreeBSD/ia64"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:178
+#: documentation/content/en/articles/linux-emulation/_index.adoc:177
msgid "Linux(R)-emulation of Linux(R) operating system on FreeBSD"
msgstr "Эмуляция Linux(R) операционной системы Linux(R) на FreeBSD"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:179
+#: documentation/content/en/articles/linux-emulation/_index.adoc:178
msgid "NDIS-emulation of Windows networking drivers interface"
msgstr "NDIS-эмуляция интерфейса сетевых драйверов Windows"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:180
+#: documentation/content/en/articles/linux-emulation/_index.adoc:179
msgid "NetBSD-emulation of NetBSD operating system"
msgstr "NetBSD-эмуляция операционной системы NetBSD"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:181
+#: documentation/content/en/articles/linux-emulation/_index.adoc:180
msgid "PECoff-support for PECoff FreeBSD executables"
msgstr "Поддержка PECoff для исполняемых файлов FreeBSD в формате PECoff"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:182
+#: documentation/content/en/articles/linux-emulation/_index.adoc:181
msgid "SVR4-emulation of System V revision 4 UNIX(R)"
msgstr "Эмуляция SVR4 System V revision 4 UNIX(R)"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:185
+#: documentation/content/en/articles/linux-emulation/_index.adoc:184
msgid ""
"Actively developed emulations are the Linux(R) layer and various FreeBSD-on-"
"FreeBSD layers. Others are not supposed to work properly nor be usable "
@@ -492,7 +492,7 @@ msgstr ""
"или быть пригодными к использованию."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:195
+#: documentation/content/en/articles/linux-emulation/_index.adoc:194
msgid ""
"FreeBSD is traditional flavor of UNIX(R) in the sense of dividing the run of "
"processes into two halves: kernel space and user space run. There are two "
@@ -513,13 +513,13 @@ msgstr ""
"исходного кода."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:197
+#: documentation/content/en/articles/linux-emulation/_index.adoc:196
#, no-wrap
msgid "System entries"
msgstr "Системные записи"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:204
+#: documentation/content/en/articles/linux-emulation/_index.adoc:203
msgid ""
"FreeBSD has an abstraction called an execution class loader, which is a "
"wedge into the man:execve[2] syscall. This employs a structure `sysentvec`, "
@@ -544,14 +544,14 @@ msgstr ""
"пользовательскому пространству."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:206
-#: documentation/content/en/articles/linux-emulation/_index.adoc:288
+#: documentation/content/en/articles/linux-emulation/_index.adoc:205
+#: documentation/content/en/articles/linux-emulation/_index.adoc:287
#, no-wrap
msgid "Syscalls"
msgstr "Системные вызовы"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:209
+#: documentation/content/en/articles/linux-emulation/_index.adoc:208
msgid ""
"Syscalls on FreeBSD are issued by executing interrupt `0x80` with register `"
"%eax` set to a desired syscall number with arguments passed on the stack."
@@ -561,7 +561,7 @@ msgstr ""
"аргументами, переданными через стек."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:215
+#: documentation/content/en/articles/linux-emulation/_index.adoc:214
msgid ""
"When a process issues an interrupt `0x80`, the `int0x80` syscall trap "
"handler is issued (defined in [.filename]#sys/i386/i386/exception.s#), which "
@@ -595,15 +595,15 @@ msgstr ""
"параметров."
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:217
-#: documentation/content/en/articles/linux-emulation/_index.adoc:307
-#: documentation/content/en/articles/linux-emulation/_index.adoc:794
+#: documentation/content/en/articles/linux-emulation/_index.adoc:216
+#: documentation/content/en/articles/linux-emulation/_index.adoc:306
+#: documentation/content/en/articles/linux-emulation/_index.adoc:793
#, no-wrap
msgid "Traps"
msgstr "Ловушки (trap)"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:224
+#: documentation/content/en/articles/linux-emulation/_index.adoc:223
msgid ""
"Handling of traps in FreeBSD is similar to the handling of syscalls. "
"Whenever a trap occurs, an assembler handler is called. It is chosen "
@@ -623,14 +623,14 @@ msgstr ""
"пространство с помощью `userret()`."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:226
-#: documentation/content/en/articles/linux-emulation/_index.adoc:312
+#: documentation/content/en/articles/linux-emulation/_index.adoc:225
+#: documentation/content/en/articles/linux-emulation/_index.adoc:311
#, no-wrap
msgid "Exits"
msgstr "Выходы"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:230
+#: documentation/content/en/articles/linux-emulation/_index.adoc:229
msgid ""
"Exits from kernel to userspace happen using the assembler routine `doreti` "
"regardless of whether the kernel was entered via a trap or via a syscall. "
@@ -642,14 +642,14 @@ msgstr ""
"программы из стека и возвращает управление в пользовательское пространство."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:232
-#: documentation/content/en/articles/linux-emulation/_index.adoc:318
+#: documentation/content/en/articles/linux-emulation/_index.adoc:231
+#: documentation/content/en/articles/linux-emulation/_index.adoc:317
#, no-wrap
msgid "UNIX(R) primitives"
msgstr "Примитивы UNIX(R)"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:238
+#: documentation/content/en/articles/linux-emulation/_index.adoc:237
msgid ""
"FreeBSD operating system adheres to the traditional UNIX(R) scheme, where "
"every process has a unique identification number, the so called _PID_ "
@@ -666,7 +666,7 @@ msgstr ""
"процессе получает тот же номер PID в результате вызова man:getpid[2]."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:249
+#: documentation/content/en/articles/linux-emulation/_index.adoc:248
msgid ""
"There are currently two ways to implement threading in FreeBSD. The first "
"way is M:N threading followed by the 1:1 threading model. The default "
@@ -701,7 +701,7 @@ msgstr ""
"использована напрямую."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:257
+#: documentation/content/en/articles/linux-emulation/_index.adoc:256
msgid ""
"As stated previously there are two implementations of threading in FreeBSD. "
"The M:N library divides the work between kernel space and userspace. Thread "
@@ -729,13 +729,13 @@ msgstr ""
"усложнял работу с кодом)."
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:259
+#: documentation/content/en/articles/linux-emulation/_index.adoc:258
#, no-wrap
msgid "What is Linux(R)"
msgstr "Что такое Linux(R)"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:263
+#: documentation/content/en/articles/linux-emulation/_index.adoc:262
msgid ""
"Linux(R) is a UNIX(R)-like kernel originally developed by Linus Torvalds, "
"and now being contributed to by a massive crowd of programmers all around "
@@ -752,7 +752,7 @@ msgstr ""
"\"доброжелательного диктатора\"."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:267
+#: documentation/content/en/articles/linux-emulation/_index.adoc:266
msgid ""
"Linux(R) development started in 1991 as a hobbyist project at University of "
"Helsinki in Finland. Since then it has obtained all the features of a "
@@ -768,7 +768,7 @@ msgstr ""
"как виртуализация и т. д."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:270
+#: documentation/content/en/articles/linux-emulation/_index.adoc:269
msgid ""
"As of 2006 Linux(R) seems to be the most widely used open source operating "
"system with support from independent software vendors like Oracle, "
@@ -784,7 +784,7 @@ msgstr ""
"операционных систем невозможна."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:275
+#: documentation/content/en/articles/linux-emulation/_index.adoc:274
msgid ""
"Most of the Linux(R) development happens in a Git version control system. "
"Git is a distributed system so there is no central source of the Linux(R) "
@@ -803,12 +803,12 @@ msgstr ""
"минорную версию, предназначенную только для исправления ошибок."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:277
+#: documentation/content/en/articles/linux-emulation/_index.adoc:276
msgid "More information can be obtained from [3]."
msgstr "Дополнительную информацию можно получить из [3]."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:286
+#: documentation/content/en/articles/linux-emulation/_index.adoc:285
msgid ""
"Linux(R) follows the traditional UNIX(R) scheme of dividing the run of a "
"process in two halves: the kernel and user space. The kernel can be entered "
@@ -823,7 +823,7 @@ msgstr ""
"2.6 на архитектуре i386(TM). Эта информация взята из [2]."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:296
+#: documentation/content/en/articles/linux-emulation/_index.adoc:295
msgid ""
"Syscalls in Linux(R) are performed (in userspace) using `syscallX` macros "
"where X substitutes a number representing the number of parameters of the "
@@ -850,37 +850,37 @@ msgstr ""
"показано здесь:"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:298
+#: documentation/content/en/articles/linux-emulation/_index.adoc:297
msgid "parameter -> `%ebx`"
msgstr "параметр -> `%ebx`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:299
+#: documentation/content/en/articles/linux-emulation/_index.adoc:298
msgid "parameter -> `%ecx`"
msgstr "параметр -> `%ecx`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:300
+#: documentation/content/en/articles/linux-emulation/_index.adoc:299
msgid "parameter -> `%edx`"
msgstr "параметр -> `%edx`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:301
+#: documentation/content/en/articles/linux-emulation/_index.adoc:300
msgid "parameter -> `%esi`"
msgstr "параметр -> `%esi`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:302
+#: documentation/content/en/articles/linux-emulation/_index.adoc:301
msgid "parameter -> `%edi`"
msgstr "параметр -> `%edi`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:303
+#: documentation/content/en/articles/linux-emulation/_index.adoc:302
msgid "parameter -> `%ebp`"
msgstr "параметр -> `%ebp`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:305
+#: documentation/content/en/articles/linux-emulation/_index.adoc:304
msgid ""
"There are some exceptions to this, where Linux(R) uses different calling "
"convention (most notably the `clone` syscall)."
@@ -889,7 +889,7 @@ msgstr ""
"другие соглашения о вызовах (наиболее примечателен системный вызов `clone`)."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:310
+#: documentation/content/en/articles/linux-emulation/_index.adoc:309
msgid ""
"The trap handlers are introduced in [.filename]#arch/i386/kernel/traps.c# "
"and most of these handlers live in [.filename]#arch/i386/kernel/entry.S#, "
@@ -900,7 +900,7 @@ msgstr ""
"entry.S#, где происходит обработка ловушек."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:316
+#: documentation/content/en/articles/linux-emulation/_index.adoc:315
msgid ""
"Return from the syscall is managed by syscall man:exit[3], which checks for "
"the process having unfinished work, then checks whether we used user-"
@@ -916,7 +916,7 @@ msgstr ""
"пространство."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:327
+#: documentation/content/en/articles/linux-emulation/_index.adoc:326
msgid ""
"In the 2.6 version, the Linux(R) operating system redefined some of the "
"traditional UNIX(R) primitives, notably PID, TID and thread. PID is defined "
@@ -944,75 +944,75 @@ msgstr ""
"указывающего системному вызову создать поток."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:329
+#: documentation/content/en/articles/linux-emulation/_index.adoc:328
msgid "Implemented clone flags are:"
msgstr "Реализованные флаги клонирования:"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:331
+#: documentation/content/en/articles/linux-emulation/_index.adoc:330
msgid "`CLONE_VM` - processes share their memory space"
msgstr "`CLONE_VM` - процессы разделяют общее адресное пространство"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:332
+#: documentation/content/en/articles/linux-emulation/_index.adoc:331
msgid "`CLONE_FS` - share umask, cwd and namespace"
msgstr ""
"`CLONE_FS` — совместно использовать umask, текущий рабочий каталог и "
"пространство имён"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:333
+#: documentation/content/en/articles/linux-emulation/_index.adoc:332
msgid "`CLONE_FILES` - share open files"
msgstr "`CLONE_FILES` - совместно использовать открытые файлы"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:334
+#: documentation/content/en/articles/linux-emulation/_index.adoc:333
msgid "`CLONE_SIGHAND` - share signal handlers and blocked signals"
msgstr ""
"`CLONE_SIGHAND` - разделять обработчики сигналов и заблокированные сигналы"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:335
+#: documentation/content/en/articles/linux-emulation/_index.adoc:334
msgid "`CLONE_PARENT` - share parent"
msgstr "`CLONE_PARENT` - использовать один процесс к качестве родительского"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:336
+#: documentation/content/en/articles/linux-emulation/_index.adoc:335
msgid "`CLONE_THREAD` - be thread (further explanation below)"
msgstr "`CLONE_THREAD` — быть потоком (дальнейшие пояснения ниже)"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:337
+#: documentation/content/en/articles/linux-emulation/_index.adoc:336
msgid "`CLONE_NEWNS` - new namespace"
msgstr "`CLONE_NEWNS` - новое пространство имен"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:338
+#: documentation/content/en/articles/linux-emulation/_index.adoc:337
msgid "`CLONE_SYSVSEM` - share SysV undo structures"
msgstr "`CLONE_SYSVSEM` - совместное использование структур отмены SysV"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:339
+#: documentation/content/en/articles/linux-emulation/_index.adoc:338
msgid "`CLONE_SETTLS` - setup TLS at supplied address"
msgstr "`CLONE_SETTLS` - настройка TLS по указанному адресу"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:340
+#: documentation/content/en/articles/linux-emulation/_index.adoc:339
msgid "`CLONE_PARENT_SETTID` - set TID in the parent"
msgstr "`CLONE_PARENT_SETTID` - установить TID в родителе"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:341
+#: documentation/content/en/articles/linux-emulation/_index.adoc:340
msgid "`CLONE_CHILD_CLEARTID` - clear TID in the child"
msgstr "`CLONE_CHILD_CLEARTID` - очистить TID в дочернем процессе"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:342
+#: documentation/content/en/articles/linux-emulation/_index.adoc:341
msgid "`CLONE_CHILD_SETTID` - set TID in the child"
msgstr "`CLONE_CHILD_SETTID` - установить TID в дочернем процессе"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:348
+#: documentation/content/en/articles/linux-emulation/_index.adoc:347
msgid ""
"`CLONE_PARENT` sets the real parent to the parent of the caller. This is "
"useful for threads because if thread A creates thread B we want thread B to "
@@ -1034,7 +1034,7 @@ msgstr ""
"адрес в TID или 0."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:352
+#: documentation/content/en/articles/linux-emulation/_index.adoc:351
msgid ""
"As you can see the `CLONE_THREAD` does most of the work and does not seem to "
"fit the scheme very well. The original intention is unclear (even for "
@@ -1053,7 +1053,7 @@ msgstr ""
"clone позволяет программисту получить доступ к этим возможностям."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:355
+#: documentation/content/en/articles/linux-emulation/_index.adoc:354
msgid ""
"For non-threaded programs the PID and TID are the same. For threaded "
"programs the first thread PID and TID are the same and every created thread "
@@ -1068,7 +1068,7 @@ msgstr ""
"программу."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:357
+#: documentation/content/en/articles/linux-emulation/_index.adoc:356
msgid ""
"The code that implements man:pthread_create[3] in NPTL defines the clone "
"flags like this:"
@@ -1077,19 +1077,19 @@ msgstr ""
"следующим образом:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:361
+#: documentation/content/en/articles/linux-emulation/_index.adoc:360
#, no-wrap
msgid "int clone_flags = (CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGNAL\n"
msgstr "int clone_flags = (CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGNAL\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:363
+#: documentation/content/en/articles/linux-emulation/_index.adoc:362
#, no-wrap
msgid " | CLONE_SETTLS | CLONE_PARENT_SETTID\n"
msgstr " | CLONE_SETTLS | CLONE_PARENT_SETTID\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:366
+#: documentation/content/en/articles/linux-emulation/_index.adoc:365
#, no-wrap
msgid ""
"| CLONE_CHILD_CLEARTID | CLONE_SYSVSEM\n"
@@ -1099,7 +1099,7 @@ msgstr ""
"#if __ASSUME_NO_CLONE_DETACHED == 0\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:369
+#: documentation/content/en/articles/linux-emulation/_index.adoc:368
#, no-wrap
msgid ""
"| CLONE_DETACHED\n"
@@ -1109,37 +1109,37 @@ msgstr ""
"#endif\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:371
+#: documentation/content/en/articles/linux-emulation/_index.adoc:370
#, no-wrap
msgid "| 0);\n"
msgstr "| 0);\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:374
+#: documentation/content/en/articles/linux-emulation/_index.adoc:373
msgid "The `CLONE_SIGNAL` is defined like"
msgstr "`CLONE_SIGNAL` определен как"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:378
+#: documentation/content/en/articles/linux-emulation/_index.adoc:377
#, no-wrap
msgid "#define CLONE_SIGNAL (CLONE_SIGHAND | CLONE_THREAD)\n"
msgstr "#define CLONE_SIGNAL (CLONE_SIGHAND | CLONE_THREAD)\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:381
+#: documentation/content/en/articles/linux-emulation/_index.adoc:380
msgid "the last 0 means no signal is sent when any of the threads exits."
msgstr ""
"последний 0 означает, что сигнал не отправляется при завершении любого из "
"потоков."
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:383
+#: documentation/content/en/articles/linux-emulation/_index.adoc:382
#, no-wrap
msgid "What is emulation"
msgstr "Что такое эмуляция"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:388
+#: documentation/content/en/articles/linux-emulation/_index.adoc:387
msgid ""
"According to a dictionary definition, emulation is the ability of a program "
"or device to imitate another program or device. This is achieved by "
@@ -1161,7 +1161,7 @@ msgstr ""
"либо в виде программы пользовательского пространства)."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:395
+#: documentation/content/en/articles/linux-emulation/_index.adoc:394
msgid ""
"Emulation is usually used in a place, where using the original component is "
"not feasible nor possible at all. For example someone might want to use a "
@@ -1182,7 +1182,7 @@ msgstr ""
"Иногда эмуляция просто экономически выгоднее."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:407
+#: documentation/content/en/articles/linux-emulation/_index.adoc:406
msgid ""
"Looking from an implementation point of view, there are two main approaches "
"to the implementation of emulation. You can either emulate the whole thing "
@@ -1226,7 +1226,7 @@ msgstr ""
"эмулировать отсутствующие функции с помощью полной эмуляции, описанной выше."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:410
+#: documentation/content/en/articles/linux-emulation/_index.adoc:409
msgid ""
"This master thesis deals with emulation of UNIX(R) on UNIX(R), which is "
"exactly the case, where only a thin layer of translation is sufficient to "
@@ -1240,7 +1240,7 @@ msgstr ""
"ядра."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:412
+#: documentation/content/en/articles/linux-emulation/_index.adoc:411
msgid ""
"There are a few syscalls that affect inner state but this can be dealt with "
"by providing some structures that maintain the extra state."
@@ -1250,7 +1250,7 @@ msgstr ""
"поддерживающие дополнительное состояние."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:416
+#: documentation/content/en/articles/linux-emulation/_index.adoc:415
msgid ""
"No emulation is perfect and emulations tend to lack some parts but this "
"usually does not cause any serious drawbacks. Imagine a game console "
@@ -1267,7 +1267,7 @@ msgstr ""
"ценой и удобством."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:420
+#: documentation/content/en/articles/linux-emulation/_index.adoc:419
msgid ""
"The same goes with the UNIX(R) API. Most programs can live with a very "
"limited set of syscalls working. Those syscalls tend to be the oldest ones "
@@ -1283,19 +1283,19 @@ msgstr ""
"подобных системах."
#. type: Title ==
-#: documentation/content/en/articles/linux-emulation/_index.adoc:422
+#: documentation/content/en/articles/linux-emulation/_index.adoc:421
#, no-wrap
msgid "Emulation"
msgstr "Эмуляция"
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:424
+#: documentation/content/en/articles/linux-emulation/_index.adoc:423
#, no-wrap
msgid "How emulation works in FreeBSD"
msgstr "Как работает эмуляция в FreeBSD"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:429
+#: documentation/content/en/articles/linux-emulation/_index.adoc:428
msgid ""
"As stated earlier, FreeBSD supports running binaries from several other "
"UNIX(R)es. This works because FreeBSD has an abstraction called the "
@@ -1309,7 +1309,7 @@ msgstr ""
"собирается выполнить бинарный файл, он анализирует его тип."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:435
+#: documentation/content/en/articles/linux-emulation/_index.adoc:434
msgid ""
"There are basically two types of binaries in FreeBSD. Shell-like text "
"scripts which are identified by `#!` as their first two characters and "
@@ -1330,7 +1330,7 @@ msgstr ""
"определить, к какому типу относится данный исполняемый файл."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:441
+#: documentation/content/en/articles/linux-emulation/_index.adoc:440
msgid ""
"Every OS ABI must be registered in the FreeBSD kernel. This applies to the "
"FreeBSD native OS ABI, as well. So when man:execve[2] executes a binary it "
@@ -1352,7 +1352,7 @@ msgstr ""
"выполнения различных двоичных форматов."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:446
+#: documentation/content/en/articles/linux-emulation/_index.adoc:445
msgid ""
"The nature of emulation of different OSes (and also some other subsystems) "
"led developers to invite a handler event mechanism. There are various "
@@ -1369,7 +1369,7 @@ msgstr ""
"обработчик, который может выполнить необходимую очистку для подсистемы."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:448
+#: documentation/content/en/articles/linux-emulation/_index.adoc:447
msgid ""
"Those simple facilities provide basically everything that is needed for the "
"emulation infrastructure and in fact these are basically the only things "
@@ -1380,13 +1380,13 @@ msgstr ""
"реализации слоя эмуляции Linux(R)."
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:450
+#: documentation/content/en/articles/linux-emulation/_index.adoc:449
#, no-wrap
msgid "Common primitives in the FreeBSD kernel"
msgstr "Общие примитивы в ядре FreeBSD"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:454
+#: documentation/content/en/articles/linux-emulation/_index.adoc:453
msgid ""
"Emulation layers need some support from the operating system. I am going to "
"describe some of the supported primitives in the FreeBSD operating system."
@@ -1396,18 +1396,18 @@ msgstr ""
"операционной системе FreeBSD."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:456
+#: documentation/content/en/articles/linux-emulation/_index.adoc:455
#, no-wrap
msgid "Locking primitives"
msgstr "Примитивы синхронизации"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:459
+#: documentation/content/en/articles/linux-emulation/_index.adoc:458
msgid "Contributed by: `{attilio}`"
msgstr "Добавил: `{attilio}`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:461
+#: documentation/content/en/articles/linux-emulation/_index.adoc:460
msgid ""
"The FreeBSD synchronization primitive set is based on the idea to supply a "
"rather huge number of different primitives in a way that the better one can "
@@ -1418,7 +1418,7 @@ msgstr ""
"конкретной подходящей ситуации можно было использовать наилучший."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:463
+#: documentation/content/en/articles/linux-emulation/_index.adoc:462
msgid ""
"To a high level point of view you can consider three kinds of "
"synchronization primitives in the FreeBSD kernel:"
@@ -1427,22 +1427,22 @@ msgstr ""
"FreeBSD:"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:465
+#: documentation/content/en/articles/linux-emulation/_index.adoc:464
msgid "atomic operations and memory barriers"
msgstr "атомарные операции и барьеры памяти"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:466
+#: documentation/content/en/articles/linux-emulation/_index.adoc:465
msgid "locks"
msgstr "блокировки"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:467
+#: documentation/content/en/articles/linux-emulation/_index.adoc:466
msgid "scheduling barriers"
msgstr "барьеры планирования"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:470
+#: documentation/content/en/articles/linux-emulation/_index.adoc:469
msgid ""
"Below there are descriptions for the 3 families. For every lock, you should "
"really check the linked manpage (where possible) for more detailed "
@@ -1453,13 +1453,13 @@ msgstr ""
"чтобы получить более подробные объяснения."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:472
+#: documentation/content/en/articles/linux-emulation/_index.adoc:471
#, no-wrap
msgid "Atomic operations and memory barriers"
msgstr "Атомарные операции и барьеры памяти"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:483
+#: documentation/content/en/articles/linux-emulation/_index.adoc:482
msgid ""
"Atomic operations are implemented through a set of functions performing "
"simple arithmetics on memory operands in an atomic way with respect to "
@@ -1485,10 +1485,10 @@ msgstr ""
"Атомарные операции реализуются через набор функций, выполняющих простые "
"арифметические действия над операндами в памяти атомарным образом по "
"отношению к внешним событиям (прерываниям, вытеснению и т. д.). Атомарные "
-"операции могут гарантировать атомарность только для небольших типов данных ("
-"порядка величины типа `.long` в архитектуре C), поэтому их следует редко "
-"использовать напрямую в конечном коде, разве что для очень простых операций ("
-"например, установки флага в битовой карте). На самом деле довольно просто и "
+"операции могут гарантировать атомарность только для небольших типов данных "
+"(порядка величины типа `.long` в архитектуре C), поэтому их следует редко "
+"использовать напрямую в конечном коде, разве что для очень простых операций "
+"(например, установки флага в битовой карте). На самом деле довольно просто и "
"часто можно допустить семантическую ошибку, полагаясь только на атомарные "
"операции (обычно называемые lock-less). Ядро FreeBSD предоставляет способ "
"выполнения атомарных операций в сочетании с барьерами памяти. Барьеры памяти "
@@ -1505,13 +1505,13 @@ msgstr ""
"блокировок (например, мьютексов)."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:485
+#: documentation/content/en/articles/linux-emulation/_index.adoc:484
#, no-wrap
msgid "Refcounts"
msgstr "Счетчики ссылок (refcount)"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:491
+#: documentation/content/en/articles/linux-emulation/_index.adoc:490
msgid ""
"Refcounts are interfaces for handling reference counters. They are "
"implemented through atomic operations and are intended to be used just for "
@@ -1528,18 +1528,18 @@ msgstr ""
"поэтому даже такие механизмы, как спин-мьютекс, не рекомендуются. "
"Использование интерфейса refcount для структур, где уже применяется мьютекс, "
"часто является ошибкой, так как, вероятно, следует защитить счетчик ссылок в "
-"рамках уже существующих защищенных участков кода. В настоящее время man-"
+"рамках уже существующих защищённых участков кода. В настоящее время man-"
"страница, посвященная refcount, отсутствует; для обзора существующего API "
"обратитесь к [.filename]#sys/refcount.h#."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:493
+#: documentation/content/en/articles/linux-emulation/_index.adoc:492
#, no-wrap
msgid "Locks"
msgstr "Блокировки"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:498
+#: documentation/content/en/articles/linux-emulation/_index.adoc:497
msgid ""
"FreeBSD kernel has huge classes of locks. Every lock is defined by some "
"peculiar properties, but probably the most important is the event linked to "
@@ -1555,33 +1555,33 @@ msgstr ""
"потоков:"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:500
+#: documentation/content/en/articles/linux-emulation/_index.adoc:499
msgid "spinning"
msgstr "вращающиеся"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:501
+#: documentation/content/en/articles/linux-emulation/_index.adoc:500
msgid "blocking"
msgstr "блокирующие"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:502
+#: documentation/content/en/articles/linux-emulation/_index.adoc:501
msgid "sleeping"
msgstr "спящие"
#. type: delimited block = 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:506
+#: documentation/content/en/articles/linux-emulation/_index.adoc:505
msgid "numbers are not casual"
msgstr "номера приведены не случайно"
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:509
+#: documentation/content/en/articles/linux-emulation/_index.adoc:508
#, no-wrap
msgid "Spinning locks"
msgstr "Вращающиеся блокировки"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:515
+#: documentation/content/en/articles/linux-emulation/_index.adoc:514
msgid ""
"Spin locks let waiters to spin until they cannot acquire the lock. An "
"important matter do deal with is when a thread contests on a spin lock if it "
@@ -1604,13 +1604,13 @@ msgstr ""
"это не требуется явно (об этом далее)."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:517
+#: documentation/content/en/articles/linux-emulation/_index.adoc:516
#, no-wrap
msgid "Blocking"
msgstr "Блокирующие"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:522
+#: documentation/content/en/articles/linux-emulation/_index.adoc:521
msgid ""
"Block locks let waiters to be descheduled and blocked until the lock owner "
"does not drop it and wakes up one or more contenders. To avoid starvation "
@@ -1628,13 +1628,13 @@ msgstr ""
"нет особых условий."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:524
+#: documentation/content/en/articles/linux-emulation/_index.adoc:523
#, no-wrap
msgid "Sleeping"
msgstr "Спящие"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:529
+#: documentation/content/en/articles/linux-emulation/_index.adoc:528
msgid ""
"Sleep locks let waiters to be descheduled and fall asleep until the lock "
"holder does not drop it and wakes up one or more waiters. Since sleep locks "
@@ -1650,7 +1650,7 @@ msgstr ""
"реализованы через интерфейс man:sleepqueue[9]."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:533
+#: documentation/content/en/articles/linux-emulation/_index.adoc:532
msgid ""
"The order used to acquire locks is very important, not only for the "
"possibility to deadlock due at lock order reversals, but even because lock "
@@ -1678,27 +1678,27 @@ msgstr ""
"атомарных операций или барьеров планирования)."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:535
+#: documentation/content/en/articles/linux-emulation/_index.adoc:534
msgid "This is a list of lock with their respective behaviors:"
msgstr "Вот список блокировок с соответствующими типами поведения:"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:537
+#: documentation/content/en/articles/linux-emulation/_index.adoc:536
msgid "spin mutex - spinning - man:mutex[9]"
msgstr "spin mutex – вращающийся режим – man:mutex[9]"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:538
+#: documentation/content/en/articles/linux-emulation/_index.adoc:537
msgid "sleep mutex - blocking - man:mutex[9]"
msgstr "sleep mutex – блокирующий режим – man:mutex[9]"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:539
+#: documentation/content/en/articles/linux-emulation/_index.adoc:538
msgid "pool mutex - blocking - man:mtx[pool]"
msgstr "pool mutex – блокирующий режим – man:mtx[pool]"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:540
+#: documentation/content/en/articles/linux-emulation/_index.adoc:539
msgid ""
"sleep family - sleeping - man:sleep[9] pause tsleep msleep msleep spin "
"msleep rw msleep sx"
@@ -1707,32 +1707,32 @@ msgstr ""
"msleep_spin msleep_rw msleep_sx"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:541
+#: documentation/content/en/articles/linux-emulation/_index.adoc:540
msgid "condvar - sleeping - man:condvar[9]"
msgstr "condvar – спящий режим – man:condvar[9]"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:542
+#: documentation/content/en/articles/linux-emulation/_index.adoc:541
msgid "rwlock - blocking - man:rwlock[9]"
msgstr "rwlock – блокирующий режим – man:rwlock[9]"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:543
+#: documentation/content/en/articles/linux-emulation/_index.adoc:542
msgid "sxlock - sleeping - man:sx[9]"
msgstr "sxlock – спящий режим – man:sx[9]"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:544
+#: documentation/content/en/articles/linux-emulation/_index.adoc:543
msgid "lockmgr - sleeping - man:lockmgr[9]"
msgstr "lockmgr – спящий режим – man:lockmgr[9]"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:545
+#: documentation/content/en/articles/linux-emulation/_index.adoc:544
msgid "semaphores - sleeping - man:sema[9]"
msgstr "семафоры – спящий режим – man:sema[9]"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:547
+#: documentation/content/en/articles/linux-emulation/_index.adoc:546
msgid ""
"Among these locks only mutexes, sxlocks, rwlocks and lockmgrs are intended "
"to handle recursion, but currently recursion is only supported by mutexes "
@@ -1743,13 +1743,13 @@ msgstr ""
"поддерживается только мьютексами и lockmgr."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:549
+#: documentation/content/en/articles/linux-emulation/_index.adoc:548
#, no-wrap
msgid "Scheduling barriers"
msgstr "Барьеры планирования"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:553
+#: documentation/content/en/articles/linux-emulation/_index.adoc:552
msgid ""
"Scheduling barriers are intended to be used to drive scheduling of "
"threading. They consist mainly of three different stubs:"
@@ -1758,22 +1758,22 @@ msgstr ""
"в основном состоят из трёх различных заглушек:"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:555
+#: documentation/content/en/articles/linux-emulation/_index.adoc:554
msgid "critical sections (and preemption)"
msgstr "критические секции (и вытеснение)"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:556
+#: documentation/content/en/articles/linux-emulation/_index.adoc:555
msgid "sched_bind"
msgstr "sched_bind"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:557
+#: documentation/content/en/articles/linux-emulation/_index.adoc:556
msgid "sched_pin"
msgstr "sched_pin"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:559
+#: documentation/content/en/articles/linux-emulation/_index.adoc:558
msgid ""
"Generally, these should be used only in a particular context and even if "
"they can often replace locks, they should be avoided because they do not let "
@@ -1786,13 +1786,13 @@ msgstr ""
"инструментов отладки блокировок (например, man:witness[4])."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:561
+#: documentation/content/en/articles/linux-emulation/_index.adoc:560
#, no-wrap
msgid "Critical sections"
msgstr "Критические секции"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:569
+#: documentation/content/en/articles/linux-emulation/_index.adoc:568
msgid ""
"The FreeBSD kernel has been made preemptive basically to deal with interrupt "
"threads. In fact, to avoid high interrupt latency, time-sharing priority "
@@ -1820,13 +1820,13 @@ msgstr ""
"все преимущества, которые даёт вытеснение."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:571
+#: documentation/content/en/articles/linux-emulation/_index.adoc:570
#, no-wrap
msgid "sched_pin/sched_unpin"
msgstr "sched_pin/sched_unpin"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:577
+#: documentation/content/en/articles/linux-emulation/_index.adoc:576
msgid ""
"Another way to deal with preemption is the `sched_pin()` interface. If a "
"piece of code is closed in the `sched_pin()` and `sched_unpin()` pair of "
@@ -1846,13 +1846,13 @@ msgstr ""
"условием для нашего кода."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:579
+#: documentation/content/en/articles/linux-emulation/_index.adoc:578
#, no-wrap
msgid "sched_bind/sched_unbind"
msgstr "sched_bind/sched_unbind"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:584
+#: documentation/content/en/articles/linux-emulation/_index.adoc:583
msgid ""
"`sched_bind` is an API used to bind a thread to a particular CPU for all the "
"time it executes the code, until a `sched_unbind` function call does not "
@@ -1872,13 +1872,13 @@ msgstr ""
"`sched_lock`."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:586
+#: documentation/content/en/articles/linux-emulation/_index.adoc:585
#, no-wrap
msgid "Proc structure"
msgstr "Структура proc"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:592
+#: documentation/content/en/articles/linux-emulation/_index.adoc:591
msgid ""
"Various emulation layers sometimes require some additional per-process "
"data. It can manage separate structures (a list, a tree etc.) containing "
@@ -1895,7 +1895,7 @@ msgstr ""
"для уровня эмуляции. Эта запись `proc` защищена мьютексом proc."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:597
+#: documentation/content/en/articles/linux-emulation/_index.adoc:596
msgid ""
"The FreeBSD `proc` structure contains a `p_sysent` entry that identifies, "
"which ABI this process is running. In fact, it is a pointer to the "
@@ -1912,7 +1912,7 @@ msgstr ""
"эмуляционному слою. Код обычно выглядит следующим образом:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:602
+#: documentation/content/en/articles/linux-emulation/_index.adoc:601
#, no-wrap
msgid ""
"if (__predict_true(p->p_sysent != &elf_Linux(R)_sysvec))\n"
@@ -1922,7 +1922,7 @@ msgstr ""
"\t return;\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:606
+#: documentation/content/en/articles/linux-emulation/_index.adoc:605
msgid ""
"As you can see, we effectively use the `__predict_true` modifier to collapse "
"the most common case (FreeBSD process) to a simple return operation thus "
@@ -1938,13 +1938,13 @@ msgstr ""
"в формате A.OUT на архитектуре i386."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:608
+#: documentation/content/en/articles/linux-emulation/_index.adoc:607
#, no-wrap
msgid "VFS"
msgstr "VFS"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:617
+#: documentation/content/en/articles/linux-emulation/_index.adoc:616
msgid ""
"The FreeBSD VFS subsystem is very complex but the Linux(R) emulation layer "
"uses just a small subset via a well defined API. It can either operate on "
@@ -1965,13 +1965,13 @@ msgstr ""
"дескриптора могут указывать на один и тот же vnode."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:619
+#: documentation/content/en/articles/linux-emulation/_index.adoc:618
#, no-wrap
msgid "namei"
msgstr "namei"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:626
+#: documentation/content/en/articles/linux-emulation/_index.adoc:625
msgid ""
"The man:namei[9] routine is a central entry point to pathname lookup and "
"translation. It traverses the path point by point from the starting point "
@@ -1990,13 +1990,13 @@ msgstr ""
"используется повсеместно в ядре, и её производительность крайне важна."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:628
+#: documentation/content/en/articles/linux-emulation/_index.adoc:627
#, no-wrap
msgid "vn_fullpath"
msgstr "vn_fullpath"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:634
+#: documentation/content/en/articles/linux-emulation/_index.adoc:633
msgid ""
"The man:vn_fullpath[9] function takes the best effort to traverse VFS name "
"cache and returns a path for a given (locked) vnode. This process is "
@@ -2013,13 +2013,13 @@ msgstr ""
"Данная процедура используется в нескольких местах Linuxulator."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:636
+#: documentation/content/en/articles/linux-emulation/_index.adoc:635
#, no-wrap
msgid "Vnode operations"
msgstr "Операции с vnode"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:639
+#: documentation/content/en/articles/linux-emulation/_index.adoc:638
msgid ""
"`fgetvp` - given a thread and a file descriptor number it returns the "
"associated vnode"
@@ -2028,22 +2028,22 @@ msgstr ""
"связанный vnode"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:640
+#: documentation/content/en/articles/linux-emulation/_index.adoc:639
msgid "man:vn_lock[9] - locks a vnode"
msgstr "man:vn_lock[9] - блокирует vnode"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:641
+#: documentation/content/en/articles/linux-emulation/_index.adoc:640
msgid "`vn_unlock` - unlocks a vnode"
msgstr "`vn_unlock` - разблокирует vnode"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:642
+#: documentation/content/en/articles/linux-emulation/_index.adoc:641
msgid "man:VOP_READDIR[9] - reads a directory referenced by a vnode"
msgstr "man:VOP_READDIR[9] - читает каталог, на который ссылается vnode"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:643
+#: documentation/content/en/articles/linux-emulation/_index.adoc:642
msgid ""
"man:VOP_GETATTR[9] - gets attributes of a file or a directory referenced by "
"a vnode"
@@ -2052,44 +2052,44 @@ msgstr ""
"ссылается vnode"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:644
+#: documentation/content/en/articles/linux-emulation/_index.adoc:643
msgid "man:VOP_LOOKUP[9] - looks up a path to a given directory"
msgstr "man:VOP_LOOKUP[9] - выполняет поиск пути к заданному каталогу"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:645
+#: documentation/content/en/articles/linux-emulation/_index.adoc:644
msgid "man:VOP_OPEN[9] - opens a file referenced by a vnode"
msgstr "man:VOP_OPEN[9] - открывает файл, на который ссылается vnode"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:646
+#: documentation/content/en/articles/linux-emulation/_index.adoc:645
msgid "man:VOP_CLOSE[9] - closes a file referenced by a vnode"
msgstr "man:VOP_CLOSE[9] - закрывает файл, на который ссылается vnode"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:647
+#: documentation/content/en/articles/linux-emulation/_index.adoc:646
msgid "man:vput[9] - decrements the use count for a vnode and unlocks it"
msgstr ""
"man:vput[9] - уменьшает счетчик использования для vnode и разблокирует его"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:648
+#: documentation/content/en/articles/linux-emulation/_index.adoc:647
msgid "man:vrele[9] - decrements the use count for a vnode"
msgstr "man:vrele[9] - уменьшает счетчик использования для vnode"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:649
+#: documentation/content/en/articles/linux-emulation/_index.adoc:648
msgid "man:vref[9] - increments the use count for a vnode"
msgstr "man:vref[9] - увеличивает счетчик использования для vnode"
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:651
+#: documentation/content/en/articles/linux-emulation/_index.adoc:650
#, no-wrap
msgid "File handler operations"
msgstr "Операции обработчика файлов (handler)"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:654
+#: documentation/content/en/articles/linux-emulation/_index.adoc:653
msgid ""
"`fget` - given a thread and a file descriptor number it returns associated "
"file handler and references it"
@@ -2098,23 +2098,23 @@ msgstr ""
"связанный обработчик файла и делает на него ссылку"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:655
+#: documentation/content/en/articles/linux-emulation/_index.adoc:654
msgid "`fdrop` - drops a reference to a file handler"
msgstr "`fdrop` - освобождает ссылку на обработчик файлов"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:656
+#: documentation/content/en/articles/linux-emulation/_index.adoc:655
msgid "`fhold` - references a file handler"
msgstr "`fhold` - ссылается на обработчик файла"
#. type: Title ==
-#: documentation/content/en/articles/linux-emulation/_index.adoc:658
+#: documentation/content/en/articles/linux-emulation/_index.adoc:657
#, no-wrap
msgid "Linux(R) emulation layer -MD part"
msgstr "Слой эмуляции Linux(R) - машинозависимая часть"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:666
+#: documentation/content/en/articles/linux-emulation/_index.adoc:665
msgid ""
"This section deals with implementation of Linux(R) emulation layer in "
"FreeBSD operating system. It first describes the machine dependent part "
@@ -2136,13 +2136,13 @@ msgstr ""
"устарел и не поддерживается."
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:668
+#: documentation/content/en/articles/linux-emulation/_index.adoc:667
#, no-wrap
msgid "Syscall handling"
msgstr "Обработка системных вызовов"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:672
+#: documentation/content/en/articles/linux-emulation/_index.adoc:671
msgid ""
"Syscall handling is mostly written in [.filename]#linux_sysvec.c#, which "
"covers most of the routines pointed out in the `sysentvec` structure. When "
@@ -2156,13 +2156,13 @@ msgstr ""
"linux prepsyscall для ABI Linux(R)."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:674
+#: documentation/content/en/articles/linux-emulation/_index.adoc:673
#, no-wrap
msgid "Linux(R) prepsyscall"
msgstr "Linux(R) prepsyscall"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:681
+#: documentation/content/en/articles/linux-emulation/_index.adoc:680
msgid ""
"Linux(R) passes arguments to syscalls via registers (that is why it is "
"limited to 6 parameters on i386) while FreeBSD uses the stack. The Linux(R) "
@@ -2175,19 +2175,20 @@ msgstr ""
"Linux(R) передаёт аргументы системных вызовов через регистры (поэтому на "
"i386 ограничено 6 параметрами), тогда как FreeBSD использует стек. "
"Подпрограмма Linux(R) `prepsyscall` должна копировать параметры из регистров "
-"в стек. Порядок регистров следующий: `%ebx`, `%ecx`, `%edx`, `%esi`, `%edi`"
-", `%ebp`. Однако это верно только для _большинства_ системных вызовов. "
-"Некоторые (особенно `clone`) используют другой порядок, но это, к счастью, "
-"легко исправить, добавив фиктивный параметр в прототип `linux_clone`."
+"в стек. Порядок регистров следующий: `%ebx`, `%ecx`, `%edx`, `%esi`, `"
+"%edi`, `%ebp`. Однако это верно только для _большинства_ системных "
+"вызовов. Некоторые (особенно `clone`) используют другой порядок, но это, к "
+"счастью, легко исправить, добавив фиктивный параметр в прототип "
+"`linux_clone`."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:683
+#: documentation/content/en/articles/linux-emulation/_index.adoc:682
#, no-wrap
msgid "Syscall writing"
msgstr "Как писать системные вызовы"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:687
+#: documentation/content/en/articles/linux-emulation/_index.adoc:686
msgid ""
"Every syscall implemented in the Linuxulator must have its prototype with "
"various flags in [.filename]#syscalls.master#. The form of the file is:"
@@ -2197,7 +2198,7 @@ msgstr ""
"следующий:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:695
+#: documentation/content/en/articles/linux-emulation/_index.adoc:694
#, no-wrap
msgid ""
"...\n"
@@ -2213,7 +2214,7 @@ msgstr ""
"...\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:705
+#: documentation/content/en/articles/linux-emulation/_index.adoc:704
msgid ""
"The first column represents the syscall number. The second column is for "
"auditing support. The third column represents the syscall type. It is "
@@ -2236,7 +2237,7 @@ msgstr ""
"не реализован, и возвращает `ENOSYS`)."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:708
+#: documentation/content/en/articles/linux-emulation/_index.adoc:707
msgid ""
"From [.filename]#syscalls.master# a script generates three files: [."
"filename]#linux_syscall.h#, [.filename]#linux_proto.h# and [."
@@ -2249,7 +2250,7 @@ msgstr ""
"определения имён системных вызовов и их числовых значений, например:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:716
+#: documentation/content/en/articles/linux-emulation/_index.adoc:715
#, no-wrap
msgid ""
"...\n"
@@ -2265,7 +2266,7 @@ msgstr ""
"...\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:719
+#: documentation/content/en/articles/linux-emulation/_index.adoc:718
msgid ""
"The [.filename]#linux_proto.h# contains structure definitions of arguments "
"to every syscall, e.g.:"
@@ -2274,7 +2275,7 @@ msgstr ""
"каждого системного вызова, например:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:725
+#: documentation/content/en/articles/linux-emulation/_index.adoc:724
#, no-wrap
msgid ""
"struct linux_fork_args {\n"
@@ -2286,7 +2287,7 @@ msgstr ""
"};\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:728
+#: documentation/content/en/articles/linux-emulation/_index.adoc:727
msgid ""
"And finally, [.filename]#linux_sysent.c# contains structure describing the "
"system entry table, used to actually dispatch a syscall, e.g.:"
@@ -2296,7 +2297,7 @@ msgstr ""
"системного вызова, например:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:733
+#: documentation/content/en/articles/linux-emulation/_index.adoc:732
#, no-wrap
msgid ""
"{ 0, (sy_call_t *)linux_fork, AUE_FORK, NULL, 0, 0 }, /* 2 = linux_fork */\n"
@@ -2306,7 +2307,7 @@ msgstr ""
"{ AS(close_args), (sy_call_t *)close, AUE_CLOSE, NULL, 0, 0 }, /* 6 = close */\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:737
+#: documentation/content/en/articles/linux-emulation/_index.adoc:736
msgid ""
"As you can see `linux_fork` is implemented in Linuxulator itself so the "
"definition is of `STD` type and has no argument, which is exhibited by the "
@@ -2323,13 +2324,13 @@ msgstr ""
"вызывает настоящий man:close[2] в ядре."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:739
+#: documentation/content/en/articles/linux-emulation/_index.adoc:738
#, no-wrap
msgid "Dummy syscalls"
msgstr "Нереализованные системные вызовы"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:745
+#: documentation/content/en/articles/linux-emulation/_index.adoc:744
msgid ""
"The Linux(R) emulation layer is not complete, as some syscalls are not "
"implemented properly and some are not implemented at all. The emulation "
@@ -2353,13 +2354,13 @@ msgstr ""
"понимать, какие системные вызовы более важны для реализации."
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:747
+#: documentation/content/en/articles/linux-emulation/_index.adoc:746
#, no-wrap
msgid "Signal handling"
msgstr "Обработка сигналов"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:751
+#: documentation/content/en/articles/linux-emulation/_index.adoc:750
msgid ""
"Signal handling is done generally in the FreeBSD kernel for all binary "
"compatibilities with a call to a compat-dependent layer. Linux(R) "
@@ -2371,13 +2372,13 @@ msgstr ""
"`linux_sendsig`."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:753
+#: documentation/content/en/articles/linux-emulation/_index.adoc:752
#, no-wrap
msgid "Linux(R) sendsig"
msgstr "Linux(R) sendsig"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:760
+#: documentation/content/en/articles/linux-emulation/_index.adoc:759
msgid ""
"This routine first checks whether the signal has been installed with a "
"`SA_SIGINFO` in which case it calls `linux_rt_sendsig` routine instead. "
@@ -2401,13 +2402,13 @@ msgstr ""
"выполнения обработчика сигнала."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:762
+#: documentation/content/en/articles/linux-emulation/_index.adoc:761
#, no-wrap
msgid "linux_rt_sendsig"
msgstr "linux_rt_sendsig"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:767
+#: documentation/content/en/articles/linux-emulation/_index.adoc:766
msgid ""
"This routine is similar to `linux_sendsig` just the signal context "
"preparation is different. It adds `siginfo`, `ucontext`, and some POSIX(R) "
@@ -2422,13 +2423,13 @@ msgstr ""
"выполнения."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:769
+#: documentation/content/en/articles/linux-emulation/_index.adoc:768
#, no-wrap
msgid "linux_sigreturn"
msgstr "linux_sigreturn"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:774
+#: documentation/content/en/articles/linux-emulation/_index.adoc:773
msgid ""
"This syscall is used for return from the signal handler. It does some "
"security checks and restores the original process context. It also unmasks "
@@ -2439,13 +2440,13 @@ msgstr ""
"контекст процесса. Также он разблокирует сигнал в маске сигналов процесса."
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:776
+#: documentation/content/en/articles/linux-emulation/_index.adoc:775
#, no-wrap
msgid "Ptrace"
msgstr "Ptrace"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:782
+#: documentation/content/en/articles/linux-emulation/_index.adoc:781
msgid ""
"Many UNIX(R) derivates implement the man:ptrace[2] syscall to allow various "
"tracking and debugging features. This facility enables the tracing process "
@@ -2467,7 +2468,7 @@ msgstr ""
"для UNIX(R), реализованным в большинстве UNIX(R)-систем по всему миру."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:788
+#: documentation/content/en/articles/linux-emulation/_index.adoc:787
msgid ""
"Linux(R) emulation in FreeBSD implements the man:ptrace[2] facility in [."
"filename]#linux_ptrace.c#. The routines for converting registers between "
@@ -2492,7 +2493,7 @@ msgstr ""
"man:ptrace[2] необходимо выполнить copyout для сохранения семантики Linux(R)."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:792
+#: documentation/content/en/articles/linux-emulation/_index.adoc:791
msgid ""
"The man:ptrace[2] implementation in Linuxulator has some known weaknesses. "
"There have been panics seen when using `strace` (which is a man:ptrace[2] "
@@ -2504,7 +2505,7 @@ msgstr ""
"man:ptrace[2]) в среде Linuxulator. Также `PT_SYSCALL` не реализован."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:799
+#: documentation/content/en/articles/linux-emulation/_index.adoc:798
msgid ""
"Whenever a Linux(R) process running in the emulation layer traps the trap "
"itself is handled transparently with the only exception of the trap "
@@ -2518,7 +2519,7 @@ msgstr ""
"здесь. Код на самом деле очень короткий:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:805
+#: documentation/content/en/articles/linux-emulation/_index.adoc:804
#, no-wrap
msgid ""
"static int\n"
@@ -2530,7 +2531,7 @@ msgstr ""
"{\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:808
+#: documentation/content/en/articles/linux-emulation/_index.adoc:807
#, no-wrap
msgid ""
" if (signal != SIGBUS)\n"
@@ -2540,13 +2541,13 @@ msgstr ""
" return signal;\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:810
+#: documentation/content/en/articles/linux-emulation/_index.adoc:809
#, no-wrap
msgid " switch (trap_code) {\n"
msgstr " switch (trap_code) {\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:816
+#: documentation/content/en/articles/linux-emulation/_index.adoc:815
#, no-wrap
msgid ""
" case T_PROTFLT:\n"
@@ -2562,7 +2563,7 @@ msgstr ""
" return SIGSEGV;\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:821
+#: documentation/content/en/articles/linux-emulation/_index.adoc:820
#, no-wrap
msgid ""
" default:\n"
@@ -2576,13 +2577,13 @@ msgstr ""
"}\n"
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:824
+#: documentation/content/en/articles/linux-emulation/_index.adoc:823
#, no-wrap
msgid "Stack fixup"
msgstr "Исправление стека"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:831
+#: documentation/content/en/articles/linux-emulation/_index.adoc:830
msgid ""
"The RTLD run-time link-editor expects so called AUX tags on stack during an "
"`execve` so a fixup must be done to ensure this. Of course, every RTLD "
@@ -2601,13 +2602,13 @@ msgstr ""
"способом."
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:833
+#: documentation/content/en/articles/linux-emulation/_index.adoc:832
#, no-wrap
msgid "A.OUT support"
msgstr "Поддержка A.OUT"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:840
+#: documentation/content/en/articles/linux-emulation/_index.adoc:839
msgid ""
"The Linux(R) emulation layer on i386 also supports Linux(R) A.OUT binaries. "
"Pretty much everything described in the previous sections must be "
@@ -2630,13 +2631,13 @@ msgstr ""
"файлов Linux(R) A.OUT, находится в файле [.filename]#imgact_linux.c#."
#. type: Title ==
-#: documentation/content/en/articles/linux-emulation/_index.adoc:842
+#: documentation/content/en/articles/linux-emulation/_index.adoc:841
#, no-wrap
msgid "Linux(R) emulation layer -MI part"
msgstr "Слой эмуляции Linux(R) - машинонезависимая часть"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:847
+#: documentation/content/en/articles/linux-emulation/_index.adoc:846
msgid ""
"This section talks about machine independent part of the Linuxulator. It "
"covers the emulation infrastructure needed for Linux(R) 2.6 emulation, the "
@@ -2649,13 +2650,13 @@ msgstr ""
"обсуждаем некоторые системные вызовы."
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:849
+#: documentation/content/en/articles/linux-emulation/_index.adoc:848
#, no-wrap
msgid "Description of NPTL"
msgstr "Описание NPTL"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:857
+#: documentation/content/en/articles/linux-emulation/_index.adoc:856
msgid ""
"One of the major areas of progress in development of Linux(R) 2.6 was "
"threading. Prior to 2.6, the Linux(R) threading support was implemented in "
@@ -2682,7 +2683,7 @@ msgstr ""
"была разработана новая система потоков под названием NPTL."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:863
+#: documentation/content/en/articles/linux-emulation/_index.adoc:862
msgid ""
"The NPTL library focused on two things but a third thing came along so it is "
"usually considered a part of NPTL. Those two things were embedding of "
@@ -2701,7 +2702,7 @@ msgstr ""
"является стандартной библиотекой потоков в системах Linux(R)."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:867
+#: documentation/content/en/articles/linux-emulation/_index.adoc:866
msgid ""
"The FreeBSD Linuxulator implementation approaches the NPTL in three main "
"areas. The TLS, futexes and PID mangling, which is meant to simulate the "
@@ -2713,13 +2714,13 @@ msgstr ""
"направлений."
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:869
+#: documentation/content/en/articles/linux-emulation/_index.adoc:868
#, no-wrap
msgid "Linux(R) 2.6 emulation infrastructure"
msgstr "Инфраструктура эмуляции Linux(R) 2.6"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:872
+#: documentation/content/en/articles/linux-emulation/_index.adoc:871
msgid ""
"These sections deal with the way Linux(R) threads are managed and how we "
"simulate that in FreeBSD."
@@ -2728,13 +2729,13 @@ msgstr ""
"моделируем это в FreeBSD."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:874
+#: documentation/content/en/articles/linux-emulation/_index.adoc:873
#, no-wrap
msgid "Runtime determining of 2.6 emulation"
msgstr "Определение эмуляции 2.6 во время выполнения"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:883
+#: documentation/content/en/articles/linux-emulation/_index.adoc:882
msgid ""
"The Linux(R) emulation layer in FreeBSD supports runtime setting of the "
"emulated version. This is done via man:sysctl[8], namely `compat.linux."
@@ -2760,13 +2761,13 @@ msgstr ""
"Linux(R), так как это может привести к проблемам."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:885
+#: documentation/content/en/articles/linux-emulation/_index.adoc:884
#, no-wrap
msgid "Linux(R) processes and thread identifiers"
msgstr "Идентификаторы процессов и потоков Linux(R)"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:892
+#: documentation/content/en/articles/linux-emulation/_index.adoc:891
msgid ""
"The semantics of Linux(R) threading are a little confusing and uses entirely "
"different nomenclature to FreeBSD. A process in Linux(R) consists of a "
@@ -2782,7 +2783,7 @@ msgstr ""
"равен TGID."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:898
+#: documentation/content/en/articles/linux-emulation/_index.adoc:897
msgid ""
"The thread in NPTL is just an ordinary process that happens to have TGID not "
"equal to PID and have a group leader not equal to itself (and shared VM etc. "
@@ -2803,7 +2804,7 @@ msgstr ""
"выглядит небезопасно с точки зрения возможных ошибок."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:901
+#: documentation/content/en/articles/linux-emulation/_index.adoc:900
msgid ""
"Every NPTL thread is created by a call to the `clone` syscall with a "
"specific set of flags (more in the next subsection). The NPTL implements "
@@ -2814,7 +2815,7 @@ msgstr ""
"модель потоков 1:1."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:903
+#: documentation/content/en/articles/linux-emulation/_index.adoc:902
msgid ""
"In FreeBSD we emulate NPTL threads with ordinary FreeBSD processes that "
"share VM space, etc. and the PID gymnastic is just mimicked in the emulation "
@@ -2827,7 +2828,7 @@ msgstr ""
"процессу. Структура, прикреплённая к процессу, выглядит следующим образом:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:908
+#: documentation/content/en/articles/linux-emulation/_index.adoc:907
#, no-wrap
msgid ""
"struct linux_emuldata {\n"
@@ -2837,7 +2838,7 @@ msgstr ""
" pid_t pid;\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:911
+#: documentation/content/en/articles/linux-emulation/_index.adoc:910
#, no-wrap
msgid ""
" int *child_set_tid; /* in clone(): Child.s TID to set on clone */\n"
@@ -2847,19 +2848,19 @@ msgstr ""
" int *child_clear_tid;/* in clone(): Child.s TID to clear on exit */\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:913
+#: documentation/content/en/articles/linux-emulation/_index.adoc:912
#, no-wrap
msgid " struct linux_emuldata_shared *shared;\n"
msgstr " struct linux_emuldata_shared *shared;\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:915
+#: documentation/content/en/articles/linux-emulation/_index.adoc:914
#, no-wrap
msgid " int pdeath_signal; /* parent death signal */\n"
msgstr " int pdeath_signal; /* parent death signal */\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:918
+#: documentation/content/en/articles/linux-emulation/_index.adoc:917
#, no-wrap
msgid ""
" LIST_ENTRY(linux_emuldata) threads; /* list of linux threads */\n"
@@ -2869,7 +2870,7 @@ msgstr ""
"};\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:925
+#: documentation/content/en/articles/linux-emulation/_index.adoc:924
msgid ""
"The PID is used to identify the FreeBSD process that attaches this "
"structure. The `child_se_tid` and `child_clear_tid` are used for TID "
@@ -2888,25 +2889,25 @@ msgstr ""
"потоков. Структура `linux_emuldata_shared` выглядит следующим образом:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:929
+#: documentation/content/en/articles/linux-emulation/_index.adoc:928
#, no-wrap
msgid "struct linux_emuldata_shared {\n"
msgstr "struct linux_emuldata_shared {\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:931
+#: documentation/content/en/articles/linux-emulation/_index.adoc:930
#, no-wrap
msgid " int refs;\n"
msgstr " int refs;\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:933
+#: documentation/content/en/articles/linux-emulation/_index.adoc:932
#, no-wrap
msgid " pid_t group_pid;\n"
msgstr " pid_t group_pid;\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:936
+#: documentation/content/en/articles/linux-emulation/_index.adoc:935
#, no-wrap
msgid ""
" LIST_HEAD(, linux_emuldata) threads; /* head of list of linux threads */\n"
@@ -2916,7 +2917,7 @@ msgstr ""
"};\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:941
+#: documentation/content/en/articles/linux-emulation/_index.adoc:940
msgid ""
"The `refs` is a reference counter being used to determine when we can free "
"the structure to avoid memory leaks. The `group_pid` is to identify PID ( = "
@@ -2929,7 +2930,7 @@ msgstr ""
"`threads` является головой списка потоков в процессе."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:944
+#: documentation/content/en/articles/linux-emulation/_index.adoc:943
msgid ""
"The `linux_emuldata` structure can be obtained from the process using "
"`em_find`. The prototype of the function is:"
@@ -2938,13 +2939,13 @@ msgstr ""
"Прототип функции выглядит следующим образом:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:948
+#: documentation/content/en/articles/linux-emulation/_index.adoc:947
#, no-wrap
msgid "struct linux_emuldata *em_find(struct proc *, int locked);\n"
msgstr "struct linux_emuldata *em_find(struct proc *, int locked);\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:953
+#: documentation/content/en/articles/linux-emulation/_index.adoc:952
msgid ""
"Here, `proc` is the process we want the emuldata structure from and the "
"locked parameter determines whether we want to lock or not. The accepted "
@@ -2955,13 +2956,13 @@ msgstr ""
"значения — `EMUL_DOLOCK` и `EMUL_DOUNLOCK`. Подробнее о блокировке позже."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:955
+#: documentation/content/en/articles/linux-emulation/_index.adoc:954
#, no-wrap
msgid "PID mangling"
msgstr "Преобразование PID"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:962
+#: documentation/content/en/articles/linux-emulation/_index.adoc:961
msgid ""
"As there is a difference in view as what to the idea of a process ID and "
"thread ID is between FreeBSD and Linux(R) we have to translate the view "
@@ -2982,7 +2983,7 @@ msgstr ""
"`linux_emuldata` является FreeBSD PID."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:966
+#: documentation/content/en/articles/linux-emulation/_index.adoc:965
msgid ""
"The above affects mainly getpid, getppid, gettid syscalls. Where we use PID/"
"TGID respectively. In copyout of TIDs in `child_clear_tid` and "
@@ -2993,13 +2994,13 @@ msgstr ""
"`child_clear_tid` и `child_set_tid` мы копируем FreeBSD PID."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:968
+#: documentation/content/en/articles/linux-emulation/_index.adoc:967
#, no-wrap
msgid "Clone syscall"
msgstr "Системный вызов clone"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:972
+#: documentation/content/en/articles/linux-emulation/_index.adoc:971
msgid ""
"The `clone` syscall is the way threads are created in Linux(R). The syscall "
"prototype looks like this:"
@@ -3008,7 +3009,7 @@ msgstr ""
"Linux(R). Прототип системного вызова выглядит следующим образом:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:977
+#: documentation/content/en/articles/linux-emulation/_index.adoc:976
#, no-wrap
msgid ""
"int linux_clone(l_int flags, void *stack, void *parent_tidptr, int dummy,\n"
@@ -3018,7 +3019,7 @@ msgstr ""
"void * child_tidptr);\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:987
+#: documentation/content/en/articles/linux-emulation/_index.adoc:986
msgid ""
"The `flags` parameter tells the syscall how exactly the processes should be "
"cloned. As described above, Linux(R) can create processes sharing various "
@@ -3053,7 +3054,7 @@ msgstr ""
"завершения ветвления процесса и при его завершении."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1001
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1000
msgid ""
"The syscall itself proceeds by setting corresponding flags depending on the "
"flags passed in. For example, `CLONE_VM` maps to RFMEM (sharing of VM), "
@@ -3100,7 +3101,7 @@ msgstr ""
"родительскому процессу через возвращаемое значение `clone`."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1004
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1003
msgid ""
"The `clone` syscall is able and in fact is used for emulating classic man:"
"fork[2] and man:vfork[2] syscalls. Newer glibc in a case of 2.6 kernel uses "
@@ -3112,13 +3113,13 @@ msgstr ""
"вызовов man:fork[2] и man:vfork[2]."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1006
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1005
#, no-wrap
msgid "Locking"
msgstr "Блокировка"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1012
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1011
msgid ""
"The locking is implemented to be per-subsystem because we do not expect a "
"lot of contention on these. There are two locks: `emul_lock` used to "
@@ -3130,33 +3131,33 @@ msgid ""
msgstr ""
"Блокировка реализована на уровне подсистем, поскольку не ожидается высокой "
"конкуренции за эти ресурсы. Существует две блокировки: `emul_lock`, "
-"используемая для защиты манипуляций с `linux_emuldata`, и `emul_shared_lock`"
-", используемая для манипуляций с `linux_emuldata_shared`. `emul_lock` "
-"представляет собой неспящий блокирующий мьютекс, в то время как "
+"используемая для защиты манипуляций с `linux_emuldata`, и "
+"`emul_shared_lock`, используемая для манипуляций с `linux_emuldata_shared`. "
+"`emul_lock` представляет собой неспящий блокирующий мьютекс, в то время как "
"`emul_shared_lock` — это спящий блокирующий `sx_lock`. Благодаря блокировке "
"на уровне подсистем мы можем объединять некоторые блокировки, поэтому "
"em_find предлагает доступ без блокировки."
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1014
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1013
#, no-wrap
msgid "TLS"
msgstr "TLS"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1017
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1016
msgid "This section deals with TLS also known as thread local storage."
msgstr ""
"Этот раздел посвящён TLS, также известному как локальное хранилище потока."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1019
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1018
#, no-wrap
msgid "Introduction to threading"
msgstr "Введение в многопоточность"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1040
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1039
msgid ""
"Threads in computer science are entities within a process that can be "
"scheduled independently from each other. The threads in the process share "
@@ -3224,13 +3225,13 @@ msgstr ""
"необязательную цену при переключении контекстов."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1042
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1041
#, no-wrap
msgid "Segments on i386"
msgstr "Сегменты на i386"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1049
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1048
msgid ""
"The i386 architecture implements the so called segments. A segment is a "
"description of an area of memory. The base address (bottom) of the memory "
@@ -3247,13 +3248,13 @@ msgstr ""
"сегмент с базовым адресом 0x1234 и длиной, а также следующий код:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1053
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1052
#, no-wrap
msgid "mov %edx,%gs:0x10\n"
msgstr "mov %edx,%gs:0x10\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1062
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1061
msgid ""
"This will load the content of the `%edx` register into memory location "
"0x1244. Some segment registers have a special use, for example `%cs` is "
@@ -3272,13 +3273,13 @@ msgstr ""
"для каждого процесса. Обе таблицы определяют до 8191 записей."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1064
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1063
#, no-wrap
msgid "Implementation on Linux(R) i386"
msgstr "Реализация на Linux(R) i386"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1072
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1071
msgid ""
"There are two main ways of setting up TLS in Linux(R). It can be set when "
"cloning a process using the `clone` syscall or it can call "
@@ -3292,8 +3293,8 @@ msgid ""
"entry. We exploit this in the emulation and in fact depend on it."
msgstr ""
"Существует два основных способа настройки TLS в Linux(R). Он может быть "
-"настроен при клонировании процесса с использованием системного вызова `clone`"
-" или с помощью вызова `set_thread_area`. Когда процесс передаёт флаг "
+"настроен при клонировании процесса с использованием системного вызова "
+"`clone` или с помощью вызова `set_thread_area`. Когда процесс передаёт флаг "
"`CLONE_SETTLS` в `clone`, ядро ожидает, что память, на которую указывает "
"регистр `%esi`, будет содержать пользовательское представление сегмента в "
"Linux(R), которое преобразуется в машинное представление сегмента и "
@@ -3304,19 +3305,19 @@ msgstr ""
"эмуляции и фактически зависим от этого."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1074
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1073
#, no-wrap
msgid "Emulation of Linux(R) TLS"
msgstr "Эмуляция Linux(R) TLS"
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1077
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1076
#, no-wrap
msgid "i386"
msgstr "i386"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1095
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1094
msgid ""
"Loading of TLS for the current thread happens by calling `set_thread_area` "
"while loading TLS for a second process in `clone` is done in the separate "
@@ -3371,13 +3372,13 @@ msgstr ""
"добавляет накладных расходов по сравнению с обычным FreeBSD."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1097
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1096
#, no-wrap
msgid "amd64"
msgstr "amd64"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1101
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1100
msgid ""
"The amd64 implementation is similar to the i386 one but there was initially "
"no 32bit segment descriptor used for this purpose (hence not even native "
@@ -3396,19 +3397,19 @@ msgstr ""
"отличаются, а формат дескриптора и загрузка немного различаются."
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1103
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1102
#, no-wrap
msgid "Futexes"
msgstr "Фьютексы"
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1106
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1105
#, no-wrap
msgid "Introduction to synchronization"
msgstr "Введение в синхронизацию"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1116
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1115
msgid ""
"Threads need some kind of synchronization and POSIX(R) provides some of "
"them: mutexes for mutual exclusion, read-write locks for mutual exclusion "
@@ -3452,7 +3453,7 @@ msgstr ""
"синхронизации."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1120
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1119
msgid ""
"Threaded programs should be written with as little contention on locks as "
"possible. Otherwise, instead of doing useful work the thread just waits on "
@@ -3465,13 +3466,13 @@ msgstr ""
"многопоточные программы демонстрируют низкую конкуренцию за блокировки."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1122
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1121
#, no-wrap
msgid "Futexes introduction"
msgstr "Введение в фьютексы"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1127
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1126
msgid ""
"Linux(R) implements 1:1 threading, i.e. it has to use in-kernel "
"synchronization primitives. As stated earlier, well written threaded "
@@ -3486,7 +3487,7 @@ msgstr ""
"счётчика ссылок мьютекса, что очень быстро, как показано в следующем примере:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1133
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1132
#, no-wrap
msgid ""
"pthread_mutex_lock(&mutex);\n"
@@ -3498,7 +3499,7 @@ msgstr ""
"pthread_mutex_unlock(&mutex);\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1136
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1135
msgid ""
"1:1 threading forces us to perform two syscalls for those mutex calls, which "
"is very slow."
@@ -3507,7 +3508,7 @@ msgstr ""
"мьютекса, что очень медленно."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1141
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1140
msgid ""
"The solution Linux(R) 2.6 implements is called futexes. Futexes implement "
"the check for contention in userspace and call kernel primitives only in a "
@@ -3522,24 +3523,24 @@ msgstr ""
"гибкую реализацию примитивов синхронизации."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1143
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1142
#, no-wrap
msgid "Futex API"
msgstr "API фьютексов"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1146
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1145
msgid "The futex syscall looks like this:"
msgstr "Системный вызов futex выглядит следующим образом:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1150
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1149
#, no-wrap
msgid "int futex(void *uaddr, int op, int val, struct timespec *timeout, void *uaddr2, int val3);\n"
msgstr "int futex(void *uaddr, int op, int val, struct timespec *timeout, void *uaddr2, int val3);\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1153
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1152
msgid ""
"In this example `uaddr` is an address of the mutex in userspace, `op` is an "
"operation we are about to perform and the other parameters have per-"
@@ -3550,48 +3551,48 @@ msgstr ""
"имеют значение, зависящее от конкретной операции."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1155
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1154
msgid "Futexes implement the following operations:"
msgstr "Фьютексы реализуют следующие операции:"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1157
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1156
msgid "`FUTEX_WAIT`"
msgstr "`FUTEX_WAIT`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1158
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1157
msgid "`FUTEX_WAKE`"
msgstr "`FUTEX_WAKE`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1159
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1158
msgid "`FUTEX_FD`"
msgstr "`FUTEX_FD`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1160
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1159
msgid "`FUTEX_REQUEUE`"
msgstr "`FUTEX_REQUEUE`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1161
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1160
msgid "`FUTEX_CMP_REQUEUE`"
msgstr "`FUTEX_CMP_REQUEUE`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1162
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1161
msgid "`FUTEX_WAKE_OP`"
msgstr "`FUTEX_WAKE_OP`"
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1164
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1163
#, no-wrap
msgid "FUTEX_WAIT"
msgstr "FUTEX_WAIT"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1169
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1168
msgid ""
"This operation verifies that on address `uaddr` the value `val` is written. "
"If not, `EWOULDBLOCK` is returned, otherwise the thread is queued on the "
@@ -3605,13 +3606,13 @@ msgstr ""
"задает максимальное время ожидания, в противном случае ожидание бесконечно."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1171
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1170
#, no-wrap
msgid "FUTEX_WAKE"
msgstr "FUTEX_WAKE"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1174
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1173
msgid ""
"This operation takes a futex at `uaddr` and wakes up `val` first futexes "
"queued on this futex."
@@ -3620,24 +3621,24 @@ msgstr ""
"фьютексов, ожидающих в очереди на этом фьютексе."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1176
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1175
#, no-wrap
msgid "FUTEX_FD"
msgstr "FUTEX_FD"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1179
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1178
msgid "This operations associates a file descriptor with a given futex."
msgstr "Эта операция связывает файловый дескриптор с заданным фьютексом."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1181
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1180
#, no-wrap
msgid "FUTEX_REQUEUE"
msgstr "FUTEX_REQUEUE"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1184
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1183
msgid ""
"This operation takes `val` threads queued on futex at `uaddr`, wakes them "
"up, and takes `val2` next threads and requeues them on futex at `uaddr2`."
@@ -3647,13 +3648,13 @@ msgstr ""
"фьютекса по адресу `uaddr2`."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1186
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1185
#, no-wrap
msgid "FUTEX_CMP_REQUEUE"
msgstr "FUTEX_CMP_REQUEUE"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1189
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1188
msgid ""
"This operation does the same as `FUTEX_REQUEUE` but it checks that `val3` "
"equals to `val` first."
@@ -3662,13 +3663,13 @@ msgstr ""
"проверяет, что `val3` равно `val`."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1191
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1190
#, no-wrap
msgid "FUTEX_WAKE_OP"
msgstr "FUTEX_WAKE_OP"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1195
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1194
msgid ""
"This operation performs an atomic operation on `val3` (which contains coded "
"some other value) and `uaddr`. Then it wakes up `val` threads on futex at "
@@ -3682,37 +3683,37 @@ msgstr ""
"`uaddr2`."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1197
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1196
msgid "The operations implemented in `FUTEX_WAKE_OP`:"
msgstr "Операции, реализованные в `FUTEX_WAKE_OP`:"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1199
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1198
msgid "`FUTEX_OP_SET`"
msgstr "`FUTEX_OP_SET`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1200
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1199
msgid "`FUTEX_OP_ADD`"
msgstr "`FUTEX_OP_ADD`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1201
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1200
msgid "`FUTEX_OP_OR`"
msgstr "`FUTEX_OP_OR`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1202
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1201
msgid "`FUTEX_OP_AND`"
msgstr "`FUTEX_OP_AND`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1203
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1202
msgid "`FUTEX_OP_XOR`"
msgstr "`FUTEX_OP_XOR`"
#. type: delimited block = 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1208
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1207
msgid ""
"There is no `val2` parameter in the futex prototype. The `val2` is taken "
"from the `struct timespec *timeout` parameter for operations "
@@ -3723,13 +3724,13 @@ msgstr ""
"`FUTEX_REQUEUE`, `FUTEX_CMP_REQUEUE` и `FUTEX_WAKE_OP`."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1211
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1210
#, no-wrap
msgid "Futex emulation in FreeBSD"
msgstr "Эмуляция фьютексов в FreeBSD"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1216
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1215
msgid ""
"The futex emulation in FreeBSD is taken from NetBSD and further extended by "
"us. It is placed in `linux_futex.c` and [.filename]#linux_futex.h# files. "
@@ -3740,7 +3741,7 @@ msgstr ""
"`futex` выглядит следующим образом:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1222
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1221
#, no-wrap
msgid ""
"struct futex {\n"
@@ -3752,13 +3753,13 @@ msgstr ""
" int f_refcount;\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1224
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1223
#, no-wrap
msgid " LIST_ENTRY(futex) f_list;\n"
msgstr " LIST_ENTRY(futex) f_list;\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1227
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1226
#, no-wrap
msgid ""
" TAILQ_HEAD(lf_waiting_paroc, waiting_proc) f_waiting_proc;\n"
@@ -3768,30 +3769,30 @@ msgstr ""
"};\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1230
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1229
msgid "And the structure `waiting_proc` is:"
msgstr "И структура `waiting_proc` выглядит следующим образом:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1234
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1233
#, no-wrap
msgid "struct waiting_proc {\n"
msgstr "struct waiting_proc {\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1236
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1235
#, no-wrap
msgid " struct thread *wp_t;\n"
msgstr " struct thread *wp_t;\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1238
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1237
#, no-wrap
msgid " struct futex *wp_new_futex;\n"
msgstr " struct futex *wp_new_futex;\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1241
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1240
#, no-wrap
msgid ""
" TAILQ_ENTRY(waiting_proc) wp_list;\n"
@@ -3801,13 +3802,13 @@ msgstr ""
"};\n"
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1244
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1243
#, no-wrap
msgid "futex_get / futex_put"
msgstr "futex_get / futex_put"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1248
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1247
msgid ""
"A futex is obtained using the `futex_get` function, which searches a linear "
"list of futexes and returns the found one or creates a new futex. When "
@@ -3822,13 +3823,13 @@ msgstr ""
"фьютекс освобождается."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1250
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1249
#, no-wrap
msgid "futex_sleep"
msgstr "futex_sleep"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1258
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1257
msgid ""
"When a futex queues a thread for sleeping it creates a `working_proc` "
"structure and puts this structure to the list inside the futex structure "
@@ -3850,13 +3851,13 @@ msgstr ""
"выполняется в этой функции."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1260
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1259
#, no-wrap
msgid "futex_wake"
msgstr "futex_wake"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1268
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1267
msgid ""
"Waking up a thread sleeping on a futex is performed in the `futex_wake` "
"function. First in this function we mimic the strange Linux(R) behavior, "
@@ -3877,13 +3878,13 @@ msgstr ""
"взаимодействует с `futex_sleep`."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1270
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1269
#, no-wrap
msgid "futex_wake_op"
msgstr "futex_wake_op"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1275
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1274
msgid ""
"The `FUTEX_WAKE_OP` operation is quite complicated. First we obtain two "
"futexes at addresses `uaddr` and `uaddr2` then we perform the atomic "
@@ -3898,13 +3899,13 @@ msgstr ""
"пробуждаем `val2` (т.е. `timeout`) ожидающих на втором фьютексе."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1277
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1276
#, no-wrap
msgid "futex atomic operation"
msgstr "Атомарная операция на фьютексе"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1282
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1281
msgid ""
"The atomic operation takes two parameters `encoded_op` and `uaddr`. The "
"encoded operation encodes the operation itself, comparing value, operation "
@@ -3917,7 +3918,7 @@ msgstr ""
"следующим образом:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1287
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1286
#, no-wrap
msgid ""
"oldval = *uaddr2\n"
@@ -3927,7 +3928,7 @@ msgstr ""
"*uaddr2 = oldval OP oparg\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1291
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1290
msgid ""
"And this is done atomically. First a copying in of the number at `uaddr` is "
"performed and the operation is done. The code handles page faults and if no "
@@ -3940,13 +3941,13 @@ msgstr ""
"помощью компаратора cmp."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1293
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1292
#, no-wrap
msgid "Futex locking"
msgstr "Блокировка фьютекса"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1297
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1296
msgid ""
"Futex implementation uses two lock lists protecting `sx_lock` and global "
"locks (either Giant or another `sx_lock`). Every operation is performed "
@@ -3957,13 +3958,13 @@ msgstr ""
"выполняется заблокированной от начала до самого конца."
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1299
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1298
#, no-wrap
msgid "Various syscalls implementation"
msgstr "Реализация различных системных вызовов"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1302
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1301
msgid ""
"In this section I am going to describe some smaller syscalls that are worth "
"mentioning because their implementation is not obvious or those syscalls are "
@@ -3974,13 +3975,13 @@ msgstr ""
"представляют интерес с другой точки зрения."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1304
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1303
#, no-wrap
msgid "*at family of syscalls"
msgstr "*семейство системных вызовов at"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1313
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1312
msgid ""
"During development of Linux(R) 2.6.16 kernel, the *at syscalls were added. "
"Those syscalls (`openat` for example) work exactly like their at-less "
@@ -4004,13 +4005,13 @@ msgstr ""
"образом:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1317
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1316
#, no-wrap
msgid "file descriptor 123 = /tmp/foo/, current working directory = /tmp/\n"
msgstr "file descriptor 123 = /tmp/foo/, current working directory = /tmp/\n"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1322
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1321
#, no-wrap
msgid ""
"openat(123, /tmp/bah\\, flags, mode)\t/* opens /tmp/bah */\n"
@@ -4024,7 +4025,7 @@ msgstr ""
"openat(stdio, bah\\, flags, mode)\t/* returns error because stdio is not a directory */\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1331
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1330
msgid ""
"This infrastructure is necessary to avoid races when opening files outside "
"the working directory. Imagine that a process consists of two threads, "
@@ -4046,7 +4047,7 @@ msgstr ""
"рабочие каталоги для каждого потока."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1334
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1333
msgid ""
"Linux(R) family of *at syscalls contains: `linux_openat`, `linux_mkdirat`, "
"`linux_mknodat`, `linux_fchownat`, `linux_futimesat`, `linux_fstatat64`, "
@@ -4063,13 +4064,13 @@ msgstr ""
"простого слоя обёртки."
#. type: Title =====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1336
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1335
#, no-wrap
msgid "Implementation"
msgstr "Реализация"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1344
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1343
msgid ""
"The implementation is done by altering the man:namei[9] routine (described "
"above) to take additional parameter `dirfd` in its `nameidata` structure, "
@@ -4100,13 +4101,13 @@ msgstr ""
"функций на разных уровнях. Например, `openat` работает следующим образом:"
#. type: delimited block . 4
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1348
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1347
#, no-wrap
msgid "openat() --> kern_openat() --> vn_open() -> namei()\n"
msgstr "openat() --> kern_openat() --> vn_open() -> namei()\n"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1354
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1353
msgid ""
"For this reason `kern_open` and `vn_open` must be altered to incorporate the "
"additional `dirfd` parameter. No compat layer is created for those because "
@@ -4121,13 +4122,13 @@ msgstr ""
"системные вызовы. Это обсуждается в настоящее время."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1356
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1355
#, no-wrap
msgid "Ioctl"
msgstr "Ioctl"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1370
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1369
msgid ""
"The ioctl interface is quite fragile due to its generality. We have to bear "
"in mind that devices differ between Linux(R) and FreeBSD so some care must "
@@ -4172,13 +4173,13 @@ msgstr ""
"FreeBSD для упрощения портирования приложений."
#. type: Title ====
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1372
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1371
#, no-wrap
msgid "Debugging"
msgstr "Отладка"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1379
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1378
msgid ""
"Every syscall should be debuggable. For this purpose we introduce a small "
"infrastructure. We have the ldebug facility, which tells whether a given "
@@ -4194,19 +4195,19 @@ msgstr ""
"сообщений."
#. type: Title ==
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1381
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1380
#, no-wrap
msgid "Conclusion"
msgstr "Заключение"
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1384
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1383
#, no-wrap
msgid "Results"
msgstr "Результаты"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1390
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1389
msgid ""
"As of April 2007 the Linux(R) emulation layer is capable of emulating the "
"Linux(R) 2.6.16 kernel quite well. The remaining problems concern futexes, "
@@ -4232,7 +4233,7 @@ msgstr ""
"подсказок, куда следует направить усилия для реализации недостающих функций."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1394
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1393
msgid ""
"We are able to run the most used applications like package:www/linux-"
"firefox[], package:net-im/skype[] and some games from the Ports Collection. "
@@ -4252,7 +4253,7 @@ msgstr ""
"Linux(R) 2.6."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1397
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1396
msgid ""
"We hope to enable 2.6.16 emulation by default some time after FreeBSD 7.0 is "
"released at least to expose the 2.6 emulation parts for some wider testing. "
@@ -4265,13 +4266,13 @@ msgstr ""
"перейти на Fedora Core 6 linux_base, что является конечной целью."
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1399
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1398
#, no-wrap
msgid "Future work"
msgstr "Будущие работы"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1402
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1401
msgid ""
"Future work should focus on fixing the remaining issues with futexes, "
"implement the rest of the *at family of syscalls, fix the signal delivery "
@@ -4283,7 +4284,7 @@ msgstr ""
"`inotify`."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1404
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1403
msgid ""
"We hope to be able to run the most important programs flawlessly soon, so we "
"will be able to switch to the 2.6 emulation by default and make the Fedora "
@@ -4296,7 +4297,7 @@ msgstr ""
"Fedora Core 4 больше не поддерживается."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1408
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1407
msgid ""
"The other possible goal is to share our code with NetBSD and DragonflyBSD. "
"NetBSD has some support for 2.6 emulation but its far from finished and not "
@@ -4309,7 +4310,7 @@ msgstr ""
"заинтересованность в переносе улучшений версии 2.6."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1413
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1412
msgid ""
"Generally, as Linux(R) develops we would like to keep up with their "
"development, implementing newly added syscalls. Splice comes to mind "
@@ -4324,63 +4325,63 @@ msgstr ""
"улучшения производительности, такие как более детальная блокировка и другие."
#. type: Title ===
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1415
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1414
#, no-wrap
msgid "Team"
msgstr "Команда"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1418
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1417
msgid "I cooperated on this project with (in alphabetical order):"
msgstr "Я сотрудничал в этом проекте с (в алфавитном порядке):"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1420
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1419
msgid "`{jhb}`"
msgstr "`{jhb}`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1421
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1420
msgid "`{kib}`"
msgstr "`{kib}`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1422
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1421
msgid "Emmanuel Dreyfus"
msgstr "Emmanuel Dreyfus"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1423
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1422
msgid "Scot Hetzel"
msgstr "Scot Hetzel"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1424
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1423
msgid "`{jkim}`"
msgstr "`{jkim}`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1425
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1424
msgid "`{netchild}`"
msgstr "`{netchild}`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1426
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1425
msgid "`{ssouhlal}`"
msgstr "`{ssouhlal}`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1427
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1426
msgid "Li Xiao"
msgstr "Li Xiao"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1428
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1427
msgid "`{davidxu}`"
msgstr "`{davidxu}`"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1430
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1429
msgid ""
"I would like to thank all those people for their advice, code reviews and "
"general support."
@@ -4389,13 +4390,13 @@ msgstr ""
"общую поддержку."
#. type: Title ==
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1432
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1431
#, no-wrap
msgid "Literatures"
msgstr "Литература"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1435
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1434
msgid ""
"Marshall Kirk McKusick - George V. Neville-Neil. Design and Implementation "
"of the FreeBSD operating system. Addison-Wesley, 2005."
@@ -4404,11 +4405,11 @@ msgstr ""
"of the FreeBSD operating system. Addison-Wesley, 2005 год."
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1436
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1435
msgid "https://tldp.org[https://tldp.org]"
msgstr "https://tldp.org[https://tldp.org]"
#. type: Plain text
-#: documentation/content/en/articles/linux-emulation/_index.adoc:1436
+#: documentation/content/en/articles/linux-emulation/_index.adoc:1435
msgid "https://www.kernel.org[https://www.kernel.org]"
msgstr "https://www.kernel.org[https://www.kernel.org]"
diff --git a/documentation/content/ru/articles/new-users/_index.adoc b/documentation/content/ru/articles/new-users/_index.adoc
index 05a289319e..7473d5abe1 100644
--- a/documentation/content/ru/articles/new-users/_index.adoc
+++ b/documentation/content/ru/articles/new-users/_index.adoc
@@ -175,7 +175,7 @@ Login group is "jack". Invite jack into other groups: wheel
Вы можете захотеть попробовать использоваться команду `whatis` с некоторыми полезными командами типа `cat`, `more`, `grep`, `mv`, `find`, `tar`, `chmod`, `chown`, `date`, и `script`. Команда `more` позволит вам читать постранично, как и в DOS, например, `ls -l | more` или `more _filename_`. Знак `\*` работает как общий шаблон-например, `ls w*` выдаст перечень файлов, начинающихся с буквы `w`.
-Некоторые из этих команд работают не очень хорошо? Обе команды man:locate[1] и man:whatis[1] зависят от базы данных, которая перестраивается еженедельно. Если ваша машина будет оставаться включенной на выходные (и она работает под FreeBSD), то вы можете пожелать запускать определённые команды раз в день, неделю, месяц. Запускайте их как `root` и дайте каждой отработать, прежде чем запускать следующую.
+Некоторые из этих команд работают не очень хорошо? Обе команды man:locate[1] и man:whatis[1] зависят от базы данных, которая перестраивается еженедельно. Если ваша машина будет оставаться включённой на выходные (и она работает под FreeBSD), то вы можете пожелать запускать определённые команды раз в день, неделю, месяц. Запускайте их как `root` и дайте каждой отработать, прежде чем запускать следующую.
[source, shell]
....
diff --git a/documentation/content/ru/articles/new-users/_index.po b/documentation/content/ru/articles/new-users/_index.po
index a09e305301..82c4cd6048 100644
--- a/documentation/content/ru/articles/new-users/_index.po
+++ b/documentation/content/ru/articles/new-users/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2022-02-01 09:21-0300\n"
-"PO-Revision-Date: 2026-03-04 20:01+0000\n"
+"POT-Creation-Date: 2026-08-06 22:55+0100\n"
+"PO-Revision-Date: 2026-05-18 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/articlesnew-users_index/ru/>\n"
@@ -14,8 +14,8 @@ msgstr ""
"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"
+"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
@@ -37,12 +37,12 @@ msgid "For People New to Both FreeBSD and UNIX(R)"
msgstr "Пособие для новичков во FreeBSD и UNIX(R)"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:44
+#: documentation/content/en/articles/new-users/_index.adoc:43
msgid "Abstract"
msgstr "Аннотация"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:46
+#: documentation/content/en/articles/new-users/_index.adoc:45
msgid ""
"Congratulations on installing FreeBSD! This introduction is for people new "
"to both FreeBSD _and_ UNIX(R)-so it starts with basics."
@@ -52,18 +52,18 @@ msgstr ""
"основ."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:48
+#: documentation/content/en/articles/new-users/_index.adoc:47
msgid "'''"
msgstr "'''"
#. type: Title ==
-#: documentation/content/en/articles/new-users/_index.adoc:52
+#: documentation/content/en/articles/new-users/_index.adoc:51
#, no-wrap
msgid "Logging in and Getting Out"
msgstr "Регистрация в системе и выход из неё"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:58
+#: documentation/content/en/articles/new-users/_index.adoc:57
msgid ""
"Log in (when you see `login:`) as a user you created during installation or "
"as `root`. (Your FreeBSD installation will already have an account for "
@@ -81,18 +81,19 @@ msgstr ""
"пользователя, а # — `root`."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:60
+#: documentation/content/en/articles/new-users/_index.adoc:59
msgid "To log out (and get a new `login:` prompt) type"
-msgstr "Чтобы выйти из системы (и получить новое приглашение `login:`) наберите"
+msgstr ""
+"Чтобы выйти из системы (и получить новое приглашение `login:`) наберите"
#. type: delimited block . 4
-#: documentation/content/en/articles/new-users/_index.adoc:64
+#: documentation/content/en/articles/new-users/_index.adoc:63
#, no-wrap
msgid "# exit\n"
msgstr "# exit\n"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:68
+#: documentation/content/en/articles/new-users/_index.adoc:67
msgid ""
"as often as necessary. Yes, press kbd:[enter] after commands, and remember "
"that UNIX(R) is case-sensitive-``exit``, not `EXIT`."
@@ -102,40 +103,40 @@ msgstr ""
"`EXIT`."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:70
+#: documentation/content/en/articles/new-users/_index.adoc:69
msgid "To shut down the machine type"
msgstr "Для завершения работы машины наберите"
#. type: delimited block . 4
-#: documentation/content/en/articles/new-users/_index.adoc:74
+#: documentation/content/en/articles/new-users/_index.adoc:73
#, no-wrap
msgid "# /sbin/shutdown -h now\n"
msgstr "# /sbin/shutdown -h now\n"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:77
+#: documentation/content/en/articles/new-users/_index.adoc:76
msgid "Or to reboot type"
msgstr "Или, для перезагрузки нужно набрать"
#. type: delimited block . 4
-#: documentation/content/en/articles/new-users/_index.adoc:81
+#: documentation/content/en/articles/new-users/_index.adoc:80
#, no-wrap
msgid "# /sbin/shutdown -r now\n"
msgstr "# /sbin/shutdown -r now\n"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:84
+#: documentation/content/en/articles/new-users/_index.adoc:83
msgid "or"
msgstr "или"
#. type: delimited block . 4
-#: documentation/content/en/articles/new-users/_index.adoc:88
+#: documentation/content/en/articles/new-users/_index.adoc:87
#, no-wrap
msgid "# /sbin/reboot\n"
msgstr "# /sbin/reboot\n"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:94
+#: documentation/content/en/articles/new-users/_index.adoc:93
msgid ""
"You can also reboot with kbd:[Ctrl+Alt+Delete]. Give it a little time to do "
"its work. This is equivalent to `/sbin/reboot` in recent releases of "
@@ -149,13 +150,13 @@ msgstr ""
"переустанавливать заново, не так ли?"
#. type: Title ==
-#: documentation/content/en/articles/new-users/_index.adoc:96
+#: documentation/content/en/articles/new-users/_index.adoc:95
#, no-wrap
msgid "Adding a User with Root Privileges"
msgstr "Добавление пользователя с привилегиями root"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:99
+#: documentation/content/en/articles/new-users/_index.adoc:98
msgid ""
"If you did not create any users when you installed the system and are thus "
"logged in as `root`, you should probably create a user now with"
@@ -165,13 +166,13 @@ msgstr ""
"команде"
#. type: delimited block . 4
-#: documentation/content/en/articles/new-users/_index.adoc:103
+#: documentation/content/en/articles/new-users/_index.adoc:102
#, no-wrap
msgid "# adduser\n"
msgstr "# adduser\n"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:109
+#: documentation/content/en/articles/new-users/_index.adoc:108
msgid ""
"The first time you use `adduser`, it might ask for some defaults to save. "
"You might want to make the default shell man:csh[1] instead of man:sh[1], if "
@@ -188,7 +189,7 @@ msgstr ""
"adduser.conf#, в форме, доступной для редактирования."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:113
+#: documentation/content/en/articles/new-users/_index.adoc:112
msgid ""
"Suppose you create a user `jack` with full name _Jack Benimble_. Give "
"`jack` a password if security (even kids around who might pound on the "
@@ -202,13 +203,13 @@ msgstr ""
"другие группы, наберите `wheel`"
#. type: delimited block . 4
-#: documentation/content/en/articles/new-users/_index.adoc:117
+#: documentation/content/en/articles/new-users/_index.adoc:116
#, no-wrap
msgid "Login group is \"jack\". Invite jack into other groups: wheel\n"
msgstr "Login group is \"jack\". Invite jack into other groups: wheel\n"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:121
+#: documentation/content/en/articles/new-users/_index.adoc:120
msgid ""
"This will make it possible to log in as `jack` and use the man:su[1] command "
"to become `root`. Then you will not get scolded any more for logging in as "
@@ -220,7 +221,7 @@ msgstr ""
"`root`."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:124
+#: documentation/content/en/articles/new-users/_index.adoc:123
msgid ""
"You can quit `adduser` any time by typing kbd:[Ctrl+C], and at the end you "
"will have a chance to approve your new user or simply type kbd:[n] for no. "
@@ -235,7 +236,7 @@ msgstr ""
"тот случай, если что-то пойдёт не так."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:127
+#: documentation/content/en/articles/new-users/_index.adoc:126
msgid ""
"Once you have done this, use `exit` to get back to a login prompt and log in "
"as `jack`. In general, it is a good idea to do as much work as possible as "
@@ -248,7 +249,7 @@ msgstr ""
"`root`."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:130
+#: documentation/content/en/articles/new-users/_index.adoc:129
msgid ""
"If you already created a user and you want the user to be able to `su` to "
"`root`, you can log in as `root` and edit the file [.filename]#/etc/group#, "
@@ -264,18 +265,18 @@ msgstr ""
"редактор, man:ee[1], имеющийся в последней версии FreeBSD."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:132
+#: documentation/content/en/articles/new-users/_index.adoc:131
msgid "To delete a user, use `rmuser`."
msgstr "Для удаления пользователя воспользуйтесь командой `rmuser`."
#. type: Title ==
-#: documentation/content/en/articles/new-users/_index.adoc:134
+#: documentation/content/en/articles/new-users/_index.adoc:133
#, no-wrap
msgid "Looking Around"
msgstr "Просмотр окружения"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:137
+#: documentation/content/en/articles/new-users/_index.adoc:136
msgid ""
"Logged in as an ordinary user, look around and try out some commands that "
"will access the sources of help and information within FreeBSD."
@@ -285,95 +286,95 @@ msgstr ""
"внутри FreeBSD."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:139
+#: documentation/content/en/articles/new-users/_index.adoc:138
msgid "Here are some commands and what they do:"
msgstr "Вот некоторые команды и то, что они делают:"
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:140
+#: documentation/content/en/articles/new-users/_index.adoc:139
#, no-wrap
msgid "`id`"
msgstr "`id`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:142
+#: documentation/content/en/articles/new-users/_index.adoc:141
msgid "Tells you who you are!"
msgstr "Говорит вам, кто вы!"
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:143
+#: documentation/content/en/articles/new-users/_index.adoc:142
#, no-wrap
msgid "`pwd`"
msgstr "`pwd`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:145
+#: documentation/content/en/articles/new-users/_index.adoc:144
msgid "Shows you where you are-the current working directory."
msgstr "Показывает, где вы находитесь-текущий рабочий каталог."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:146
+#: documentation/content/en/articles/new-users/_index.adoc:145
#, no-wrap
msgid "`ls`"
msgstr "`ls`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:148
+#: documentation/content/en/articles/new-users/_index.adoc:147
msgid "Lists the files in the current directory."
msgstr "Выдаёт список файлов, находящихся в текущем каталоге."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:149
+#: documentation/content/en/articles/new-users/_index.adoc:148
#, no-wrap
msgid "`ls -F`"
msgstr "`ls -F`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:151
+#: documentation/content/en/articles/new-users/_index.adoc:150
msgid ""
"Lists the files in the current directory with a * after executables, a `/` "
"after directories, and an `@` after symbolic links."
msgstr ""
-"Выдаёт перечень файлов, находящихся в текущем каталоге, добавляя символы `\\"
-"*` после выполнимых файлов, `/` после каталогов и `@` после символических "
+"Выдаёт перечень файлов, находящихся в текущем каталоге, добавляя символы `"
+"\\*` после выполнимых файлов, `/` после каталогов и `@` после символических "
"ссылок."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:152
+#: documentation/content/en/articles/new-users/_index.adoc:151
#, no-wrap
msgid "`ls -l`"
msgstr "`ls -l`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:154
+#: documentation/content/en/articles/new-users/_index.adoc:153
msgid "Lists the files in long format-size, date, permissions."
msgstr ""
"Выдаёт перечень файлов в расширенном формате-размер, дата и права доступа."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:155
+#: documentation/content/en/articles/new-users/_index.adoc:154
#, no-wrap
msgid "`ls -a`"
msgstr "`ls -a`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:158
+#: documentation/content/en/articles/new-users/_index.adoc:157
msgid ""
"Lists hidden \"dot\" files with the others. If you are `root`, the \"dot\" "
"files show up without the `-a` switch."
msgstr ""
-"Вместе со всеми выдаёт и список скрытых \"dot\"-файлов (начинающихся с точки)"
-". Если вы являетесь пользователем `root`, то \"dot\"-файлы выдаются и без "
-"указания флага `-a`."
+"Вместе со всеми выдаёт и список скрытых \"dot\"-файлов (начинающихся с "
+"точки). Если вы являетесь пользователем `root`, то \"dot\"-файлы выдаются и "
+"без указания флага `-a`."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:159
+#: documentation/content/en/articles/new-users/_index.adoc:158
#, no-wrap
msgid "`cd`"
msgstr "`cd`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:163
+#: documentation/content/en/articles/new-users/_index.adoc:162
msgid ""
"Changes directories. `cd ..` backs up one level; note the space after `cd`. "
"`cd /usr/local` goes there. `cd ~` goes to the home directory of the person "
@@ -387,13 +388,13 @@ msgstr ""
"`ls` для проверки того, что ваш CDROM смонтирован и работает."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:164
+#: documentation/content/en/articles/new-users/_index.adoc:163
#, no-wrap
msgid "`less _filename_`"
msgstr "`less _filename_`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:168
+#: documentation/content/en/articles/new-users/_index.adoc:167
msgid ""
"Lets you look at a file (named _filename_) without changing it. Try `less /"
"etc/fstab`. Type `q` to quit."
@@ -403,13 +404,13 @@ msgstr ""
"наберите `q`."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:169
+#: documentation/content/en/articles/new-users/_index.adoc:168
#, no-wrap
msgid "`cat _filename_`"
msgstr "`cat _filename_`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:174
+#: documentation/content/en/articles/new-users/_index.adoc:173
msgid ""
"Displays _filename_ on screen. If it is too long and you can see only the "
"end of it, press kbd:[ScrollLock] and use the kbd:[up-arrow] to move "
@@ -419,15 +420,15 @@ msgid ""
"profile`."
msgstr ""
"Выдаёт содержимое _filename_ на экран. если он слишком длинный и вы можете "
-"увидеть только его конец, нажмите kbd:[ScrollLock] и используйте клавишу "
-"kbd:[стрелка вверх] для движения назад; вы можете также использовать "
-"kbd:[ScrollLock] и со страницами справки. Нажмите kbd:[ScrollLock] снова для "
+"увидеть только его конец, нажмите kbd:[ScrollLock] и используйте клавишу kbd:"
+"[стрелка вверх] для движения назад; вы можете также использовать kbd:"
+"[ScrollLock] и со страницами справки. Нажмите kbd:[ScrollLock] снова для "
"прекращения прокрутки. Вам может захотеться попробовать команду `cat` с "
-"некоторыми из dot-файлов в вашем домашнем каталоге-`cat .cshrc`, `cat .login`"
-", `cat .profile`."
+"некоторыми из dot-файлов в вашем домашнем каталоге-`cat .cshrc`, `cat ."
+"login`, `cat .profile`."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:178
+#: documentation/content/en/articles/new-users/_index.adoc:177
msgid ""
"You will notice aliases in [.filename]#.cshrc# for some of the `ls` commands "
"(they are very convenient). You can create other aliases by editing [."
@@ -435,20 +436,20 @@ msgid ""
"system by putting them in the system-wide `csh` configuration file, [."
"filename]#/etc/csh.cshrc#."
msgstr ""
-"В файле [.filename]#.cshrc# вы заметите алиасы для некоторых из команд `ls` ("
-"они очень удобны). Вы можете создать другие алиасы, отредактировав файл [."
+"В файле [.filename]#.cshrc# вы заметите алиасы для некоторых из команд `ls` "
+"(они очень удобны). Вы можете создать другие алиасы, отредактировав файл [."
"filename]#.cshrc#. Вы можете сделать эти алиасы доступными всем "
"пользователям системы, поместив их в общесистемный конфигурационный файл для "
"`csh`, [.filename]#/etc/csh.cshrc#."
#. type: Title ==
-#: documentation/content/en/articles/new-users/_index.adoc:180
+#: documentation/content/en/articles/new-users/_index.adoc:179
#, no-wrap
msgid "Getting Help and Information"
msgstr "Получение помощи и информации"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:184
+#: documentation/content/en/articles/new-users/_index.adoc:183
msgid ""
"Here are some useful sources of help. _Text_ stands for something of your "
"choice that you type in-usually a command or filename."
@@ -457,24 +458,24 @@ msgstr ""
"что-то по вашему выбору, что вы вводите-обычно команду или имя файла."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:185
+#: documentation/content/en/articles/new-users/_index.adoc:184
#, no-wrap
msgid "`apropos _text_`"
msgstr "`apropos _text_`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:187
+#: documentation/content/en/articles/new-users/_index.adoc:186
msgid "Everything containing string _text_ in the `whatis database`."
msgstr "Всё, что содержит строку _text_ в `базе whatis`."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:188
+#: documentation/content/en/articles/new-users/_index.adoc:187
#, no-wrap
msgid "`man _text_`"
msgstr "`man _text_`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:193
+#: documentation/content/en/articles/new-users/_index.adoc:192
msgid ""
"The manual page for _text_. The major source of documentation for UNIX(R) "
"systems. `man ls` will tell you all the ways to use `ls`. Press kbd:"
@@ -484,61 +485,61 @@ msgstr ""
"Страница справки по _text_. Это главный источник документации в UNIX(R)-"
"системах. `man ls` покажет вам все способы использования команды `ls`. "
"Нажимайте kbd:[Enter] для передвижения по тексту, kbd:[Ctrl+B] для возврата "
-"на страницу назад, kbd:[Ctrl+F] для продвижения вперёд, kbd:[q] или "
-"kbd:[Ctrl+C] для выхода."
+"на страницу назад, kbd:[Ctrl+F] для продвижения вперёд, kbd:[q] или kbd:[Ctrl"
+"+C] для выхода."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:194
+#: documentation/content/en/articles/new-users/_index.adoc:193
#, no-wrap
msgid "`which _text_`"
msgstr "`which _text_`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:196
+#: documentation/content/en/articles/new-users/_index.adoc:195
msgid "Tells you where in the user's path the command _text_ is found."
msgstr ""
"Покажет, в каком месте из маршрута поиска пользователя находится команда "
"_text_."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:197
+#: documentation/content/en/articles/new-users/_index.adoc:196
#, no-wrap
msgid "`locate _text_`"
msgstr "`locate _text_`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:199
+#: documentation/content/en/articles/new-users/_index.adoc:198
msgid "All the paths where the string _text_ is found."
msgstr "Все маршруты, где находится строчка _text_."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:200
+#: documentation/content/en/articles/new-users/_index.adoc:199
#, no-wrap
msgid "`whatis _text_`"
msgstr "`whatis _text_`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:203
+#: documentation/content/en/articles/new-users/_index.adoc:202
msgid ""
"Tells you what the command _text_ does and its manual page. Typing `whatis "
"*` will tell you about all the binaries in the current directory."
msgstr ""
-"Описывает, что делает команда _text_ и её справочная страница. Команда `"
-"whatis *` расскажет вам обо всех двоичных файлах в текущем каталоге."
+"Описывает, что делает команда _text_ и её справочная страница. Команда "
+"`whatis *` расскажет вам обо всех двоичных файлах в текущем каталоге."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:204
+#: documentation/content/en/articles/new-users/_index.adoc:203
#, no-wrap
msgid "`whereis _text_`"
msgstr "`whereis _text_`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:206
+#: documentation/content/en/articles/new-users/_index.adoc:205
msgid "Finds the file _text_, giving its full path."
msgstr "Ищет файл _text_ и выдаёт полный путь до него."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:210
+#: documentation/content/en/articles/new-users/_index.adoc:209
msgid ""
"You might want to try using `whatis` on some common useful commands like "
"`cat`, `more`, `grep`, `mv`, `find`, `tar`, `chmod`, `chown`, `date`, and "
@@ -547,14 +548,14 @@ msgid ""
"w*` will show you files beginning with `w`."
msgstr ""
"Вы можете захотеть попробовать использоваться команду `whatis` с некоторыми "
-"полезными командами типа `cat`, `more`, `grep`, `mv`, `find`, `tar`, `chmod`"
-", `chown`, `date`, и `script`. Команда `more` позволит вам читать "
+"полезными командами типа `cat`, `more`, `grep`, `mv`, `find`, `tar`, "
+"`chmod`, `chown`, `date`, и `script`. Команда `more` позволит вам читать "
"постранично, как и в DOS, например, `ls -l | more` или `more _filename_`. "
"Знак `\\*` работает как общий шаблон-например, `ls w*` выдаст перечень "
"файлов, начинающихся с буквы `w`."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:214
+#: documentation/content/en/articles/new-users/_index.adoc:213
msgid ""
"Are some of these not working very well? Both man:locate[1] and man:"
"whatis[1] depend on a database that is rebuilt weekly. If your machine is "
@@ -565,13 +566,13 @@ msgid ""
msgstr ""
"Некоторые из этих команд работают не очень хорошо? Обе команды man:locate[1] "
"и man:whatis[1] зависят от базы данных, которая перестраивается еженедельно. "
-"Если ваша машина будет оставаться включенной на выходные (и она работает под "
+"Если ваша машина будет оставаться включённой на выходные (и она работает под "
"FreeBSD), то вы можете пожелать запускать определённые команды раз в день, "
"неделю, месяц. Запускайте их как `root` и дайте каждой отработать, прежде "
"чем запускать следующую."
#. type: delimited block . 4
-#: documentation/content/en/articles/new-users/_index.adoc:223
+#: documentation/content/en/articles/new-users/_index.adoc:222
#, no-wrap
msgid ""
"# periodic daily\n"
@@ -589,7 +590,7 @@ msgstr ""
"output omitted\n"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:229
+#: documentation/content/en/articles/new-users/_index.adoc:228
msgid ""
"If you get tired of waiting, press kbd:[Alt+F2] to get another _virtual "
"console_, and log in again. After all, it is a multi-user, multi-tasking "
@@ -607,7 +608,7 @@ msgstr ""
"filename]#/var/log/messages#."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:235
+#: documentation/content/en/articles/new-users/_index.adoc:234
msgid ""
"Running such commands is part of system administration-and as a single user "
"of a UNIX(R) system, you are your own system administrator. Virtually "
@@ -634,13 +635,13 @@ msgstr ""
"Associates, 2002, ISBN 0-596-00343-9). Я использую книгу Немет."
#. type: Title ==
-#: documentation/content/en/articles/new-users/_index.adoc:237
+#: documentation/content/en/articles/new-users/_index.adoc:236
#, no-wrap
msgid "Editing Text"
msgstr "Редактирование текста"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:243
+#: documentation/content/en/articles/new-users/_index.adoc:242
msgid ""
"To configure your system, you need to edit text files. Most of them will be "
"in the [.filename]#/etc# directory; and you will need to `su` to `root` to "
@@ -658,7 +659,7 @@ msgstr ""
"если у вас есть исходники системы."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:247
+#: documentation/content/en/articles/new-users/_index.adoc:246
msgid ""
"Before you edit a file, you should probably back it up. Suppose you want to "
"edit [.filename]#/etc/rc.conf#. You could just use `cd /etc` to get to the "
@@ -670,13 +671,13 @@ msgstr ""
"каталог [.filename]#/etc# и выполнить следующее:"
#. type: delimited block . 4
-#: documentation/content/en/articles/new-users/_index.adoc:251
+#: documentation/content/en/articles/new-users/_index.adoc:250
#, no-wrap
msgid "# cp rc.conf rc.conf.orig\n"
msgstr "# cp rc.conf rc.conf.orig\n"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:255
+#: documentation/content/en/articles/new-users/_index.adoc:254
msgid ""
"This would copy [.filename]#rc.conf# to [.filename]#rc.conf.orig#, and you "
"could later copy [.filename]#rc.conf.orig# to [.filename]#rc.conf# to "
@@ -689,7 +690,7 @@ msgstr ""
"переместить (переименовать), после чего скопировать обратно:"
#. type: delimited block . 4
-#: documentation/content/en/articles/new-users/_index.adoc:260
+#: documentation/content/en/articles/new-users/_index.adoc:259
#, no-wrap
msgid ""
"# mv rc.conf rc.conf.orig\n"
@@ -699,7 +700,7 @@ msgstr ""
"# cp rc.conf.orig rc.conf\n"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:265
+#: documentation/content/en/articles/new-users/_index.adoc:264
msgid ""
"because `mv` preserves the original date and owner of the file. You can now "
"edit [.filename]#rc.conf#. If you want the original back, you would then "
@@ -708,33 +709,33 @@ msgid ""
msgstr ""
"потому что команда `mv` сохраняет исходную информацию о дате и владельце "
"файла. Теперь вы можете редактировать [.filename]#rc.conf#. Если вы захотите "
-"восстановить исходное состояние, то выполните `mv rc.conf rc.conf.myedit` ("
-"полагаем, что вы хотите сохранить отредактированную версию), а затем"
+"восстановить исходное состояние, то выполните `mv rc.conf rc.conf.myedit` "
+"(полагаем, что вы хотите сохранить отредактированную версию), а затем"
#. type: delimited block . 4
-#: documentation/content/en/articles/new-users/_index.adoc:269
+#: documentation/content/en/articles/new-users/_index.adoc:268
#, no-wrap
msgid "# mv rc.conf.orig rc.conf\n"
msgstr "# mv rc.conf.orig rc.conf\n"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:272
+#: documentation/content/en/articles/new-users/_index.adoc:271
msgid "to put things back the way they were."
msgstr "для возврата всего на место."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:274
+#: documentation/content/en/articles/new-users/_index.adoc:273
msgid "To edit a file, type"
msgstr "Для редактирования файла наберите"
#. type: delimited block . 4
-#: documentation/content/en/articles/new-users/_index.adoc:278
+#: documentation/content/en/articles/new-users/_index.adoc:277
#, no-wrap
msgid "# vi filename\n"
msgstr "# vi filename\n"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:283
+#: documentation/content/en/articles/new-users/_index.adoc:282
msgid ""
"Move through the text with the arrow keys. kbd:[Esc] (the escape key) puts "
"`vi` in command mode. Here are some commands:"
@@ -743,52 +744,52 @@ msgstr ""
"отмены) переводит редактор `vi` в командный режим. Вот некоторые из них:"
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:284
+#: documentation/content/en/articles/new-users/_index.adoc:283
#, no-wrap
msgid "`x`"
msgstr "`x`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:286
+#: documentation/content/en/articles/new-users/_index.adoc:285
msgid "delete letter the cursor is on"
msgstr "удалить символ, на котором находится курсор"
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:287
+#: documentation/content/en/articles/new-users/_index.adoc:286
#, no-wrap
msgid "`dd`"
msgstr "`dd`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:289
+#: documentation/content/en/articles/new-users/_index.adoc:288
msgid "delete the entire line (even if it wraps on the screen)"
msgstr ""
"удалить целую строку (даже если на экране она не помещается в целую строку)"
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:290
+#: documentation/content/en/articles/new-users/_index.adoc:289
#, no-wrap
msgid "`i`"
msgstr "`i`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:292
+#: documentation/content/en/articles/new-users/_index.adoc:291
msgid "insert text at the cursor"
msgstr "вставка текста в позиции курсора"
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:293
+#: documentation/content/en/articles/new-users/_index.adoc:292
#, no-wrap
msgid "`a`"
msgstr "`a`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:295
+#: documentation/content/en/articles/new-users/_index.adoc:294
msgid "insert text after the cursor"
msgstr "вставка текста после курсора"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:298
+#: documentation/content/en/articles/new-users/_index.adoc:297
msgid ""
"Once you type `i` or `a`, you can enter text. `Esc` puts you back in "
"command mode where you can type"
@@ -797,46 +798,46 @@ msgstr ""
"обратно в командный режим, где вы можете набрать"
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:299
+#: documentation/content/en/articles/new-users/_index.adoc:298
#, no-wrap
msgid "`:w`"
msgstr "`:w`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:301
+#: documentation/content/en/articles/new-users/_index.adoc:300
msgid "to write your changes to disk and continue editing"
msgstr "для записи ваших изменений на диск и продолжения редактирования"
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:302
+#: documentation/content/en/articles/new-users/_index.adoc:301
#, no-wrap
msgid "`:wq`"
msgstr "`:wq`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:304
+#: documentation/content/en/articles/new-users/_index.adoc:303
msgid "to write and quit"
msgstr "для записи и выхода"
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:305
+#: documentation/content/en/articles/new-users/_index.adoc:304
#, no-wrap
msgid "`:q!`"
msgstr "`:q!`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:307
+#: documentation/content/en/articles/new-users/_index.adoc:306
msgid "to quit without saving changes"
msgstr "для выхода без сохранения изменений"
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:308
+#: documentation/content/en/articles/new-users/_index.adoc:307
#, no-wrap
msgid "`/_text_`"
msgstr "`/_text_`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:310
+#: documentation/content/en/articles/new-users/_index.adoc:309
msgid ""
"to move the cursor to _text_; `/` kbd:[Enter] (the enter key) to find the "
"next instance of _text_."
@@ -845,52 +846,52 @@ msgstr ""
"поиска следующего экземпляра _text_."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:311
+#: documentation/content/en/articles/new-users/_index.adoc:310
#, no-wrap
msgid "`G`"
msgstr "`G`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:313
+#: documentation/content/en/articles/new-users/_index.adoc:312
msgid "to go to the end of the file"
msgstr "для перехода в конец файла"
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:314
+#: documentation/content/en/articles/new-users/_index.adoc:313
#, no-wrap
msgid "`nG`"
msgstr "`nG`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:316
+#: documentation/content/en/articles/new-users/_index.adoc:315
msgid "to go to line _n_ in the file, where _n_ is a number"
msgstr "Для перехода к строке _n_ в файле, где _n_ является числом"
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:317
+#: documentation/content/en/articles/new-users/_index.adoc:316
#, no-wrap
msgid "kbd:[Ctrl+L]"
msgstr "kbd:[Ctrl+L]"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:319
+#: documentation/content/en/articles/new-users/_index.adoc:318
msgid "to redraw the screen"
msgstr "для перерисовки экрана"
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:320
+#: documentation/content/en/articles/new-users/_index.adoc:319
#, no-wrap
msgid "kbd:[Ctrl+b] and kbd:[Ctrl+f]"
msgstr "kbd:[Ctrl+b] and kbd:[Ctrl+f]"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:322
+#: documentation/content/en/articles/new-users/_index.adoc:321
msgid "go back and forward a screen, as they do with `more` and `view`."
msgstr ""
"для перелистывания экрана вперёд и назад, как это делается в `more` и `view`."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:327
+#: documentation/content/en/articles/new-users/_index.adoc:326
msgid ""
"Practice with `vi` in your home directory by creating a new file with `vi "
"_filename_` and adding and deleting text, saving the file, and calling it up "
@@ -915,7 +916,7 @@ msgstr ""
"всё сначала (с вашей последней команды `:w`), если это нужно."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:331
+#: documentation/content/en/articles/new-users/_index.adoc:330
msgid ""
"Now you can `cd` to [.filename]#/etc#, `su` to `root`, use `vi` to edit the "
"file [.filename]#/etc/group#, and add a user to `wheel` so the user has root "
@@ -933,66 +934,66 @@ msgstr ""
"не поставили пробел после запятой, ведь так?)"
#. type: Title ==
-#: documentation/content/en/articles/new-users/_index.adoc:333
+#: documentation/content/en/articles/new-users/_index.adoc:332
#, no-wrap
msgid "Other Useful Commands"
msgstr "Другие полезные команды"
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:335
+#: documentation/content/en/articles/new-users/_index.adoc:334
#, no-wrap
msgid "`df`"
msgstr "`df`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:337
+#: documentation/content/en/articles/new-users/_index.adoc:336
msgid "shows file space and mounted systems."
msgstr ""
"выдаёт данные о занятом файлами пространстве и смонтированных файловых "
"системах."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:338
+#: documentation/content/en/articles/new-users/_index.adoc:337
#, no-wrap
msgid "`ps aux`"
msgstr "`ps aux`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:340
+#: documentation/content/en/articles/new-users/_index.adoc:339
msgid "shows processes running. `ps ax` is a narrower form."
msgstr ""
"показывает работающие процессы. `ps ax` является частоупотребительной формой."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:341
+#: documentation/content/en/articles/new-users/_index.adoc:340
#, no-wrap
msgid "`rm _filename_`"
msgstr "`rm _filename_`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:343
+#: documentation/content/en/articles/new-users/_index.adoc:342
msgid "remove _filename_."
msgstr "удаляет _filename_."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:344
+#: documentation/content/en/articles/new-users/_index.adoc:343
#, no-wrap
msgid "`rm -R _dir_`"
msgstr "`rm -R _dir_`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:346
+#: documentation/content/en/articles/new-users/_index.adoc:345
msgid "removes a directory _dir_ and all subdirectories-careful!"
msgstr "удаляет каталог _dir_ и все его подкаталоги-осторожно!"
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:347
+#: documentation/content/en/articles/new-users/_index.adoc:346
#, no-wrap
msgid "`ls -R`"
msgstr "`ls -R`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:349
+#: documentation/content/en/articles/new-users/_index.adoc:348
msgid ""
"lists files in the current directory and all subdirectories; I used a "
"variant, `ls -AFR > where.txt`, to get a list of all the files in [."
@@ -1005,29 +1006,29 @@ msgstr ""
"более эффективном способе поиска файлов."
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:350
+#: documentation/content/en/articles/new-users/_index.adoc:349
#, no-wrap
msgid "`passwd`"
msgstr "`passwd`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:352
+#: documentation/content/en/articles/new-users/_index.adoc:351
msgid "to change user's password (or ``root``'s password)"
msgstr "для изменения пароля пользователя (или пароля `root`)"
#. type: Labeled list
-#: documentation/content/en/articles/new-users/_index.adoc:353
+#: documentation/content/en/articles/new-users/_index.adoc:352
#, no-wrap
msgid "`man hier`"
msgstr "`man hier`"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:355
+#: documentation/content/en/articles/new-users/_index.adoc:354
msgid "manual page on the UNIX(R) filesystem"
msgstr "справочная страница по файловой структуре UNIX(R)"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:357
+#: documentation/content/en/articles/new-users/_index.adoc:356
msgid ""
"Use `find` to locate [.filename]#filename# in [.filename]#/usr# or any of "
"its subdirectories with"
@@ -1036,13 +1037,13 @@ msgstr ""
"в любом из её подкаталогов при помощи команды"
#. type: delimited block . 4
-#: documentation/content/en/articles/new-users/_index.adoc:361
+#: documentation/content/en/articles/new-users/_index.adoc:360
#, no-wrap
msgid "% find /usr -name \"filename\"\n"
msgstr "% find /usr -name \"filename\"\n"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:365
+#: documentation/content/en/articles/new-users/_index.adoc:364
msgid ""
"You can use * as a wildcard in `\"_filename_\"` (which should be in "
"quotes). If you tell `find` to search in [.filename]#/# instead of [."
@@ -1055,7 +1056,7 @@ msgstr ""
"всех смонтированных файловых системах, включая CDROM и раздел DOS."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:367
+#: documentation/content/en/articles/new-users/_index.adoc:366
msgid ""
"An excellent book that explains UNIX(R) commands and utilities is Abrahams & "
"Larson, Unix for the Impatient (2nd ed., Addison-Wesley, 1996). There is "
@@ -1066,13 +1067,13 @@ msgstr ""
"Масса информации по UNIX(R) есть и в Internet."
#. type: Title ==
-#: documentation/content/en/articles/new-users/_index.adoc:369
+#: documentation/content/en/articles/new-users/_index.adoc:368
#, no-wrap
msgid "Next Steps"
msgstr "Следующие шаги"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:376
+#: documentation/content/en/articles/new-users/_index.adoc:375
msgid ""
"You should now have the tools you need to get around and edit files, so you "
"can get everything up and running. There is a great deal of information in "
@@ -1089,8 +1090,8 @@ msgid ""
msgstr ""
"Теперь вы должны иметь инструменты, которые необходимо держать под рукой и "
"умеете редактировать файлы, так что вы должны суметь запустить всё, что "
-"угодно. Много полезной информации содержится в Руководстве по FreeBSD ("
-"которое, скорее всего, есть на вашем жёстком диске) и link:https://www."
+"угодно. Много полезной информации содержится в Руководстве по FreeBSD "
+"(которое, скорее всего, есть на вашем жёстком диске) и link:https://www."
"FreeBSD.org/[Web-сайте FreeBSD]. На CDROM, а также Web-сайте находятся "
"различные пакеты и порты. В Руководстве рассказывается более подробно о том, "
"как их использовать (получить пакет, если он существует, командой `pkg_add /"
@@ -1103,7 +1104,7 @@ msgstr ""
"соответственно."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:378
+#: documentation/content/en/articles/new-users/_index.adoc:377
msgid ""
"If you find the handbook too sophisticated (what with `lndir` and all) on "
"installing ports from the CDROM, here is what usually works:"
@@ -1113,7 +1114,7 @@ msgstr ""
"срабатывает:"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:381
+#: documentation/content/en/articles/new-users/_index.adoc:380
msgid ""
"Find the port you want, say `kermit`. There will be a directory for it on "
"the CDROM. Copy the subdirectory to [.filename]#/usr/local# (a good place "
@@ -1125,13 +1126,13 @@ msgstr ""
"которое должно быть доступно всем пользователям) такой командой:"
#. type: delimited block . 4
-#: documentation/content/en/articles/new-users/_index.adoc:385
+#: documentation/content/en/articles/new-users/_index.adoc:384
#, no-wrap
msgid "# cp -R /cdrom/ports/comm/kermit /usr/local\n"
msgstr "# cp -R /cdrom/ports/comm/kermit /usr/local\n"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:388
+#: documentation/content/en/articles/new-users/_index.adoc:387
msgid ""
"This should result in a [.filename]#/usr/local/kermit# subdirectory that has "
"all the files that the `kermit` subdirectory on the CDROM has."
@@ -1140,7 +1141,7 @@ msgstr ""
"содержащий все файлы, что есть в подкаталоге `kermit` на CDROM."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:393
+#: documentation/content/en/articles/new-users/_index.adoc:392
msgid ""
"Next, create the directory [.filename]#/usr/ports/distfiles# if it does not "
"already exist using `mkdir`. Now check [.filename]#/cdrom/ports/distfiles# "
@@ -1158,7 +1159,7 @@ msgstr ""
"`kermit`, дистрибутивного файла не существует."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:396
+#: documentation/content/en/articles/new-users/_index.adoc:395
msgid ""
"Then `cd` to the subdirectory of [.filename]#/usr/local/kermit# that has the "
"file [.filename]#Makefile#. Type"
@@ -1167,13 +1168,13 @@ msgstr ""
"kermit#, в котором есть файл [.filename]#Makefile#. Наберите"
#. type: delimited block . 4
-#: documentation/content/en/articles/new-users/_index.adoc:400
+#: documentation/content/en/articles/new-users/_index.adoc:399
#, no-wrap
msgid "# make all install\n"
msgstr "# make all install\n"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:406
+#: documentation/content/en/articles/new-users/_index.adoc:405
msgid ""
"During this process the port will FTP to get any compressed files it needs "
"that it did not find on the CDROM or in [.filename]#/usr/ports/distfiles#. "
@@ -1193,19 +1194,19 @@ msgstr ""
"дистрибутивный файл на другой машине и скопировать его в каталог [."
"filename]#/usr/ports/distfiles#. Прочтите [.filename]#Makefile# (при помощи "
"команд `cat`, `more` или `view`), чтобы понять, как называется файл и куда "
-"нужно обратиться (основной сайт распространения), чтобы его получить. ("
-"Используйте двоичный тип передачи файлов!) Затем перейдите обратно в каталог "
-"[.filename]#/usr/local/kermit#, найдите каталог с [.filename]#Makefile# и "
-"наберите `make all install`."
+"нужно обратиться (основной сайт распространения), чтобы его получить. "
+"(Используйте двоичный тип передачи файлов!) Затем перейдите обратно в "
+"каталог [.filename]#/usr/local/kermit#, найдите каталог с [."
+"filename]#Makefile# и наберите `make all install`."
#. type: Title ==
-#: documentation/content/en/articles/new-users/_index.adoc:408
+#: documentation/content/en/articles/new-users/_index.adoc:407
#, no-wrap
msgid "Your Working Environment"
msgstr "Ваше рабочее окружение"
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:413
+#: documentation/content/en/articles/new-users/_index.adoc:412
msgid ""
"Your shell is the most important part of your working environment. The "
"shell is what interprets the commands you type on the command line, and thus "
@@ -1220,7 +1221,7 @@ msgstr ""
"участия."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:417
+#: documentation/content/en/articles/new-users/_index.adoc:416
msgid ""
"Two shells come installed with FreeBSD: `csh` and `sh`. `csh` is good for "
"command-line work, but scripts should be written with `sh` (or `bash`). You "
@@ -1232,7 +1233,7 @@ msgstr ""
"процессор у вас используется, набрав `echo $SHELL`."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:423
+#: documentation/content/en/articles/new-users/_index.adoc:422
msgid ""
"The `csh` shell is okay, but `tcsh` does everything `csh` does and more. It "
"allows you to recall commands with the arrow keys and edit them. It has tab-"
@@ -1244,17 +1245,17 @@ msgstr ""
"больше. Она позволяет вам восстанавливать прошлые команды клавишами со "
"стрелками и редактировать их. В нём есть автозавершение имён файлов по "
"нажатию клавиши табуляции (в `csh` используется клавиша kbd:[Esc]) и он "
-"позволяет вам переключаться в каталог, в котором вы были ранее, по команде `"
-"cd -`. Также в `tcsh` гораздо легче изменять системное приглашение. Это "
+"позволяет вам переключаться в каталог, в котором вы были ранее, по команде "
+"`cd -`. Также в `tcsh` гораздо легче изменять системное приглашение. Это "
"гораздо упрощает жизнь."
#. type: Plain text
-#: documentation/content/en/articles/new-users/_index.adoc:425
+#: documentation/content/en/articles/new-users/_index.adoc:424
msgid "Here are the three steps for installing a new shell:"
msgstr "Вот три шага по установке нового командного процессора:"
#. type: delimited block = 4
-#: documentation/content/en/articles/new-users/_index.adoc:429
+#: documentation/content/en/articles/new-users/_index.adoc:428
msgid ""
"Install the shell as a port or a package, just as you would any other port "
"or package."
@@ -1263,7 +1264,7 @@ msgstr ""
"с другим портом или пакетом."
#. type: delimited block = 4
-#: documentation/content/en/articles/new-users/_index.adoc:430
+#: documentation/content/en/articles/new-users/_index.adoc:429
msgid ""
"Use `chsh` to change your shell to `tcsh` permanently, or type `tcsh` at the "
"prompt to change your shell without logging in again."
@@ -1273,7 +1274,7 @@ msgstr ""
"систему."
#. type: delimited block = 4
-#: documentation/content/en/articles/new-users/_index.adoc:438
+#: documentation/content/en/articles/new-users/_index.adoc:437
msgid ""
"It can be dangerous to change `root`'s shell to something other than `sh` or "
"`csh` on early versions of FreeBSD and many other versions of UNIX(R); you "
@@ -1292,13 +1293,13 @@ msgstr ""
"добавив в ваш [.filename]#.tcshrc# алиас с:"
#. type: delimited block . 4
-#: documentation/content/en/articles/new-users/_index.adoc:442
+#: documentation/content/en/articles/new-users/_index.adoc:441
#, no-wrap
msgid "alias su su -m\n"
msgstr "alias su su -m\n"
#. type: delimited block = 4
-#: documentation/content/en/articles/new-users/_index.adoc:449
+#: documentation/content/en/articles/new-users/_index.adoc:448
msgid ""
"When `tcsh` starts up, it will read the [.filename]#/etc/csh.cshrc# and [."
"filename]#/etc/csh.login# files, as does `csh`. It will also read [."
@@ -1314,7 +1315,7 @@ msgstr ""
"tcshrc#."
#. type: delimited block = 4
-#: documentation/content/en/articles/new-users/_index.adoc:453
+#: documentation/content/en/articles/new-users/_index.adoc:452
msgid ""
"Now that you have installed `tcsh`, you can adjust your prompt. You can "
"find the details in the manual page for `tcsh`, but here is a line to put in "
@@ -1332,12 +1333,12 @@ msgstr ""
"пользователем `root`, однако tsch будет делать это в любом случае:"
#. type: delimited block = 4
-#: documentation/content/en/articles/new-users/_index.adoc:455
+#: documentation/content/en/articles/new-users/_index.adoc:454
msgid "set prompt = \"%h %t %~ %# \""
msgstr "set prompt = \"%h %t %~ %# \""
#. type: delimited block = 4
-#: documentation/content/en/articles/new-users/_index.adoc:460
+#: documentation/content/en/articles/new-users/_index.adoc:459
msgid ""
"This should go in the same place as the existing set prompt line if there is "
"one, or under \"if($?prompt) then\" if not. Comment out the old line; you "
@@ -1346,14 +1347,14 @@ msgid ""
"tcshrc`."
msgstr ""
"Эта строка должна быть поставлена на то же самое место, что и существующая "
-"строка установки приглашения, если она есть, либо после строки \"if($?prompt)"
-" then\", если её нет. Закомментируйте старую строку; вы всегда сможете "
-"вернуться к ней обратно, если предпочтёте её. Не забудьте о пробелах и "
-"кавычках. Вы можете заставить перечитать [.filename]#.tcshrc#, набрав `"
-"source .tcshrc`."
+"строка установки приглашения, если она есть, либо после строки \"if($?"
+"prompt) then\", если её нет. Закомментируйте старую строку; вы всегда "
+"сможете вернуться к ней обратно, если предпочтёте её. Не забудьте о пробелах "
+"и кавычках. Вы можете заставить перечитать [.filename]#.tcshrc#, набрав "
+"`source .tcshrc`."
#. type: delimited block = 4
-#: documentation/content/en/articles/new-users/_index.adoc:464
+#: documentation/content/en/articles/new-users/_index.adoc:463
msgid ""
"You can get a listing of other environmental variables that have been set by "
"typing `env` at the prompt. The result will show you your default editor, "
@@ -1369,13 +1370,13 @@ msgstr ""
"обладает некоторыми возможностями, является команда `setenv TERM vt100`."
#. type: Title ==
-#: documentation/content/en/articles/new-users/_index.adoc:466
+#: documentation/content/en/articles/new-users/_index.adoc:465
#, no-wrap
msgid "Other"
msgstr "Другие"
#. type: delimited block = 4
-#: documentation/content/en/articles/new-users/_index.adoc:470
+#: documentation/content/en/articles/new-users/_index.adoc:469
msgid ""
"As `root`, you can unmount the CDROM with `/sbin/umount /cdrom`, take it out "
"of the drive, insert another one, and mount it with `/sbin/mount_cd9660 /dev/"
@@ -1391,7 +1392,7 @@ msgstr ""
"по команде `/sbin/mount /cdrom`."
#. type: delimited block = 4
-#: documentation/content/en/articles/new-users/_index.adoc:476
+#: documentation/content/en/articles/new-users/_index.adoc:475
msgid ""
"Using the live filesystem-the second of FreeBSD's CDROM disks-is useful if "
"you have got limited space. What is on the live filesystem varies from "
@@ -1411,13 +1412,13 @@ msgstr ""
"находиться. Прочтите справку по команде `man lndir`."
#. type: Title ==
-#: documentation/content/en/articles/new-users/_index.adoc:478
+#: documentation/content/en/articles/new-users/_index.adoc:477
#, no-wrap
msgid "Comments Welcome"
msgstr "Пожелания приветствуются"
#. type: delimited block = 4
-#: documentation/content/en/articles/new-users/_index.adoc:482
+#: documentation/content/en/articles/new-users/_index.adoc:481
msgid ""
"If you use this guide I would be interested in knowing where it was unclear "
"and what was left out that you think should be included, and if it was "
@@ -1430,7 +1431,7 @@ msgstr ""
"информатики в SUNY-Stony Brook, и John Fieber за ценные советы."
#. type: delimited block = 4
-#: documentation/content/en/articles/new-users/_index.adoc:483
+#: documentation/content/en/articles/new-users/_index.adoc:482
msgid ""
"Annelise Anderson, mailto:andrsn@andrsn.stanford.edu[andrsn@andrsn.stanford."
"edu]"