diff options
| author | Vladlen Popolitov <vladlen@FreeBSD.org> | 2026-08-13 14:05:16 +0000 |
|---|---|---|
| committer | Vladlen Popolitov <vladlen@FreeBSD.org> | 2026-08-13 14:05:16 +0000 |
| commit | c83f1a58e605a8ea075f6449856d9dc091305479 (patch) | |
| tree | f547ade70199649b89aa6a35d5fb92026b25a4b7 | |
| parent | 7262c7f7c0444007febd1e53cf2a991a9118d652 (diff) | |
update translation of articles/ g-n to Russian
Differential Revision: https://reviews.freebsd.org/D58808
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]" |
