diff --git a/documentation/content/ru/articles/bsdl-gpl/_index.adoc b/documentation/content/ru/articles/bsdl-gpl/_index.adoc --- a/documentation/content/ru/articles/bsdl-gpl/_index.adoc +++ b/documentation/content/ru/articles/bsdl-gpl/_index.adoc @@ -58,7 +58,7 @@ В 1969 году Министерство юстиции США обвинило IBM в уничтожении бизнесов путем объединения бесплатного программного обеспечения с аппаратным обеспечением IBM. В результате этого иска IBM прекратила практику объединения; то есть, программное обеспечение стало независимым продуктом, отдельным от аппаратного обеспечения. -В 1968 году компания Informatics представила приложение — первый коммерческий хит продукт, и быстро утвердила концепцию программного продукта, программной компании и очень высоких норм прибыли. Informatics разработала бессрочную лицензию, которая теперь является стандартом во всей компьютерной отрасли, при которой право собственности никогда не передается клиенту. +В 1968 году компания Informatics представила приложение — первый коммерческий хит продукт, и быстро утвердила концепцию программного продукта, программной компании и очень высоких норм прибыли. Informatics разработала бессрочную лицензию, которая теперь является стандартом во всей компьютерной отрасли, при которой право собственности никогда не передаётся клиенту. [[unix-license]] == Unix с точки зрения лицензирования BSD diff --git a/documentation/content/ru/articles/bsdl-gpl/_index.po b/documentation/content/ru/articles/bsdl-gpl/_index.po --- a/documentation/content/ru/articles/bsdl-gpl/_index.po +++ b/documentation/content/ru/articles/bsdl-gpl/_index.po @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2022-02-01 09:21-0300\n" -"PO-Revision-Date: 2025-07-27 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -128,7 +128,7 @@ "коммерческий хит продукт, и быстро утвердила концепцию программного " "продукта, программной компании и очень высоких норм прибыли. Informatics " "разработала бессрочную лицензию, которая теперь является стандартом во всей " -"компьютерной отрасли, при которой право собственности никогда не передается " +"компьютерной отрасли, при которой право собственности никогда не передаётся " "клиенту." #. type: Title == diff --git a/documentation/content/ru/articles/committers-guide/_index.adoc b/documentation/content/ru/articles/committers-guide/_index.adoc --- a/documentation/content/ru/articles/committers-guide/_index.adoc +++ b/documentation/content/ru/articles/committers-guide/_index.adoc @@ -46,7 +46,7 @@ В этом документе представлена информация для сообщества коммиттеров FreeBSD. Все новые коммиттеры должны прочитать этот документ перед началом работы, а существующим коммиттерам настоятельно рекомендуется периодически его пересматривать. -Почти все разработчики FreeBSD имеют права на коммит в один или несколько репозиториев. Однако некоторые разработчики не имеют таких прав, и часть информации здесь применима и к ним. (Например, некоторые люди имеют права только для работы с базой данных отчетов о проблемах.) Дополнительную информацию можно найти в crossref:committers-guide[non-committers, Вопросы, специфичные для разработчиков без прав на коммит]. +Почти все разработчики FreeBSD имеют права на коммит в один или несколько репозиториев. Однако некоторые разработчики не имеют таких прав, и часть информации здесь применима и к ним. (Например, некоторые люди имеют права только для работы с базой данных отчётов о проблемах.) Дополнительную информацию можно найти в crossref:committers-guide[non-committers, Вопросы, специфичные для разработчиков без прав на коммит]. Этот документ также может быть интересен участникам сообщества FreeBSD, которые хотят узнать больше о том, как работает проект. @@ -85,10 +85,10 @@ |_Внутренние списки рассылки_ |developers (технически называемый all-developers), doc-developers, doc-committers, ports-developers, ports-committers, src-developers, src-committers. (Каждый репозиторий проекта имеет свои собственные списки рассылки -developers и -committers. Архивы этих списков можно найти в файлах [.filename]#/local/mail/repository-name-developers-archive# и [.filename]#/local/mail/repository-name-committers-archive# на `freefall.FreeBSD.org`.) -|_Ежемесячные отчеты основной команды (Core Team)_ +|_Ежемесячные отчёты основной команды (Core Team)_ |[.filename]#/home/core/public/reports# на кластере `FreeBSD.org`. -|_Ежемесячные отчеты команды управления портами_ +|_Ежемесячные отчёты команды управления портами_ |[.filename]#/home/portmgr/public/monthly-reports# в кластере `FreeBSD.org`. |_Важные ветки Git в `src/`:_ @@ -952,7 +952,7 @@ % git tag -a vendor/NetBSD/mtree/20201211 .... -Крайне важно убедиться, что импортируемый исходный код получен из надежного источника. Многие проекты с открытым исходным кодом используют криптографические подписи для подписывания изменений кода, тегов git и/или tar-архивов с исходным кодом. Всегда проверяйте эти подписи и используйте механизмы изоляции, такие как клетки, chroot, в сочетании с выделенной непривилегированной учетной записью пользователя, отличной от той, которую вы используете регулярно (подробнее см. в разделе «Обновление дерева исходного кода FreeBSD» ниже), пока вы не будете уверены, что импортируемый исходный код выглядит безопасным. Отслеживание разработки в вышестоящем репозитории и периодический просмотр изменений кода в нем могут значительно помочь в повышении качества кода и принести пользу всем участникам. Также рекомендуется изучать результаты git diff перед импортом их в область вендора. +Крайне важно убедиться, что импортируемый исходный код получен из надёжного источника. Многие проекты с открытым исходным кодом используют криптографические подписи для подписывания изменений кода, тегов git и/или tar-архивов с исходным кодом. Всегда проверяйте эти подписи и используйте механизмы изоляции, такие как клетки, chroot, в сочетании с выделенной непривилегированной учетной записью пользователя, отличной от той, которую вы используете регулярно (подробнее см. в разделе «Обновление дерева исходного кода FreeBSD» ниже), пока вы не будете уверены, что импортируемый исходный код выглядит безопасным. Отслеживание разработки в вышестоящем репозитории и периодический просмотр изменений кода в нем могут значительно помочь в повышении качества кода и принести пользу всем участникам. Также рекомендуется изучать результаты git diff перед импортом их в область вендора. Всегда выполняйте команды `git diff` и `git status` и внимательно изучайте результаты. В случае сомнений полезно выполнить `git annotate` на ветке вендора или в вышестоящем git-репозитории, чтобы увидеть, кто и почему внес изменение. @@ -1216,7 +1216,7 @@ Затем убедитесь, что имя пользователя и адрес электронной почты настроены правильно. Требуется, чтобы они точно соответствовали записи passwd в кластере FreeBSD. -Используйте +Использование [source, shell] .... @@ -2186,7 +2186,7 @@ |=== |`PR:` -|Номер отчета о проблеме (если есть), на который влияет данный коммит (обычно путем закрытия). Можно указать несколько номеров PR в одной строке, разделяя их запятыми или пробелами. +|Номер отчёта о проблеме (если есть), на который влияет данный коммит (обычно путем закрытия). Можно указать несколько номеров PR в одной строке, разделяя их запятыми или пробелами. |`Reported by:` |Имя и адрес электронной почты лица, сообщившего о проблеме; для разработчиков — только имя пользователя в кластере FreeBSD. @@ -2603,7 +2603,7 @@ Все разработчики FreeBSD могут получить доступ к результатам анализа Coverity для всего программного обеспечения проекта FreeBSD. Все, кто заинтересован в доступе к результатам автоматического анализа Coverity, могут зарегистрироваться на http://scan.coverity.com/[Coverity Scan]. -В вики FreeBSD есть мини-руководство для разработчиков, которые заинтересованы в работе с отчетами анализа Coverity(R): https://wiki.freebsd.org/CoverityPrevent[https://wiki.freebsd.org/CoverityPrevent]. Обратите внимание, что это мини-руководство доступно только разработчикам FreeBSD, поэтому если вы не можете открыть эту страницу, вам нужно будет попросить добавить вас в соответствующий список доступа к вики. +В вики FreeBSD есть мини-руководство для разработчиков, которые заинтересованы в работе с отчётами анализа Coverity(R): https://wiki.freebsd.org/CoverityPrevent[https://wiki.freebsd.org/CoverityPrevent]. Обратите внимание, что это мини-руководство доступно только разработчикам FreeBSD, поэтому если вы не можете открыть эту страницу, вам нужно будет попросить добавить вас в соответствующий список доступа к вики. Наконец, все разработчики FreeBSD, которые собираются использовать Coverity(R), всегда могут запросить дополнительные детали и информацию об использовании, задав любые вопросы в списке рассылки разработчиков FreeBSD. @@ -2769,7 +2769,7 @@ Где есть проблемы безопасности, затрагивающие множество различных операционных систем, FreeBSD часто зависит от раннего доступа, чтобы иметь возможность подготовить уведомления для согласованного выпуска. Если разработчики FreeBSD не могут быть доверены в вопросах поддержания безопасности, такой ранний доступ предоставлен не будет. Ответственный за безопасность контролирует доступ к информации об уязвимостях до их публикации и определяет время выпуска всех уведомлений. Он может запросить помощь при условии конфиденциальности у любого разработчика с соответствующими знаниями для подготовки исправлений безопасности. . Коммуникации с Основной командой (Core Team) сохраняются в конфиденциальности столько времени, сколько необходимо. + -Коммуникации с Основной командой изначально будут рассматриваться как конфиденциальные. Однако в конечном итоге большая часть деятельности Основной команды будет обобщена в ежемесячных или квартальных отчетах ядра. Будет уделено внимание тому, чтобы избежать разглашения каких-либо чувствительных деталей. Записи по некоторым особо чувствительным темам могут вообще не попадать в отчеты и будут храниться только в частных архивах Основной команды. +Коммуникации с Основной командой изначально будут рассматриваться как конфиденциальные. Однако в конечном итоге большая часть деятельности Основной команды будет обобщена в ежемесячных или квартальных отчётах ядра. Будет уделено внимание тому, чтобы избежать разглашения каких-либо чувствительных деталей. Записи по некоторым особо чувствительным темам могут вообще не попадать в отчёты и будут храниться только в частных архивах Основной команды. . Соглашения о неразглашении могут потребоваться для доступа к определенной коммерчески чувствительной информации. + Доступ к определенным коммерчески чувствительным данным может быть предоставлен только при подписании Соглашения о неразглашении. Перед заключением каких-либо юридически обязывающих соглашений необходимо проконсультироваться с юридическим отделом Фонда FreeBSD. @@ -3056,7 +3056,7 @@ . Если вы хотите быть действительно тщательным, сейчас может быть подходящее время запустить man:portlint[1]. ====== + -. Проверьте, что значения ``PKGORIGIN`` указаны верно. Система портов использует запись `CATEGORIES` каждого порта для создания его `PKGORIGIN`, который служит для связи установленных пакетов с директорией порта, из которого они были собраны. Если эта запись неверна, такие распространённые инструменты для работы с портами, как man:pkg-version[8] и man:portupgrade[1], не будут работать. +. Проверьте, что значения ``PKGORIGIN`` указаны верно. Система портов использует запись `CATEGORIES` каждого порта для создания его `PKGORIGIN`, который служит для связи установленных пакетов с каталогом порта, из которого они были собраны. Если эта запись неверна, такие распространённые инструменты для работы с портами, как man:pkg-version[8] и man:portupgrade[1], не будут работать. + Для этого используйте инструмент [.filename]#chkorigin.sh#: `env PORTSDIR=/path/to/ports sh -e /path/to/ports/Tools/scripts/chkorigin.sh`. Это проверит каждый порт в дереве портов, даже те, которые не связаны со сборкой, поэтому вы можете запустить его сразу после операции перемещения. Подсказка: не забудьте проверить ``PKGORIGIN`` для всех подчинённых портов (slave ports) тех портов, которые вы только что переместили! . На вашей локальной системе протестируйте предлагаемые изменения: сначала закомментируйте записи SUBDIR в файлах [.filename]##Makefile## старых категорий портов; затем включите сборку новой категории в [.filename]#ports/Makefile#. Запустите `make checksubdirs` в затронутых каталогах категорий, чтобы проверить записи SUBDIR. Затем в каталоге [.filename]#ports/# выполните `make index`. Это может занять более 40 минут даже на современных системах; однако это необходимый шаг для предотвращения проблем у других пользователей. @@ -3096,7 +3096,7 @@ Пакеты собираются несколько раз в неделю. Если сборка порта завершается неудачно, сопровождающий получит письмо от `pkg-fallout@FreeBSD.org`. -Отчеты по всем сборкам пакетов (официальные, экспериментальные и без регрессии) агрегируются на link:https://pkg-status.FreeBSD.org[pkg-status.FreeBSD.org]. +Отчёты по всем сборкам пакетов (официальные, экспериментальные и без регрессии) агрегируются на link:https://pkg-status.FreeBSD.org[pkg-status.FreeBSD.org]. [[ports-qa-misc-INDEX]] ==== Я добавил новый порт. Нужно ли добавлять его в [.filename]#INDEX#? diff --git a/documentation/content/ru/articles/committers-guide/_index.po b/documentation/content/ru/articles/committers-guide/_index.po --- a/documentation/content/ru/articles/committers-guide/_index.po +++ b/documentation/content/ru/articles/committers-guide/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2025-11-10 04:45+0000\n" +"PO-Revision-Date: 2025-11-13 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -61,7 +61,7 @@ "Почти все разработчики FreeBSD имеют права на коммит в один или несколько " "репозиториев. Однако некоторые разработчики не имеют таких прав, и часть " "информации здесь применима и к ним. (Например, некоторые люди имеют права " -"только для работы с базой данных отчетов о проблемах.) Дополнительную " +"только для работы с базой данных отчётов о проблемах.) Дополнительную " "информацию можно найти в crossref:committers-guide[non-committers, Вопросы, " "специфичные для разработчиков без прав на коммит]." @@ -185,7 +185,7 @@ #: documentation/content/en/articles/committers-guide/_index.adoc:92 #, no-wrap msgid "_Core Team monthly reports_" -msgstr "_Ежемесячные отчеты основной команды (Core Team)_" +msgstr "_Ежемесячные отчёты основной команды (Core Team)_" #. type: Table #: documentation/content/en/articles/committers-guide/_index.adoc:94 @@ -197,7 +197,7 @@ #: documentation/content/en/articles/committers-guide/_index.adoc:95 #, no-wrap msgid "_Ports Management Team monthly reports_" -msgstr "_Ежемесячные отчеты команды управления портами_" +msgstr "_Ежемесячные отчёты команды управления портами_" #. type: Table #: documentation/content/en/articles/committers-guide/_index.adoc:97 @@ -3249,7 +3249,7 @@ "improving code quality and benefit everyone involved. It is also a good idea " "to examine the git diff results before importing them into the vendor area." msgstr "" -"Крайне важно убедиться, что импортируемый исходный код получен из надежного " +"Крайне важно убедиться, что импортируемый исходный код получен из надёжного " "источника. Многие проекты с открытым исходным кодом используют " "криптографические подписи для подписывания изменений кода, тегов git и/или " "tar-архивов с исходным кодом. Всегда проверяйте эти подписи и используйте " @@ -4201,7 +4201,7 @@ #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:1472 msgid "Use" -msgstr "Используйте" +msgstr "Использование" #. type: delimited block . 4 #: documentation/content/en/articles/committers-guide/_index.adoc:1476 @@ -7405,7 +7405,10 @@ #: documentation/content/en/articles/committers-guide/_index.adoc:2585 #, no-wrap msgid "The problem report (if any) which is affected (typically, by being closed) by this commit. Multiple PRs may be specified on one line, separated by commas or spaces." -msgstr "Номер отчета о проблеме (если есть), на который влияет данный коммит (обычно путем закрытия). Можно указать несколько номеров PR в одной строке, разделяя их запятыми или пробелами." +msgstr "" +"Номер отчёта о проблеме (если есть), на который влияет данный коммит (обычно " +"путем закрытия). Можно указать несколько номеров PR в одной строке, разделяя " +"их запятыми или пробелами." #. type: Table #: documentation/content/en/articles/committers-guide/_index.adoc:2586 @@ -8917,7 +8920,7 @@ "Wiki access list." msgstr "" "В вики FreeBSD есть мини-руководство для разработчиков, которые " -"заинтересованы в работе с отчетами анализа Coverity(R): https://wiki.freebsd." +"заинтересованы в работе с отчётами анализа Coverity(R): https://wiki.freebsd." "org/CoverityPrevent[https://wiki.freebsd.org/CoverityPrevent]. Обратите " "внимание, что это мини-руководство доступно только разработчикам FreeBSD, " "поэтому если вы не можете открыть эту страницу, вам нужно будет попросить " @@ -10152,10 +10155,10 @@ msgstr "" "Коммуникации с Основной командой изначально будут рассматриваться как " "конфиденциальные. Однако в конечном итоге большая часть деятельности " -"Основной команды будет обобщена в ежемесячных или квартальных отчетах ядра. " +"Основной команды будет обобщена в ежемесячных или квартальных отчётах ядра. " "Будет уделено внимание тому, чтобы избежать разглашения каких-либо " "чувствительных деталей. Записи по некоторым особо чувствительным темам могут " -"вообще не попадать в отчеты и будут храниться только в частных архивах " +"вообще не попадать в отчёты и будут храниться только в частных архивах " "Основной команды." #. type: Plain text @@ -11453,10 +11456,10 @@ msgstr "" "Проверьте, что значения ``PKGORIGIN`` указаны верно. Система портов " "использует запись `CATEGORIES` каждого порта для создания его `PKGORIGIN`, " -"который служит для связи установленных пакетов с директорией порта, из " +"который служит для связи установленных пакетов с каталогом порта, из " "которого они были собраны. Если эта запись неверна, такие распространённые " -"инструменты для работы с портами, как man:pkg-version[8] и man:" -"portupgrade[1], не будут работать." +"инструменты для работы с портами, как man:pkg-version[8] и man:portupgrade[1]" +", не будут работать." #. type: Plain text #: documentation/content/en/articles/committers-guide/_index.adoc:3715 @@ -11631,7 +11634,7 @@ "regression) are aggregated at link:https://pkg-status.FreeBSD.org[pkg-status." "FreeBSD.org]." msgstr "" -"Отчеты по всем сборкам пакетов (официальные, экспериментальные и без " +"Отчёты по всем сборкам пакетов (официальные, экспериментальные и без " "регрессии) агрегируются на link:https://pkg-status.FreeBSD.org[pkg-status." "FreeBSD.org]." diff --git a/documentation/content/ru/articles/contributing/_index.adoc b/documentation/content/ru/articles/contributing/_index.adoc --- a/documentation/content/ru/articles/contributing/_index.adoc +++ b/documentation/content/ru/articles/contributing/_index.adoc @@ -76,7 +76,7 @@ Многие люди, участвующие в FreeBSD, не являются программистами. Проект включает в себя авторов документации, веб-дизайнеров и специалистов поддержки. Всё, что нужно этим людям для участия, — это вложение времени и готовность учиться. . Периодически перечитывайте FAQ и Руководство. Если что-то объяснено недостаточно ясно, неоднозначно, устарело или неверно, дайте нам знать. Ещё лучше — пришлите нам исправление (AsciiDoc несложно изучить, но можно присылать и обычный текст). -. Помогите перевести документацию FreeBSD на ваш родной язык. Если документация уже существует на вашем языке, вы можете помочь перевести дополнительные документы или проверить, что переводы актуальны и корректны. Сначала ознакомьтесь с extref:{fdp-primer}translations[FAQ по переводам, translations] в Руководстве проекта документации FreeBSD. Вы не обязаны переводить каждую документацию FreeBSD — как волонтер, вы можете переводить столько, сколько пожелаете. Как только кто-то начинает переводить, к этому процессу почти всегда присоединяются другие. Если у вас есть время и силы перевести только часть документации, пожалуйста, переведите инструкции по установке. +. Помогите перевести документацию FreeBSD на ваш родной язык. Если документация уже существует на вашем языке, вы можете помочь перевести дополнительные документы или проверить, что переводы актуальны и корректны. Сначала ознакомьтесь с extref:{fdp-primer}translations[FAQ по переводам, translations] в Руководстве проекта документации FreeBSD. Вы не обязаны переводить каждый документ FreeBSD — как волонтер, вы можете переводить столько, сколько пожелаете. Как только кто-то начинает переводить, к этому процессу почти всегда присоединяются другие. Если у вас есть время и силы перевести только часть документации, пожалуйста, переведите инструкции по установке. . Читайте {freebsd-questions} время от времени (или даже регулярно). Может быть очень приятно делиться своими знаниями и помогать людям решать их проблемы; иногда вы даже можете узнать что-то новое для себя! Эти форумы также могут быть источником идей для улучшений. [[ongoing-programmer-tasks]] @@ -124,9 +124,9 @@ Вклады в систему обычно относятся к одной или нескольким из следующих 5 категорий: [[contrib-general]] -=== Отчеты об ошибках и общие комментарии +=== Отчёты об ошибках и общие комментарии -Идея или предложение, представляющие _общий_ технический интерес, должны быть отправлены на {freebsd-hackers}. Аналогично, люди, заинтересованные в подобных вещах (и готовые терпеть _высокий_ объем почты!), могут подписаться на {freebsd-hackers}. Дополнительную информацию об этом и других списках рассылки см. в extref:{handbook}eresources[The FreeBSD Handbook, eresources-mail]. +Идея или предложение, представляющие _общий_ технический интерес, должны быть отправлены на {freebsd-hackers}. Аналогично, люди, заинтересованные в подобных вещах (и готовые терпеть _большой_ объём почты!), могут подписаться на {freebsd-hackers}. Дополнительную информацию об этом и других списках рассылки см. в extref:{handbook}eresources[The FreeBSD Handbook, eresources-mail]. Если вы отправляете простой патч в репозиторий src, рассмотрите возможность отправить его в зеркало проекта на GitHub как https://github.com/freebsd/freebsd-src/pulls[запрос на включение]. Подходящие отправки должны: @@ -148,7 +148,7 @@ Если вы обнаружили ошибку или хотите отправить конкретное изменение, пожалуйста, сообщите об этом, используя https://bugs.FreeBSD.org/submit/[форму отправки отчёта об ошибках]. Постарайтесь заполнить каждое поле отчёта. Если патчи не превышают 65 КБ, включите их непосредственно в отчёт. Если патч подходит для применения к исходному дереву, укажите `[PATCH]` в кратком описании отчёта. При включении патчей _не_ используйте копирование и вставку, так как это превращает табуляции в пробелы и делает их непригодными. Если патчи значительно превышают 20 КБ, рассмотрите возможность их сжатия (например, с помощью man:gzip[1] или man:bzip2[1]) перед загрузкой. -После подачи отчета вы должны получить подтверждение вместе с номером для отслеживания. Сохраните этот номер, чтобы вы могли сообщить нам дополнительные сведения о проблеме. +После подачи отчёта вы должны получить подтверждение вместе с номером для отслеживания. Сохраните этот номер, чтобы вы могли сообщить нам дополнительные сведения о проблеме. См. также extref:{problem-reports}[эту статью] о том, как писать хорошие отчёты о проблемах. @@ -182,7 +182,7 @@ См. man:diff[1] для получения дополнительной информации. -После того как у вас есть набор изменений (которые вы можете проверить с помощью команды man:patch[1]), вам следует отправить их для включения в FreeBSD в виде отчета об ошибке. _Не отправляйте_ изменения просто на {freebsd-hackers}, иначе они могут потеряться! Мы очень ценим ваши предложения (это добровольный проект!); поскольку мы заняты, мы не всегда можем обработать их сразу, но они останутся в базе данных PR, пока мы не дойдем до них. Укажите, что это предложение изменений, добавив `[PATCH]` в заголовок отчета. +После того как у вас есть набор изменений (которые вы можете проверить с помощью команды man:patch[1]), вам следует отправить их для включения в FreeBSD в виде отчёта об ошибке. _Не отправляйте_ изменения просто на {freebsd-hackers}, иначе они могут потеряться! Мы очень ценим ваши предложения (это добровольный проект!); поскольку мы заняты, мы не всегда можем обработать их сразу, но они останутся в базе данных PR, пока мы не дойдем до них. Укажите, что это предложение изменений, добавив `[PATCH]` в заголовок отчёта. Если вы считаете это уместным (например, вы добавили, удалили или переименовали файлы), упакуйте свои изменения в файл `tar`. @@ -372,7 +372,7 @@ В некоторых случаях потребуется внести изменения в порт, чтобы он заработал на FreeBSD. Некоторые (но не все) разработчики исходного проекта примут такие изменения в свой код для следующего выпуска. Если это произойдет, это может помочь их пользователям и на других BSD-системах, а также, возможно, сэкономит дублирующие усилия. В качестве жеста вежливости, пожалуйста, рассмотрите возможность отправки соответствующих исправлений авторам. ==== -===== Изучать отчеты об ошибках и PR, связанные с вашим портом +===== Изучать отчёты об ошибках и PR, связанные с вашим портом Этот раздел посвящён поиску и исправлению ошибок. @@ -384,7 +384,7 @@ ==== . Отвечать на отчёты об ошибках + -Ошибки могут быть сообщены вам по электронной почте через https://bugs.FreeBSD.org/search/[базу данных отчетов о проблемах]. Также пользователи могут сообщать об ошибках напрямую вам. +Ошибки могут быть сообщены вам по электронной почте через https://bugs.FreeBSD.org/search/[базу данных отчётов о проблемах]. Также пользователи могут сообщать об ошибках напрямую вам. + Вы должны отвечать на PR и другие сообщения в течение 14 дней, но постарайтесь не затягивать так долго. Старайтесь отвечать как можно скорее, даже если это просто сообщение о том, что вам нужно ещё немного времени, прежде чем вы сможете заняться PR. + @@ -401,9 +401,9 @@ ** Файлы дампов ядра ** Стеки вызовов функций -. Устраните некорректные отчеты +. Устраните некорректные отчёты + -Некоторые отчеты об ошибках могут быть некорректными. Например, пользователь мог просто неправильно использовать программу; или установленные пакеты могут быть устаревшими и требовать обновления. Иногда сообщаемая ошибка не специфична для FreeBSD. В этом случае следует сообщить об ошибке разработчикам вышестоящего проекта. Если ошибка находится в пределах ваших возможностей для исправления, вы также можете исправить порт, чтобы исправление было применено до следующего релиза вышестоящего проекта. +Некоторые отчёты об ошибках могут быть некорректными. Например, пользователь мог просто неправильно использовать программу; или установленные пакеты могут быть устаревшими и требовать обновления. Иногда сообщаемая ошибка не специфична для FreeBSD. В этом случае следует сообщить об ошибке разработчикам вышестоящего проекта. Если ошибка находится в пределах ваших возможностей для исправления, вы также можете исправить порт, чтобы исправление было применено до следующего релиза вышестоящего проекта. . Найдите решение + Как и с ошибками сборки, вам потребуется найти решение проблемы. И снова, не забывайте спросить, если застряли! @@ -433,7 +433,7 @@ Есть несколько хороших мест, где можно найти порт, требующий внимания. -Вы можете использовать https://bugs.freebsd.org/search[веб-интерфейс] базы данных отчетов о проблемах для поиска и просмотра нерешенных PR. Большинство PR для портов — это обновления, но с небольшим поиском и беглым просмотром описаний вы сможете найти что-то интересное для работы. +Вы можете использовать https://bugs.freebsd.org/search[веб-интерфейс] базы данных отчётов о проблемах для поиска и просмотра нерешенных PR. Большинство PR для портов — это обновления, но с небольшим поиском и беглым просмотром описаний вы сможете найти что-то интересное для работы. https://portsfallout.com/[PortsFallout] отображает проблемы с портами, собранные при сборке пакетов FreeBSD. @@ -455,7 +455,7 @@ Статья extref:{problem-reports}[Составление сообщений о проблеме во FreeBSD] описывает, как лучше всего сформулировать и отправить PR. В 2005 году было подано более одиннадцати тысяч PR для портов! Следование этой статье значительно поможет нам сократить время, необходимое для обработки ваших PR. -https://bugs.freebsd.org/bugzilla/query.cgi[База данных отчетов о проблемах]. +https://bugs.freebsd.org/bugzilla/query.cgi[База данных отчётов о проблемах]. Сканер дистрибутивных файлов портов FreeBSD (portscout) http://portscout.FreeBSD.org[FreeBSD Ports distfile scanner (portscout)] может показать вам порты, для которых дистрибутивные файлы недоступны для загрузки. Вы можете проверить свои собственные порты или использовать его для поиска портов, которым требуется обновление `MASTER_SITES`. diff --git a/documentation/content/ru/articles/contributing/_index.po b/documentation/content/ru/articles/contributing/_index.po --- a/documentation/content/ru/articles/contributing/_index.po +++ b/documentation/content/ru/articles/contributing/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2025-11-09 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -198,7 +198,7 @@ "дополнительные документы или проверить, что переводы актуальны и корректны. " "Сначала ознакомьтесь с extref:{fdp-primer}translations[FAQ по переводам, " "translations] в Руководстве проекта документации FreeBSD. Вы не обязаны " -"переводить каждую документацию FreeBSD — как волонтер, вы можете переводить " +"переводить каждый документ FreeBSD — как волонтер, вы можете переводить " "столько, сколько пожелаете. Как только кто-то начинает переводить, к этому " "процессу почти всегда присоединяются другие. Если у вас есть время и силы " "перевести только часть документации, пожалуйста, переведите инструкции по " @@ -496,7 +496,7 @@ #: documentation/content/en/articles/contributing/_index.adoc:168 #, no-wrap msgid "Bug Reports and General Commentary" -msgstr "Отчеты об ошибках и общие комментарии" +msgstr "Отчёты об ошибках и общие комментарии" #. type: Plain text #: documentation/content/en/articles/contributing/_index.adoc:173 @@ -509,7 +509,7 @@ msgstr "" "Идея или предложение, представляющие _общий_ технический интерес, должны " "быть отправлены на {freebsd-hackers}. Аналогично, люди, заинтересованные в " -"подобных вещах (и готовые терпеть _высокий_ объем почты!), могут подписаться " +"подобных вещах (и готовые терпеть _большой_ объём почты!), могут подписаться " "на {freebsd-hackers}. Дополнительную информацию об этом и других списках " "рассылки см. в extref:{handbook}eresources[The FreeBSD Handbook, eresources-" "mail]." @@ -687,7 +687,7 @@ "number. Keep this tracking number so that you can update us with details " "about the problem." msgstr "" -"После подачи отчета вы должны получить подтверждение вместе с номером для " +"После подачи отчёта вы должны получить подтверждение вместе с номером для " "отслеживания. Сохраните этот номер, чтобы вы могли сообщить нам " "дополнительные сведения о проблеме." @@ -825,12 +825,12 @@ msgstr "" "После того как у вас есть набор изменений (которые вы можете проверить с " "помощью команды man:patch[1]), вам следует отправить их для включения в " -"FreeBSD в виде отчета об ошибке. _Не отправляйте_ изменения просто на " +"FreeBSD в виде отчёта об ошибке. _Не отправляйте_ изменения просто на " "{freebsd-hackers}, иначе они могут потеряться! Мы очень ценим ваши " "предложения (это добровольный проект!); поскольку мы заняты, мы не всегда " "можем обработать их сразу, но они останутся в базе данных PR, пока мы не " "дойдем до них. Укажите, что это предложение изменений, добавив `[PATCH]` в " -"заголовок отчета." +"заголовок отчёта." #. type: Plain text #: documentation/content/en/articles/contributing/_index.adoc:257 @@ -1687,7 +1687,7 @@ #: documentation/content/en/articles/contributing/_index.adoc:506 #, no-wrap msgid "Investigate bug reports and PRs related to your port" -msgstr "Изучать отчеты об ошибках и PR, связанные с вашим портом" +msgstr "Изучать отчёты об ошибках и PR, связанные с вашим портом" #. type: delimited block = 4 #: documentation/content/en/articles/contributing/_index.adoc:509 @@ -1729,7 +1729,7 @@ "by users." msgstr "" "Ошибки могут быть сообщены вам по электронной почте через https://bugs." -"FreeBSD.org/search/[базу данных отчетов о проблемах]. Также пользователи " +"FreeBSD.org/search/[базу данных отчётов о проблемах]. Также пользователи " "могут сообщать об ошибках напрямую вам." #. type: Plain text @@ -1809,7 +1809,7 @@ #. type: Plain text #: documentation/content/en/articles/contributing/_index.adoc:540 msgid "Eliminate incorrect reports" -msgstr "Устраните некорректные отчеты" +msgstr "Устраните некорректные отчёты" #. type: Plain text #: documentation/content/en/articles/contributing/_index.adoc:546 @@ -1821,7 +1821,7 @@ "your capabilities to fix, you can also patch the port so that the fix is " "applied before the next upstream release." msgstr "" -"Некоторые отчеты об ошибках могут быть некорректными. Например, пользователь " +"Некоторые отчёты об ошибках могут быть некорректными. Например, пользователь " "мог просто неправильно использовать программу; или установленные пакеты " "могут быть устаревшими и требовать обновления. Иногда сообщаемая ошибка не " "специфична для FreeBSD. В этом случае следует сообщить об ошибке " @@ -1971,7 +1971,7 @@ "over synopses you should be able to find something interesting to work on." msgstr "" "Вы можете использовать https://bugs.freebsd.org/search[веб-интерфейс] базы " -"данных отчетов о проблемах для поиска и просмотра нерешенных PR. Большинство " +"данных отчётов о проблемах для поиска и просмотра нерешенных PR. Большинство " "PR для портов — это обновления, но с небольшим поиском и беглым просмотром " "описаний вы сможете найти что-то интересное для работы." @@ -2080,7 +2080,7 @@ msgid "" "The https://bugs.freebsd.org/bugzilla/query.cgi[Problem Report database]." msgstr "" -"https://bugs.freebsd.org/bugzilla/query.cgi[База данных отчетов о проблемах]." +"https://bugs.freebsd.org/bugzilla/query.cgi[База данных отчётов о проблемах]." #. type: delimited block = 4 #: documentation/content/en/articles/contributing/_index.adoc:625 diff --git a/documentation/content/ru/articles/contributors/_index.adoc b/documentation/content/ru/articles/contributors/_index.adoc --- a/documentation/content/ru/articles/contributors/_index.adoc +++ b/documentation/content/ru/articles/contributors/_index.adoc @@ -201,5 +201,5 @@ === Особые участники * http://www.osd.bsdi.com/[BSDi] (ранее Walnut Creek CDROM) пожертвовали больше, чем мы можем выразить (подробности см. в разделе 'О проекте FreeBSD' extref:{handbook}[FreeBSD Handbook]). В частности, мы хотели бы поблагодарить их за первоначальное оборудование, использованное для `freefall.FreeBSD.org`, нашей основной машины разработки, и для `thud.FreeBSD.org`, тестовой и сборочной системы. Мы также благодарны им за финансирование различных участников на протяжении многих лет и предоставление неограниченного доступа к их T1-подключению к Интернету. -* Компания http://www.interface-business.de/[interface business GmbH, Дрезден] терпеливо поддерживала {joerg}, который часто отдавал предпочтение работе с FreeBSD вместо оплачиваемой работы и использовал их (довольно дорогое) интернет-подключение EUnet, когда его личное соединение становилось слишком медленным или ненадежным для работы. +* Компания http://www.interface-business.de/[interface business GmbH, Дрезден] терпеливо поддерживала {joerg}, который часто отдавал предпочтение работе с FreeBSD вместо оплачиваемой работы и использовал их (довольно дорогое) интернет-подключение EUnet, когда его личное соединение становилось слишком медленным или ненадёжным для работы. * http://www.bsdi.com/[Berkeley Software Design, Inc.] предоставила свой код эмулятора DOS для остального мира BSD, который используется в команде `doscmd`. diff --git a/documentation/content/ru/articles/contributors/_index.po b/documentation/content/ru/articles/contributors/_index.po --- a/documentation/content/ru/articles/contributors/_index.po +++ b/documentation/content/ru/articles/contributors/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2024-09-14 14:59-0300\n" -"PO-Revision-Date: 2025-08-11 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -641,7 +641,7 @@ "терпеливо поддерживала {joerg}, который часто отдавал предпочтение работе с " "FreeBSD вместо оплачиваемой работы и использовал их (довольно дорогое) " "интернет-подключение EUnet, когда его личное соединение становилось слишком " -"медленным или ненадежным для работы." +"медленным или ненадёжным для работы." #. type: Plain text #: documentation/content/en/articles/contributors/_index.adoc:213 diff --git a/documentation/content/ru/articles/contributors/contrib-develinmemoriam.adoc b/documentation/content/ru/articles/contributors/contrib-develinmemoriam.adoc --- a/documentation/content/ru/articles/contributors/contrib-develinmemoriam.adoc +++ b/documentation/content/ru/articles/contributors/contrib-develinmemoriam.adoc @@ -19,7 +19,7 @@ + Вне FreeBSD, у Ханса были увлечения музыкой и математикой. Он активно участвовал в жизни своей церкви и помогал команде, занимающейся звуком. Он был любящим и заботливым дядей для своих племянников и племянниц. Он любил животных, особенно своего кота Пумбу. + -Более полная версия воспоминаний доступна по ссылке: link:https://forums.freebsd.org/threads/in-memoriam-hans-petter-william-sirevag-selasky.89697/[на этой странице форума FreeBSD]. +Более полная версия воспоминаний доступна по ссылке link:https://forums.freebsd.org/threads/in-memoriam-hans-petter-william-sirevag-selasky.89697/[на этой странице форума FreeBSD]. * Брюс Д. Эванс (1991 - 2019; RIP 2019) + Брюс был гигантом программирования, для которого FreeBSD стал домом. diff --git a/documentation/content/ru/articles/contributors/contrib-develinmemoriam.po b/documentation/content/ru/articles/contributors/contrib-develinmemoriam.po --- a/documentation/content/ru/articles/contributors/contrib-develinmemoriam.po +++ b/documentation/content/ru/articles/contributors/contrib-develinmemoriam.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-03-28 20:31-0400\n" -"PO-Revision-Date: 2025-10-29 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -187,7 +187,7 @@ "forums.freebsd.org/threads/in-memoriam-hans-petter-william-sirevag-" "selasky.89697/[this FreeBSD Forum page]." msgstr "" -"Более полная версия воспоминаний доступна по ссылке: link:https://forums." +"Более полная версия воспоминаний доступна по ссылке link:https://forums." "freebsd.org/threads/in-memoriam-hans-petter-william-sirevag-selasky.89697/[" "на этой странице форума FreeBSD]." diff --git a/documentation/content/ru/articles/cups/_index.adoc b/documentation/content/ru/articles/cups/_index.adoc --- a/documentation/content/ru/articles/cups/_index.adoc +++ b/documentation/content/ru/articles/cups/_index.adoc @@ -68,7 +68,7 @@ # pkg install cups .... -Другие необязательные, но рекомендуемые к установке пакеты это package:print/gutenprint-cups[] и package:print/hplip[], каждый из которых добавляет драйвера и утилиты для разнообразных принтеров. После установки файлы конфигурации CUPS могут быть найдены в директории [.filename]#/usr/local/etc/cups#. +Другие необязательные, но рекомендуемые к установке пакеты это package:print/gutenprint-cups[] и package:print/hplip[], каждый из которых добавляет драйвера и утилиты для разнообразных принтеров. После установки файлы конфигурации CUPS могут быть найдены в каталоге [.filename]#/usr/local/etc/cups#. [[printing-cups-configuring-server]] == Настройка сервера печати CUPS @@ -121,7 +121,7 @@ Основным способом управления и администрирования сервера CUPS является веб-интерфейс, на который можно попасть запустив веб-браузер и набрав http://localhost:631[http://localhost:631] в его адресной строке. Если сервер CUPS находится на другой машине в сети, замените `localhost` на IP адрес сервера. Веб-интерфейс CUPS достаточно очевиден, там есть разделы для управления принтерами и заданиями на печать, авторизацией пользователей и т.п. Кроме того, в правой части страницы администрирования есть несколько флажков (check-box), дающих удобный доступ к часто меняемым установкам, таким как разрешение публичного доступа к подключенным к системе принтерам, предоставление удаленного управления сервером CUPS, изменение уровня доступа пользователей к принтерам и их заданиям на печать. -Добавление принтера в общем такое же простое, как нажатие "Add Printer" на странице администрирования веб-интерфейса сервера CUPS или как нажатие одной из кнопок "New Printers Found" на той же странице администрирования. Когда перед вами предстанет выпадающий список "Device", просто выберите требуемый локально подключенный принтер, а дальше следуйте подсказкам интерфейса. В случае если были установлены порты или пакеты package:print/gutenprint-cups[] или package:print/hplip[], как указывалось выше, дополнительные драйвера печати будут доступны на последующих страницах, что может обеспечить большую надежность и расширенные возможности. +Добавление принтера в общем такое же простое, как нажатие "Add Printer" на странице администрирования веб-интерфейса сервера CUPS или как нажатие одной из кнопок "New Printers Found" на той же странице администрирования. Когда перед вами предстанет выпадающий список "Device", просто выберите требуемый локально подключенный принтер, а дальше следуйте подсказкам интерфейса. В случае если были установлены порты или пакеты package:print/gutenprint-cups[] или package:print/hplip[], как указывалось выше, дополнительные драйвера печати будут доступны на последующих страницах, что может обеспечить большую надёжность и расширенные возможности. [[printing-cups-clients]] == Конфигурирование клиентов CUPS diff --git a/documentation/content/ru/articles/cups/_index.po b/documentation/content/ru/articles/cups/_index.po --- a/documentation/content/ru/articles/cups/_index.po +++ b/documentation/content/ru/articles/cups/_index.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-09-28 22:56+0300\n" -"PO-Revision-Date: 2025-08-15 04:45+0000\n" +"POT-Creation-Date: 2023-05-21 14:43-0300\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -18,7 +18,7 @@ "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.17\n" -#. type: Yaml Front Matter Hash Value: description +#. type: YAML Front Matter: description #: documentation/content/en/articles/cups/_index.adoc:1 #, no-wrap msgid "How to install and use CUPS on FreeBSD" @@ -80,8 +80,8 @@ "accessing printers in mixed environments of FreeBSD, Linux(R), Mac OS(R) X, " "or Windows(R)." msgstr "" -"Универсальная Система Печати UNIX использует протокол межсетевой печати " -"(Internet Printing Protocol, IPP) как основу для управления заданиями на " +"Универсальная Система Печати UNIX использует протокол межсетевой печати (" +"Internet Printing Protocol, IPP) как основу для управления заданиями на " "печать и очередями. Также частично поддерживаются следующие протоколы: LPD, " "SMB и AppSocket (также известный как JetDirect). CUPS дает возможность " "обзора сетевых принтеров и использования опций, базирующихся на ПостСкрипт " @@ -128,7 +128,7 @@ "Другие необязательные, но рекомендуемые к установке пакеты это package:print/" "gutenprint-cups[] и package:print/hplip[], каждый из которых добавляет " "драйвера и утилиты для разнообразных принтеров. После установки файлы " -"конфигурации CUPS могут быть найдены в директории [.filename]#/usr/local/etc/" +"конфигурации CUPS могут быть найдены в каталоге [.filename]#/usr/local/etc/" "cups#." #. type: Title == @@ -212,13 +212,13 @@ #: documentation/content/en/articles/cups/_index.adoc:109 msgid "" "To enable CUPS printing under certain Microsoft(R) Windows(R) clients, the " -"line below should be uncommented in [.filename]#/usr/local/etc/cups/" -"mime.types# and [.filename]#/usr/local/etc/cups/mime.convs#:" +"line below should be uncommented in [.filename]#/usr/local/etc/cups/mime." +"types# and [.filename]#/usr/local/etc/cups/mime.convs#:" msgstr "" "Для того, чтобы печать CUPS стала доступна для некоторых Microsoft(R) " -"Windows(R) клиентов, необходимо раскомментировать следующую запись в " -"[.filename]#/usr/local/etc/cups/mime.types# и [.filename]#/usr/local/etc/" -"cups/mime.convs#:" +"Windows(R) клиентов, необходимо раскомментировать следующую запись в [." +"filename]#/usr/local/etc/cups/mime.types# и [.filename]#/usr/local/etc/cups/" +"mime.convs#:" #. type: delimited block . 4 #: documentation/content/en/articles/cups/_index.adoc:113 @@ -285,14 +285,14 @@ "to the printers and print jobs." msgstr "" "Основным способом управления и администрирования сервера CUPS является веб-" -"интерфейс, на который можно попасть запустив веб-браузер и набрав http://" -"localhost:631[http://localhost:631] в его адресной строке. Если сервер CUPS " -"находится на другой машине в сети, замените `localhost` на IP адрес сервера. " -"Веб-интерфейс CUPS достаточно очевиден, там есть разделы для управления " -"принтерами и заданиями на печать, авторизацией пользователей и т.п. Кроме " -"того, в правой части страницы администрирования есть несколько флажков " -"(check-box), дающих удобный доступ к часто меняемым установкам, таким как " -"разрешение публичного доступа к подключенным к системе принтерам, " +"интерфейс, на который можно попасть запустив веб-браузер и набрав " +"http://localhost:631[http://localhost:631] в его адресной строке. Если " +"сервер CUPS находится на другой машине в сети, замените `localhost` на IP " +"адрес сервера. Веб-интерфейс CUPS достаточно очевиден, там есть разделы для " +"управления принтерами и заданиями на печать, авторизацией пользователей и " +"т.п. Кроме того, в правой части страницы администрирования есть несколько " +"флажков (check-box), дающих удобный доступ к часто меняемым установкам, " +"таким как разрешение публичного доступа к подключенным к системе принтерам, " "предоставление удаленного управления сервером CUPS, изменение уровня доступа " "пользователей к принтерам и их заданиям на печать." @@ -317,7 +317,7 @@ "интерфейса. В случае если были установлены порты или пакеты package:print/" "gutenprint-cups[] или package:print/hplip[], как указывалось выше, " "дополнительные драйвера печати будут доступны на последующих страницах, что " -"может обеспечить большую надежность и расширенные возможности." +"может обеспечить большую надёжность и расширенные возможности." #. type: Title == #: documentation/content/en/articles/cups/_index.adoc:139 @@ -364,12 +364,12 @@ "системы печати на клиенте, CUPS-принтеры, присутствующие в сети, чаще всего " "автоматически находятся менеджерами принтеров разных графических оболочек, " "таких как GNOME или KDE. В качестве альтернативы, вы можете воспользоваться " -"веб-интерфейсом CUPS на клиентской машине по адресу http://" -"localhost:631[http://localhost:631] и на странице администрирования выбрать " -"\"Add Printer\". Когда перед вами предстанет выпадающий список \"Device\", " -"просто выберите сетевой CUPS принтер, если он был обнаружен автоматически, " -"или выберите `ipp` или `http` и введите IPP или HTTP адрес (URI) сетевого " -"CUPS принтера:" +"веб-интерфейсом CUPS на клиентской машине по адресу " +"http://localhost:631[http://localhost:631] и на странице администрирования " +"выбрать \"Add Printer\". Когда перед вами предстанет выпадающий список " +"\"Device\", просто выберите сетевой CUPS принтер, если он был обнаружен " +"автоматически, или выберите `ipp` или `http` и введите IPP или HTTP адрес " +"(URI) сетевого CUPS принтера:" #. type: delimited block . 4 #: documentation/content/en/articles/cups/_index.adoc:155 @@ -388,8 +388,8 @@ #: documentation/content/en/articles/cups/_index.adoc:163 msgid "" "If the CUPS clients have difficulty finding other CUPS printers shared " -"across the network, sometimes it is helpful to add or create a file " -"[.filename]#/usr/local/etc/cups/client.conf# with a single entry as follows:" +"across the network, sometimes it is helpful to add or create a file [." +"filename]#/usr/local/etc/cups/client.conf# with a single entry as follows:" msgstr "" "Если CUPS клиент не находит в сети принтеры, доступные через сервер CUPS, то " "иногда помогает создание или изменение файла [.filename]#/usr/local/etc/cups/" @@ -463,11 +463,11 @@ "seem to be working, another fix might be to manually backup the main CUPS " "configuration file located at [.filename]#/usr/local/etc/cups/cupsd.conf# " "and edit the various configuration options and try different combinations of " -"configuration options. One sample [.filename]#/usr/local/etc/cups/" -"cupsd.conf# to test is listed below. Please note that this sample " -"[.filename]#cupsd.conf# sacrifices security for easier configuration; once " -"the administrator successfully connects to the CUPS server and configures " -"the clients, it is advisable to revisit this configuration file and begin " +"configuration options. One sample [.filename]#/usr/local/etc/cups/cupsd." +"conf# to test is listed below. Please note that this sample [." +"filename]#cupsd.conf# sacrifices security for easier configuration; once the " +"administrator successfully connects to the CUPS server and configures the " +"clients, it is advisable to revisit this configuration file and begin " "locking down access." msgstr "" "Проблемы c CUPS часто возникают из-за неверных прав доступа. Сначала дважды " @@ -480,11 +480,11 @@ "local/etc/cups/cupsd.conf# и редактирование разных опций конфигурации с " "подбором их комбинаций. Ниже приведено содержимое тестового файла " "конфигурации [.filename]#/usr/local/etc/cups/cupsd.conf#. Пожалуйста, " -"обратите внимание на то, что безопасность в этом примере " -"[.filename]#cupsd.conf# была пожертвована в угоду простоте настройки; как " -"только администратор успешно подсоединится к серверу CUPS и сконфигурирует " -"клиентов, рекомендуется пересмотреть данную конфигурацию и добавить " -"разграничение доступа." +"обратите внимание на то, что безопасность в этом примере [.filename]#cupsd." +"conf# была пожертвована в угоду простоте настройки; как только администратор " +"успешно подсоединится к серверу CUPS и сконфигурирует клиентов, " +"рекомендуется пересмотреть данную конфигурацию и добавить разграничение " +"доступа." #. type: delimited block . 4 #: documentation/content/en/articles/cups/_index.adoc:202 @@ -630,9 +630,12 @@ "# Set the default printer/job policies...\n" "\n" " # Job-related operations must be done by the owner or an administrator...\n" -" \n" " Require user @OWNER @SYSTEM\n" " Order deny,allow\n" @@ -653,11 +656,16 @@ " Order deny,allow\n" " \n" msgstr "" -" # All administration operations require an administrator to authenticate...\n" -" \n" " AuthType Basic\n" " Require user @SYSTEM\n" diff --git a/documentation/content/ru/articles/filtering-bridges/_index.adoc b/documentation/content/ru/articles/filtering-bridges/_index.adoc --- a/documentation/content/ru/articles/filtering-bridges/_index.adoc +++ b/documentation/content/ru/articles/filtering-bridges/_index.adoc @@ -84,7 +84,7 @@ Первая строка компилирует поддержку моста, вторая — межсетевой экран, а третья — функции журналирования межсетевого экрана. -Теперь необходимо собрать и установить новое ядро. Подробные инструкции можно найти в разделе extref:{handbook}kernelconfig[Сборка и установка пользовательского ядра, kernelconfig-building] руководства FreeBSD. +Теперь необходимо собрать и установить новое ядро. Подробные инструкции можно найти в разделе extref:{handbook}kernelconfig[Сборка и установка пользовательского ядра, kernelconfig-building] Руководства FreeBSD. [[filtering-bridges-modules]] === Загрузка модулей diff --git a/documentation/content/ru/articles/filtering-bridges/_index.po b/documentation/content/ru/articles/filtering-bridges/_index.po --- a/documentation/content/ru/articles/filtering-bridges/_index.po +++ b/documentation/content/ru/articles/filtering-bridges/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2025-11-09 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -212,7 +212,7 @@ msgstr "" "Теперь необходимо собрать и установить новое ядро. Подробные инструкции " "можно найти в разделе extref:{handbook}kernelconfig[Сборка и установка " -"пользовательского ядра, kernelconfig-building] руководства FreeBSD." +"пользовательского ядра, kernelconfig-building] Руководства FreeBSD." #. type: Title === #: documentation/content/en/articles/filtering-bridges/_index.adoc:102 diff --git a/documentation/content/ru/articles/fonts/_index.po b/documentation/content/ru/articles/fonts/_index.po --- a/documentation/content/ru/articles/fonts/_index.po +++ b/documentation/content/ru/articles/fonts/_index.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-10-02 23:31+0300\n" +"POT-Creation-Date: 2022-02-01 09:21-0300\n" "PO-Revision-Date: 2025-10-02 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian =20) ? 1 : 2;\n" "X-Generator: Weblate 4.17\n" -#. type: Yaml Front Matter Hash Value: description +#. type: YAML Front Matter: description #: documentation/content/en/articles/fonts/_index.adoc:1 #, no-wrap msgid "A description of the various font technologies in FreeBSD, and how to use them with different programs" -msgstr "Обзор технологий шрифтов в FreeBSD и способы их применения в разных программах" +msgstr "" +"Обзор технологий шрифтов в FreeBSD и способы их применения в разных " +"программах" #. type: Title = #: documentation/content/en/articles/fonts/_index.adoc:1 @@ -176,10 +178,9 @@ "format with FreeBSD." msgstr "" "Файлы [.filename]#.fot# используются в Windows(R) в качестве некой " -"символической ссылки на файл со шрифтом в формате TrueType(R) " -"([.filename]#.ttf#). Файлы шрифтов [.filename]#.fon# также используются в " -"Windows(R). Мне неизвестно, как можно использовать этот формат шрифтов во " -"FreeBSD." +"символической ссылки на файл со шрифтом в формате TrueType(R) ([.filename]#." +"ttf#). Файлы шрифтов [.filename]#.fon# также используются в Windows(R). Мне " +"неизвестно, как можно использовать этот формат шрифтов во FreeBSD." #. type: Title == #: documentation/content/en/articles/fonts/_index.adoc:88 @@ -277,8 +278,8 @@ "likely that files with this suffix are not all the same format; " "specifically, the [.filename]#.fnt# files used by syscons under FreeBSD may " "not be the same format as a [.filename]#.fnt# one encounters in the MS-" -"DOS(R)/Windows(R) environment. I have not made any attempt at using other " -"[.filename]#.fnt# files other than those provided with FreeBSD." +"DOS(R)/Windows(R) environment. I have not made any attempt at using other [." +"filename]#.fnt# files other than those provided with FreeBSD." msgstr "" "Окончание [.filename]#.fnt# используется достаточно часто. Я полагаю, что " "когда кто-нибудь собирается создать файл шрифтов для своего приложения, чаще " @@ -302,15 +303,16 @@ "should contain the line (change the font name to an appropriate one for your " "locale):" msgstr "" -"Во-первых, должен быть загружен шрифт размера 8x8. Для этого файл " -"[.filename]#/etc/rc.conf# должен содержать строчку (измените в ней имя файла " +"Во-первых, должен быть загружен шрифт размера 8x8. Для этого файл [." +"filename]#/etc/rc.conf# должен содержать строчку (измените в ней имя файла " "со шрифтом на соответствующий вашей локализации):" #. type: delimited block . 4 #: documentation/content/en/articles/fonts/_index.adoc:131 #, no-wrap msgid "font8x8=\"iso-8x8\"\t\t# font 8x8 from /usr/share/syscons/fonts/* (or NO).\n" -msgstr "font8x8=\"iso-8x8\"\t\t# font 8x8 from /usr/share/syscons/fonts/* (or NO).\n" +msgstr "" +"font8x8=\"iso-8x8\"\t\t# font 8x8 from /usr/share/syscons/fonts/* (or NO).\n" #. type: Plain text #: documentation/content/en/articles/fonts/_index.adoc:134 @@ -333,8 +335,8 @@ msgstr "" "Различные программы, ориентированные на работу с экраном, такие, как " "man:vi[1], должны уметь определять текущие размеры экрана. Так как это " -"делается через вызовы `ioctl` к драйверу консоли (такому, как " -"man:syscons[4]), то размеры будут определяться правильно." +"делается через вызовы `ioctl` к драйверу консоли (такому, как man:syscons[4])" +", то размеры будут определяться правильно." #. type: Plain text #: documentation/content/en/articles/fonts/_index.adoc:145 @@ -351,7 +353,9 @@ #: documentation/content/en/articles/fonts/_index.adoc:149 #, no-wrap msgid "allscreens_flags=\"VGA_80x60\"\t# Set this vidcontrol mode for all virtual screens\n" -msgstr "allscreens_flags=\"VGA_80x60\"\t# Set this vidcontrol mode for all virtual screens\n" +msgstr "" +"allscreens_flags=\"VGA_80x60\"\t# Set this vidcontrol mode for all virtual " +"screens\n" #. type: Plain text #: documentation/content/en/articles/fonts/_index.adoc:152 @@ -368,13 +372,13 @@ #: documentation/content/en/articles/fonts/_index.adoc:159 msgid "" "X11 can use either the [.filename]#.pfa# or the [.filename]#.pfb# format " -"fonts. The X11 fonts are located in various subdirectories under " -"[.filename]#/usr/X11R6/lib/X11/fonts#. Each font file is cross referenced " -"to its X11 name by the contents of [.filename]#fonts.dir# in each directory." +"fonts. The X11 fonts are located in various subdirectories under [." +"filename]#/usr/X11R6/lib/X11/fonts#. Each font file is cross referenced to " +"its X11 name by the contents of [.filename]#fonts.dir# in each directory." msgstr "" -"X11 может использовать файлы шрифтов в формате [.filename]#.pfa# или " -"[.filename]#.pfb#. Шрифты для X11 располагаются в различных подкаталогах в " -"[.filename]#/usr/X11R6/lib/X11/fonts#. На каждый файл со шрифтом имеется " +"X11 может использовать файлы шрифтов в формате [.filename]#.pfa# или [." +"filename]#.pfb#. Шрифты для X11 располагаются в различных подкаталогах в [." +"filename]#/usr/X11R6/lib/X11/fonts#. На каждый файл со шрифтом имеется " "ссылка по его X11-имени в файле [.filename]#fonts.dir# в каждом таком " "каталоге." @@ -468,10 +472,12 @@ msgstr "" "-bitstream-charter-medium-r-normal-xxx-0-0-0-0-p-0-iso8859-1\n" " | | | | | | | | | | | | \\ \\\n" -" | | | | | \\ \\ \\ \\ \\ \\ \\ +----+- набор символов\n" +" | | | | | \\ \\ \\ \\ \\ \\ \\ +----+- набор " +"символов\n" " | | | | \\ \\ \\ \\ \\ \\ \\ +- средняя ширина\n" " | | | | \\ \\ \\ \\ \\ \\ +- spacing\n" -" | | | \\\t\\ \\ \\ \\ \\ +- разрешение по вертикали\n" +" | | | \\\t\\ \\ \\ \\ \\ +- разрешение по " +"вертикали\n" " | | | \\\t \\\t\\ \\ \\ +- разрешение по горизонтали\n" " | | | \\\t \\\t \\ \\ +- пунктов\n" " | | | \\ \\\t \\ +- пиксел\n" @@ -732,7 +738,8 @@ "26\n" ".\n" ":$a\n" -"showboat.pfb -type1-showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-1\n" +"showboat.pfb -type1-showboat-medium-r-normal-decorative-0-0-0-0-p-0-iso8859-" +"1\n" ".\n" ":wq\n" @@ -792,9 +799,9 @@ msgstr "" "Ghostscript ссылается на шрифт через свой файл [.filename]#Fontmap#. Он " "должен быть подправлен так же, как и файл [.filename]#fonts.dir# в случае " -"X11. Ghostscript может использовать файлы шрифтов в форматах " -"[.filename]#.pfa# или [.filename]#.pfb#. Взяв шрифт из предыдущего примера, " -"его можно использовать с Ghostscript вот так:" +"X11. Ghostscript может использовать файлы шрифтов в форматах [.filename]#." +"pfa# или [.filename]#.pfb#. Взяв шрифт из предыдущего примера, его можно " +"использовать с Ghostscript вот так:" #. type: delimited block . 4 #: documentation/content/en/articles/fonts/_index.adoc:327 @@ -854,10 +861,12 @@ "Copyright (C) 1996 Aladdin Enterprises, Menlo Park, CA. All rights\n" "reserved.\n" "This software comes with NO WARRANTY: see the file PUBLIC for details.\n" -"Loading Times-Roman font from /usr/local/share/ghostscript/fonts/tir_____.pfb...\n" +"Loading Times-Roman font from /usr/local/share/ghostscript/fonts/tir_____." +"pfb...\n" " /1899520 581354 1300084 13826 0 done.\n" "GS>Showboat DoFont\n" -"Loading Showboat font from /usr/local/share/ghostscript/fonts/showboat.pfb...\n" +"Loading Showboat font from /usr/local/share/ghostscript/fonts/showboat.pfb..." +"\n" " 1939688 565415 1300084 16901 0 done.\n" ">>showpage, press to continue<<\n" ">>showpage, press to continue<<\n" @@ -868,8 +877,8 @@ #: documentation/content/en/articles/fonts/_index.adoc:354 msgid "References: [.filename]#fonts.txt# in the Ghostscript 4.01 distribution" msgstr "" -"Справочная информация: [.filename]#fonts.txt# из дистрибутива Ghostscript " -"4.01" +"Справочная информация: [.filename]#fonts.txt# из дистрибутива Ghostscript 4." +"01" #. type: Title == #: documentation/content/en/articles/fonts/_index.adoc:356 @@ -930,11 +939,11 @@ #. type: Plain text #: documentation/content/en/articles/fonts/_index.adoc:380 msgid "" -"This tool will create the groff font file from the metrics file " -"([.filename]#.afm# suffix.) Continuing with our example:" +"This tool will create the groff font file from the metrics file ([." +"filename]#.afm# suffix.) Continuing with our example:" msgstr "" -"Эта утилита создаст файл шрифтов для Groff из файла метрик (с окончанием " -"[.filename]#.afm#). Продолжая с нашим примером:" +"Эта утилита создаст файл шрифтов для Groff из файла метрик (с окончанием [." +"filename]#.afm#). Продолжая с нашим примером:" #. type: delimited block . 4 #: documentation/content/en/articles/fonts/_index.adoc:388 @@ -962,7 +971,8 @@ msgstr "" "Теперь создаем файл шрифтов groff\n" "% cd /usr/share/groff_font/devps\n" -"% /tmp/afmtodit.pl -d DESC -e text.enc /tmp/showboat.afm generate/textmap SHOWBOAT\n" +"% /tmp/afmtodit.pl -d DESC -e text.enc /tmp/showboat.afm generate/textmap " +"SHOWBOAT\n" #. type: Plain text #: documentation/content/en/articles/fonts/_index.adoc:395 @@ -987,8 +997,8 @@ "PostScript(R)-принтеры, то для использования шрифта его нужно загрузить в " "принтер (если только в принтере шрифт showboat не встроен или не имеется на " "диске со шрифтами). Последний шаг заключается в создании загружаемого " -"шрифта. Утилита `pfbtops` используется для создания шрифта в формате " -"[.filename]#.pfa#, а файл для [.filename]#загрузки# изменяется для указания " +"шрифта. Утилита `pfbtops` используется для создания шрифта в формате [." +"filename]#.pfa#, а файл для [.filename]#загрузки# изменяется для указания " "нового шрифта. Файл для [.filename]#загрузки# должен ссылаться на внутреннее " "имя шрифта. Оно может быть легко определено из файла шрифтов groff, как это " "показывается здесь:" @@ -1081,7 +1091,8 @@ "This is an example of the Showboat font:\n" ".br\n" ".ps 48\n" -".vs (\\n(.s+2)p\n" +".vs (\\n" +"(.s+2)p\n" ".sp\n" ".ft SHOWBOAT\n" "ABCDEFGHI\n" @@ -1091,7 +1102,8 @@ "STUVWXYZ\n" ".sp\n" ".ps 16\n" -".vs (\\n(.s+2)p\n" +".vs (\\n" +"(.s+2)p\n" ".fp 5 SHOWBOAT\n" ".ft R\n" "To use it for the first letter of a paragraph, it will look like:\n" @@ -1136,7 +1148,9 @@ #: documentation/content/en/articles/fonts/_index.adoc:467 #, no-wrap msgid "Converting TrueType Fonts to a groff/PostScript Format For groff" -msgstr "Преобразование файлов шрифтов TrueType в формат groff/PostScript для использования с groff" +msgstr "" +"Преобразование файлов шрифтов TrueType в формат groff/PostScript для " +"использования с groff" #. type: Plain text #: documentation/content/en/articles/fonts/_index.adoc:471 @@ -1160,8 +1174,8 @@ "TrueType font to an ascii font metric ([.filename]#.afm#) file." msgstr "" "Утилита для преобразования TrueType в PostScript. Она позволяет " -"преобразовать шрифт TrueType в метрику шрифта в текстовом формате (файл " -"[.filename]#.afm#)." +"преобразовать шрифт TrueType в метрику шрифта в текстовом формате (файл [." +"filename]#.afm#)." #. type: Plain text #: documentation/content/en/articles/fonts/_index.adoc:479 @@ -1204,17 +1218,16 @@ msgid "" "The funny upper/lower case is due to their being intended also for DOS " "shells. [.filename]#ttf2pf.ps# makes use of the others as upper case, so " -"any renaming must be consistent with this. (Actually, " -"[.filename]#GS_TTF.PS# and [.filename]#PFS2AFM.PS# are supposedly part of " -"the Ghostscript distribution, but it is just as easy to use these as an " -"isolated utility. FreeBSD does not seem to include the latter.) You also " -"may want to have these installed to [.filename]#/usr/local/share/groff_font/" -"devps#(?)." +"any renaming must be consistent with this. (Actually, [.filename]#GS_TTF." +"PS# and [.filename]#PFS2AFM.PS# are supposedly part of the Ghostscript " +"distribution, but it is just as easy to use these as an isolated utility. " +"FreeBSD does not seem to include the latter.) You also may want to have " +"these installed to [.filename]#/usr/local/share/groff_font/devps#(?)." msgstr "" "Смесь верхнего/нижнего регистров присутствует из-за того, что эти файлы " "предназначены и для DOS. [.filename]#ttf2pf.ps# использует остальные с " -"именами в верхнем регистре, так что при переименовании это нужно учитывать. " -"(На самом деле [.filename]#GS_TTF.PS# и [.filename]#PFS2AFM.PS# " +"именами в верхнем регистре, так что при переименовании это нужно учитывать. (" +"На самом деле [.filename]#GS_TTF.PS# и [.filename]#PFS2AFM.PS# " "предположительно являются частью дистрибутива Ghostscript, но их легко " "использовать как отдельные утилиты. В поставку FreeBSD они не включены.) Вы " "можете также установить их в каталог [.filename]#/usr/local/shared/" @@ -1268,8 +1281,8 @@ "already exist." msgstr "" "Вам может также потребоваться скопировать [.filename]#/usr/contrib/groff/" -"devps/generate/textmap# в [.filename]#/usr/shared/groff_font/devps/" -"generate#, если его не существует." +"devps/generate/textmap# в [.filename]#/usr/shared/groff_font/devps/generate#" +", если его не существует." #. type: Plain text #: documentation/content/en/articles/fonts/_index.adoc:512 @@ -1291,16 +1304,16 @@ #: documentation/content/en/articles/fonts/_index.adoc:521 msgid "" "Where, _TTF_name_ is your TrueType font file, _PS_font_name_ is the file " -"name for [.filename]#.pfa#, _AFM_name_ is the name you wish for " -"[.filename]#.afm#. If you do not specify output file names for the " -"[.filename]#.pfa# or [.filename]#.afm# files, then default names will be " -"generated from the TrueType font file name." +"name for [.filename]#.pfa#, _AFM_name_ is the name you wish for [.filename]#." +"afm#. If you do not specify output file names for the [.filename]#.pfa# or [." +"filename]#.afm# files, then default names will be generated from the " +"TrueType font file name." msgstr "" "Здесь _TTF_name_ обозначает ваш файл со шрифтом TrueType, _PS_font_name_ " "является именем для файла [.filename]#.pfa#, _AFM_name_ задает имя для файла " -"[.filename]#.afm#. Если вы не укажете имена выходных файлов, для форматов " -"[.filename]#.pfa# или [.filename]#.afm#, то по умолчанию будут " -"использоваться имена, получаемые из имени файла со шрифтом TrueType." +"[.filename]#.afm#. Если вы не укажете имена выходных файлов, для форматов [." +"filename]#.pfa# или [.filename]#.afm#, то по умолчанию будут использоваться " +"имена, получаемые из имени файла со шрифтом TrueType." #. type: Plain text #: documentation/content/en/articles/fonts/_index.adoc:524 @@ -1310,9 +1323,9 @@ "but could (I think) be useful for a fontserver." msgstr "" "При этом также будет создан файл [.filename]#.pfa#, текстовый файл с " -"метриками PostScript-шрифта (([.filename]#.pfb# для двоичного " -"представления). Это не будет обязательно, но может быть (я думаю) полезным " -"для сервера шрифтов." +"метриками PostScript-шрифта (([.filename]#.pfb# для двоичного представления)" +". Это не будет обязательно, но может быть (я думаю) полезным для сервера " +"шрифтов." #. type: Plain text #: documentation/content/en/articles/fonts/_index.adoc:526 @@ -1335,18 +1348,19 @@ msgstr "" "% gs -dNODISPLAY -- ttf2pf.ps 3of9.ttf\n" "Aladdin Ghostscript 5.10 (1997-11-23)\n" -"Copyright (C) 1997 Aladdin Enterprises, Menlo Park, CA. All rights reserved.\n" +"Copyright (C) 1997 Aladdin Enterprises, Menlo Park, CA. All rights reserved." +"\n" "This software comes with NO WARRANTY: see the file PUBLIC for details.\n" "Converting 3of9.ttf to 3of9.pfa and 3of9.afm.\n" #. type: Plain text #: documentation/content/en/articles/fonts/_index.adoc:537 msgid "" -"If you want the converted fonts to be stored in [.filename]#A.pfa# and " -"[.filename]#B.afm#, then use this command:" +"If you want the converted fonts to be stored in [.filename]#A.pfa# and [." +"filename]#B.afm#, then use this command:" msgstr "" -"Если вы хотите, чтобы преобразованные шрифты сохранялись в файлы " -"[.filename]#A.pfa# and [.filename]#B.afm#, то выдайте такую команду:" +"Если вы хотите, чтобы преобразованные шрифты сохранялись в файлы [." +"filename]#A.pfa# and [.filename]#B.afm#, то выдайте такую команду:" #. type: delimited block . 4 #: documentation/content/en/articles/fonts/_index.adoc:545 @@ -1360,7 +1374,8 @@ msgstr "" "% gs -dNODISPLAY -- ttf2pf.ps 3of9.ttf A B\n" "Aladdin Ghostscript 5.10 (1997-11-23)\n" -"Copyright (C) 1997 Aladdin Enterprises, Menlo Park, CA. All rights reserved.\n" +"Copyright (C) 1997 Aladdin Enterprises, Menlo Park, CA. All rights reserved." +"\n" "This software comes with NO WARRANTY: see the file PUBLIC for details.\n" "Converting 3of9.ttf to A.pfa and B.afm.\n" @@ -1375,14 +1390,14 @@ "Change directories to [.filename]#/usr/share/groff_font/devps# so as to make " "the following command easier to execute. You will probably need root " "privileges for this. (Or, if you are paranoid about working there, make " -"sure you reference the files [.filename]#DESC#, [.filename]#text.enc# and " -"[.filename]#generate/textmap# as being in this directory.)" +"sure you reference the files [.filename]#DESC#, [.filename]#text.enc# and [." +"filename]#generate/textmap# as being in this directory.)" msgstr "" "Смените текущий каталог на [.filename]#/usr/shared/groff_font/devps# для " "облегчения запуска упоминаемых далее программ. Для этого вам может " "понадобиться иметь привилегии администратора системы. (Или, если вы " -"избегаете здесь работать, обязательно посмотрите файлы [.filename]#DESC#, " -"[.filename]#text.enc# и [.filename]#generate/textmap# в этом каталоге.)" +"избегаете здесь работать, обязательно посмотрите файлы [.filename]#DESC#, [." +"filename]#text.enc# и [.filename]#generate/textmap# в этом каталоге.)" #. type: delimited block . 4 #: documentation/content/en/articles/fonts/_index.adoc:556 @@ -1497,16 +1512,15 @@ "обычными шрифтами. Хотя в настоящее время он еще находится в стадии отладки, " "но его уже можно использовать. Посмотрите http://www.dcs.ed.ac.uk/home/jec/" "programs/xfsft/[страницу Juliusz Chroboczek], чтобы получить более полную " -"информацию. Указания по переносу на FreeBSD можно найти на странице http://" -"math.missouri.edu/~stephen/software/[Стивена Монтгомери] (Stephen " +"информацию. Указания по переносу на FreeBSD можно найти на странице " +"http://math.missouri.edu/~stephen/software/[Стивена Монтгомери] (Stephen " "Montgomery), посвященной программному обеспечению." #. type: Plain text #: documentation/content/en/articles/fonts/_index.adoc:586 msgid "" -"xfstt is another font server for X11, available under link:ftp://" -"sunsite.unc.edu/pub/Linux/X11/fonts/[ftp://sunsite.unc.edu/pub/Linux/X11/" -"fonts/]." +"xfstt is another font server for X11, available under link:ftp://sunsite.unc." +"edu/pub/Linux/X11/fonts/[ftp://sunsite.unc.edu/pub/Linux/X11/fonts/]." msgstr "" "xfstt является еще одним сервером шрифтов для X11, доступный по адресу " "link:ftp://sunsite.unc.edu/pub/Linux/X11/fonts[ftp://sunsite.unc.edu/pub/" @@ -1544,8 +1558,8 @@ "fonts/# category in the ports collection" msgstr "" "Много шрифтов можно найти в сети Интернет. Они либо абсолютно бесплатны, " -"либо условно-бесплатны. В добавок, множество шрифтов находится в категории " -"[.filename]#x11-fonts/# Коллекции Портов" +"либо условно-бесплатны. В добавок, множество шрифтов находится в категории [." +"filename]#x11-fonts/# Коллекции Портов" #. type: Title == #: documentation/content/en/articles/fonts/_index.adoc:597 @@ -1561,11 +1575,11 @@ #. type: Plain text #: documentation/content/en/articles/fonts/_index.adoc:601 msgid "" -"Can one generate the [.filename]#.afm# from a [.filename]#.pfa# or " -"[.filename]#.pfb#?" +"Can one generate the [.filename]#.afm# from a [.filename]#.pfa# or [." +"filename]#.pfb#?" msgstr "" -"Можно ли получить файл [.filename]#.afm# из файла [.filename]#.pfa# или " -"[.filename]#.pfb#?" +"Можно ли получить файл [.filename]#.afm# из файла [.filename]#.pfa# или [." +"filename]#.pfb#?" #. type: Plain text #: documentation/content/en/articles/fonts/_index.adoc:602 diff --git a/documentation/content/ru/articles/freebsd-questions/_index.po b/documentation/content/ru/articles/freebsd-questions/_index.po --- a/documentation/content/ru/articles/freebsd-questions/_index.po +++ b/documentation/content/ru/articles/freebsd-questions/_index.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2023-09-09 18:13-0300\n" -"PO-Revision-Date: 2025-10-02 04:45+0000\n" +"POT-Creation-Date: 2025-11-08 16:17+0000\n" +"PO-Revision-Date: 2025-11-09 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -23,8 +23,7 @@ #: documentation/content/en/articles/freebsd-questions/_index.adoc:11 #, no-wrap msgid "How to get Best Results from the FreeBSD-questions Mailing List" -msgstr "" -"Как работать со списком рассылки FreeBSD-questions c максимальной отдачей" +msgstr "Как работать со списком рассылки FreeBSD-questions c максимальной отдачей" #. type: Plain text #: documentation/content/en/articles/freebsd-questions/_index.adoc:44 @@ -89,8 +88,8 @@ "других людей. Правильным термином для обозначения такой деятельности " "является \"кракер\", однако популярная пресса этого еще не поняла. Хакеры " "FreeBSD нарушением защиты не занимаются. Более полное описание хакеров " -"находится в руководстве Эрика Рэймонда (Eric Raymond) http://www.catb.org/~" -"esr/faqs/hacker-howto.html[Как стать хакером]" +"находится в руководстве Эрика Рэймонда (Eric Raymond) http://www.catb.org/" +"~esr/faqs/hacker-howto.html[Как стать хакером]" #. type: Plain text #: documentation/content/en/articles/freebsd-questions/_index.adoc:68 @@ -175,13 +174,13 @@ msgid "" "Point your WWW browser to the {freebsd-questions}. In the section titled " "\"Subscribe or unsubscribe online\" fill in the \"Your email address\" field " -"and hit \"Unsubscribe\". Or send an email to freebsd-" -"questions+unsubscribe@freebsd.org." +"and hit \"Unsubscribe\". Or send an email to freebsd-questions" +"+unsubscribe@freebsd.org." msgstr "" "Направьте ваш браузер на {freebsd-questions}. В разделе \"Subscribe or " "unsubscribe online\" заполните поле \"Your email address\" и нажмите " -"\"Unsubscribe\". Или отправьте письмо на freebsd-" -"questions+unsubscribe@freebsd.org." +"\"Unsubscribe\". Или отправьте письмо на freebsd-questions" +"+unsubscribe@freebsd.org." #. type: Plain text #: documentation/content/en/articles/freebsd-questions/_index.adoc:92 @@ -256,9 +255,9 @@ #. type: Plain text #: documentation/content/en/articles/freebsd-questions/_index.adoc:106 msgid "" -"There are also a number of other extref:{handbook}[specialized mailing " -"lists, eresources-mail], which caters to more specific interests. The " -"criteria above still apply, and it is in your interest to stick to them, " +"There are also a number of other extref:{handbook}eresources[specialized " +"mailing lists, eresources-mail], which caters to more specific interests. " +"The criteria above still apply, and it is in your interest to stick to them, " "since you are more likely to get good results that way." msgstr "" "Имеется также некоторое количество других extref:{handbook}eresources[" @@ -307,9 +306,9 @@ "{faq}[FAQ]." msgstr "" "Прочтите страницы справочника и документацию FreeBSD (установлена в [." -"filename]#/usr/doc# или доступна через WWW на http://www.FreeBSD." -"org[http://www.FreeBSD.org]), особенно extref:{handbook}[Руководство " -"пользователя] и extref:{faq}[FAQ]." +"filename]#/usr/doc# или доступна через WWW на http://www.FreeBSD.org[http://" +"www.FreeBSD.org]), особенно extref:{handbook}[Руководство пользователя] и " +"extref:{faq}[FAQ]." #. type: Plain text #: documentation/content/en/articles/freebsd-questions/_index.adoc:114 @@ -324,8 +323,8 @@ "Просмотрите и/или выполните поиск по архивам списка рассылки, чтобы узнать, " "задавался ли ваш вопрос или подобный ему в списке (и возможно, был на него " "ответ). Вы можете просматривать и/или искать архивы списка рассылки по " -"адресам https://www.FreeBSD.org/mail[https://www.FreeBSD.org/mail] и " -"https://www.FreeBSD.org/search/#mailinglists[https://www.FreeBSD.org/search/" +"адресам https://www.FreeBSD.org/mail[https://www.FreeBSD.org/mail] и https://" +"www.FreeBSD.org/search/#mailinglists[https://www.FreeBSD.org/search/" "#mailinglists] соответственно." #. type: Plain text @@ -334,8 +333,8 @@ "Use a search engine such as http://www.google.com[Google] or http://www." "yahoo.com[Yahoo] to find answers to your question." msgstr "" -"Используйте поисковик, например, http://www.google.com[Google] или http://www" -".yahoo.com[Yahoo] для поиска ответов на ваш вопрос. Google имеет даже " +"Используйте поисковик, например, http://www.google.com[Google] или http://" +"www.yahoo.com[Yahoo] для поиска ответов на ваш вопрос. Google имеет даже " "http://www.google.com/bsd[BSD ориентированный поисковой интерфейс]." #. type: Title == @@ -530,8 +529,8 @@ "dmesg[8] command can frequently be very useful, since it tells not just what " "hardware you are running, but what version of FreeBSD as well." msgstr "" -"Здесь вам стоит подумать и принять решение, конечно, но вывод команды " -"man:dmesg[8] зачастую может оказаться очень полезным, так как он говорит не " +"Здесь вам стоит подумать и принять решение, конечно, но вывод команды man:" +"dmesg[8] зачастую может оказаться очень полезным, так как он говорит не " "только об оборудовании, с которым вы работаете, но также и о версии FreeBSD." #. type: Plain text @@ -541,8 +540,8 @@ "example) \"I get the error message 'No route to host'\"." msgstr "" "Если выдаются сообщения об ошибках, недостаточно написать \"I get error " -"messages\", напишите (например) \"I get the error message 'No route to host'" -"\"." +"messages\", напишите (например) \"I get the error message 'No route to " +"host'\"." #. type: Plain text #: documentation/content/en/articles/freebsd-questions/_index.adoc:145 @@ -550,8 +549,8 @@ "If your system panics, do not say \"My system panicked\", say (for example) " "\"my system panicked with the message 'free vnode isn't'\"." msgstr "" -"Если ваша система завершает работу аварийно, не пишите \"My system panicked\"" -", напишите (к примеру) \"my system panicked with the message 'free vnode " +"Если ваша система завершает работу аварийно, не пишите \"My system panicked" +"\", напишите (к примеру) \"my system panicked with the message 'free vnode " "isn't'\"." #. type: Plain text @@ -638,8 +637,8 @@ "(yes, it is the same one in each case). You choose which of these two " "questions you would be more prepared to answer:" msgstr "" -"Подводя итог, давайте предположим, что вы знаете ответ на следующий вопрос (" -"да, это один и тот же вопрос). Выберите, на какой вопрос вы в большей " +"Подводя итог, давайте предположим, что вы знаете ответ на следующий вопрос " +"(да, это один и тот же вопрос). Выберите, на какой вопрос вы в большей " "степени готовы ответить:" #. type: Block title @@ -687,8 +686,7 @@ "fine, but when I try to reboot the system, I get the message\n" "Missing Operating System.\n" msgstr "" -"I've just got the FreeBSD 2.1.5 CDROM from Walnut Creek, and I'm having a " -"lot\n" +"I've just got the FreeBSD 2.1.5 CDROM from Walnut Creek, and I'm having a lot\n" "of difficulty installing it. I have a 66 MHz 486 with 16 MB of\n" "memory and an Adaptec 1540A SCSI board, a 1.2GB Quantum Fireball\n" "disk and a Toshiba 3501XA CDROM drive. The installation works just\n" @@ -913,9 +911,9 @@ "Если спрашивающий не следует соглашениям по форматированию текста (слишком " "длинные строки, неподходящая строка темы), __пожалуйста__, исправьте эти " "ошибки. В случае некорректной строки темы письма (типа \"HELP!!??\") " -"измените её, например, так: \"Re: Difficulties with sync PPP (was: HELP!!??)" -"\". В таком случае у других людей, пытающихся отследить обсуждение, будет " -"меньше проблем." +"измените её, например, так: \"Re: Difficulties with sync PPP (was: " +"HELP!!??)\". В таком случае у других людей, пытающихся отследить обсуждение, " +"будет меньше проблем." #. type: delimited block = 4 #: documentation/content/en/articles/freebsd-questions/_index.adoc:221 diff --git a/documentation/content/ru/articles/freebsd-releng/_index.adoc b/documentation/content/ru/articles/freebsd-releng/_index.adoc --- a/documentation/content/ru/articles/freebsd-releng/_index.adoc +++ b/documentation/content/ru/articles/freebsd-releng/_index.adoc @@ -642,14 +642,14 @@ * Создание структуры каталогов, соответствующей иерархии на `ftp-master` + -Если `EVERYTHINGISFINE` определено в конфигурационных файлах сборки, [.filename]#main.conf# в случае скриптов сборки, упомянутых выше, это происходит автоматически после завершения сборки, создавая структуру каталогов в [.filename]#${DESTDIR}/R/ftp-stage# с путями, соответствующими ожидаемым на `ftp-master`. Это эквивалентно выполнению следующего в директории: +Если `EVERYTHINGISFINE` определено в конфигурационных файлах сборки, [.filename]#main.conf# в случае скриптов сборки, упомянутых выше, это происходит автоматически после завершения сборки, создавая структуру каталогов в [.filename]#${DESTDIR}/R/ftp-stage# с путями, соответствующими ожидаемым на `ftp-master`. Это эквивалентно выполнению следующего в каталоге: + [source, shell, subs="attributes"] .... # make -C /usr/src/release -f Makefile.mirrors EVERYTHINGISFINE=1 ftp-stage .... + -После сборки каждой архитектуры скрипт [.filename]#thermite.sh# выполнит синхронизацию [.filename]#${DESTDIR}/R/ftp-stage# с билда в директории [.filename]#/snap/ftp/snapshots# или [.filename]#/snap/ftp/releases# на хосте сборки, соответственно. +После сборки каждой архитектуры скрипт [.filename]#thermite.sh# выполнит синхронизацию [.filename]#${DESTDIR}/R/ftp-stage# с билда в каталоге [.filename]#/snap/ftp/snapshots# или [.filename]#/snap/ftp/releases# на хосте сборки, соответственно. * Копирование файлов в промежуточный каталог на `ftp-master` перед перемещением файлов в [.filename]#pub/# для начала распространения на зеркала Проекта + После завершения всех сборок каталог [.filename]#/snap/ftp/snapshots# (или [.filename]#/snap/ftp/releases# для релиза) опрашивается `ftp-master`-ом с использованием rsync для передачи в [.filename]#/archive/tmp/snapshots# или [.filename]#/archive/tmp/releases#, соответственно. diff --git a/documentation/content/ru/articles/freebsd-releng/_index.po b/documentation/content/ru/articles/freebsd-releng/_index.po --- a/documentation/content/ru/articles/freebsd-releng/_index.po +++ b/documentation/content/ru/articles/freebsd-releng/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2024-12-29 08:30-0500\n" -"PO-Revision-Date: 2025-08-08 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -1842,8 +1842,7 @@ "filename]#main.conf# в случае скриптов сборки, упомянутых выше, это " "происходит автоматически после завершения сборки, создавая структуру " "каталогов в [.filename]#${DESTDIR}/R/ftp-stage# с путями, соответствующими " -"ожидаемым на `ftp-master`. Это эквивалентно выполнению следующего в " -"директории:" +"ожидаемым на `ftp-master`. Это эквивалентно выполнению следующего в каталоге:" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-releng/_index.adoc:682 @@ -1861,7 +1860,7 @@ "respectively." msgstr "" "После сборки каждой архитектуры скрипт [.filename]#thermite.sh# выполнит " -"синхронизацию [.filename]#${DESTDIR}/R/ftp-stage# с билда в директории [." +"синхронизацию [.filename]#${DESTDIR}/R/ftp-stage# с билда в каталоге [." "filename]#/snap/ftp/snapshots# или [.filename]#/snap/ftp/releases# на хосте " "сборки, соответственно." diff --git a/documentation/content/ru/articles/freebsd-src-lsp/_index.adoc b/documentation/content/ru/articles/freebsd-src-lsp/_index.adoc --- a/documentation/content/ru/articles/freebsd-src-lsp/_index.adoc +++ b/documentation/content/ru/articles/freebsd-src-lsp/_index.adoc @@ -246,7 +246,7 @@ # intercept-build --append make buildworld buildkernel -j`sysctl -n hw.ncpu` .... -Флаг `--append` указывает `intercept-build` прочитать существующую базу данных компиляции (если она существует) и добавить результаты в базу данных. Записи с дублирующимися ключами команд объединяются. Сгенерированная база данных компиляции по умолчанию сохраняется в текущей рабочей директории как [.filename]#compile_commands.json#. +Флаг `--append` указывает `intercept-build` прочитать существующую базу данных компиляции (если она существует) и добавить результаты в базу данных. Записи с дублирующимися ключами команд объединяются. Сгенерированная база данных компиляции по умолчанию сохраняется в текущем рабочем каталоге как [.filename]#compile_commands.json#. [[generators-bear]] ==== Использование devel/bear @@ -260,7 +260,7 @@ # bear --append -- make buildworld buildkernel -j`sysctl -n hw.ncpu` .... -Флаг `--append` указывает `bear` прочитать существующую базу данных компиляции, если она есть, и добавить результаты в неё. Записи с дублирующимися ключами команд объединяются. Сгенерированная база данных компиляции по умолчанию сохраняется в текущей рабочей директории как [.filename]#compile_commands.json#. +Флаг `--append` указывает `bear` прочитать существующую базу данных компиляции, если она есть, и добавить результаты в неё. Записи с дублирующимися ключами команд объединяются. Сгенерированная база данных компиляции по умолчанию сохраняется в текущем рабочем каталоге как [.filename]#compile_commands.json#. [[final]] == Последние шаги diff --git a/documentation/content/ru/articles/freebsd-src-lsp/_index.po b/documentation/content/ru/articles/freebsd-src-lsp/_index.po --- a/documentation/content/ru/articles/freebsd-src-lsp/_index.po +++ b/documentation/content/ru/articles/freebsd-src-lsp/_index.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-09-25 18:20+0300\n" -"PO-Revision-Date: 2025-08-02 04:45+0000\n" +"POT-Creation-Date: 2024-01-17 20:35-0300\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -19,18 +19,23 @@ "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.17\n" -#. type: Yaml Front Matter Hash Value: description +#. type: YAML Front Matter: description #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:1 #, no-wrap msgid "Use Language Servers for development in the FreeBSD src tree to get precise go-to-definition and completion results." -msgstr "Используйте языковые серверы для разработки в дереве исходного кода FreeBSD, чтобы получать точные результаты при переходах к определениям функций и переменных и при автодополнениях." +msgstr "" +"Используйте языковые серверы для разработки в дереве исходного кода FreeBSD, " +"чтобы получать точные результаты при переходах к определениям функций и " +"переменных и при автодополнениях." #. type: Title = #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:1 #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:13 #, no-wrap msgid "Use Language Servers for Development in the FreeBSD Src Tree" -msgstr "Использование разработчиками языковых серверов в дереве исходного кода FreeBSD" +msgstr "" +"Использование разработчиками языковых серверов в дереве исходного кода " +"FreeBSD" #. type: Title == #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:47 @@ -199,8 +204,8 @@ "lsp[prabirshrestha/vim-lsp]." msgstr "" "Встроенный менеджер плагинов используется для обоих редакторов в этом " -"примере. Плагин LSP-клиента, который используется, — это link:https://" -"github.com/prabirshrestha/vim-lsp[prabirshrestha/vim-lsp]." +"примере. Плагин LSP-клиента, который используется, — это link:https://github." +"com/prabirshrestha/vim-lsp[prabirshrestha/vim-lsp]." #. type: Plain text #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:98 @@ -215,7 +220,8 @@ "# git clone https://github.com/prabirshrestha/vim-lsp ~/.config/nvim/pack/lsp/start/vim-lsp\n" msgstr "" "# mkdir -p ~/.config/nvim/pack/lsp/start\n" -"# git clone https://github.com/prabirshrestha/vim-lsp ~/.config/nvim/pack/lsp/start/vim-lsp\n" +"# git clone https://github.com/prabirshrestha/vim-lsp ~/.config/nvim/pack/" +"lsp/start/vim-lsp\n" #. type: Plain text #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:106 @@ -230,18 +236,19 @@ "# git clone https://github.com/prabirshrestha/vim-lsp ~/.vim/pack/lsp/start/vim-lsp\n" msgstr "" "# mkdir -p ~/.vim/pack/lsp/start\n" -"# git clone https://github.com/prabirshrestha/vim-lsp ~/.vim/pack/lsp/start/vim-lsp\n" +"# git clone https://github.com/prabirshrestha/vim-lsp ~/.vim/pack/lsp/start/" +"vim-lsp\n" #. type: Plain text #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:114 msgid "" "To enable the LSP client plugin in the editor, add the following snippet " -"into [.filepath]#~/.config/nvim/init.vim# when using Neovim, or " -"[.filepath]#~/.vim/vimrc# when using Vim:" +"into [.filepath]#~/.config/nvim/init.vim# when using Neovim, or [." +"filepath]#~/.vim/vimrc# when using Vim:" msgstr "" "Чтобы включить плагин LSP-клиента в редакторе, добавьте следующий фрагмент в " -"[.filepath]#~/.config/nvim/init.vim# при использовании Neovim или в " -"[.filepath]#~/.vim/vimrc# при использовании Vim:" +"[.filepath]#~/.config/nvim/init.vim# при использовании Neovim или в [." +"filepath]#~/.vim/vimrc# при использовании Vim:" #. type: Block title #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:115 @@ -294,7 +301,8 @@ msgstr "" "au User lsp_setup call lsp#register_server({\n" " \\ 'name': 'clangd',\n" -" \\ 'cmd': {server_info->['clangd15', '--background-index', '--header-insertion=never']},\n" +" \\ 'cmd': {server_info->['clangd15', '--background-index', '--header-" +"insertion=never']},\n" " \\ 'allowlist': ['c', 'cpp', 'objc'],\n" " \\ 'initialization_options': {},\n" " \\ })\n" @@ -313,9 +321,9 @@ msgid "" "Please refer to link:https://github.com/prabirshrestha/vim-lsp/blob/master/" "README.md#registering-servers[] to learn about setting up key bindings and " -"code completion. The official site of clangd is link:https://" -"clangd.llvm.org[], and the repository link of ccls is link:https://" -"github.com/MaskRay/ccls/[]." +"code completion. The official site of clangd is link:https://clangd.llvm." +"org[], and the repository link of ccls is link:https://github.com/MaskRay/" +"ccls/[]." msgstr "" "Обратитесь к link:https://github.com/prabirshrestha/vim-lsp/blob/master/" "README.md#registering-servers[], чтобы узнать о настройке сочетаний клавиш и " @@ -327,12 +335,12 @@ #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:147 msgid "" "Below are the reference settings of keybindings and code completions. Put " -"the following snippet into [.filepath]#~/.config/nvim/init.vim#, or " -"[.filepath]#~/.vim/vimrc# for Vim users to use it:" +"the following snippet into [.filepath]#~/.config/nvim/init.vim#, or [." +"filepath]#~/.vim/vimrc# for Vim users to use it:" msgstr "" "Ниже приведены эталонные настройки сочетаний клавиш и автодополнения кода. " -"Поместите следующий фрагмент в [.filepath]#~/.config/nvim/init.vim# или " -"[.filepath]#~/.vim/vimrc# для пользователей Vim, чтобы использовать его:" +"Поместите следующий фрагмент в [.filepath]#~/.config/nvim/init.vim# или [." +"filepath]#~/.vim/vimrc# для пользователей Vim, чтобы использовать его:" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:154 @@ -419,14 +427,14 @@ "Then, press `Ctrl+Shift+P` to show the editor commands palette. Enter " "`Preferences: Open Settings (JSON)` into the palette and hit `Enter` to open " "[.filepath]#settings.json#. Depending on the language server " -"implementations, put one of the following JSON key/value pairs in " -"[.filepath]#settings.json#:" +"implementations, put one of the following JSON key/value pairs in [." +"filepath]#settings.json#:" msgstr "" "Затем нажмите `Ctrl+Shift+P`, чтобы открыть палитру команд редактора. " "Введите `Preferences: Open Settings (JSON)` в палитру и нажмите `Enter`, " "чтобы открыть [.filepath]#settings.json#. В зависимости от реализации " -"языкового сервера, добавьте одну из следующих пар ключ/значение JSON в " -"[.filepath]#settings.json#:" +"языкового сервера, добавьте одну из следующих пар ключ/значение JSON в [." +"filepath]#settings.json#:" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:201 @@ -494,9 +502,8 @@ #. type: Plain text #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:223 msgid "" -"Please refer to link:https://clang.llvm.org/docs/" -"JSONCompilationDatabase.html#format[] for details on the format of the " -"compilation database file." +"Please refer to link:https://clang.llvm.org/docs/JSONCompilationDatabase." +"html#format[] for details on the format of the compilation database file." msgstr "" "Пожалуйста, обратитесь к link:https://clang.llvm.org/docs/" "JSONCompilationDatabase.html#format[] для получения подробностей о формате " @@ -542,7 +549,8 @@ #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:241 #, no-wrap msgid "# git clone https://github.com/llvm/llvm-project /path/to/llvm-project\n" -msgstr "# git clone https://github.com/llvm/llvm-project /path/to/llvm-project\n" +msgstr "" +"# git clone https://github.com/llvm/llvm-project /path/to/llvm-project\n" #. type: Plain text #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:244 @@ -557,7 +565,9 @@ #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:248 #, no-wrap msgid "alias intercept-build='/path/to/llvm-project/clang/tools/scan-build-py/bin/intercept-build'\n" -msgstr "alias intercept-build='/path/to/llvm-project/clang/tools/scan-build-py/bin/intercept-build'\n" +msgstr "" +"alias intercept-build='/path/to/llvm-project/clang/tools/scan-build-py/bin/" +"intercept-build'\n" #. type: Plain text #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:254 @@ -565,8 +575,8 @@ "link:https://github.com/rizsotto/scan-build[rizsotto/scan-build] can be used " "instead of LLVM's scan-build-py. The LLVM's scan-build-py was rizsotto/scan-" "build merged into the LLVM tree. This implementation can be installed by " -"`pip install --user scan-build`. The `intercept-build` script is in " -"[.filename]#~/.local/bin# by default." +"`pip install --user scan-build`. The `intercept-build` script is in [." +"filename]#~/.local/bin# by default." msgstr "" "link:https://github.com/rizsotto/scan-build[rizsotto/scan-build] можно " "использовать вместо LLVM's scan-build-py. LLVM's scan-build-py был объединён " @@ -594,7 +604,9 @@ #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:262 #, no-wrap msgid "# intercept-build --append make buildworld buildkernel -j`sysctl -n hw.ncpu`\n" -msgstr "# intercept-build --append make buildworld buildkernel -j`sysctl -n hw.ncpu`\n" +msgstr "" +"# intercept-build --append make buildworld buildkernel -j`sysctl -n hw.ncpu`" +"\n" #. type: Plain text #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:267 @@ -608,8 +620,8 @@ "Флаг `--append` указывает `intercept-build` прочитать существующую базу " "данных компиляции (если она существует) и добавить результаты в базу данных. " "Записи с дублирующимися ключами команд объединяются. Сгенерированная база " -"данных компиляции по умолчанию сохраняется в текущей рабочей директории как " -"[.filename]#compile_commands.json#." +"данных компиляции по умолчанию сохраняется в текущем рабочем каталоге как [." +"filename]#compile_commands.json#." #. type: Title ==== #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:269 @@ -638,14 +650,14 @@ "The `--append` flag tells `bear` to read an existing compilation database if " "it is present, and append the results to the database. Entries with " "duplicated command keys are merged. The generated compilation database by " -"default is saved in the current working directory as " -"[.filename]#compile_commands.json#." +"default is saved in the current working directory as [." +"filename]#compile_commands.json#." msgstr "" "Флаг `--append` указывает `bear` прочитать существующую базу данных " "компиляции, если она есть, и добавить результаты в неё. Записи с " "дублирующимися ключами команд объединяются. Сгенерированная база данных " -"компиляции по умолчанию сохраняется в текущей рабочей директории как " -"[.filename]#compile_commands.json#." +"компиляции по умолчанию сохраняется в текущем рабочем каталоге как [." +"filename]#compile_commands.json#." #. type: Title == #: documentation/content/en/articles/freebsd-src-lsp/_index.adoc:285 diff --git a/documentation/content/ru/articles/freebsd-status-report-process/_index.adoc b/documentation/content/ru/articles/freebsd-status-report-process/_index.adoc --- a/documentation/content/ru/articles/freebsd-status-report-process/_index.adoc +++ b/documentation/content/ru/articles/freebsd-status-report-process/_index.adoc @@ -3,7 +3,7 @@ - author: 'The FreeBSD Documentation Project' copyright: '2023-2025 The FreeBSD Documentation Project' -description: 'Инструкции для авторов и редакторов отчетов о состоянии' +description: 'Инструкции для авторов и редакторов отчётов о состоянии' title: 'Процесс составления отчёта о состоянии FreeBSD' trademarks: ["freebsd", "git", "github", "general"] --- @@ -22,13 +22,13 @@ toc::[] -Отчеты о состоянии FreeBSD публикуются ежеквартально и предоставляют широкой общественности обзор происходящего в проекте. Они часто дополняются специальными отчетами с встреч разработчиков. Поскольку это одна из самых заметных форм коммуникации, они очень важны. +Отчёты о состоянии FreeBSD публикуются ежеквартально и предоставляют широкой общественности обзор происходящего в проекте. Они часто дополняются специальными отчётами с встреч разработчиков. Поскольку это одна из самых заметных форм коммуникации, они очень важны. На протяжении этого документа, а также в других материалах, связанных с отчётами о состоянии FreeBSD, выражение _отчёт о состоянии_ используется как для обозначения документа, публикуемого ежеквартально, так и для отдельных записей, содержащихся в нём. == Инструкции для авторов -Этот раздел содержит рекомендации по написанию записей в отчетах о состоянии. Также приведены инструкции по отправке ваших записей. +Этот раздел содержит рекомендации по написанию записей в отчётах о состоянии. Также приведены инструкции по отправке ваших записей. _Не беспокойтесь, если вы не являетесь носителем английского языка. Команда mailto:status@FreeBSD.org[status team] проверит ваши записи на орфографию и грамматику и исправит их за вас._ @@ -36,7 +36,7 @@ _Не предполагайте, что человек, читающий отчёт, знает о вашем проекте._ -Отчеты о состоянии имеют широкое распространение. Они часто становятся одними из главных новостей на веб-сайте FreeBSD и являются одним из первых материалов, которые прочитают люди, желающие узнать немного о том, что такое FreeBSD. Рассмотрим следующий пример: +Отчёты о состоянии имеют широкое распространение. Они часто становятся одними из главных новостей на веб-сайте FreeBSD и являются одним из первых материалов, которые прочитают люди, желающие узнать немного о том, что такое FreeBSD. Рассмотрим следующий пример: .... abc(4) support was added, including frobnicator compatibility. @@ -53,9 +53,9 @@ === Покажите важность вашей работы -_Отчеты о состоянии нужны не только для того, чтобы сообщать всем о выполненных задачах, но и для объяснения причин их выполнения._ +_Отчёты о состоянии нужны не только для того, чтобы сообщать всем о выполненных задачах, но и для объяснения причин их выполнения._ -Продолжим предыдущий пример. Почему интересно, что мы теперь поддерживаем карты Yoyodyne Frobnicator? Они широко распространены? Они используются в каком-то конкретном популярном устройстве? Они применяются в определенной нише, где FreeBSD имеет (или хотела бы иметь) присутствие? Это самые быстрые сетевые карты на планете? В отчетах о состоянии часто встречаются такие фразы: +Продолжим предыдущий пример. Почему интересно, что мы теперь поддерживаем карты Yoyodyne Frobnicator? Они широко распространены? Они используются в каком-то конкретном популярном устройстве? Они применяются в определенной нише, где FreeBSD имеет (или хотела бы иметь) присутствие? Это самые быстрые сетевые карты на планете? В отчётах о состоянии часто встречаются такие фразы: .... We imported Cyberdyne Systems T800 into the tree. @@ -67,7 +67,7 @@ _Не используйте повторно одни и те же пункты отчёта о состоянии._ -Имейте в виду, что отчеты о состоянии — это не просто отчеты о состоянии проекта, это отчеты об изменении состояния проекта. Если проект продолжается, уделите пару предложений его представлению, но затем сосредоточьтесь в отчете на новой работе. Какой прогресс был достигнут с момента последнего отчета? Что осталось сделать? Когда он, вероятно, будет завершен (или, если "завершение" не совсем применимо, когда он будет готов для более широкого использования, тестирования, развертывания в производстве и так далее)? +Имейте в виду, что отчёты о состоянии — это не просто отчёты о состоянии проекта, это отчёты об изменении состояния проекта. Если проект продолжается, уделите пару предложений его представлению, но затем сосредоточьтесь в отчёте на новой работе. Какой прогресс был достигнут с момента последнего отчёта? Что осталось сделать? Когда он, вероятно, будет завершен (или, если "завершение" не совсем применимо, когда он будет готов для более широкого использования, тестирования, развертывания в производстве и так далее)? === Спонсорство @@ -79,19 +79,19 @@ _Если требуется помощь, укажите это явно!_ -Нужна ли помощь с чем-то? Есть ли задачи, которые могут выполнить другие люди? Существует два способа использования раздела открытых пунктов в отчете о состоянии: для запроса помощи или для быстрого обзора объема оставшейся работы. Если над проектом уже работает достаточное количество людей или он находится в таком состоянии, что добавление новых участников не ускорит его, то лучше использовать второй вариант. Укажите крупные рабочие задачи, которые находятся в процессе выполнения, и, возможно, обозначьте, кто над каждой из них работает. +Нужна ли помощь с чем-то? Есть ли задачи, которые могут выполнить другие люди? Существует два способа использования раздела открытых пунктов в отчёте о состоянии: для запроса помощи или для быстрого обзора объема оставшейся работы. Если над проектом уже работает достаточное количество людей или он находится в таком состоянии, что добавление новых участников не ускорит его, то лучше использовать второй вариант. Укажите крупные рабочие задачи, которые находятся в процессе выполнения, и, возможно, обозначьте, кто над каждой из них работает. Перечислите задачи с достаточной детализацией, чтобы люди могли понять, смогут ли они их выполнить, и предложите им связаться с вами. === Представьте ваш отчёт -Доступны следующие методы для отправки ваших отчетов: +Доступны следующие методы для отправки ваших отчётов: * отправить ссылку link:https://reviews.freebsd.org/[Phabricator review] и добавить группу _status_ в список рецензентов. Вы должны разместить свои отчёты в соответствующем подкаталоге `doc/website/content/en/status/` (создайте его, если он отсутствует); * отправить запрос на включение изменений (pull request) в репозиторий документации через link:https://github.com/freebsd/freebsd-doc[его зеркало на GitHub]. Вы должны размещать свои отчёты в соответствующем подкаталоге `doc/website/content/en/status` (создайте его, если он отсутствует); -* отправить письмо на адрес status-submissions@FreeBSD.org, приложив ваш отчет. +* отправить письмо на адрес status-submissions@FreeBSD.org, приложив ваш отчёт. Доступен link:https://www.FreeBSD.org/status/report-sample.adoc[шаблон отчёта в формате AsciiDoc]. @@ -103,19 +103,19 @@ [cols="1,1", frame="none"] |=== -|Главная веб-страница отчетов о статусе +|Главная веб-страница отчётов о статусе |link:https://www.FreeBSD.org/status/[https://www.FreeBSD.org/status/] -|Отчеты о статусе архивированного репозитория GitHub (использовались для отчетов с 2017Q4 по 2022Q4): +|Отчёты о статусе архивированного репозитория GitHub (использовались для отчётов с 2017Q4 по 2022Q4): |link:https://www.github.com/freebsd/freebsd-quarterly[https://github.com/freebsd/freebsd-quarterly] |Основной адрес электронной почты команды статуса |link:mailto:status@FreeBSD.org[status@FreeBSD.org] -|Адрес электронной почты для отправки отчетов +|Адрес электронной почты для отправки отчётов |link:mailto:status-submissions@FreeBSD.org[status-submissions@FreeBSD.org] -|Список рассылки для получения запросов на отчеты о состоянии +|Список рассылки для получения запросов на отчёты о состоянии |link:https://lists.freebsd.org/subscription/freebsd-status-calls[freebsd-status-calls@FreeBSD.org] |Страница команды статуса в Phabricator @@ -124,17 +124,17 @@ === Сроки -Отчеты всегда принимаются командой статуса, но основной процесс сбора происходит в последний месяц каждого квартала, то есть в марте, июне, сентябре и декабре. В эти месяцы будут отправляться явные запросы на статусные отчеты. Месяцы январь, апрель, июль и октябрь посвящены сбору отчетов, представленных в предыдущем квартале; это может включать ожидание запоздавших отправлений. Публикация статусных отчетов происходит в те же месяцы, как только отчеты будут готовы. +Отчёты всегда принимаются командой статуса, но основной процесс сбора происходит в последний месяц каждого квартала, то есть в марте, июне, сентябре и декабре. В эти месяцы будут отправляться явные запросы на статусные отчёты. Месяцы январь, апрель, июль и октябрь посвящены сбору отчётов, представленных в предыдущем квартале; это может включать ожидание запоздавших отправлений. Публикация статусных отчётов происходит в те же месяцы, как только отчёты будут готовы. Все отправленные отчёты могут быть продлены по ссылке link:mailto:status-submissions@FreeBSD.org[электронной почте команды статуса] вплоть до продлённого срока, который составляет 8 дней после окончания квартала. Записи от link:https://www.freebsd.org/administration/#t-portmgr[команды управления портами] по умолчанию используют продлённый заголовок из-за пересечения отчётов о статусе и квартальных веток портов. -Проверка представленных отчетов людьми, не входящими в команду статуса, должна быть в основном завершена к середине января/апреля/июля/октября (срок для сторонней отложенной проверки). То есть, за исключением опечаток или других незначительных правок, команда статуса должна быть готова начать сбор представленных материалов вскоре после 15-го числа. Отметим, что это не полный заморозка, и команда статуса все еще может принимать проверки в этот период. +Проверка представленных отчётов людьми, не входящими в команду статуса, должна быть в основном завершена к середине января/апреля/июля/октября (срок для сторонней отложенной проверки). То есть, за исключением опечаток или других незначительных правок, команда статуса должна быть готова начать сбор представленных материалов вскоре после 15-го числа. Отметим, что это не полный заморозка, и команда статуса все еще может принимать проверки в этот период. [cols="1,2,2,2,2"] |=== ||Первый квартал|Второй квартал|Третий квартал|Четвертый квартал -|Первый запрос отчетов +|Первый запрос отчётов |1 марта |1 июня |1 сентября @@ -171,21 +171,21 @@ |15 января |=== -=== Запрос отчетов +=== Запрос отчётов -Запросы отчетов о состоянии отправляются следующим получателям: +Запросы отчётов о состоянии отправляются следующим получателям: * link:https://lists.freebsd.org/subscription/freebsd-status-calls[почтовая рассылка freebsd-status-calls@FreeBSD.org]; -* всем авторам последних отчетов о состоянии (у них могут быть обновления или дополнительные улучшения); +* всем авторам последних отчётов о состоянии (у них могут быть обновления или дополнительные улучшения); * и, в зависимости от времени года, ** Различные организаторы конференций: *** link:mailto:secretary@asiabsdcon.org[AsiaBSDCon] в марте (первый квартал); *** link:mailto:info@bsdcan.org[BSDCan] в мае (второй квартал); ** Различные участники конференции: - *** ЕвроBSDcon в сентябре - октябре (третий-четвертый квартал); организация ЕвроBSDcon не заинтересована в написании отчетов для FreeBSD — по крайней мере, не была заинтересована в октябре 2019 года: причина в том, что конференция не ориентирована конкретно на FreeBSD. Следовательно, отчеты об этом мероприятии следует запрашивать у участников сообщества FreeBSD, которые присутствовали на нем. + *** ЕвроBSDcon в сентябре - октябре (третий-четвертый квартал); организация ЕвроBSDcon не заинтересована в написании отчётов для FreeBSD — по крайней мере, не была заинтересована в октябре 2019 года: причина в том, что конференция не ориентирована конкретно на FreeBSD. Следовательно, отчёты об этом мероприятии следует запрашивать у участников сообщества FreeBSD, которые присутствовали на нем. ** Google Summer of Code: link:mailto:soc-students@FreeBSD.org[студенты] и их link:mailto:soc-mentors@FreeBSD.org[наставники]. -Самый простой способ отправки запросов на отчеты о состоянии — использовать скрипт link:https://cgit.freebsd.org/doc/tree/tools/sendcalls/sendcalls[[.filename]#sendcalls# на Perl] из каталога [.filename]#tools/sendcalls# git репозитория документации. Скрипт автоматически отправляет запросы всем указанным получателям. Его также можно использовать через задание cron, например: +Самый простой способ отправки запросов на отчёты о состоянии — использовать скрипт link:https://cgit.freebsd.org/doc/tree/tools/sendcalls/sendcalls[[.filename]#sendcalls# на Perl] из каталога [.filename]#tools/sendcalls# git репозитория документации. Скрипт автоматически отправляет запросы всем указанным получателям. Его также можно использовать через задание cron, например: .... 0 0 1,15,24 3,6,9,12 * cd ~/doc/tools/sendcalls && git pull && ./sendcalls -s 'Lorenzo Salvadore' @@ -193,22 +193,22 @@ [IMPORTANT] ==== -Если вы отвечаете за рассылку запросов отчетов о состоянии и используете задание cron, пожалуйста, запускайте его на freefall и подписывайте своим именем, чтобы в случае возникновения проблем можно было определить, кто настроил задание cron. Также, в качестве дополнительной меры предосторожности, обновите приведенный выше пример, указав свое имя. +Если вы отвечаете за рассылку запросов отчётов о состоянии и используете задание cron, пожалуйста, запускайте его на freefall и подписывайте своим именем, чтобы в случае возникновения проблем можно было определить, кто настроил задание cron. Также, в качестве дополнительной меры предосторожности, обновите приведенный выше пример, указав свое имя. ==== -Также может быть полезно объявить сбор отчетов на форумах, как это link:https://forums.freebsd.org/threads/call-for-freebsd-2014q4-october-december-status-reports.49812/[делалось ранее]. +Также может быть полезно объявить сбор отчётов на форумах, как это link:https://forums.freebsd.org/threads/call-for-freebsd-2014q4-october-december-status-reports.49812/[делалось ранее]. -=== Построение отчета +=== Построение отчёта -Отправленные отчеты проверяются и объединяются в соответствующем подкаталоге [.filename]#doc/website/content/en/status/# по мере поступления. Пока отчеты обновляются, люди вне команды статуса также могут просматривать отдельные записи и предлагать исправления. +Отправленные отчёты проверяются и объединяются в соответствующем подкаталоге [.filename]#doc/website/content/en/status/# по мере поступления. Пока отчёты обновляются, люди вне команды статуса также могут просматривать отдельные записи и предлагать исправления. -Обычно последним шагом в процессе проверки содержания является написание введения в файле с названием [.filename]#intro.adoc#: хорошее введение можно написать только после того, как собраны все отчеты. По возможности, полезно попросить разных людей написать введение, чтобы добавить разнообразия: разные люди привнесут разные точки зрения и помогут сохранить его свежим. +Обычно последним шагом в процессе проверки содержания является написание введения в файле с названием [.filename]#intro.adoc#: хорошее введение можно написать только после того, как собраны все отчёты. По возможности, полезно попросить разных людей написать введение, чтобы добавить разнообразия: разные люди привнесут разные точки зрения и помогут сохранить его свежим. -После того как все отчеты и введение готовы, необходимо создать файл [.filename]#_index.adoc#: это файл, в котором отчеты распределяются по различным категориям и сортируются. +После того как все отчёты и введение готовы, необходимо создать файл [.filename]#_index.adoc#: это файл, в котором отчёты распределяются по различным категориям и сортируются. -=== Публикация отчета +=== Публикация отчёта -Когда все файлы отчета о состоянии готовы, пришло время опубликовать его. +Когда все файлы отчёта о состоянии готовы, пришло время опубликовать его. Сначала редактируется файл [.filename]#doc/website/content/en/status/_index.adoc#: обновляется следующая дата отчёта и добавляется ссылка на новый отчёт. Затем изменения отправляются в репозиторий, и команда статуса проверяет, что всё работает как ожидалось. @@ -229,7 +229,7 @@ man:w3m[1] имеет полную поддержку Юникода. Опция `-dump` просто выводит текстовое представление HTML-кода, из которого затем можно удалить несколько элементов, а `-cols` гарантирует, что всё будет перенесено на 80 колонок. -Ссылка на сформированный отчет добавляется между введением и первой записью. +Ссылка на сформированный отчёт добавляется между введением и первой записью. Переключив способ доставки (отчёт должен быть в тексте письма, а не в приложении) и убедившись, что его кодировка в UTF-8, вы получаете окончательно готовый к отправке отчёт. diff --git a/documentation/content/ru/articles/freebsd-status-report-process/_index.po b/documentation/content/ru/articles/freebsd-status-report-process/_index.po --- a/documentation/content/ru/articles/freebsd-status-report-process/_index.po +++ b/documentation/content/ru/articles/freebsd-status-report-process/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-05-01 19:56-0300\n" -"PO-Revision-Date: 2025-10-29 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -22,7 +22,7 @@ #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:1 #, no-wrap msgid "Instructions for both writers and editors of status reports" -msgstr "Инструкции для авторов и редакторов отчетов о состоянии" +msgstr "Инструкции для авторов и редакторов отчётов о состоянии" #. type: Title = #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:1 @@ -44,9 +44,9 @@ "augmented by special reports from Developer Summits. As they are one of our " "most visible forms of communication, they are very important." msgstr "" -"Отчеты о состоянии FreeBSD публикуются ежеквартально и предоставляют широкой " +"Отчёты о состоянии FreeBSD публикуются ежеквартально и предоставляют широкой " "общественности обзор происходящего в проекте. Они часто дополняются " -"специальными отчетами с встреч разработчиков. Поскольку это одна из самых " +"специальными отчётами с встреч разработчиков. Поскольку это одна из самых " "заметных форм коммуникации, они очень важны." #. type: Plain text @@ -74,7 +74,7 @@ "This section provides some advice on writing status report entries. " "Instructions on how to submit your entries are also given." msgstr "" -"Этот раздел содержит рекомендации по написанию записей в отчетах о " +"Этот раздел содержит рекомендации по написанию записей в отчётах о " "состоянии. Также приведены инструкции по отправке ваших записей." #. type: Plain text @@ -108,7 +108,7 @@ "people will read if they want to know a bit about what FreeBSD is. Consider " "this example:" msgstr "" -"Отчеты о состоянии имеют широкое распространение. Они часто становятся " +"Отчёты о состоянии имеют широкое распространение. Они часто становятся " "одними из главных новостей на веб-сайте FreeBSD и являются одним из первых " "материалов, которые прочитают люди, желающие узнать немного о том, что такое " "FreeBSD. Рассмотрим следующий пример:" @@ -163,7 +163,7 @@ "_Status reports are not just about telling everyone that things were done, " "they also need to explain why they were done._" msgstr "" -"_Отчеты о состоянии нужны не только для того, чтобы сообщать всем о " +"_Отчёты о состоянии нужны не только для того, чтобы сообщать всем о " "выполненных задачах, но и для объяснения причин их выполнения._" #. type: Plain text @@ -179,7 +179,7 @@ "карты Yoyodyne Frobnicator? Они широко распространены? Они используются в " "каком-то конкретном популярном устройстве? Они применяются в определенной " "нише, где FreeBSD имеет (или хотела бы иметь) присутствие? Это самые быстрые " -"сетевые карты на планете? В отчетах о состоянии часто встречаются такие " +"сетевые карты на планете? В отчётах о состоянии часто встречаются такие " "фразы:" #. type: delimited block . 4 @@ -227,11 +227,11 @@ "finished (or, if \"finished\" does not really apply, when is it likely to be " "ready for wider use, for testing, for deployment in production, and so on)?" msgstr "" -"Имейте в виду, что отчеты о состоянии — это не просто отчеты о состоянии " -"проекта, это отчеты об изменении состояния проекта. Если проект " +"Имейте в виду, что отчёты о состоянии — это не просто отчёты о состоянии " +"проекта, это отчёты об изменении состояния проекта. Если проект " "продолжается, уделите пару предложений его представлению, но затем " -"сосредоточьтесь в отчете на новой работе. Какой прогресс был достигнут с " -"момента последнего отчета? Что осталось сделать? Когда он, вероятно, будет " +"сосредоточьтесь в отчёте на новой работе. Какой прогресс был достигнут с " +"момента последнего отчёта? Что осталось сделать? Когда он, вероятно, будет " "завершен (или, если \"завершение\" не совсем применимо, когда он будет готов " "для более широкого использования, тестирования, развертывания в производстве " "и так далее)?" @@ -287,7 +287,7 @@ "indicate who is focussing on each one." msgstr "" "Нужна ли помощь с чем-то? Есть ли задачи, которые могут выполнить другие " -"люди? Существует два способа использования раздела открытых пунктов в отчете " +"люди? Существует два способа использования раздела открытых пунктов в отчёте " "о состоянии: для запроса помощи или для быстрого обзора объема оставшейся " "работы. Если над проектом уже работает достаточное количество людей или он " "находится в таком состоянии, что добавление новых участников не ускорит его, " @@ -313,7 +313,7 @@ #. type: Plain text #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:118 msgid "The following methods are available to submit your reports:" -msgstr "Доступны следующие методы для отправки ваших отчетов:" +msgstr "Доступны следующие методы для отправки ваших отчётов:" #. type: Plain text #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:121 @@ -345,7 +345,7 @@ #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:126 msgid "send an email to status-submissions@FreeBSD.org including your report." msgstr "" -"отправить письмо на адрес status-submissions@FreeBSD.org, приложив ваш отчет." +"отправить письмо на адрес status-submissions@FreeBSD.org, приложив ваш отчёт." #. type: Plain text #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:128 @@ -371,7 +371,7 @@ #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:138 #, no-wrap msgid "Status reports main webpage" -msgstr "Главная веб-страница отчетов о статусе" +msgstr "Главная веб-страница отчётов о статусе" #. type: Table #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:140 @@ -384,8 +384,8 @@ #, no-wrap msgid "Status reports archived GitHub repository (was used for reports from 2017Q4 to 2022Q4):" msgstr "" -"Отчеты о статусе архивированного репозитория GitHub (использовались для " -"отчетов с 2017Q4 по 2022Q4):" +"Отчёты о статусе архивированного репозитория GitHub (использовались для " +"отчётов с 2017Q4 по 2022Q4):" #. type: Table #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:143 @@ -411,7 +411,7 @@ #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:147 #, no-wrap msgid "Email address for reports submission" -msgstr "Адрес электронной почты для отправки отчетов" +msgstr "Адрес электронной почты для отправки отчётов" #. type: Table #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:149 @@ -424,7 +424,7 @@ #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:150 #, no-wrap msgid "Mailing list for receiving calls for status reports" -msgstr "Список рассылки для получения запросов на отчеты о состоянии" +msgstr "Список рассылки для получения запросов на отчёты о состоянии" #. type: Table #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:152 @@ -465,13 +465,13 @@ "can include waiting for late submissions. Status reports publication is " "done during the same months as soon as the report are ready." msgstr "" -"Отчеты всегда принимаются командой статуса, но основной процесс сбора " +"Отчёты всегда принимаются командой статуса, но основной процесс сбора " "происходит в последний месяц каждого квартала, то есть в марте, июне, " "сентябре и декабре. В эти месяцы будут отправляться явные запросы на " -"статусные отчеты. Месяцы январь, апрель, июль и октябрь посвящены сбору " -"отчетов, представленных в предыдущем квартале; это может включать ожидание " -"запоздавших отправлений. Публикация статусных отчетов происходит в те же " -"месяцы, как только отчеты будут готовы." +"статусные отчёты. Месяцы январь, апрель, июль и октябрь посвящены сбору " +"отчётов, представленных в предыдущем квартале; это может включать ожидание " +"запоздавших отправлений. Публикация статусных отчётов происходит в те же " +"месяцы, как только отчёты будут готовы." #. type: Plain text #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:165 @@ -500,7 +500,7 @@ "the 15th. Note that this is not a complete freeze, and the status team may " "still be able to accept reviews then." msgstr "" -"Проверка представленных отчетов людьми, не входящими в команду статуса, " +"Проверка представленных отчётов людьми, не входящими в команду статуса, " "должна быть в основном завершена к середине января/апреля/июля/октября (срок " "для сторонней отложенной проверки). То есть, за исключением опечаток или " "других незначительных правок, команда статуса должна быть готова начать сбор " @@ -536,7 +536,7 @@ #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:175 #, no-wrap msgid "First call for reports" -msgstr "Первый запрос отчетов" +msgstr "Первый запрос отчётов" #. type: Table #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:176 @@ -716,12 +716,12 @@ #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:211 #, no-wrap msgid "Call for reports" -msgstr "Запрос отчетов" +msgstr "Запрос отчётов" #. type: Plain text #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:214 msgid "Calls for status reports are sent to the following recipients:" -msgstr "Запросы отчетов о состоянии отправляются следующим получателям:" +msgstr "Запросы отчётов о состоянии отправляются следующим получателям:" #. type: Plain text #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:216 @@ -738,7 +738,7 @@ "to all submitters of last status reports (they may have updates or further " "improvements);" msgstr "" -"всем авторам последних отчетов о состоянии (у них могут быть обновления или " +"всем авторам последних отчётов о состоянии (у них могут быть обновления или " "дополнительные улучшения);" #. type: Plain text @@ -778,9 +778,9 @@ "FreeBSD community that attended it." msgstr "" "ЕвроBSDcon в сентябре - октябре (третий-четвертый квартал); организация " -"ЕвроBSDcon не заинтересована в написании отчетов для FreeBSD — по крайней " +"ЕвроBSDcon не заинтересована в написании отчётов для FreeBSD — по крайней " "мере, не была заинтересована в октябре 2019 года: причина в том, что " -"конференция не ориентирована конкретно на FreeBSD. Следовательно, отчеты об " +"конференция не ориентирована конкретно на FreeBSD. Следовательно, отчёты об " "этом мероприятии следует запрашивать у участников сообщества FreeBSD, " "которые присутствовали на нем." @@ -802,7 +802,7 @@ "repository. The script automatically sends calls to all intended " "recipients. It can also be used through a cron job, for example:" msgstr "" -"Самый простой способ отправки запросов на отчеты о состоянии — использовать " +"Самый простой способ отправки запросов на отчёты о состоянии — использовать " "скрипт link:https://cgit.freebsd.org/doc/tree/tools/sendcalls/sendcalls[[." "filename]#sendcalls# на Perl] из каталога [.filename]#tools/sendcalls# git " "репозитория документации. Скрипт автоматически отправляет запросы всем " @@ -826,7 +826,7 @@ "something goes wrong. Also please update the example above with your name, " "as an additional safety measure." msgstr "" -"Если вы отвечаете за рассылку запросов отчетов о состоянии и используете " +"Если вы отвечаете за рассылку запросов отчётов о состоянии и используете " "задание cron, пожалуйста, запускайте его на freefall и подписывайте своим " "именем, чтобы в случае возникновения проблем можно было определить, кто " "настроил задание cron. Также, в качестве дополнительной меры " @@ -839,7 +839,7 @@ "forums.freebsd.org/threads/call-for-freebsd-2014q4-october-december-status-" "reports.49812/[was done in the past]." msgstr "" -"Также может быть полезно объявить сбор отчетов на форумах, как это " +"Также может быть полезно объявить сбор отчётов на форумах, как это " "link:https://forums.freebsd.org/threads/call-for-freebsd-2014q4-october-" "december-status-reports.49812/[делалось ранее]." @@ -847,7 +847,7 @@ #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:243 #, no-wrap msgid "Building the report" -msgstr "Построение отчета" +msgstr "Построение отчёта" #. type: Plain text #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:247 @@ -857,8 +857,8 @@ "reports are being updated, people outside the status team may also review " "the individual entries and propose fixes." msgstr "" -"Отправленные отчеты проверяются и объединяются в соответствующем подкаталоге " -"[.filename]#doc/website/content/en/status/# по мере поступления. Пока отчеты " +"Отправленные отчёты проверяются и объединяются в соответствующем подкаталоге " +"[.filename]#doc/website/content/en/status/# по мере поступления. Пока отчёты " "обновляются, люди вне команды статуса также могут просматривать отдельные " "записи и предлагать исправления." @@ -874,7 +874,7 @@ msgstr "" "Обычно последним шагом в процессе проверки содержания является написание " "введения в файле с названием [.filename]#intro.adoc#: хорошее введение можно " -"написать только после того, как собраны все отчеты. По возможности, полезно " +"написать только после того, как собраны все отчёты. По возможности, полезно " "попросить разных людей написать введение, чтобы добавить разнообразия: " "разные люди привнесут разные точки зрения и помогут сохранить его свежим." @@ -885,22 +885,22 @@ "[.filename]#_index.adoc# file needs to be created: this is the file in which " "the reports are distributed into the various categories and sorted." msgstr "" -"После того как все отчеты и введение готовы, необходимо создать файл [." -"filename]#_index.adoc#: это файл, в котором отчеты распределяются по " +"После того как все отчёты и введение готовы, необходимо создать файл [." +"filename]#_index.adoc#: это файл, в котором отчёты распределяются по " "различным категориям и сортируются." #. type: Title === #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:253 #, no-wrap msgid "Publishing the report" -msgstr "Публикация отчета" +msgstr "Публикация отчёта" #. type: Plain text #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:256 msgid "" "When all the files of the status report are ready, it is time to publish it." msgstr "" -"Когда все файлы отчета о состоянии готовы, пришло время опубликовать его." +"Когда все файлы отчёта о состоянии готовы, пришло время опубликовать его." #. type: Plain text #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:259 @@ -979,7 +979,7 @@ "A link to the rendered report is added between the introduction and the " "first entry." msgstr "" -"Ссылка на сформированный отчет добавляется между введением и первой записью." +"Ссылка на сформированный отчёт добавляется между введением и первой записью." #. type: Plain text #: documentation/content/en/articles/freebsd-status-report-process/_index.adoc:280 diff --git a/documentation/content/ru/articles/freebsd-update-server/_index.adoc b/documentation/content/ru/articles/freebsd-update-server/_index.adoc --- a/documentation/content/ru/articles/freebsd-update-server/_index.adoc +++ b/documentation/content/ru/articles/freebsd-update-server/_index.adoc @@ -123,9 +123,9 @@ Учтите возможные варианты следующих настроек: -<.> Это место, откуда загружаются образы ISO (с помощью подпрограммы `fetchiso()` из файла [.filename]#scripts/build.subr#). Настроенное расположение не ограничивается URI FTP. Должны работать любые схемы URI, поддерживаемые стандартной утилитой man:fetch[1]. Пользовательские изменения кода `fetchiso()` можно установить, скопировав скрипт [.filename]#build.subr# по умолчанию в область, специфичную для выпуска и архитектуры, по пути [.filename]#scripts/РЕЛИЗ/АРХИТЕКТУРА/build.subr#, и применив локальные изменения. +<.> Это место, откуда загружаются образы ISO (с помощью подпрограммы `fetchiso()` из файла [.filename]#scripts/build.subr#). Настроенное расположение не ограничивается URI FTP. Должны работать любые схемы URI, поддерживаемые стандартной утилитой man:fetch[1]. Пользовательские изменения кода `fetchiso()` можно установить, скопировав скрипт [.filename]#build.subr# по умолчанию в область, специфичную для соответствующего релиза и архитектуры, по пути [.filename]#scripts/РЕЛИЗ/АРХИТЕКТУРА/build.subr#, и применив локальные изменения. -<.> Имя хоста для сборки. Эта информация будет отображаться на обновленных системах при выполнении команды: +<.> Имя хоста для сборки. Эта информация будет отображаться на обновлённых системах при выполнении команды: + [source, shell] .... @@ -264,7 +264,7 @@ [WARNING] ==== -В течение этого второго цикла сборки демон протокола сетевого времени, man:ntpd[8], отключен. По словам `{cperciva}`, почетного офицера безопасности FreeBSD, "код сборки https://github.com/freebsd/freebsd-update-build/[freebsd-update-server] должен идентифицировать временные метки, хранящиеся в файлах, чтобы их можно было игнорировать при сравнении сборок для определения того, какие файлы нуждаются в обновлении. Этот поиск временных меток работает путем выполнения двух сборок с интервалом в 400 дней и сравнения результатов." +В течение этого второго цикла сборки демон протокола сетевого времени, man:ntpd[8], отключен. По словам `{cperciva}`, почётного офицера безопасности FreeBSD, "код сборки https://github.com/freebsd/freebsd-update-build/[freebsd-update-server] должен идентифицировать временные метки, хранящиеся в файлах, чтобы их можно было игнорировать при сравнении сборок для определения того, какие файлы нуждаются в обновлении. Этот поиск временных меток работает путем выполнения двух сборок с интервалом в 400 дней и сравнения результатов." ==== [source, shell] @@ -411,7 +411,7 @@ % cd /usr/local/freebsd-update-server/patches/7.1-RELEASE .... -В качестве примера возьмем патч для man:named[8]. Прочтите рекомендации и загрузите необходимый файл с link:https://www.FreeBSD.org/security/advisories/[FreeBSD Security Advisories]. Дополнительную информацию о том, как интерпретировать рекомендации, можно найти в extref:{handbook}security[FreeBSD Handbook, security-advisories]. +В качестве примера возьмем патч для man:named[8]. Прочтите рекомендации и загрузите необходимый файл с link:https://www.FreeBSD.org/security/advisories/[FreeBSD Security Advisories]. Дополнительную информацию о том, как интерпретировать рекомендации, можно найти в extref:{handbook}security[Руководства FreeBSD, security-advisories]. В https://security.freebsd.org/advisories/FreeBSD-SA-09:12.bind.asc[кратком обзоре безопасности] этот совет называется `SA-09:12.bind`. После загрузки файла необходимо переименовать его в соответствии с уровнем исправления. Рекомендуется сохранять это в соответствии с официальными уровнями исправлений FreeBSD, но имя может быть выбрано свободно. Для данной сборки давайте последуем текущей установленной практике FreeBSD и назовем его `p7`. Переименуйте файл: @@ -600,7 +600,7 @@ make ${COMPATFLAGS} release.1 release.2 2>&1 .... -* Создайте соответствующий extref:{handbook}network-servers[DNS, network-dns] SRV-запись для сервера обновлений и разместите остальные за ним с переменными весами. Использование этой возможности обеспечит зеркала для обновлений, однако данный совет не обязателен, если вы не хотите предоставлять избыточный сервис. +* Создайте соответствующую extref:{handbook}network-servers[DNS, network-dns] SRV-запись для сервера обновлений и разместите остальные за ним с переменными весами. Использование этой возможности обеспечит зеркала для обновлений, однако данный совет не обязателен, если вы не хотите предоставлять избыточный сервис. + [.programlisting] .... diff --git a/documentation/content/ru/articles/freebsd-update-server/_index.po b/documentation/content/ru/articles/freebsd-update-server/_index.po --- a/documentation/content/ru/articles/freebsd-update-server/_index.po +++ b/documentation/content/ru/articles/freebsd-update-server/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2025-11-10 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -315,14 +315,14 @@ "to the release and architecture-specific area at [.filename]#scripts/RELEASE/" "ARCHITECTURE/build.subr# and applying local changes." msgstr "" -"Это место, откуда загружаются образы ISO (с помощью подпрограммы " -"`fetchiso()` из файла [.filename]#scripts/build.subr#). Настроенное " -"расположение не ограничивается URI FTP. Должны работать любые схемы URI, " -"поддерживаемые стандартной утилитой man:fetch[1]. Пользовательские изменения " -"кода `fetchiso()` можно установить, скопировав скрипт [.filename]#build." -"subr# по умолчанию в область, специфичную для выпуска и архитектуры, по пути " -"[.filename]#scripts/РЕЛИЗ/АРХИТЕКТУРА/build.subr#, и применив локальные " -"изменения." +"Это место, откуда загружаются образы ISO (с помощью подпрограммы `fetchiso()`" +" из файла [.filename]#scripts/build.subr#). Настроенное расположение не " +"ограничивается URI FTP. Должны работать любые схемы URI, поддерживаемые " +"стандартной утилитой man:fetch[1]. Пользовательские изменения кода " +"`fetchiso()` можно установить, скопировав скрипт [.filename]#build.subr# по " +"умолчанию в область, специфичную для соответствующего релиза и архитектуры, " +"по пути [.filename]#scripts/РЕЛИЗ/АРХИТЕКТУРА/build.subr#, и применив " +"локальные изменения." #. type: Plain text #: documentation/content/en/articles/freebsd-update-server/_index.adoc:140 @@ -330,7 +330,7 @@ "The name of the build host. This information will be displayed on updated " "systems when issuing:" msgstr "" -"Имя хоста для сборки. Эта информация будет отображаться на обновленных " +"Имя хоста для сборки. Эта информация будет отображаться на обновлённых " "системах при выполнении команды:" #. type: delimited block . 4 @@ -667,14 +667,14 @@ "files need to be updated. This timestamp-finding works by doing two builds " "400 days apart and comparing the results.\"" msgstr "" -"В течение этого второго цикла сборки демон протокола сетевого времени, man:" -"ntpd[8], отключен. По словам `{cperciva}`, почетного офицера безопасности " -"FreeBSD, \"код сборки https://github.com/freebsd/freebsd-update-build/" -"[freebsd-update-server] должен идентифицировать временные метки, хранящиеся " -"в файлах, чтобы их можно было игнорировать при сравнении сборок для " -"определения того, какие файлы нуждаются в обновлении. Этот поиск временных " -"меток работает путем выполнения двух сборок с интервалом в 400 дней и " -"сравнения результатов.\"" +"В течение этого второго цикла сборки демон протокола сетевого времени, " +"man:ntpd[8], отключен. По словам `{cperciva}`, почётного офицера " +"безопасности FreeBSD, \"код сборки https://github.com/freebsd/" +"freebsd-update-build/[freebsd-update-server] должен идентифицировать " +"временные метки, хранящиеся в файлах, чтобы их можно было игнорировать при " +"сравнении сборок для определения того, какие файлы нуждаются в обновлении. " +"Этот поиск временных меток работает путем выполнения двух сборок с " +"интервалом в 400 дней и сравнения результатов.\"" #. type: delimited block . 4 #: documentation/content/en/articles/freebsd-update-server/_index.adoc:305 @@ -1033,7 +1033,7 @@ "загрузите необходимый файл с link:https://www.FreeBSD.org/security/" "advisories/[FreeBSD Security Advisories]. Дополнительную информацию о том, " "как интерпретировать рекомендации, можно найти в extref:{handbook}security[" -"FreeBSD Handbook, security-advisories]." +"Руководства FreeBSD, security-advisories]." #. type: Plain text #: documentation/content/en/articles/freebsd-update-server/_index.adoc:446 @@ -1466,7 +1466,7 @@ "weights. Using this facility will provide update mirrors, however this tip " "is not necessary unless you wish to provide a redundant service." msgstr "" -"Создайте соответствующий extref:{handbook}network-servers[DNS, network-dns] " +"Создайте соответствующую extref:{handbook}network-servers[DNS, network-dns] " "SRV-запись для сервера обновлений и разместите остальные за ним с " "переменными весами. Использование этой возможности обеспечит зеркала для " "обновлений, однако данный совет не обязателен, если вы не хотите " diff --git a/documentation/content/ru/articles/geom-class/_index.adoc b/documentation/content/ru/articles/geom-class/_index.adoc --- a/documentation/content/ru/articles/geom-class/_index.adoc +++ b/documentation/content/ru/articles/geom-class/_index.adoc @@ -156,7 +156,7 @@ [[prelim-starting]] === Начало проекта -Для написания нового класса GEOM необходимо создать поддиректорию в любой доступной пользователю директории. Совсем не обязательно, чтоб ваш модуль изначально размещался в [.filename]#/usr/src#. +Для написания нового класса GEOM необходимо создать подкаталог в любом доступном пользователю каталоге. Совсем не обязательно, чтоб ваш модуль изначально размещался в [.filename]#/usr/src#. [[prelim-makefile]] === Makefile @@ -329,12 +329,12 @@ Когда пользовательский процесс запрашивает "прочитать данные X по смещению Y файла", происходит следующее: -* Файловая система преобразует запрос в экземпляр структуры bio и передает его системе GEOM. Файловая система "знает", что экземпляр geom должен обработать запрос, так как файловые системы размещаются непосредственно над экземпляром geom. +* Файловая система преобразует запрос в экземпляр структуры bio и передаёт его системе GEOM. Файловая система "знает", что экземпляр geom должен обработать запрос, так как файловые системы размещаются непосредственно над экземпляром geom. * Запрос завершается вызовом функции `.start`() в потоке g_down и достигает верхнего экземпляра geom. * Верхний экземпляр geom (например, это секционировщик разделов (partition slicer)) определяет, что запрос должен быть переадресован нижестоящему экземпляру geom (к примеру, драйверу диска). Вышестоящий экземпляр geom создает копию запроса bio (запросы bio _ВСЕГДА_ копируются при передаче между экземплярами geom при помощи `g_clone_bio`()!), изменяет поля смещения и целевого поставщика geom и запускает на обработку копию при помощи функции `g_io_request`() * Драйвер диска также получает запрос bio, как вызов функции `.start`() в потоке `g_down`. Драйвер обращается к контроллеру диска, получает блок данных и вызывает функцию `g_io_deliver`() используя копию запроса bio. * Теперь, извещение о завершении bio "всплывает" в потоке `g_up`. Сначала в потоке `g_up` вызывается функция `.done`() секционировщика разделов, последний использует полученную информацию, разрушает клонированный экземпляр структуры bio посредством `g_destroy_bio`() и вызывает `g_io_deliver`() используя первоначальный запрос. -* Файловая система получает данные и передает их пользовательскому процессу. +* Файловая система получает данные и передаёт их пользовательскому процессу. За информацией о том, как данные передаются в структуре `bio` между экземплярами geom, смотрите man:g_bio[9] (обратите внимание на использование полей `bio_parent` и `bio_children`). diff --git a/documentation/content/ru/articles/geom-class/_index.po b/documentation/content/ru/articles/geom-class/_index.po --- 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: 2025-11-10 20:57+0300\n" -"PO-Revision-Date: 2025-11-10 04:45+0000\n" +"POT-Creation-Date: 2025-11-20 21:22+0300\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -451,8 +451,8 @@ "be created under an arbitrary user-accessible directory. You do not have to " "create the module directory under [.filename]#/usr/src#." msgstr "" -"Для написания нового класса GEOM необходимо создать поддиректорию в любой " -"доступной пользователю директории. Совсем не обязательно, чтоб ваш модуль " +"Для написания нового класса GEOM необходимо создать подкаталог в любом " +"доступном пользователю каталоге. Совсем не обязательно, чтоб ваш модуль " "изначально размещался в [.filename]#/usr/src#." #. type: Title === @@ -1175,7 +1175,7 @@ "to the GEOM subsystem. It knows what geom instance should handle it because " "filesystems are hosted directly on a geom instance." msgstr "" -"Файловая система преобразует запрос в экземпляр структуры bio и передает его " +"Файловая система преобразует запрос в экземпляр структуры bio и передаёт его " "системе GEOM. Файловая система \"знает\", что экземпляр geom должен " "обработать запрос, так как файловые системы размещаются непосредственно над " "экземпляром geom." @@ -1235,7 +1235,7 @@ #: documentation/content/en/articles/geom-class/_index.adoc:387 msgid "The filesystem gets the data and transfers it to userland." msgstr "" -"Файловая система получает данные и передает их пользовательскому процессу." +"Файловая система получает данные и передаёт их пользовательскому процессу." #. type: Plain text #: documentation/content/en/articles/geom-class/_index.adoc:389 diff --git a/documentation/content/ru/articles/gjournal-desktop/_index.adoc b/documentation/content/ru/articles/gjournal-desktop/_index.adoc --- a/documentation/content/ru/articles/gjournal-desktop/_index.adoc +++ b/documentation/content/ru/articles/gjournal-desktop/_index.adoc @@ -103,7 +103,7 @@ === Выделение места под журналирование -Типичный настольный компьютер обычно имеет один жесткий диск, на котором хранится как операционная система, так и пользовательские данные. Вероятно, что схема разбития винчестера (по умолчанию), выбранная в меню Sysinstall, является более или менее подходящей: настольному компьютеру не требуется большой раздел [.filename]#/var#, в то время, как для раздела [.filename]#/usr# выделяется значительный объем дискового пространства, ввиду того, что пользовательские данные и множество пэкэджей хранятся именно в поддиректориях [.filename]#/usr#. +Типичный настольный компьютер обычно имеет один жесткий диск, на котором хранится как операционная система, так и пользовательские данные. Вероятно, что схема разбития винчестера (по умолчанию), выбранная в меню Sysinstall, является более или менее подходящей: настольному компьютеру не требуется большой раздел [.filename]#/var#, в то время, как для раздела [.filename]#/usr# выделяется значительный объем дискового пространства, ввиду того, что пользовательские данные и множество пакетов инсталлируются в подкаталоги [.filename]#/usr#. Разбиение по умолчанию (получаемое при нажатии kbd:[A] в редакторе разделов FreeBSD, называемом Disklabel) не оставляет свободного места. Каждый подлежащий журналированию раздел требует отдельного раздела для журнала. Ввиду того, что раздел [.filename]#/usr# - наибольший, есть смысл немного уменьшить его размер, чтобы получить пространство, необходимое для журнала. diff --git a/documentation/content/ru/articles/gjournal-desktop/_index.po b/documentation/content/ru/articles/gjournal-desktop/_index.po --- 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: 2024-12-29 08:30-0500\n" -"PO-Revision-Date: 2025-09-26 04:45+0000\n" +"POT-Creation-Date: 2025-11-08 16:17+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -127,7 +127,8 @@ #: documentation/content/en/articles/gjournal-desktop/_index.adoc:71 msgid "" "How to reserve space for journaling during a new installation of FreeBSD." -msgstr "Как зарезервировать место для журнала во время новой установки FreeBSD." +msgstr "" +"Как зарезервировать место для журнала во время новой установки FreeBSD." #. type: Plain text #: documentation/content/en/articles/gjournal-desktop/_index.adoc:72 @@ -364,8 +365,8 @@ "является более или менее подходящей: настольному компьютеру не требуется " "большой раздел [.filename]#/var#, в то время, как для раздела [." "filename]#/usr# выделяется значительный объем дискового пространства, ввиду " -"того, что пользовательские данные и множество пэкэджей хранятся именно в " -"поддиректориях [.filename]#/usr#." +"того, что пользовательские данные и множество пакетов инсталлируются в " +"подкаталоги [.filename]#/usr#." #. type: Plain text #: documentation/content/en/articles/gjournal-desktop/_index.adoc:134 @@ -424,9 +425,9 @@ "Теперь переведите подсвечивание к имени диска, находящемуся вверху экрана, и " "нажмите kbd:[C] - создайте новый раздел [.filename]#/usr#. Новый раздел " "должен быть меньше на 1 Гб (если вы собираетесь журналировать только [." -"filename]#/usr#) или на 2 Гб (если журналированию подлежат как [." -"filename]#/usr#, так и [.filename]#/var#). Во всплывающем окне выберите " -"\"создать файловую систему\" и укажите [.filename]#/usr# точкой монтирования." +"filename]#/usr#) или на 2 Гб (если журналированию подлежат как [.filename]#/" +"usr#, так и [.filename]#/var#). Во всплывающем окне выберите \"создать " +"файловую систему\" и укажите [.filename]#/usr# точкой монтирования." #. type: delimited block = 4 #: documentation/content/en/articles/gjournal-desktop/_index.adoc:152 @@ -763,9 +764,9 @@ "must however set the journal flag on them and clear the Soft Updates flag:" msgstr "" "На данном этапе созданы два устройства: [.filename]#ad0s1d.journal# и [." -"filename]#ad0s1f.journal#. Они представляют [.filename]#/var# и [." -"filename]#/usr# соответственно. Перед монтированием, нам необходимо " -"установить флаг журналирования и снять флаг механизма Soft Updates:" +"filename]#ad0s1f.journal#. Они представляют [.filename]#/var# и [.filename]#/" +"usr# соответственно. Перед монтированием, нам необходимо установить флаг " +"журналирования и снять флаг механизма Soft Updates:" #. type: delimited block . 4 #: documentation/content/en/articles/gjournal-desktop/_index.adoc:272 @@ -1014,7 +1015,7 @@ #: documentation/content/en/articles/gjournal-desktop/_index.adoc:375 msgid "" "Rebuild and reinstall your kernel following the relevant extref:{handbook}" -"[instructions in the FreeBSD Handbook., kernelconfig]" +"kernelconfig[instructions in the FreeBSD Handbook., kernelconfig]" msgstr "" "Соберите и установите новое ядро следуя указаниям " "extref:{handbook}kernelconfig[Руководства FreeBSD., kernelconfig]" @@ -1048,9 +1049,7 @@ #: documentation/content/en/articles/gjournal-desktop/_index.adoc:383 #, no-wrap msgid "I am getting kernel panics during periods of high disk activity. How is this related to journaling?" -msgstr "" -"Я получаю паники ядра во время высокой дисковой активности. Как это связано " -"с журналированием?" +msgstr "Я получаю паники ядра во время высокой дисковой активности. Как это связано с журналированием?" #. type: Plain text #: documentation/content/en/articles/gjournal-desktop/_index.adoc:389 @@ -1072,9 +1071,7 @@ #: documentation/content/en/articles/gjournal-desktop/_index.adoc:390 #, no-wrap msgid "I made some mistake during configuration, and I cannot boot normally now. Can this be fixed some way?" -msgstr "" -"Я допустил некоторые ошибки во время конфигурирования, теперь система не " -"загружается. Можно это как-нибудь исправить?" +msgstr "Я допустил некоторые ошибки во время конфигурирования, теперь система не загружается. Можно это как-нибудь исправить?" #. type: Plain text #: documentation/content/en/articles/gjournal-desktop/_index.adoc:396 @@ -1104,8 +1101,8 @@ msgstr "" "Если отсутствует запись `geom_journal_load`, или она содержит ошибки, " "журналируемые устройства не создадутся. Загрузите модуль вручную, " -"примонтируйте все разделы и переходите в многопользовательский режим (" -"продолжайте загрузку):" +"примонтируйте все разделы и переходите в многопользовательский режим " +"(продолжайте загрузку):" #. type: delimited block . 4 #: documentation/content/en/articles/gjournal-desktop/_index.adoc:415 @@ -1154,9 +1151,7 @@ #: documentation/content/en/articles/gjournal-desktop/_index.adoc:425 #, no-wrap msgid "Can I remove journaling and return to my standard file system with Soft Updates?" -msgstr "" -"Возможно ли отказаться от журналирования и вернуться к моей привычной " -"файловой системе с механизмом Soft Updates?" +msgstr "Возможно ли отказаться от журналирования и вернуться к моей привычной файловой системе с механизмом Soft Updates?" #. type: Plain text #: documentation/content/en/articles/gjournal-desktop/_index.adoc:430 @@ -1314,8 +1309,8 @@ #. type: Plain text #: documentation/content/en/articles/gjournal-desktop/_index.adoc:508 msgid "" -"A extref:{handbook}[new section on journaling, geom-gjournal] is now part of " -"the FreeBSD Handbook." +"A extref:{handbook}geom[new section on journaling, geom-gjournal] is now " +"part of the FreeBSD Handbook." msgstr "" "Новый extref:{handbook}geom[раздел Руководства FreeBSD, geom-gjournal], " "посвященный журналированию." @@ -1326,9 +1321,9 @@ "https://lists.freebsd.org/pipermail/freebsd-current/2006-June/064043." "html[This post] in {freebsd-current} by man:gjournal[8]'s developer, `{pjd}`." msgstr "" -"http://lists.freebsd.org/pipermail/freebsd-current/2006-June/064043.html[" -"Этот пост] в списке рассылки {freebsd-current}, написанный `{pjd}` - автором " -"man:gjournal[8]." +"http://lists.freebsd.org/pipermail/freebsd-current/2006-June/064043." +"html[Этот пост] в списке рассылки {freebsd-current}, написанный `{pjd}` - " +"автором man:gjournal[8]." #. type: Plain text #: documentation/content/en/articles/gjournal-desktop/_index.adoc:510 @@ -1336,8 +1331,8 @@ "https://lists.freebsd.org/pipermail/freebsd-questions/2008-April/173501." "html[This post] in {freebsd-questions} by `{ivoras}`." msgstr "" -"http://lists.freebsd.org/pipermail/freebsd-questions/2008-April/173501.html[" -"Этот пост] от `{ivoras}` в списке рассылки {freebsd-questions}." +"http://lists.freebsd.org/pipermail/freebsd-questions/2008-April/173501." +"html[Этот пост] от `{ivoras}` в списке рассылки {freebsd-questions}." #. type: Plain text #: documentation/content/en/articles/gjournal-desktop/_index.adoc:510 diff --git a/documentation/content/ru/articles/hubs/_index.adoc b/documentation/content/ru/articles/hubs/_index.adoc --- a/documentation/content/ru/articles/hubs/_index.adoc +++ b/documentation/content/ru/articles/hubs/_index.adoc @@ -127,7 +127,7 @@ [[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[] diff --git a/documentation/content/ru/articles/hubs/_index.po b/documentation/content/ru/articles/hubs/_index.po --- a/documentation/content/ru/articles/hubs/_index.po +++ b/documentation/content/ru/articles/hubs/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2025-11-10 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -383,7 +383,7 @@ "пропускной способности каналов, поскольку не требует передачи измененного " "файла целиком (передаются лишь различия). Взамен rsync требует значительных " "объемов памяти. Размер каждого процесса зависит от размера синхронизируемого " -"модуля (в основном от количества директорий и файлов). rsync может " +"модуля (в основном от количества каталогов и файлов). rsync может " "использовать в качестве транспортного протокола `rsh` или `ssh` (по " "умолчанию); также, может использоваться внутренний протокол rsync (этот " "метод предпочтителен для публичных rsync-серверов). Поддерживается " diff --git a/documentation/content/ru/articles/ipsec-must/_index.adoc b/documentation/content/ru/articles/ipsec-must/_index.adoc --- a/documentation/content/ru/articles/ipsec-must/_index.adoc +++ b/documentation/content/ru/articles/ipsec-must/_index.adoc @@ -128,7 +128,7 @@ Большинство современных версий FreeBSD уже имеют поддержку IPsec. Вероятно, Вы должны будете лишь добавить опцию `IPSEC` в конфигурационный файл ядра, и после сборки и инсталляции нового ядра, сконфигурировать соединение IPsec с помощью команды man:setkey[8]. -Более подробно о том, как запустить IPsec во FreeBSD можно прочесть в extref:{vpn-ipsec}[VPN через IPsec]. +Более подробно о том, как запустить IPsec во FreeBSD, можно прочесть в extref:{vpn-ipsec}[VPN через IPsec]. [[kernel]] == src/sys/i386/conf/KERNELNAME diff --git a/documentation/content/ru/articles/ipsec-must/_index.po b/documentation/content/ru/articles/ipsec-must/_index.po --- a/documentation/content/ru/articles/ipsec-must/_index.po +++ b/documentation/content/ru/articles/ipsec-must/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2025-11-10 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -330,7 +330,7 @@ "A comprehensive guide on running IPsec on FreeBSD is provided in extref:{vpn-" "ipsec}[VPN over IPsec]." msgstr "" -"Более подробно о том, как запустить IPsec во FreeBSD можно прочесть в extref" +"Более подробно о том, как запустить IPsec во FreeBSD, можно прочесть в extref" ":{vpn-ipsec}[VPN через IPsec]." #. type: Title == diff --git a/documentation/content/ru/articles/ldap-auth/_index.adoc b/documentation/content/ru/articles/ldap-auth/_index.adoc --- a/documentation/content/ru/articles/ldap-auth/_index.adoc +++ b/documentation/content/ru/articles/ldap-auth/_index.adoc @@ -57,7 +57,7 @@ По завершении читатель должен уметь настроить и развернуть сервер FreeBSD, способный размещать каталог LDAP, а также настроить и развернуть сервер FreeBSD, который может проходить аутентификацию с использованием каталога LDAP. -Эта статья не претендует на исчерпывающее описание вопросов безопасности, надежности или лучших практик настройки LDAP и других обсуждаемых здесь сервисов. Хотя автор старается делать всё правильно, вопросы безопасности рассматриваются лишь в общих чертах. Данная статья должна рассматриваться только как теоретическая основа, а любая реальная реализация должна сопровождаться тщательным анализом требований. +Эта статья не претендует на исчерпывающее описание вопросов безопасности, надёжности или лучших практик настройки LDAP и других обсуждаемых здесь сервисов. Хотя автор старается делать всё правильно, вопросы безопасности рассматриваются лишь в общих чертах. Данная статья должна рассматриваться только как теоретическая основа, а любая реальная реализация должна сопровождаться тщательным анализом требований. [[ldap]] == Настройка LDAP diff --git a/documentation/content/ru/articles/ldap-auth/_index.po b/documentation/content/ru/articles/ldap-auth/_index.po --- a/documentation/content/ru/articles/ldap-auth/_index.po +++ b/documentation/content/ru/articles/ldap-auth/_index.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-09-23 19:02+0300\n" -"PO-Revision-Date: 2025-08-15 04:45+0000\n" +"POT-Creation-Date: 2024-12-29 08:30-0500\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -18,7 +18,7 @@ "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.17\n" -#. type: Yaml Front Matter Hash Value: description +#. type: YAML Front Matter: description #: documentation/content/en/articles/ldap-auth/_index.adoc:1 #, no-wrap msgid "Guide for the configuration of an LDAP server for authentication on FreeBSD" @@ -97,7 +97,7 @@ "requirement analysis." msgstr "" "Эта статья не претендует на исчерпывающее описание вопросов безопасности, " -"надежности или лучших практик настройки LDAP и других обсуждаемых здесь " +"надёжности или лучших практик настройки LDAP и других обсуждаемых здесь " "сервисов. Хотя автор старается делать всё правильно, вопросы безопасности " "рассматриваются лишь в общих чертах. Данная статья должна рассматриваться " "только как теоретическая основа, а любая реальная реализация должна " @@ -133,8 +133,8 @@ "package:net/openldap26-server[]. Client servers will need the corresponding " "package:net/openldap26-client[] libraries." msgstr "" -"В примерах в этом документе будет использоваться LDAP-сервер http://" -"www.openldap.org/[OpenLDAP]; хотя принципы, изложенные здесь, должны быть " +"В примерах в этом документе будет использоваться LDAP-сервер http://www." +"openldap.org/[OpenLDAP]; хотя принципы, изложенные здесь, должны быть " "применимы к различным серверам, большая часть конкретных административных " "действий специфична для OpenLDAP. В портах доступно несколько версий " "сервера, например package:net/openldap26-server[]. Клиентские серверы " @@ -272,8 +272,8 @@ "Once OpenLDAP is installed via ports, the following configuration parameters " "in [.filename]#/usr/local/etc/openldap/slapd.conf# will enable TLS:" msgstr "" -"После установки OpenLDAP через порты следующие параметры конфигурации в " -"[.filename]#/usr/local/etc/openldap/slapd.conf# включат TLS:" +"После установки OpenLDAP через порты следующие параметры конфигурации в [." +"filename]#/usr/local/etc/openldap/slapd.conf# включат TLS:" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:136 @@ -310,10 +310,10 @@ #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:147 msgid "" -"The [.filename]#cert.crt#, [.filename]#cert.key#, and " -"[.filename]#cacert.crt# files are necessary for clients to authenticate " -"_you_ as the valid LDAP server. If you simply want a server that runs, you " -"can create a self-signed certificate with OpenSSL:" +"The [.filename]#cert.crt#, [.filename]#cert.key#, and [.filename]#cacert." +"crt# files are necessary for clients to authenticate _you_ as the valid LDAP " +"server. If you simply want a server that runs, you can create a self-signed " +"certificate with OpenSSL:" msgstr "" "Файлы [.filename]#cert.crt#, [.filename]#cert.key# и [.filename]#cacert.crt# " "необходимы для аутентификации клиентами _вас_ как действительного LDAP-" @@ -359,12 +359,12 @@ "cause of great frustration, so ensure that you follow these steps closely." msgstr "" "На этом этапе вам будет предложено ввести некоторые значения. Вы можете " -"ввести любые значения, какие пожелаете; однако важно, чтобы значение " -"\"Common Name\" (Общее имя) было полным доменным именем сервера OpenLDAP. В " -"нашем случае и в приведённых примерах сервер называется " -"_server.example.org_. Неправильное указание этого значения может привести к " -"сбоям при подключении клиентов. Это может стать причиной серьёзных проблем, " -"поэтому внимательно следуйте этим шагам." +"ввести любые значения, какие пожелаете; однако важно, чтобы значение \"Common" +" Name\" (Общее имя) было полным доменным именем сервера OpenLDAP. В нашем " +"случае и в приведённых примерах сервер называется _server.example.org_. " +"Неправильное указание этого значения может привести к сбоям при подключении " +"клиентов. Это может стать причиной серьёзных проблем, поэтому внимательно " +"следуйте этим шагам." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:173 @@ -395,15 +395,15 @@ #: documentation/content/en/articles/ldap-auth/_index.adoc:192 msgid "" "This will create a self-signed certificate that can be used for the " -"directives in [.filename]#slapd.conf#, where [.filename]#cert.crt# and " -"[.filename]#cacert.crt# are the same file. If you are going to use many " +"directives in [.filename]#slapd.conf#, where [.filename]#cert.crt# and [." +"filename]#cacert.crt# are the same file. If you are going to use many " "OpenLDAP servers (for replication via `slurpd`) you will want to see " "crossref:ldap-auth[ssl-ca, OpenSSL Certificates for LDAP] to generate a CA " "key and use it to sign individual server certificates." msgstr "" "Это создаст самоподписанный сертификат, который можно использовать для " -"директив в [.filename]#slapd.conf#, где [.filename]#cert.crt# и " -"[.filename]#cacert.crt# представляют собой один и тот же файл. Если вы " +"директив в [.filename]#slapd.conf#, где [.filename]#cert.crt# и [." +"filename]#cacert.crt# представляют собой один и тот же файл. Если вы " "планируете использовать множество серверов OpenLDAP (для репликации через " "`slurpd`), рекомендуется ознакомиться с разделом crossref:ldap-auth[ssl-ca, " "Сертификаты OpenSSL для LDAP], чтобы сгенерировать ключ центра сертификации " @@ -499,17 +499,17 @@ msgstr "" "Существует два файла с именем [.filename]#ldap.conf#. Первый — это данный " "файл, предназначенный для библиотек OpenLDAP и определяющий, как " -"взаимодействовать с сервером. Второй — [.filename]#/usr/local/etc/" -"ldap.conf#, используется pam_ldap." +"взаимодействовать с сервером. Второй — [.filename]#/usr/local/etc/ldap.conf#" +", используется pam_ldap." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:242 msgid "" "At this point you should be able to run `ldapsearch -Z` on the client " "machine; `-Z` means \"use TLS\". If you encounter an error, then something " -"is configured wrong; most likely it is your certificates. Use " -"man:openssl[1]'s `s_client` and `s_server` to ensure you have them " -"configured and signed properly." +"is configured wrong; most likely it is your certificates. Use man:" +"openssl[1]'s `s_client` and `s_server` to ensure you have them configured " +"and signed properly." msgstr "" "На этом этапе вы должны быть в состоянии выполнить `ldapsearch -Z` на " "клиентской машине; `-Z` означает \"использовать TLS\". Если вы столкнётесь с " @@ -751,8 +751,8 @@ "FreeBSD requires two ports to be installed to authenticate against an LDAP " "server, package:security/pam_ldap[] and package:net/nss_ldap[]." msgstr "" -"Для аутентификации на сервере LDAP в FreeBSD необходимо установить два " -"порта: package:security/pam_ldap[] и package:net/nss_ldap[]." +"Для аутентификации на сервере LDAP в FreeBSD необходимо установить два порта:" +" package:security/pam_ldap[] и package:net/nss_ldap[]." #. type: Title === #: documentation/content/en/articles/ldap-auth/_index.adoc:327 @@ -781,8 +781,8 @@ "Это _другой файл_, отличный от файла конфигурации библиотечных функций " "OpenLDAP, [.filename]#/usr/local/etc/openldap/ldap.conf#; однако он " "принимает многие из тех же параметров; фактически он является надмножеством " -"этого файла. В оставшейся части этого раздела ссылки на " -"[.filename]#ldap.conf# будут означать [.filename]#/usr/local/etc/ldap.conf#." +"этого файла. В оставшейся части этого раздела ссылки на [.filename]#ldap." +"conf# будут означать [.filename]#/usr/local/etc/ldap.conf#." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:339 @@ -801,8 +801,8 @@ #: documentation/content/en/articles/ldap-auth/_index.adoc:342 msgid "" "We are identifying our users with the `uid` attribute. To configure this " -"(though it is the default), set the `pam_login_attribute` directive in " -"[.filename]#ldap.conf#:" +"(though it is the default), set the `pam_login_attribute` directive in [." +"filename]#ldap.conf#:" msgstr "" "Мы идентифицируем наших пользователей с помощью атрибута `uid`. Чтобы " "настроить это (хотя это значение по умолчанию), укажите директиву " @@ -841,8 +841,8 @@ "Users whose shell is not in [.filename]#/etc/shells# will not be able to log " "in. This is particularly important when Bash is set as the user shell on " "the LDAP server. Bash is not included with a default installation of " -"FreeBSD. When installed from a package or port, it is located at " -"[.filename]#/usr/local/bin/bash#. Verify that the path to the shell on the " +"FreeBSD. When installed from a package or port, it is located at [." +"filename]#/usr/local/bin/bash#. Verify that the path to the shell on the " "server is set correctly:" msgstr "" "Пользователи, чья оболочка не указана в [.filename]#/etc/shells#, не смогут " @@ -867,8 +867,8 @@ "client computer so Bash is found at the correct location:" msgstr "" "Если в последнем столбце вывода указан `/bin/bash`, есть два варианта " -"действий. Первый — изменить запись пользователя на сервере LDAP на " -"[.filename]#/usr/local/bin/bash#. Второй вариант — создать символическую " +"действий. Первый — изменить запись пользователя на сервере LDAP на [." +"filename]#/usr/local/bin/bash#. Второй вариант — создать символическую " "ссылку на клиентском компьютере LDAP, чтобы Bash находился в правильном " "месте:" @@ -916,10 +916,10 @@ "if you want to use SSH (remember to set the relevant options in [.filename]#/" "etc/ssh/sshd_config#, otherwise SSH will not use PAM)." msgstr "" -"В большинстве случаев подходящий файл PAM — это [.filename]#/etc/pam.d/" -"sshd#, если вы хотите использовать SSH (не забудьте установить " -"соответствующие параметры в [.filename]#/etc/ssh/sshd_config#, иначе SSH не " -"будет использовать PAM)." +"В большинстве случаев подходящий файл PAM — это [.filename]#/etc/pam.d/sshd#" +", если вы хотите использовать SSH (не забудьте установить соответствующие " +"параметры в [.filename]#/etc/ssh/sshd_config#, иначе SSH не будет " +"использовать PAM)." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:392 @@ -1055,10 +1055,12 @@ "auth required pam_unix.so no_warn try_first_pass\n" msgstr "" "auth required pam_nologin.so no_warn\n" -"auth sufficient pam_opie.so no_warn no_fake_prompts\n" +"auth sufficient pam_opie.so no_warn " +"no_fake_prompts\n" "auth requisite pam_opieaccess.so no_warn allow_local\n" "auth sufficient /usr/local/lib/pam_ldap.so no_warn\n" -"auth required pam_unix.so no_warn try_first_pass\n" +"auth required pam_unix.so no_warn " +"try_first_pass\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:448 @@ -1068,7 +1070,8 @@ "account required /usr/local/lib/pam_ldap.so no_warn ignore_authinfo_unavail ignore_unknown_user\n" msgstr "" "account required pam_login_access.so\n" -"account required /usr/local/lib/pam_ldap.so no_warn ignore_authinfo_unavail ignore_unknown_user\n" +"account required /usr/local/lib/pam_ldap.so no_warn " +"ignore_authinfo_unavail ignore_unknown_user\n" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:457 @@ -1080,8 +1083,8 @@ msgstr "" "Поскольку мы добавляем эти строки конкретно в [.filename]#pam.d/sshd#, это " "повлияет только на SSH-сеансы. Пользователи LDAP не смогут войти через " -"консоль. Чтобы изменить это поведение, изучите остальные файлы в " -"[.filename]#/etc/pam.d# и измените их соответствующим образом." +"консоль. Чтобы изменить это поведение, изучите остальные файлы в [." +"filename]#/etc/pam.d# и измените их соответствующим образом." #. type: Title === #: documentation/content/en/articles/ldap-auth/_index.adoc:460 @@ -1114,8 +1117,8 @@ msgid "" "The package:net/nss_ldap[] port does this. It uses the same configuration " "file as package:security/pam_ldap[], and should not need any extra " -"parameters once it is installed. Instead, what is left is simply to edit " -"[.filename]#/etc/nsswitch.conf# to take advantage of the directory. Simply " +"parameters once it is installed. Instead, what is left is simply to edit [." +"filename]#/etc/nsswitch.conf# to take advantage of the directory. Simply " "replace the following lines:" msgstr "" "Порт package:net/nss_ldap[] выполняет это. Он использует тот же " @@ -1174,8 +1177,8 @@ "changing user passwords with man:passwd[1]. As a result of this, most " "administrators are left to implement a solution themselves. I provide some " "examples here. Note that if you write your own password change script, " -"there are some security issues you should be made aware of; see " -"crossref:ldap-auth[security-passwd, Password Storage]" +"there are some security issues you should be made aware of; see crossref:" +"ldap-auth[security-passwd, Password Storage]" msgstr "" "К сожалению, на момент написания этой документации FreeBSD не поддерживал " "изменение паролей пользователей с помощью man:passwd[1]. В результате " @@ -1337,7 +1340,8 @@ msgstr "" " salt = rand.to_s.gsub(/0\\./, '')\n" " pass = pwd1.to_s\n" -" hash = \"{SSHA}\"+Base64.encode64(Digest::SHA1.digest(\"#{pass}#{salt}\")+salt).chomp!\n" +" hash = \"{SSHA}\"+Base64.encode64(Digest::SHA1.digest(\"#{pass}#{salt}\"" +")+salt).chomp!\n" " return hash\n" "end\n" @@ -1770,8 +1774,8 @@ #: documentation/content/en/articles/ldap-auth/_index.adoc:757 msgid "" "The steps here are presented as they are with very little attempt at " -"explaining what is going on-further explanation can be found in " -"man:openssl[1] and its friends." +"explaining what is going on-further explanation can be found in man:" +"openssl[1] and its friends." msgstr "" "Шаги здесь представлены как есть, без попыток объяснить происходящее — " "дополнительные пояснения можно найти в man:openssl[1] и связанных справочных " @@ -1823,11 +1827,10 @@ "Once you sign the signing request with [.filename]#root.key#, you will be " "able to use [.filename]#ldap-server-one.*# on your LDAP servers." msgstr "" -"Затем, используя первые два шага, описанные выше, создайте ключ " -"[.filename]#ldap-server-one.key# и запрос на подпись сертификата " -"[.filename]#ldap-server-one.csr#. После подписания запроса с помощью " -"[.filename]#root.key# вы сможете использовать [.filename]#ldap-server-one.*# " -"на своих LDAP-серверах." +"Затем, используя первые два шага, описанные выше, создайте ключ [.filename" +"]#ldap-server-one.key# и запрос на подпись сертификата [.filename]#ldap-" +"server-one.csr#. После подписания запроса с помощью [.filename]#root.key# вы " +"сможете использовать [.filename]#ldap-server-one.*# на своих LDAP-серверах." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:784 @@ -1876,12 +1879,10 @@ #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:804 msgid "" -"Finally, for clients to trust all your servers, distribute " -"[.filename]#root.crt# (the __certificate__, not the key!) to each client, " -"and specify it in the `TLSCACertificateFile` directive in " -"[.filename]#ldap.conf#." +"Finally, for clients to trust all your servers, distribute [.filename]#root." +"crt# (the __certificate__, not the key!) to each client, and specify it in " +"the `TLSCACertificateFile` directive in [.filename]#ldap.conf#." msgstr "" -"Наконец, чтобы клиенты доверяли всем вашим серверам, распространите файл " -"[.filename]#root.crt# (__сертификат__, а не ключ!) на каждом клиенте и " -"укажите его в директиве `TLSCACertificateFile` в файле " -"[.filename]#ldap.conf#." +"Наконец, чтобы клиенты доверяли всем вашим серверам, распространите файл [." +"filename]#root.crt# (__сертификат__, а не ключ!) на каждом клиенте и укажите " +"его в директиве `TLSCACertificateFile` в файле [.filename]#ldap.conf#." diff --git a/documentation/content/ru/articles/linux-emulation/_index.adoc b/documentation/content/ru/articles/linux-emulation/_index.adoc --- a/documentation/content/ru/articles/linux-emulation/_index.adoc +++ b/documentation/content/ru/articles/linux-emulation/_index.adoc @@ -229,7 +229,7 @@ Как видно, `CLONE_THREAD` выполняет большую часть работы и не очень хорошо вписывается в схему. Первоначальный замысел неясен (даже для авторов, согласно комментариям в коде), но я думаю, изначально был один флаг для потоков, который затем был разделён на множество других флагов, но это разделение так и не было завершено. Также непонятно, для чего нужно это разделение, так как glibc не использует его, и только ручное использование clone позволяет программисту получить доступ к этим возможностям. -Для непоточных программ PID и TID совпадают. Для поточных программ первый поток имеет одинаковые PID и TID, а каждый созданный поток разделяет тот же PID и получает уникальный TID (поскольку передается `CLONE_THREAD`), также родительский процесс общий для всех процессов, образующих эту поточную программу. +Для непоточных программ PID и TID совпадают. Для поточных программ первый поток имеет одинаковые PID и TID, а каждый созданный поток разделяет тот же PID и получает уникальный TID (поскольку передаётся `CLONE_THREAD`), также родительский процесс общий для всех процессов, образующих эту поточную программу. Код, реализующий man:pthread_create[3] в NPTL, определяет флаги clone следующим образом: @@ -455,7 +455,7 @@ [[linux-prepsyscall]] ==== Linux(R) prepsyscall -Linux(R) передает аргументы системных вызовов через регистры (поэтому на i386 ограничено 6 параметрами), тогда как FreeBSD использует стек. Подпрограмма Linux(R) `prepsyscall` должна копировать параметры из регистров в стек. Порядок регистров следующий: `%ebx`, `%ecx`, `%edx`, `%esi`, `%edi`, `%ebp`. Однако это верно только для _большинства_ системных вызовов. Некоторые (особенно `clone`) используют другой порядок, но это, к счастью, легко исправить, добавив фиктивный параметр в прототип `linux_clone`. +Linux(R) передаёт аргументы системных вызовов через регистры (поэтому на i386 ограничено 6 параметрами), тогда как FreeBSD использует стек. Подпрограмма Linux(R) `prepsyscall` должна копировать параметры из регистров в стек. Порядок регистров следующий: `%ebx`, `%ecx`, `%edx`, `%esi`, `%edi`, `%ebp`. Однако это верно только для _большинства_ системных вызовов. Некоторые (особенно `clone`) используют другой порядок, но это, к счастью, легко исправить, добавив фиктивный параметр в прототип `linux_clone`. [[syscall-writing]] ==== Как писать системные вызовы @@ -705,7 +705,7 @@ [[linux-i386]] ==== Реализация на Linux(R) i386 -Существует два основных способа настройки TLS в Linux(R). Он может быть настроен при клонировании процесса с использованием системного вызова `clone` или с помощью вызова `set_thread_area`. Когда процесс передает флаг `CLONE_SETTLS` в `clone`, ядро ожидает, что память, на которую указывает регистр `%esi`, будет содержать пользовательское представление сегмента в Linux(R), которое преобразуется в машинное представление сегмента и загружается в слот GDT. Слот GDT может быть указан номером или можно использовать -1, что означает, что система сама должна выбрать первый свободный слот. На практике подавляющее большинство программ используют только одну запись TLS и не заботятся о номере записи. Мы используем это в эмуляции и фактически зависим от этого. +Существует два основных способа настройки TLS в Linux(R). Он может быть настроен при клонировании процесса с использованием системного вызова `clone` или с помощью вызова `set_thread_area`. Когда процесс передаёт флаг `CLONE_SETTLS` в `clone`, ядро ожидает, что память, на которую указывает регистр `%esi`, будет содержать пользовательское представление сегмента в Linux(R), которое преобразуется в машинное представление сегмента и загружается в слот GDT. Слот GDT может быть указан номером или можно использовать -1, что означает, что система сама должна выбрать первый свободный слот. На практике подавляющее большинство программ используют только одну запись TLS и не заботятся о номере записи. Мы используем это в эмуляции и фактически зависим от этого. [[tls-emu]] ==== Эмуляция Linux(R) TLS @@ -713,7 +713,7 @@ [[tls-i386]] ===== i386 -Загрузка TLS для текущего потока происходит путем вызова `set_thread_area`, тогда как загрузка TLS для второго процесса в `clone` выполняется в отдельном блоке в `clone`. Эти две функции очень похожи. Единственное различие заключается в фактической загрузке сегмента GDT, которая происходит при следующем переключении контекста для вновь созданного процесса, в то время как `set_thread_area` должен загрузить его напрямую. Код в основном делает следующее. Он копирует дескриптор сегмента в формате Linux(R) из пользовательского пространства. Код проверяет номер дескриптора, но поскольку он различается между FreeBSD и Linux(R), мы немного имитируем его. Мы поддерживаем только индексы 6, 3 и -1. Число 6 — это оригинальный номер Linux(R), 3 — оригинальный номер FreeBSD, а -1 означает авто-выбор. Затем мы устанавливаем номер дескриптора на константу 3 и копируем его обратно в пользовательское пространство. Мы полагаемся на то, что процесс в пользовательском пространстве использует номер из дескриптора, но это работает в большинстве случаев (никогда не встречалось ситуации, когда это не срабатывало), так как процесс в пользовательском пространстве обычно передает 1. Затем мы преобразуем дескриптор из формата Linux(R) в машинозависимую форму (т.е. независимую от операционной системы) и копируем его в дескриптор сегмента, определенный FreeBSD. Наконец, мы можем загрузить его. Мы назначаем дескриптор PCB потока (блок управления процессом) и загружаем сегмент `%gs` с помощью `load_gs`. Эта загрузка должна выполняться в критической секции, чтобы ничто не могло нас прервать. Случай `CLONE_SETTLS` работает точно так же, только загрузка с помощью `load_gs` не выполняется. Сегмент, используемый для этого (сегмент номер 3), разделяется между процессами FreeBSD и Linux(R), поэтому слой эмуляции Linux(R) не добавляет накладных расходов по сравнению с обычным FreeBSD. +Загрузка TLS для текущего потока происходит путем вызова `set_thread_area`, тогда как загрузка TLS для второго процесса в `clone` выполняется в отдельном блоке в `clone`. Эти две функции очень похожи. Единственное различие заключается в фактической загрузке сегмента GDT, которая происходит при следующем переключении контекста для вновь созданного процесса, в то время как `set_thread_area` должен загрузить его напрямую. Код в основном делает следующее. Он копирует дескриптор сегмента в формате Linux(R) из пользовательского пространства. Код проверяет номер дескриптора, но поскольку он различается между FreeBSD и Linux(R), мы немного имитируем его. Мы поддерживаем только индексы 6, 3 и -1. Число 6 — это оригинальный номер Linux(R), 3 — оригинальный номер FreeBSD, а -1 означает авто-выбор. Затем мы устанавливаем номер дескриптора на константу 3 и копируем его обратно в пользовательское пространство. Мы полагаемся на то, что процесс в пользовательском пространстве использует номер из дескриптора, но это работает в большинстве случаев (никогда не встречалось ситуации, когда это не срабатывало), так как процесс в пользовательском пространстве обычно передаёт 1. Затем мы преобразуем дескриптор из формата Linux(R) в машинозависимую форму (т.е. независимую от операционной системы) и копируем его в дескриптор сегмента, определенный FreeBSD. Наконец, мы можем загрузить его. Мы назначаем дескриптор PCB потока (блок управления процессом) и загружаем сегмент `%gs` с помощью `load_gs`. Эта загрузка должна выполняться в критической секции, чтобы ничто не могло нас прервать. Случай `CLONE_SETTLS` работает точно так же, только загрузка с помощью `load_gs` не выполняется. Сегмент, используемый для этого (сегмент номер 3), разделяется между процессами FreeBSD и Linux(R), поэтому слой эмуляции Linux(R) не добавляет накладных расходов по сравнению с обычным FreeBSD. [[tls-amd64]] ===== amd64 @@ -906,7 +906,7 @@ [[implementation]] ===== Реализация -Реализация выполнена путем изменения функции man:namei[9] (описанной выше) для приема дополнительного параметра `dirfd` в структуре `nameidata`, который указывает начальную точку для поиска пути вместо использования текущей рабочей директории каждый раз. Преобразование `dirfd` из номера файлового дескриптора в vnode выполняется в нативных *at-системных вызовах. Когда `dirfd` равен `AT_FDCWD`, запись `dvp` в структуре `nameidata` имеет значение `NULL`, но если `dirfd` представляет другой номер, мы получаем файл по этому дескриптору, проверяем его валидность и, если к нему прикреплен vnode, получаем этот vnode. Затем проверяем, является ли этот vnode директорией. В самой функции man:namei[9] мы просто заменяем vnode `dvp` на переменную `dp` в функции man:namei[9], которая определяет начальную точку. Функция man:namei[9] используется не напрямую, а через цепочку различных функций на разных уровнях. Например, `openat` работает следующим образом: +Реализация выполнена путем изменения функции man:namei[9] (описанной выше) для приема дополнительного параметра `dirfd` в структуре `nameidata`, который указывает начальную точку для поиска пути вместо использования текущего рабочего каталога каждый раз. Преобразование `dirfd` из номера файлового дескриптора в vnode выполняется в нативных *at-системных вызовах. Когда `dirfd` равен `AT_FDCWD`, запись `dvp` в структуре `nameidata` имеет значение `NULL`, но если `dirfd` представляет другой номер, мы получаем файл по этому дескриптору, проверяем его валидность и, если к нему прикреплен vnode, получаем этот vnode. Затем проверяем, является ли этот vnode каталогом. В самой функции man:namei[9] мы просто заменяем vnode `dvp` на переменную `dp` в функции man:namei[9], которая определяет начальную точку. Функция man:namei[9] используется не напрямую, а через цепочку различных функций на разных уровнях. Например, `openat` работает следующим образом: [.programlisting] .... diff --git a/documentation/content/ru/articles/linux-emulation/_index.po b/documentation/content/ru/articles/linux-emulation/_index.po --- 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: 2024-01-17 20:35-0300\n" -"PO-Revision-Date: 2025-10-29 04:45+0000\n" +"POT-Creation-Date: 2025-11-08 16:17+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -22,8 +22,7 @@ #: documentation/content/en/articles/linux-emulation/_index.adoc:1 #, no-wrap msgid "A technical description about the internals of the Linux emulation layer in FreeBSD" -msgstr "" -"Техническое описание внутреннего устройства слоя эмуляции Linux в FreeBSD" +msgstr "Техническое описание внутреннего устройства слоя эмуляции Linux в FreeBSD" #. type: YAML Front Matter: title #: documentation/content/en/articles/linux-emulation/_index.adoc:1 @@ -59,8 +58,8 @@ "We, the emulation development team, are working on making the Linux(R) 2.6 " "emulation the default emulation layer in FreeBSD." msgstr "" -"Эта магистерская диссертация посвящена обновлению слоя эмуляции Linux(R) (" -"так называемого _Linuxulator_). Задача состояла в обновлении слоя для " +"Эта магистерская диссертация посвящена обновлению слоя эмуляции Linux(R) " +"(так называемого _Linuxulator_). Задача состояла в обновлении слоя для " "соответствия функциональности Linux(R) 2.6. В качестве эталонной реализации " "было выбрано ядро Linux(R) 2.6.16. Концепция основана на реализации NetBSD. " "Большая часть работы была выполнена летом 2006 года в рамках программы " @@ -195,8 +194,8 @@ "идеи были использованы многими другими операционными системами по всему " "миру, образовав так называемые UNIX(R)-подобные операционные системы. В наши " "дни наиболее влиятельными из них являются Linux(R), Solaris и, возможно (в " -"некоторой степени), FreeBSD. Существуют корпоративные производные UNIX(R) (" -"AIX, HP-UX и т. д.), но они всё больше мигрируют на упомянутые системы. " +"некоторой степени), FreeBSD. Существуют корпоративные производные UNIX(R) " +"(AIX, HP-UX и т. д.), но они всё больше мигрируют на упомянутые системы. " "Давайте подведём итог типичным характеристикам UNIX(R)." #. type: Title ==== @@ -265,8 +264,8 @@ "reaction like sending a _signal_ (division by zero)." msgstr "" "Еще один возможный способ взаимодействия — использование _прерывания_. " -"Прерывания происходят асинхронно после возникновения определенного события (" -"деление на ноль, ошибка страницы и т.д.). Прерывание может быть прозрачным " +"Прерывания происходят асинхронно после возникновения определенного события " +"(деление на ноль, ошибка страницы и т.д.). Прерывание может быть прозрачным " "для процесса (ошибка страницы) или привести к реакции, например, отправке " "_сигнала_ (деление на ноль)." @@ -314,9 +313,9 @@ "запущенный процесс может создать свою идентичную копию, используя системный " "вызов man:fork[2]. Были введены некоторые немного изменённые версии этого " "системного вызова, но базовая семантика остаётся той же. Каждый запущенный " -"процесс может превратиться в другой процесс, используя системный вызов " -"man:exec[3]. Были введены некоторые модификации этого системного вызова, но " -"все они служат одной и той же базовой цели. Процессы завершают своё " +"процесс может превратиться в другой процесс, используя системный вызов man:" +"exec[3]. Были введены некоторые модификации этого системного вызова, но все " +"они служат одной и той же базовой цели. Процессы завершают своё " "существование, вызывая системный вызов man:exit[2]. Каждый процесс " "идентифицируется уникальным номером, называемым PID. У каждого процесса есть " "определённый родитель (идентифицируемый его PID)." @@ -536,8 +535,8 @@ "которая является прослойкой в системном вызове man:execve[2]. Она использует " "структуру `sysentvec`, описывающую ABI исполняемого файла. Эта структура " "содержит такие элементы, как таблицу преобразования errno, таблицу " -"преобразования сигналов, различные функции для обработки системных вызовов (" -"исправление стека, создание дампов памяти и т.д.). Каждый ABI, который ядро " +"преобразования сигналов, различные функции для обработки системных вызовов " +"(исправление стека, создание дампов памяти и т.д.). Каждый ABI, который ядро " "FreeBSD поддерживает, должен определять эту структуру, так как она " "используется в дальнейшем в коде обработки системных вызовов и в некоторых " "других местах. Системные вызовы обрабатываются обработчиками прерываний, где " @@ -554,8 +553,8 @@ #. type: Plain text #: documentation/content/en/articles/linux-emulation/_index.adoc:209 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." +"Syscalls on FreeBSD are issued by executing interrupt `0x80` with register `" +"%eax` set to a desired syscall number with arguments passed on the stack." msgstr "" "Системные вызовы в FreeBSD выполняются путем прерывания `0x80` с " "установленным в регистре `%eax` номером нужного системного вызова и " @@ -798,10 +797,10 @@ "Большая часть разработки Linux(R) происходит в системе контроля версий Git. " "Git — это распределённая система, поэтому нет централизованного источника " "кода Linux(R), но некоторые ветви считаются основными и официальными. Схема " -"нумерации версий, используемая в Linux(R), состоит из четырёх чисел: " -"A.B.C.D. В настоящее время разработка ведётся в ветке 2.6.C.D, где C " -"обозначает мажорную версию, в которую добавляются или изменяются функции, а " -"D — минорную версию, предназначенную только для исправления ошибок." +"нумерации версий, используемая в Linux(R), состоит из четырёх чисел: A.B.C." +"D. В настоящее время разработка ведётся в ветке 2.6.C.D, где C обозначает " +"мажорную версию, в которую добавляются или изменяются функции, а D — " +"минорную версию, предназначенную только для исправления ошибок." #. type: Plain text #: documentation/content/en/articles/linux-emulation/_index.adoc:277 @@ -936,8 +935,8 @@ "определяется не как уникальный для каждого процесса, поэтому для некоторых " "процессов (потоков) man:getppid[2] возвращает одинаковое значение. " "Уникальная идентификация процесса обеспечивается TID. Это связано с тем, что " -"_NPTL_ (New POSIX(R) Thread Library) определяет потоки как обычные процессы (" -"так называемая модель 1:1). Создание нового процесса в Linux(R) 2.6 " +"_NPTL_ (New POSIX(R) Thread Library) определяет потоки как обычные процессы " +"(так называемая модель 1:1). Создание нового процесса в Linux(R) 2.6 " "происходит с использованием системного вызова `clone` (варианты fork " "перереализованы с его использованием). Этот системный вызов clone определяет " "набор флагов, которые влияют на поведение процесса клонирования в отношении " @@ -1064,7 +1063,7 @@ msgstr "" "Для непоточных программ PID и TID совпадают. Для поточных программ первый " "поток имеет одинаковые PID и TID, а каждый созданный поток разделяет тот же " -"PID и получает уникальный TID (поскольку передается `CLONE_THREAD`), также " +"PID и получает уникальный TID (поскольку передаётся `CLONE_THREAD`), также " "родительский процесс общий для всех процессов, образующих эту поточную " "программу." @@ -1486,10 +1485,10 @@ "Атомарные операции реализуются через набор функций, выполняющих простые " "арифметические действия над операндами в памяти атомарным образом по " "отношению к внешним событиям (прерываниям, вытеснению и т. д.). Атомарные " -"операции могут гарантировать атомарность только для небольших типов данных (" -"порядка величины типа `.long` в архитектуре C), поэтому их следует редко " -"использовать напрямую в конечном коде, разве что для очень простых операций (" -"например, установки флага в битовой карте). На самом деле довольно просто и " +"операции могут гарантировать атомарность только для небольших типов данных " +"(порядка величины типа `.long` в архитектуре C), поэтому их следует редко " +"использовать напрямую в конечном коде, разве что для очень простых операций " +"(например, установки флага в битовой карте). На самом деле довольно просто и " "часто можно допустить семантическую ошибку, полагаясь только на атомарные " "операции (обычно называемые lock-less). Ядро FreeBSD предоставляет способ " "выполнения атомарных операций в сочетании с барьерами памяти. Барьеры памяти " @@ -1673,8 +1672,8 @@ "указанное рядом с типом блокировки), ему запрещено захватывать блокировки " "более высоких уровней, так как это нарушит заданную семантику пути. " "Например, если поток удерживает блокирующую блокировку (уровень 2), ему " -"разрешено захватывать спин-блокировку (уровень 1), но не спящую блокировку (" -"уровень 3), поскольку блокирующие блокировки предназначены для защиты более " +"разрешено захватывать спин-блокировку (уровень 1), но не спящую блокировку " +"(уровень 3), поскольку блокирующие блокировки предназначены для защиты более " "коротких путей, чем спящие блокировки (однако эти правила не касаются " "атомарных операций или барьеров планирования)." @@ -2173,7 +2172,7 @@ "notably `clone`) uses a different order but it is luckily easy to fix by " "inserting a dummy parameter in the `linux_clone` prototype." msgstr "" -"Linux(R) передает аргументы системных вызовов через регистры (поэтому на " +"Linux(R) передаёт аргументы системных вызовов через регистры (поэтому на " "i386 ограничено 6 параметрами), тогда как FreeBSD использует стек. " "Подпрограмма Linux(R) `prepsyscall` должна копировать параметры из регистров " "в стек. Порядок регистров следующий: `%ebx`, `%ecx`, `%edx`, `%esi`, `%edi`" @@ -2304,8 +2303,7 @@ "{ AS(close_args), (sy_call_t *)close, AUE_CLOSE, NULL, 0, 0 }, /* 6 = close */\n" msgstr "" "{ 0, (sy_call_t *)linux_fork, AUE_FORK, NULL, 0, 0 }, /* 2 = linux_fork */\n" -"{ AS(close_args), (sy_call_t *)close, AUE_CLOSE, NULL, 0, 0 }, /* 6 = close " -"*/\n" +"{ 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 @@ -2486,12 +2484,12 @@ "filename]#linux_ptrace.c#. Функции для преобразования регистров между " "Linux(R) и FreeBSD и фактический системный вызов эмуляции man:ptrace[2]. " "Системный вызов представляет собой длинный блок switch, который реализует " -"свой аналог в FreeBSD для каждой команды man:ptrace[2]. Команды man:ptrace[2]" -" в основном одинаковы между Linux(R) и FreeBSD, поэтому обычно требуется " -"лишь небольшая модификация. Например, `PT_GETREGS` в Linux(R) работает с " -"непосредственными данными, в то время как FreeBSD использует указатель на " -"данные, поэтому после выполнения (нативного) системного вызова man:ptrace[2] " -"необходимо выполнить copyout для сохранения семантики Linux(R)." +"свой аналог в FreeBSD для каждой команды man:ptrace[2]. Команды man:" +"ptrace[2] в основном одинаковы между Linux(R) и FreeBSD, поэтому обычно " +"требуется лишь небольшая модификация. Например, `PT_GETREGS` в Linux(R) " +"работает с непосредственными данными, в то время как FreeBSD использует " +"указатель на данные, поэтому после выполнения (нативного) системного вызова " +"man:ptrace[2] необходимо выполнить copyout для сохранения семантики Linux(R)." #. type: Plain text #: documentation/content/en/articles/linux-emulation/_index.adoc:792 @@ -2621,15 +2619,15 @@ "the stuff necessary for loading Linux(R) A.OUT binaries is in [." "filename]#imgact_linux.c# file." msgstr "" -"Эмуляционный слой Linux(R) на i386 также поддерживает бинарные файлы Linux(R)" -" в формате A.OUT. Почти всё, что описано в предыдущих разделах, должно быть " -"реализовано для поддержки A.OUT (кроме перевода ловушек и отправки сигналов)" -". Поддержка бинарных файлов A.OUT больше не поддерживается, в частности, " -"эмуляция 2.6 с ними не работает, но это не вызывает никаких проблем, так как " -"linux-base в портах, вероятно, вообще не поддерживает бинарные файлы A.OUT. " -"Эта поддержка, скорее всего, будет удалена в будущем. Большая часть кода, " -"необходимого для загрузки бинарных файлов Linux(R) A.OUT, находится в файле [" -".filename]#imgact_linux.c#." +"Эмуляционный слой Linux(R) на i386 также поддерживает бинарные файлы " +"Linux(R) в формате A.OUT. Почти всё, что описано в предыдущих разделах, " +"должно быть реализовано для поддержки A.OUT (кроме перевода ловушек и " +"отправки сигналов). Поддержка бинарных файлов A.OUT больше не " +"поддерживается, в частности, эмуляция 2.6 с ними не работает, но это не " +"вызывает никаких проблем, так как linux-base в портах, вероятно, вообще не " +"поддерживает бинарные файлы A.OUT. Эта поддержка, скорее всего, будет " +"удалена в будущем. Большая часть кода, необходимого для загрузки бинарных " +"файлов Linux(R) A.OUT, находится в файле [.filename]#imgact_linux.c#." #. type: Title == #: documentation/content/en/articles/linux-emulation/_index.adoc:842 @@ -2750,16 +2748,16 @@ "Linux(R) binary as it might harm things." msgstr "" "Слой эмуляции Linux(R) в FreeBSD поддерживает динамическую настройку " -"эмулируемой версии. Это выполняется с помощью man:sysctl[8], а именно `compat" -".linux.osrelease`. Установка этого man:sysctl[8] влияет на поведение слоя " -"эмуляции во время выполнения. При установке значения 2.6.x устанавливается " -"переменная `linux_use_linux26`, а при установке другого значения она " -"остаётся сброшенной. Эта переменная (а также аналогичные переменные для " -"каждой клетки) определяет, используется ли в коде инфраструктура 2.6 (в " -"основном, преобразование PID). Настройка версии применяется глобально для " -"всей системы и влияет на все процессы Linux(R). Не следует изменять " -"man:sysctl[8] во время выполнения любого бинарного файла Linux(R), так как " -"это может привести к проблемам." +"эмулируемой версии. Это выполняется с помощью man:sysctl[8], а именно " +"`compat.linux.osrelease`. Установка этого man:sysctl[8] влияет на поведение " +"слоя эмуляции во время выполнения. При установке значения 2.6.x " +"устанавливается переменная `linux_use_linux26`, а при установке другого " +"значения она остаётся сброшенной. Эта переменная (а также аналогичные " +"переменные для каждой клетки) определяет, используется ли в коде " +"инфраструктура 2.6 (в основном, преобразование PID). Настройка версии " +"применяется глобально для всей системы и влияет на все процессы Linux(R). Не " +"следует изменять man:sysctl[8] во время выполнения любого бинарного файла " +"Linux(R), так как это может привести к проблемам." #. type: Title ==== #: documentation/content/en/articles/linux-emulation/_index.adoc:885 @@ -2777,8 +2775,8 @@ "other words a process. For single-threaded process the PID equals the TGID." msgstr "" "Семантика потоков в Linux(R) немного запутанная и использует совершенно " -"другую терминологию по сравнению с FreeBSD. Процесс в Linux(R) состоит из `" -"struct task`, включающей два поля идентификаторов — PID и TGID. PID — это " +"другую терминологию по сравнению с FreeBSD. Процесс в Linux(R) состоит из " +"`struct task`, включающей два поля идентификаторов — PID и TGID. PID — это " "_не_ идентификатор процесса, а идентификатор потока. TGID идентифицирует " "группу потоков, другими словами, процесс. Для однопоточного процесса PID " "равен TGID." @@ -2883,8 +2881,8 @@ msgstr "" "PID используется для идентификации процесса FreeBSD, к которому присоединена " "эта структура. `child_se_tid` и `child_clear_tid` используются для " -"копирования адреса TID при завершении и создании процесса. Указатель `shared`" -" указывает на структуру, разделяемую между потоками. Переменная " +"копирования адреса TID при завершении и создании процесса. Указатель " +"`shared` указывает на структуру, разделяемую между потоками. Переменная " "`pdeath_signal` определяет сигнал завершения родительского процесса, а " "указатель `threads` используется для связывания этой структуры со списком " "потоков. Структура `linux_emuldata_shared` выглядит следующим образом:" @@ -3006,8 +3004,8 @@ "The `clone` syscall is the way threads are created in Linux(R). The syscall " "prototype looks like this:" msgstr "" -"`clone` — это системный вызов, с помощью которого создаются потоки в Linux(R)" -". Прототип системного вызова выглядит следующим образом:" +"`clone` — это системный вызов, с помощью которого создаются потоки в " +"Linux(R). Прототип системного вызова выглядит следующим образом:" #. type: delimited block . 4 #: documentation/content/en/articles/linux-emulation/_index.adoc:977 @@ -3044,15 +3042,15 @@ "байт параметра `flags` является сигналом завершения для вновь созданного " "процесса. Параметр `stack`, если он не `NULL`, указывает, где находится стек " "потока, а если он `NULL`, предполагается копирование при записи стека " -"вызывающего процесса (т.е. делать то же, что делает обычная функция " -"man:fork[2]). Параметр `parent_tidptr` используется как адрес для " -"копирования PID процесса (т.е. идентификатора потока) после того, как " -"процесс достаточно инициализирован, но ещё не готов к выполнению. Параметр " -"`dummy` присутствует из-за очень странного соглашения о вызовах этого " -"системного вызова на i386. Он использует регистры напрямую и не позволяет " -"компилятору делать это, что приводит к необходимости использования " -"фиктивного системного вызова. Параметр `child_tidptr` используется как адрес " -"для копирования PID после завершения ветвления процесса и при его завершении." +"вызывающего процесса (т.е. делать то же, что делает обычная функция man:" +"fork[2]). Параметр `parent_tidptr` используется как адрес для копирования " +"PID процесса (т.е. идентификатора потока) после того, как процесс достаточно " +"инициализирован, но ещё не готов к выполнению. Параметр `dummy` присутствует " +"из-за очень странного соглашения о вызовах этого системного вызова на i386. " +"Он использует регистры напрямую и не позволяет компилятору делать это, что " +"приводит к необходимости использования фиктивного системного вызова. " +"Параметр `child_tidptr` используется как адрес для копирования PID после " +"завершения ветвления процесса и при его завершении." #. type: Plain text #: documentation/content/en/articles/linux-emulation/_index.adoc:1001 @@ -3095,11 +3093,11 @@ "эту возможность. Затем выполняется настройка `child_set_tid` и " "`child_clear_tid`, что активирует соответствующую функциональность далее в " "коде. На этом этапе мы копируем PID по адресу, указанному в `parent_tidptr`. " -"Установка стека процесса выполняется простой перезаписью регистра `%esp` " -"(`%rsp` на amd64) в кадре потока. Далее настраивается TLS для нового " -"процесса. После этого может быть эмулирована семантика man:vfork[2], и, " -"наконец, новый процесс помещается в очередь выполнения, а его PID " -"возвращается родительскому процессу через возвращаемое значение `clone`." +"Установка стека процесса выполняется простой перезаписью регистра `%esp` (`" +"%rsp` на amd64) в кадре потока. Далее настраивается TLS для нового процесса. " +"После этого может быть эмулирована семантика man:vfork[2], и, наконец, новый " +"процесс помещается в очередь выполнения, а его PID возвращается " +"родительскому процессу через возвращаемое значение `clone`." #. type: Plain text #: documentation/content/en/articles/linux-emulation/_index.adoc:1004 @@ -3128,7 +3126,7 @@ "manipulate `linux_emuldata_shared`. The `emul_lock` is a nonsleepable " "blocking mutex while `emul_shared_lock` is a sleepable blocking `sx_lock`. " "Due to of the per-subsystem locking we can coalesce some locks and that is " -"why the em find offers the non-locking access." +"why the em_find offers the non-locking access." msgstr "" "Блокировка реализована на уровне подсистем, поскольку не ожидается высокой " "конкуренции за эти ресурсы. Существует две блокировки: `emul_lock`, " @@ -3198,10 +3196,10 @@ "в данных, специфичных для конкретного потока, но доступных на уровне " "процесса. Например, имя выполняемого потока или что-то подобное. " "Традиционный API для работы с потоками в UNIX® — pthreads — предоставляет " -"способ сделать это через функции `man:pthread_key_create[3]`, " -"`man:pthread_setspecific[3]` и `man:pthread_getspecific[3]`, где поток может " -"создать ключ к локальным данным потока и использовать " -"`man:pthread_getspecific[3]` или `man:pthread_getspecific[3]` для управления " +"способ сделать это через функции `man:pthread_key_create[3]`, `man:" +"pthread_setspecific[3]` и `man:pthread_getspecific[3]`, где поток может " +"создать ключ к локальным данным потока и использовать `man:" +"pthread_getspecific[3]` или `man:pthread_getspecific[3]` для управления " "этими данными. Легко заметить, что это не самый удобный способ. Поэтому " "различные разработчики компиляторов C/C++ предложили более удобный метод. " "Они ввели новое ключевое слово `thread`, которое указывает, что переменная " @@ -3221,8 +3219,8 @@ "необходимость перезагружать сегмент при каждом переключении контекста, что " "может замедлять переключения. FreeBSD пытается минимизировать эти накладные " "расходы, используя только 1 дескриптор сегмента, в то время как Linux® " -"использует 3. Интересно, что почти ничто не использует больше 1 дескриптора (" -"только Wine, кажется, использует 2), поэтому Linux® платит эту " +"использует 3. Интересно, что почти ничто не использует больше 1 дескриптора " +"(только Wine, кажется, использует 2), поэтому Linux® платит эту " "необязательную цену при переключении контекстов." #. type: Title ==== @@ -3244,9 +3242,9 @@ "Архитектура i386 реализует так называемые сегменты. Сегмент — это описание " "области памяти. Он включает базовый адрес (начало) области памяти, её конец " "(границу), тип, защиту и т.д. Доступ к памяти, описываемой сегментом, может " -"осуществляться с использованием регистров селекторов сегментов (`%cs`, `%ds`" -", `%ss`, `%es`, `%fs`, `%gs`). Например, предположим, что у нас есть сегмент " -"с базовым адресом 0x1234 и длиной, а также следующий код:" +"осуществляться с использованием регистров селекторов сегментов (`%cs`, `" +"%ds`, `%ss`, `%es`, `%fs`, `%gs`). Например, предположим, что у нас есть " +"сегмент с базовым адресом 0x1234 и длиной, а также следующий код:" #. type: delimited block . 4 #: documentation/content/en/articles/linux-emulation/_index.adoc:1053 @@ -3259,16 +3257,16 @@ 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 " -"used for code segment and `%ss` is used for stack segment but `%fs` and " -"`%gs` are generally unused. Segments are either stored in a global GDT " -"table or in a local LDT table. LDT is accessed via an entry in the GDT. " -"The LDT can store more types of segments. LDT can be per process. Both " -"tables define up to 8191 entries." +"used for code segment and `%ss` is used for stack segment but `%fs` and `" +"%gs` are generally unused. Segments are either stored in a global GDT table " +"or in a local LDT table. LDT is accessed via an entry in the GDT. The LDT " +"can store more types of segments. LDT can be per process. Both tables " +"define up to 8191 entries." msgstr "" "Это загрузит содержимое регистра `%edx` в ячейку памяти по адресу 0x1244. " "Некоторые сегментные регистры имеют специальное назначение, например, `%cs` " -"используется для сегмента кода, а `%ss` — для сегмента стека, но `%fs` и " -"`%gs` обычно не используются. Сегменты хранятся либо в глобальной таблице " +"используется для сегмента кода, а `%ss` — для сегмента стека, но `%fs` и `" +"%gs` обычно не используются. Сегменты хранятся либо в глобальной таблице " "GDT, либо в локальной таблице LDT. Доступ к LDT осуществляется через запись " "в GDT. LDT может хранить больше типов сегментов. LDT может быть отдельной " "для каждого процесса. Обе таблицы определяют до 8191 записей." @@ -3295,7 +3293,7 @@ msgstr "" "Существует два основных способа настройки TLS в Linux(R). Он может быть " "настроен при клонировании процесса с использованием системного вызова `clone`" -" или с помощью вызова `set_thread_area`. Когда процесс передает флаг " +" или с помощью вызова `set_thread_area`. Когда процесс передаёт флаг " "`CLONE_SETTLS` в `clone`, ядро ожидает, что память, на которую указывает " "регистр `%esi`, будет содержать пользовательское представление сегмента в " "Linux(R), которое преобразуется в машинное представление сегмента и " @@ -3361,7 +3359,7 @@ "пользовательском пространстве использует номер из дескриптора, но это " "работает в большинстве случаев (никогда не встречалось ситуации, когда это " "не срабатывало), так как процесс в пользовательском пространстве обычно " -"передает 1. Затем мы преобразуем дескриптор из формата Linux(R) в " +"передаёт 1. Затем мы преобразуем дескриптор из формата Linux(R) в " "машинозависимую форму (т.е. независимую от операционной системы) и копируем " "его в дескриптор сегмента, определенный FreeBSD. Наконец, мы можем загрузить " "его. Мы назначаем дескриптор PCB потока (блок управления процессом) и " @@ -3392,8 +3390,8 @@ "Реализация amd64 аналогична реализации i386, но изначально не использовался " "32-битный дескриптор сегмента для этой цели (поэтому даже нативные " "пользователи 32-битного TLS не работали), поэтому нам пришлось добавить " -"такой сегмент и реализовать его загрузку при каждом переключении контекста (" -"когда установлен флаг, сигнализирующий о использовании 32-битного режима). " +"такой сегмент и реализовать его загрузку при каждом переключении контекста " +"(когда установлен флаг, сигнализирующий о использовании 32-битного режима). " "Кроме этого, загрузка TLS точно такая же, только номера сегментов " "отличаются, а формат дескриптора и загрузка немного различаются." @@ -3538,9 +3536,7 @@ #: documentation/content/en/articles/linux-emulation/_index.adoc:1150 #, 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" +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 @@ -3872,9 +3868,9 @@ "futex. This cooperates with `futex_sleep`." msgstr "" "Пробуждение потока, ожидающего на фьютексе, выполняется в функции " -"`futex_wake`. Сначала в этой функции мы имитируем странное поведение Linux(R)" -", где пробуждаются N потоков для всех операций, за исключением того, что " -"операции REQUEUE выполняются на N+1 потоках. Однако обычно это не имеет " +"`futex_wake`. Сначала в этой функции мы имитируем странное поведение " +"Linux(R), где пробуждаются N потоков для всех операций, за исключением того, " +"что операции REQUEUE выполняются на N+1 потоках. Однако обычно это не имеет " "значения, так как мы пробуждаем все потоки. Далее в функции в цикле мы " "пробуждаем n потоков, после чего проверяем, есть ли новый фьютекс для " "перестановки. Если есть, мы переставляем до n2 потоков на новый futex. Это " @@ -4025,8 +4021,7 @@ "openat(123, /tmp/bah\\, flags, mode)\t/* opens /tmp/bah */\n" "openat(123, bah\\, flags, mode)\t\t/* opens /tmp/foo/bah */\n" "openat(AT_FDWCWD, bah\\, flags, mode)\t/* opens /tmp/bah */\n" -"openat(stdio, bah\\, flags, mode)\t/* returns error because stdio is not a " -"directory */\n" +"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 @@ -4093,13 +4088,13 @@ "Реализация выполнена путем изменения функции man:namei[9] (описанной выше) " "для приема дополнительного параметра `dirfd` в структуре `nameidata`, " "который указывает начальную точку для поиска пути вместо использования " -"текущей рабочей директории каждый раз. Преобразование `dirfd` из номера " +"текущего рабочего каталога каждый раз. Преобразование `dirfd` из номера " "файлового дескриптора в vnode выполняется в нативных *at-системных вызовах. " "Когда `dirfd` равен `AT_FDCWD`, запись `dvp` в структуре `nameidata` имеет " "значение `NULL`, но если `dirfd` представляет другой номер, мы получаем файл " "по этому дескриптору, проверяем его валидность и, если к нему прикреплен " "vnode, получаем этот vnode. Затем проверяем, является ли этот vnode " -"директорией. В самой функции man:namei[9] мы просто заменяем vnode `dvp` на " +"каталогом. В самой функции man:namei[9] мы просто заменяем vnode `dvp` на " "переменную `dp` в функции man:namei[9], которая определяет начальную точку. " "Функция man:namei[9] используется не напрямую, а через цепочку различных " "функций на разных уровнях. Например, `openat` работает следующим образом:" @@ -4170,8 +4165,8 @@ "обработчика. Существуют небольшие проблемы с этим подходом, поскольку " "Linux(R) не всегда последовательно использует разделение на наборы, поэтому " "иногда ioctls для другого набора оказываются внутри набора, к которому они " -"не должны принадлежать (например, SCSI generic ioctls внутри набора cdrom и т" -".д.). В настоящее время FreeBSD реализует не так много ioctls Linux(R) (по " +"не должны принадлежать (например, SCSI generic ioctls внутри набора cdrom и " +"т.д.). В настоящее время FreeBSD реализует не так много ioctls Linux(R) (по " "сравнению с NetBSD, например), но планируется перенести их из NetBSD. " "Тенденция такова, что ioctls Linux(R) используются даже в родных драйверах " "FreeBSD для упрощения портирования приложений." @@ -4402,8 +4397,8 @@ #. type: Plain text #: documentation/content/en/articles/linux-emulation/_index.adoc:1435 msgid "" -"Marshall Kirk McKusick - George V. Nevile-Neil. Design and Implementation of " -"the FreeBSD operating system. Addison-Wesley, 2005." +"Marshall Kirk McKusick - George V. Neville-Neil. Design and Implementation " +"of the FreeBSD operating system. Addison-Wesley, 2005." msgstr "" "Marshall Kirk McKusick - George V. Neville-Neil. Design and Implementation " "of the FreeBSD operating system. Addison-Wesley, 2005 год." diff --git a/documentation/content/ru/articles/linux-users/_index.adoc b/documentation/content/ru/articles/linux-users/_index.adoc --- a/documentation/content/ru/articles/linux-users/_index.adoc +++ b/documentation/content/ru/articles/linux-users/_index.adoc @@ -118,7 +118,7 @@ # make WITH_LDAP="YES" install clean .... -Обратитесь к extref:{handbook}ports[Использование коллекции портов, ports-using] для получения дополнительной информации. +Обратитесь к разделу extref:{handbook}ports[Использование коллекции портов, ports-using] для получения дополнительной информации. [[startup]] == Загрузка системы diff --git a/documentation/content/ru/articles/linux-users/_index.po b/documentation/content/ru/articles/linux-users/_index.po --- a/documentation/content/ru/articles/linux-users/_index.po +++ b/documentation/content/ru/articles/linux-users/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2025-11-10 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -325,8 +325,8 @@ "Refer to extref:{handbook}ports[Using the Ports Collection, ports-using] for " "more information." msgstr "" -"Обратитесь к extref:{handbook}ports[Использование коллекции портов, ports-" -"using] для получения дополнительной информации." +"Обратитесь к разделу extref:{handbook}ports[Использование коллекции портов, " +"ports-using] для получения дополнительной информации." #. type: Title == #: documentation/content/en/articles/linux-users/_index.adoc:140 diff --git a/documentation/content/ru/articles/mailing-list-faq/_index.adoc b/documentation/content/ru/articles/mailing-list-faq/_index.adoc --- a/documentation/content/ru/articles/mailing-list-faq/_index.adoc +++ b/documentation/content/ru/articles/mailing-list-faq/_index.adoc @@ -61,7 +61,7 @@ === Кто пользуется этими списками рассылки? -Это зависит от регламента каждой конкретной рассылки. Некоторые списки больше ориентированы на разработчиков, некоторые - на всё сообщество FreeBSD в целом. Актуальную информацию смотрите по ссылке: link:https://lists.FreeBSD.org/[этот список]. +Это зависит от регламента каждой конкретной рассылки. Некоторые списки больше ориентированы на разработчиков, некоторые - на всё сообщество FreeBSD в целом. Актуальную информацию смотрите по ссылке link:https://lists.FreeBSD.org/[этот список]. В списках рассылки используется английский язык, если другой язык не указан явно. @@ -132,7 +132,7 @@ .... + Эта команда перенаправляет информацию в файл [.filename]#/tmp/dmesg.out#. -* При использовании операций копирования и вставки учтите, что некоторые такие операции отрицательно сказываются на формате строк. Особенно это стоит учесть при посылке содержимого файлов [.filename]#Makefile#, где `tab` является важным символом. Это довольно часто встречающаяся проблема в link:https://www.FreeBSD.org/support/[ базе данных сообщений об ошибках]. В [.filename]#Makefile# символы tab меняются на пробелы, или раздражающие `=3B` escape последовательности. +* При использовании операций копирования и вставки учтите, что некоторые такие операции отрицательно сказываются на формате строк. Особенно это стоит учесть при посылке содержимого файлов [.filename]#Makefile#, где `tab` является важным символом. Это довольно часто встречающаяся проблема в link:https://www.FreeBSD.org/support/[ базе данных сообщений об ошибках]. В [.filename]#Makefile# символы tab меняются на пробелы, или раздражающие `=3B` escape-последовательности. === Каких правил этикета стоит придерживаться при ответе на уже существующее сообщение? diff --git a/documentation/content/ru/articles/mailing-list-faq/_index.po b/documentation/content/ru/articles/mailing-list-faq/_index.po --- a/documentation/content/ru/articles/mailing-list-faq/_index.po +++ b/documentation/content/ru/articles/mailing-list-faq/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2025-11-10 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -126,8 +126,8 @@ msgstr "" "Это зависит от регламента каждой конкретной рассылки. Некоторые списки " "больше ориентированы на разработчиков, некоторые - на всё сообщество FreeBSD " -"в целом. Актуальную информацию смотрите по ссылке: link:https://lists." -"FreeBSD.org/[этот список]." +"в целом. Актуальную информацию смотрите по ссылке link:https://lists.FreeBSD." +"org/[этот список]." #. type: Plain text #: documentation/content/en/articles/mailing-list-faq/_index.adoc:75 @@ -520,10 +520,10 @@ "При использовании операций копирования и вставки учтите, что некоторые такие " "операции отрицательно сказываются на формате строк. Особенно это стоит " "учесть при посылке содержимого файлов [.filename]#Makefile#, где `tab` " -"является важным символом. Это довольно часто встречающаяся проблема в link:" -"https://www.FreeBSD.org/support/[ базе данных сообщений об ошибках]. В [." -"filename]#Makefile# символы tab меняются на пробелы, или раздражающие `=3B` " -"escape последовательности." +"является важным символом. Это довольно часто встречающаяся проблема в " +"link:https://www.FreeBSD.org/support/[ базе данных сообщений об ошибках]. В [" +".filename]#Makefile# символы tab меняются на пробелы, или раздражающие `=3B` " +"escape-последовательности." #. type: Title === #: documentation/content/en/articles/mailing-list-faq/_index.adoc:159 diff --git a/documentation/content/ru/articles/nanobsd/_index.adoc b/documentation/content/ru/articles/nanobsd/_index.adoc --- a/documentation/content/ru/articles/nanobsd/_index.adoc +++ b/documentation/content/ru/articles/nanobsd/_index.adoc @@ -167,15 +167,15 @@ . `make_conf_build`: Собрать make.conf из переменных `CONF_WORLD` и `CONF_BUILD`. . `build_world`: Сборка системы. . `build_kernel`: Собрать файлы ядра. -. `clean_world`: Очистить целевую директорию. +. `clean_world`: Очистить целевой каталог. . `make_conf_install`: Собрать make.conf из переменных `CONF_WORLD` и `CONF_INSTALL`. . `install_world`: Установить все файлы, собранные во время `buildworld`. -. `install_etc`: Установить необходимые файлы в директорию [.filename]#/etc#, используя команду `make distribution`. +. `install_etc`: Установить необходимые файлы в каталог [.filename]#/etc#, используя команду `make distribution`. . `setup_nanobsd_etc`: на этом этапе происходит первая специфичная для NanoBSD настройка. Создается [.filename]#/etc/diskless#, а корневая файловая система определяется как доступная только для чтения. . `install_kernel`: устанавливаются файлы ядра и модулей. . `run_customize`: будут вызваны все пользовательские процедуры настройки. . `setup_nanobsd`: создаётся специальная структура конфигурационных каталогов. Каталог [.filename]#/usr/local/etc# перемещается в [.filename]#/etc/local#, а затем создаётся символическая ссылка из [.filename]#/etc/local# обратно в [.filename]#/usr/local/etc#. -. `prune_usr`: пустые директории в [.filename]#/usr# удаляются. +. `prune_usr`: пустые каталоги в [.filename]#/usr# удаляются. . `run_late_customize`: на этом этапе могут быть выполнены самые последние пользовательские скрипты. . `fixup_before_diskimage`: Вывести список всех установленных файлов в metalog . `create_diskimage`: создает образ диска на основе предоставленных параметров геометрии диска. @@ -375,7 +375,7 @@ . Если что-то пойдет не так, перезагрузитесь обратно в предыдущий раздел (который содержит старую, рабочую версию), чтобы восстановить работоспособность системы как можно быстрее. Исправьте все проблемы новой сборки и повторите процесс. ==== -Для установки нового образа на работающую систему NanoBSD можно использовать скрипт [.filename]#updatep1# или [.filename]#updatep2#, расположенный в директории [.filename]#/root#, в зависимости от того, с какого раздела запущена текущая система. +Для установки нового образа на работающую систему NanoBSD можно использовать скрипт [.filename]#updatep1# или [.filename]#updatep2#, расположенный в каталоге [.filename]#/root#, в зависимости от того, с какого раздела запущена текущая система. В зависимости от того, какие службы доступны на хосте, предоставляющем новый образ NanoBSD, и какой тип передачи предпочтителен, можно рассмотреть один из этих трех способов: diff --git a/documentation/content/ru/articles/nanobsd/_index.po b/documentation/content/ru/articles/nanobsd/_index.po --- a/documentation/content/ru/articles/nanobsd/_index.po +++ b/documentation/content/ru/articles/nanobsd/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2024-01-17 20:35-0300\n" -"PO-Revision-Date: 2025-08-12 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -490,7 +490,7 @@ #. type: Plain text #: documentation/content/en/articles/nanobsd/_index.adoc:182 msgid "`clean_world`: Clean the destination directory." -msgstr "`clean_world`: Очистить целевую директорию." +msgstr "`clean_world`: Очистить целевой каталог." #. type: Plain text #: documentation/content/en/articles/nanobsd/_index.adoc:183 @@ -512,7 +512,7 @@ "`install_etc`: Install the necessary files in the [.filename]#/etc# " "directory, based on the `make distribution` command." msgstr "" -"`install_etc`: Установить необходимые файлы в директорию [.filename]#/etc#, " +"`install_etc`: Установить необходимые файлы в каталог [.filename]#/etc#, " "используя команду `make distribution`." #. type: Plain text @@ -555,7 +555,7 @@ #. type: Plain text #: documentation/content/en/articles/nanobsd/_index.adoc:190 msgid "`prune_usr`: the empty directories from [.filename]#/usr# are removed." -msgstr "`prune_usr`: пустые директории в [.filename]#/usr# удаляются." +msgstr "`prune_usr`: пустые каталоги в [.filename]#/usr# удаляются." #. type: Plain text #: documentation/content/en/articles/nanobsd/_index.adoc:191 @@ -1441,7 +1441,7 @@ msgstr "" "Для установки нового образа на работающую систему NanoBSD можно использовать " "скрипт [.filename]#updatep1# или [.filename]#updatep2#, расположенный в " -"директории [.filename]#/root#, в зависимости от того, с какого раздела " +"каталоге [.filename]#/root#, в зависимости от того, с какого раздела " "запущена текущая система." #. type: Plain text diff --git a/documentation/content/ru/articles/new-users/_index.po b/documentation/content/ru/articles/new-users/_index.po --- a/documentation/content/ru/articles/new-users/_index.po +++ b/documentation/content/ru/articles/new-users/_index.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-09-21 12:28+0300\n" +"POT-Creation-Date: 2022-02-01 09:21-0300\n" "PO-Revision-Date: 2025-07-05 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian =20) ? 1 : 2;\n" "X-Generator: Weblate 4.17\n" -#. type: Yaml Front Matter Hash Value: description +#. type: YAML Front Matter: description #: documentation/content/en/articles/new-users/_index.adoc:1 #, no-wrap msgid "Introduction for people new to both FreeBSD and UNIX®" msgstr "Введение для пользователей, не знакомых с FreeBSD и UNIX®" -#. type: Yaml Front Matter Hash Value: title +#. type: YAML Front Matter: title #: documentation/content/en/articles/new-users/_index.adoc:1 #, no-wrap msgid "For People New to Both FreeBSD and UNIX®" @@ -83,8 +83,7 @@ #. type: Plain text #: documentation/content/en/articles/new-users/_index.adoc:60 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 @@ -254,8 +253,8 @@ "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#, " "adding `jack` to the first line (the group `wheel`). But first you need to " -"practice man:vi[1], the text editor-or use the simpler text editor, " -"man:ee[1], installed on recent versions of FreeBSD." +"practice man:vi[1], the text editor-or use the simpler text editor, man:" +"ee[1], installed on recent versions of FreeBSD." msgstr "" "Если вы уже создали пользователя и хотите, чтобы он мог выполнять команду " "`su` для получения привилегий `root`, вы можете войти в систему как `root` и " @@ -335,8 +334,8 @@ "Lists the files in the current directory with a * after executables, a `/` " "after directories, and an `@` after symbolic links." msgstr "" -"Выдаёт перечень файлов, находящихся в текущем каталоге, добавляя символы " -"`\\*` после выполнимых файлов, `/` после каталогов и `@` после символических " +"Выдаёт перечень файлов, находящихся в текущем каталоге, добавляя символы `\\" +"*` после выполнимых файлов, `/` после каталогов и `@` после символических " "ссылок." #. type: Labeled list @@ -363,9 +362,9 @@ "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 @@ -383,9 +382,9 @@ msgstr "" "Смена каталогов. `cd ..` перемещает на один уровень выше; обратите внимание " "на промежуток после `cd`. `cd /usr/local` перейдёт в указанное место. `cd ~` " -"перейдёт в домашний каталог человека, который вошёл в систему-к примеру, " -"[.filename]#/usr/home/jack#. попробуйте выполнить команду `cd /cdrom`, а " -"затем `ls` для проверки того, что ваш CDROM смонтирован и работает." +"перейдёт в домашний каталог человека, который вошёл в систему-к примеру, [." +"filename]#/usr/home/jack#. попробуйте выполнить команду `cd /cdrom`, а затем " +"`ls` для проверки того, что ваш CDROM смонтирован и работает." #. type: Labeled list #: documentation/content/en/articles/new-users/_index.adoc:164 @@ -416,29 +415,29 @@ "end of it, press kbd:[ScrollLock] and use the kbd:[up-arrow] to move " "backward; you can use kbd:[ScrollLock] with manual pages too. Press kbd:" "[ScrollLock] again to quit scrolling. You might want to try `cat` on some " -"of the dot files in your home directory-`cat .cshrc`, `cat .login`, " -"`cat .profile`." +"of the dot files in your home directory-`cat .cshrc`, `cat .login`, `cat ." +"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 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 " -"[.filename]#.cshrc#. You can make these aliases available to all users on " -"the system by putting them in the system-wide `csh` configuration file, " -"[.filename]#/etc/csh.cshrc#." -msgstr "" -"В файле [.filename]#.cshrc# вы заметите алиасы для некоторых из команд `ls` " -"(они очень удобны). Вы можете создать другие алиасы, отредактировав файл " -"[.filename]#.cshrc#. Вы можете сделать эти алиасы доступными всем " +"(they are very convenient). You can create other aliases by editing [." +"filename]#.cshrc#. You can make these aliases available to all users on the " +"system by putting them in the system-wide `csh` configuration file, [." +"filename]#/etc/csh.cshrc#." +msgstr "" +"В файле [.filename]#.cshrc# вы заметите алиасы для некоторых из команд `ls` (" +"они очень удобны). Вы можете создать другие алиасы, отредактировав файл [." +"filename]#.cshrc#. Вы можете сделать эти алиасы доступными всем " "пользователям системы, поместив их в общесистемный конфигурационный файл для " "`csh`, [.filename]#/etc/csh.cshrc#." @@ -485,8 +484,8 @@ "Страница справки по _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 @@ -524,8 +523,8 @@ "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 @@ -548,8 +547,8 @@ "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`." @@ -557,9 +556,9 @@ #. type: Plain text #: documentation/content/en/articles/new-users/_index.adoc:214 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 not going to be left on over the weekend (and running FreeBSD), you might " +"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 " +"not going to be left on over the weekend (and running FreeBSD), you might " "want to run the commands for daily, weekly, and monthly maintenance now and " "then. Run them as `root` and, for now, give each one time to finish before " "you start the next one." @@ -604,8 +603,8 @@ "многопользовательская и многозадачная система. Тем не менее эти команды, " "скорее всего, в процессе работы будут выдавать сообщения вам на экран; вы " "можете набрать `clear` в приглашении для очистки экрана. Пока они работают, " -"вы можете смотреть в содержимое файлов [.filename]#/var/mail/root# и " -"[.filename]#/var/log/messages#." +"вы можете смотреть в содержимое файлов [.filename]#/var/mail/root# и [." +"filename]#/var/log/messages#." #. type: Plain text #: documentation/content/en/articles/new-users/_index.adoc:235 @@ -654,9 +653,9 @@ "Большинство из них будут находиться в каталоге [.filename]#/etc#; и вам " "необходимо командой `su` получить полномочия пользователя `root`, чтобы их " "править. Вы можете использовать простой редактор `ee`, однако в смысле " -"перспективности лучше изучить текстовый редактор `vi`. В каталоге " -"[.filename]#/usr/src/contrib/nvi/docs/tutorial# есть прекрасный учебник по " -"vi, если у вас есть исходники системы." +"перспективности лучше изучить текстовый редактор `vi`. В каталоге [." +"filename]#/usr/src/contrib/nvi/docs/tutorial# есть прекрасный учебник по vi, " +"если у вас есть исходники системы." #. type: Plain text #: documentation/content/en/articles/new-users/_index.adoc:247 @@ -685,8 +684,8 @@ "copying back:" msgstr "" "При этом файл [.filename]#rc.conf# скопируется в [.filename]#rc.conf.orig#, " -"и в последующем вы сможете скопировать [.filename]#rc.conf.orig# в файл " -"[.filename]#rc.conf# для восстановления оригинала. Но ещё лучше его " +"и в последующем вы сможете скопировать [.filename]#rc.conf.orig# в файл [." +"filename]#rc.conf# для восстановления оригинала. Но ещё лучше его " "переместить (переименовать), после чего скопировать обратно:" #. type: delimited block . 4 @@ -709,8 +708,8 @@ 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 @@ -900,8 +899,8 @@ "do not expect. (Some people actually like `vi`-it is more powerful than DOS " "EDIT-find out about `:r`.) Use kbd:[Esc] one or more times to be sure you " "are in command mode and proceed from there when it gives you trouble, save " -"often with `:w`, and use `:q!` to get out and start over (from your last " -"`:w`) when you need to." +"often with `:w`, and use `:q!` to get out and start over (from your last `:" +"w`) when you need to." msgstr "" "Поупражняйтесь с редактором `vi` в своём домашнем каталоге, создав новый " "файл по команде `vi _filename_`, добавляя и удаляя текст, сохраняя файл и " @@ -926,8 +925,8 @@ "comma, did you?)" msgstr "" "Теперь вы можете выполнить `cd` для перехода в каталог [.filename]#/etc#, " -"`su` в пользователя `root`, использовать `vi` для редактирования файла " -"[.filename]#/etc/group# и добавлять пользователя в группу `wheel`, чтобы он " +"`su` в пользователя `root`, использовать `vi` для редактирования файла [." +"filename]#/etc/group# и добавлять пользователя в группу `wheel`, чтобы он " "имел полномочия пользователя root. Просто добавьте запятую и имя входа " "пользователя в конце первой строки этого файла, нажмите kbd:[Esc] и " "воспользуйтесь `:wq` для записи файла на диск и выхода. Работает всегда. (Вы " @@ -996,8 +995,8 @@ #: documentation/content/en/articles/new-users/_index.adoc:349 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 " -"[.filename]#/# and (separately) [.filename]#/usr# before I found better ways " +"variant, `ls -AFR > where.txt`, to get a list of all the files in [." +"filename]#/# and (separately) [.filename]#/usr# before I found better ways " "to find files." msgstr "" "выдаёт список файлов в текущем каталоге и всех его подкаталогах; я " @@ -1046,8 +1045,8 @@ #: documentation/content/en/articles/new-users/_index.adoc:365 msgid "" "You can use * as a wildcard in `\"_filename_\"` (which should be in " -"quotes). If you tell `find` to search in [.filename]#/# instead of " -"[.filename]#/usr# it will look for the file(s) on all mounted filesystems, " +"quotes). If you tell `find` to search in [.filename]#/# instead of [." +"filename]#/usr# it will look for the file(s) on all mounted filesystems, " "including the CDROM and the DOS partition." msgstr "" "Вы можете использовать `\\*` в качестве шаблона внутри `\"_filename_\"` (это " @@ -1090,9 +1089,9 @@ msgstr "" "Теперь вы должны иметь инструменты, которые необходимо держать под рукой и " "умеете редактировать файлы, так что вы должны суметь запустить всё, что " -"угодно. Много полезной информации содержится в Руководстве по FreeBSD " -"(которое, скорее всего, есть на вашем жёстком диске) и link:https://" -"www.FreeBSD.org/[Web-сайте FreeBSD]. На CDROM, а также Web-сайте находятся " +"угодно. Много полезной информации содержится в Руководстве по FreeBSD (" +"которое, скорее всего, есть на вашем жёстком диске) и link:https://www." +"FreeBSD.org/[Web-сайте FreeBSD]. На CDROM, а также Web-сайте находятся " "различные пакеты и порты. В Руководстве рассказывается более подробно о том, " "как их использовать (получить пакет, если он существует, командой `pkg_add /" "cdrom/packages/All/_packagename_`, где _packagename_ является именем файла " @@ -1151,8 +1150,8 @@ "no distfile." msgstr "" "Затем создайте каталог [.filename]#/usr/ports/distfiles#, если он ещё не " -"существует, при помощи команды `mkdir`. Теперь проверьте содержимое " -"[.filename]#/cdrom/ports/distfiles# на предмет наличия файла с именем, " +"существует, при помощи команды `mkdir`. Теперь проверьте содержимое [." +"filename]#/cdrom/ports/distfiles# на предмет наличия файла с именем, " "говорящем о том, что это тот порт, который вы хотите иметь. Скопируйте этот " "файл в каталог [.filename]#/usr/ports/distfiles#; в последних версиях вы " "можете пропустить этот шаг, и FreeBSD выполнит его за вас. В случае с " @@ -1191,13 +1190,13 @@ "нужных ему и которых не найдено на CDROM или в каталоге [.filename]#/usr/" "ports/distfiles#. Если сеть у вас ещё не работает, и файла для порта в " "каталоге [.filename]#/cdrom/ports/distfiles# нет, вам потребуется получить " -"дистрибутивный файл на другой машине и скопировать его в каталог " -"[.filename]#/usr/ports/distfiles#. Прочтите [.filename]#Makefile# (при " -"помощи команд `cat`, `more` или `view`), чтобы понять, как называется файл и " -"куда нужно обратиться (основной сайт распространения), чтобы его получить. " -"(Используйте двоичный тип передачи файлов!) Затем перейдите обратно в " -"каталог [.filename]#/usr/local/kermit#, найдите каталог с " -"[.filename]#Makefile# и наберите `make all install`." +"дистрибутивный файл на другой машине и скопировать его в каталог [." +"filename]#/usr/ports/distfiles#. Прочтите [.filename]#Makefile# (при помощи " +"команд `cat`, `more` или `view`), чтобы понять, как называется файл и куда " +"нужно обратиться (основной сайт распространения), чтобы его получить. (" +"Используйте двоичный тип передачи файлов!) Затем перейдите обратно в каталог " +"[.filename]#/usr/local/kermit#, найдите каталог с [.filename]#Makefile# и " +"наберите `make all install`." #. type: Title == #: documentation/content/en/articles/new-users/_index.adoc:408 @@ -1245,8 +1244,8 @@ "больше. Она позволяет вам восстанавливать прошлые команды клавишами со " "стрелками и редактировать их. В нём есть автозавершение имён файлов по " "нажатию клавиши табуляции (в `csh` используется клавиша kbd:[Esc]) и он " -"позволяет вам переключаться в каталог, в котором вы были ранее, по команде " -"`cd -`. Также в `tcsh` гораздо легче изменять системное приглашение. Это " +"позволяет вам переключаться в каталог, в котором вы были ранее, по команде `" +"cd -`. Также в `tcsh` гораздо легче изменять системное приглашение. Это " "гораздо упрощает жизнь." #. type: Plain text @@ -1301,18 +1300,18 @@ #. type: delimited block = 4 #: documentation/content/en/articles/new-users/_index.adoc:449 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 " -"[.filename]#.login# in your home directory and [.filename]#.cshrc# as well, " +"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 [." +"filename]#.login# in your home directory and [.filename]#.cshrc# as well, " "unless you provide a [.filename]#.tcshrc#. This you can do by simply " "copying [.filename]#.cshrc# to [.filename]#.tcshrc#." msgstr "" -"При запуске `tcsh` он будет считывать файлы [.filename]#/etc/csh.cshrc# и " -"[.filename]#/etc/csh.login#, как и `csh`. Эта оболочка также читает файл " -"[.filename]#.login# из вашего домашнего каталога, а также файл " -"[.filename]#.cshrc#, если только вы не создали файл [.filename]#.tcshrc#. " -"Это вы можете сделать простым копированием файла [.filename]#.cshrc# в " -"[.filename]#.tcshrc#." +"При запуске `tcsh` он будет считывать файлы [.filename]#/etc/csh.cshrc# и [." +"filename]#/etc/csh.login#, как и `csh`. Эта оболочка также читает файл [." +"filename]#.login# из вашего домашнего каталога, а также файл [.filename]#." +"cshrc#, если только вы не создали файл [.filename]#.tcshrc#. Это вы можете " +"сделать простым копированием файла [.filename]#.cshrc# в [.filename]#." +"tcshrc#." #. type: delimited block = 4 #: documentation/content/en/articles/new-users/_index.adoc:453 @@ -1343,15 +1342,15 @@ "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 " "can always switch back to it if you prefer it. Do not forget the spaces and " -"quotes. You can get the [.filename]#.tcshrc# reread by typing " -"`source .tcshrc`." +"quotes. You can get the [.filename]#.tcshrc# reread by typing `source ." +"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 @@ -1398,8 +1397,8 @@ "you have got limited space. What is on the live filesystem varies from " "release to release. You might try playing games from the CDROM. This " "involves using `lndir`, which gets installed with the X Window System, to " -"tell the program(s) where to find the necessary files, because they are in " -"[.filename]#/cdrom# instead of in [.filename]#/usr# and its subdirectories, " +"tell the program(s) where to find the necessary files, because they are in [." +"filename]#/cdrom# instead of in [.filename]#/usr# and its subdirectories, " "which is where they are expected to be. Read `man lndir`." msgstr "" "Использование живой файловой системы-она находится на втором диске FreeBSD " @@ -1407,8 +1406,8 @@ "файловой системе, меняется от релиза к релизу. Вы можете попытаться поиграть " "в игры с CDROM. При этом применяется команда `lndir`, которая " "устанавливается с X Window System, и служит для указания программам, где " -"искать необходимые файлы, потому что они находятся в файловой системе " -"[.filename]#/cdrom#, а не в [.filename]#/usr# и её подкаталогах, где должны " +"искать необходимые файлы, потому что они находятся в файловой системе [." +"filename]#/cdrom#, а не в [.filename]#/usr# и её подкаталогах, где должны " "находиться. Прочтите справку по команде `man lndir`." #. type: Title == @@ -1433,8 +1432,8 @@ #. type: delimited block = 4 #: documentation/content/en/articles/new-users/_index.adoc:483 msgid "" -"Annelise Anderson, " -"mailto:andrsn@andrsn.stanford.edu[andrsn@andrsn.stanford.edu]" +"Annelise Anderson, mailto:andrsn@andrsn.stanford.edu[andrsn@andrsn.stanford." +"edu]" msgstr "" -"Annelise Anderson, " -"mailto:andrsn@andrsn.stanford.edu[andrsn@andrsn.stanford.edu]" +"Annelise Anderson, mailto:andrsn@andrsn.stanford.edu[andrsn@andrsn.stanford." +"edu]" diff --git a/documentation/content/ru/articles/pam/_index.po b/documentation/content/ru/articles/pam/_index.po --- a/documentation/content/ru/articles/pam/_index.po +++ b/documentation/content/ru/articles/pam/_index.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-09-30 21:38+0300\n" +"POT-Creation-Date: 2024-12-29 08:30-0500\n" "PO-Revision-Date: 2025-08-15 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian =20) ? 1 : 2;\n" "X-Generator: Weblate 4.17\n" -#. type: Yaml Front Matter Hash Value: description +#. type: YAML Front Matter: description #: documentation/content/en/articles/pam/_index.adoc:1 #, no-wrap msgid "A guide to the PAM system and modules under FreeBSD" @@ -73,9 +73,9 @@ "modules." msgstr "" "В этой статье описываются принципы и механизмы, лежащие в основе библиотеки " -"Подключаемых Модулей Аутентификации (PAM - Pluggable Authentication " -"Modules), и рассказывается, как настроить PAM, как интегрировать PAM в " -"приложения и как создавать модули PAM." +"Подключаемых Модулей Аутентификации (PAM - Pluggable Authentication Modules)" +", и рассказывается, как настроить PAM, как интегрировать PAM в приложения и " +"как создавать модули PAM." #. type: Plain text #: documentation/content/en/articles/pam/_index.adoc:85 @@ -601,17 +601,17 @@ #. type: Plain text #: documentation/content/en/articles/pam/_index.adoc:230 msgid "" -"[.filename]#pam_nologin.so#, [.filename]#pam_unix.so#, " -"[.filename]#pam_login_access.so#, [.filename]#pam_lastlog.so# and " -"[.filename]#pam_permit.so# are modules. It is clear from this example that " -"[.filename]#pam_unix.so# provides at least two facilities (authentication " -"and account management.)" +"[.filename]#pam_nologin.so#, [.filename]#pam_unix.so#, [." +"filename]#pam_login_access.so#, [.filename]#pam_lastlog.so# and [." +"filename]#pam_permit.so# are modules. It is clear from this example that [." +"filename]#pam_unix.so# provides at least two facilities (authentication and " +"account management.)" msgstr "" -"[.filename]#pam_nologin.so#, [.filename]#pam_unix.so#, " -"[.filename]#pam_login_access.so#, [.filename]#pam_lastlog.so# и " -"[.filename]#pam_permit.so# являются модулями. Из этого примера видно, что " -"[.filename]#pam_unix.so# реализует по крайней мере две подсистемы " -"(аутентификацию и управление учётными записями)." +"[.filename]#pam_nologin.so#, [.filename]#pam_unix.so#, [." +"filename]#pam_login_access.so#, [.filename]#pam_lastlog.so# и [." +"filename]#pam_permit.so# являются модулями. Из этого примера видно, что [." +"filename]#pam_unix.so# реализует по крайней мере две подсистемы (" +"аутентификацию и управление учётными записями)." #. type: Title == #: documentation/content/en/articles/pam/_index.adoc:232 @@ -721,8 +721,8 @@ "SSH agent, etc." msgstr "" "Функция man:pam_open_session[3] выполняет действия, связанные с " -"установлением сеанса: добавление записей в базы данных [.filename]#utmp# и " -"[.filename]#wtmp#, запуск агента SSH и так далее." +"установлением сеанса: добавление записей в базы данных [.filename]#utmp# и [." +"filename]#wtmp#, запуск агента SSH и так далее." #. type: Plain text #: documentation/content/en/articles/pam/_index.adoc:258 @@ -732,8 +732,8 @@ "the SSH agent, etc." msgstr "" "Функция man:pam_close_session[3] выполняет действия, связанные с закрытием " -"сеанса: добавление записей в базы данных [.filename]#utmp# и " -"[.filename]#wtmp#, завершение работы агента SSH и так далее." +"сеанса: добавление записей в базы данных [.filename]#utmp# и [." +"filename]#wtmp#, завершение работы агента SSH и так далее." #. type: Labeled list #: documentation/content/en/articles/pam/_index.adoc:259 @@ -793,13 +793,12 @@ #. type: Plain text #: documentation/content/en/articles/pam/_index.adoc:278 msgid "" -"FreeBSD implements each mechanism in a single module, named " -"`pam_mechanism.so` (for instance, `pam_unix.so` for the UNIX(R) mechanism.) " -"Other implementations sometimes have separate modules for separate " -"facilities, and include the facility name as well as the mechanism name in " -"the module name. To name one example, Solaris(TM) has a " -"`pam_dial_auth.so.1` module which is commonly used to authenticate dialup " -"users." +"FreeBSD implements each mechanism in a single module, named `pam_mechanism." +"so` (for instance, `pam_unix.so` for the UNIX(R) mechanism.) Other " +"implementations sometimes have separate modules for separate facilities, and " +"include the facility name as well as the mechanism name in the module name. " +"To name one example, Solaris(TM) has a `pam_dial_auth.so.1` module which is " +"commonly used to authenticate dialup users." msgstr "" "Во FreeBSD каждый механизм реализуется в отдельном модуле с именем " "`pam_mechanism.so` (например, `pam_unix.so` для механизма UNIX(R).) В других " @@ -927,8 +926,8 @@ "This control flag was introduced by Sun in Solaris(TM) 9 (SunOS(TM) 5.9), " "and is also supported by OpenPAM." msgstr "" -"Этот управляющий флаг был добавлен компанией Sun в Solaris(TM) 9 (SunOS(TM) " -"5.9), и поддерживается в OpenPAM." +"Этот управляющий флаг был добавлен компанией Sun в Solaris(TM) 9 (SunOS(TM) 5" +".9), и поддерживается в OpenPAM." #. type: Labeled list #: documentation/content/en/articles/pam/_index.adoc:308 @@ -1108,9 +1107,8 @@ #: documentation/content/en/articles/pam/_index.adoc:343 msgid "" "The server calls man:pam_acct_mgmt[3] to verify that the requested account " -"is available and valid. If the password is correct but has expired, " -"man:pam_acct_mgmt[3] will return `PAM_NEW_AUTHTOK_REQD` instead of " -"`PAM_SUCCESS`." +"is available and valid. If the password is correct but has expired, man:" +"pam_acct_mgmt[3] will return `PAM_NEW_AUTHTOK_REQD` instead of `PAM_SUCCESS`." msgstr "" "Сервер вызывает функцию man:pam_acct_mgmt[3] для проверки того, что " "запрошенная учётная запись доступна и корректна. Если пароль верен, но его " @@ -1131,10 +1129,10 @@ #. type: Plain text #: documentation/content/en/articles/pam/_index.adoc:345 msgid "" -"Now that the applicant has been properly authenticated, the server calls " -"man:pam_setcred[3] to establish the credentials of the requested account. It " -"is able to do this because it acts on behalf of the arbitrator, and holds " -"the arbitrator's credentials." +"Now that the applicant has been properly authenticated, the server calls man:" +"pam_setcred[3] to establish the credentials of the requested account. It is " +"able to do this because it acts on behalf of the arbitrator, and holds the " +"arbitrator's credentials." msgstr "" "Теперь, когда аппликант полностью аутентифицирован, сервер вызывает функцию " "man:pam_setcred[3] для получения полномочий запрошенной учётной записи. " @@ -1144,8 +1142,8 @@ #. type: Plain text #: documentation/content/en/articles/pam/_index.adoc:346 msgid "" -"Once the correct credentials have been established, the server calls " -"man:pam_open_session[3] to set up the session." +"Once the correct credentials have been established, the server calls man:" +"pam_open_session[3] to set up the session." msgstr "" "После получения необходимых полномочий, сервер вызывает функцию " "man:pam_open_session[3] для установления сеанса." @@ -1162,8 +1160,8 @@ #. type: Plain text #: documentation/content/en/articles/pam/_index.adoc:348 msgid "" -"Once the server is done serving the client, it calls " -"man:pam_close_session[3] to tear down the session." +"Once the server is done serving the client, it calls man:" +"pam_close_session[3] to tear down the session." msgstr "" "После того, как сервер закончил обслуживание клиента, он вызывает функцию " "man:pam_close_session[3] для закрытия сеанса." @@ -1240,10 +1238,10 @@ "получается, что, хотя порядок следования строк для одной и той же услуги и " "подсистемы является значимым, порядок перечисления отдельных сервисов не " "значим. В примерах из оригинальной работы по PAM строки конфигурации " -"сгруппированы по подсистемам, в поставляемом с Solaris(TM) файле " -"[.filename]#pam.conf# именно так и сделано, но в стандартном " -"конфигурационном файле из поставки FreeBSD строки настроек сгруппированы по " -"сервисам. Подходит любой из этих способов; они имеют один и тот же смысл." +"сгруппированы по подсистемам, в поставляемом с Solaris(TM) файле [." +"filename]#pam.conf# именно так и сделано, но в стандартном конфигурационном " +"файле из поставки FreeBSD строки настроек сгруппированы по сервисам. " +"Подходит любой из этих способов; они имеют один и тот же смысл." #. type: Title ==== #: documentation/content/en/articles/pam/_index.adoc:376 @@ -1267,16 +1265,16 @@ #. type: Plain text #: documentation/content/en/articles/pam/_index.adoc:384 msgid "" -"These per-service policy files have only four fields instead of " -"[.filename]#pam.conf#'s five: the service name field is omitted. Thus, " +"These per-service policy files have only four fields instead of [." +"filename]#pam.conf#'s five: the service name field is omitted. Thus, " "instead of the sample [.filename]#pam.conf# line from the previous section, " "one would have the following line in [.filename]#/etc/pam.d/login#:" msgstr "" "Такие файлы политик, ориентированные на сервисы, имеют только четыре поля, " "вместо пяти полей в файле [.filename]#pam.conf#: поле имени сервиса опущено. " "Таким образом, вместо примера строки файла [.filename]#pam.conf# из " -"предыдущего раздела получится следующая строка в файле [.filename]#/etc/" -"pam.d/login#:" +"предыдущего раздела получится следующая строка в файле [.filename]#/etc/pam." +"d/login#:" #. type: delimited block . 4 #: documentation/content/en/articles/pam/_index.adoc:388 @@ -1321,12 +1319,12 @@ #. type: Plain text #: documentation/content/en/articles/pam/_index.adoc:402 msgid "" -"Since each service's policy is stored in a separate file, the " -"[.filename]#pam.d# mechanism also makes it very easy to install additional " +"Since each service's policy is stored in a separate file, the [." +"filename]#pam.d# mechanism also makes it very easy to install additional " "policies for third-party software packages." msgstr "" -"Так как политика каждого сервиса хранится в отдельном файле, то механизм " -"[.filename]#pam.d# делает установку дополнительных политик для программных " +"Так как политика каждого сервиса хранится в отдельном файле, то механизм [." +"filename]#pam.d# делает установку дополнительных политик для программных " "пакетов сторонних разработчиков очень лёгкой задачей." #. type: Title ==== @@ -1391,16 +1389,16 @@ "omitted from the actual configuration lines, which then start with the " "facility name." msgstr "" -"Заметьте, что если вы используете [.filename]#/etc/pam.d/# вместо " -"[.filename]#/etc/pam.conf#, то имя сервиса задается именем файла политики, и " +"Заметьте, что если вы используете [.filename]#/etc/pam.d/# вместо [." +"filename]#/etc/pam.conf#, то имя сервиса задается именем файла политики, и " "опускается из строк настройки, которые в таком случае начинаются с названия " "подсистемы." #. type: Plain text #: documentation/content/en/articles/pam/_index.adoc:423 msgid "" -"The facility is one of the four facility keywords described in " -"crossref:pam[pam-facilities-primitives, Facilities and Primitives]." +"The facility is one of the four facility keywords described in crossref:" +"pam[pam-facilities-primitives, Facilities and Primitives]." msgstr "" "Имя подсистемы представляет собой одно из четырёх ключевых слов, описанных в " "<>." @@ -1414,10 +1412,17 @@ "Linux-PAM supports an alternate syntax that lets you specify the action to associate with each possible return code, but this should be avoided as it is non-standard and closely tied in with the way Linux-PAM dispatches service calls (which differs greatly from the way Solaris(TM) and OpenPAM do it.) \n" "Unsurprisingly, OpenPAM does not support this syntax.\n" msgstr "" -"Точно также управляющий флаг является одним из четырёх ключевых слов, описанных в разделе\n" -"\tcrossref:pam[pam-chains-policies, Цепочки и политики], в котором рассказано, как интерпретировать возвращаемый из модуля код.\n" -" В Linux-PAM поддерживается альтернативный синтаксис, который позволяет указать действие, связанной с каждый возможным кодом возврата, но этого следует избегать, так как он не является стандартным и тесно связан со способом диспетчеризации вызовов сервисов в Linux-PAM (а он значительно отличается от способа взаимодействия в Solaris(TM) и OpenPAM).\n" -" Не вызывает удивления тот факт, что в OpenPAM этот синтаксис не поддерживается.\n" +"Точно также управляющий флаг является одним из четырёх ключевых слов, " +"описанных в разделе\n" +"\tcrossref:pam[pam-chains-policies, Цепочки и политики], в котором " +"рассказано, как интерпретировать возвращаемый из модуля код.\n" +" В Linux-PAM поддерживается альтернативный синтаксис, который позволяет " +"указать действие, связанной с каждый возможным кодом возврата, но этого " +"следует избегать, так как он не является стандартным и тесно связан со " +"способом диспетчеризации вызовов сервисов в Linux-PAM (а он значительно " +"отличается от способа взаимодействия в Solaris(TM) и OpenPAM).\n" +" Не вызывает удивления тот факт, что в OpenPAM этот синтаксис не " +"поддерживается.\n" #. type: Title === #: documentation/content/en/articles/pam/_index.adoc:430 @@ -1599,11 +1604,11 @@ "password), and in the preliminary phase it treats `binding` and `sufficient` " "modules as if they were `required`." msgstr "" -"Третьим и последним исключением является то, что функция " -"man:pam_chauthtok[3] отрабатывает полную цепочку дважды (один раз для " -"предварительных проверок, и ещё раз для реального задания пароля), и на " -"подготовительной фазе она считает, что модули `binding` и `sufficient` " -"являются равнозначными `required`." +"Третьим и последним исключением является то, что функция man:pam_chauthtok[3]" +" отрабатывает полную цепочку дважды (один раз для предварительных проверок, " +"и ещё раз для реального задания пароля), и на подготовительной фазе она " +"считает, что модули `binding` и `sufficient` являются равнозначными " +"`required`." #. type: Title == #: documentation/content/en/articles/pam/_index.adoc:485 @@ -1691,10 +1696,10 @@ #: documentation/content/en/articles/pam/_index.adoc:515 msgid "" "The man:pam_group[8] module accepts or rejects applicants on the basis of " -"their membership in a particular file group (normally `wheel` for " -"man:su[1]). It is primarily intended for maintaining the traditional " -"behavior of BSD man:su[1], but has many other uses, such as excluding " -"certain groups of users from a particular service." +"their membership in a particular file group (normally `wheel` for man:" +"su[1]). It is primarily intended for maintaining the traditional behavior " +"of BSD man:su[1], but has many other uses, such as excluding certain groups " +"of users from a particular service." msgstr "" "Модуль man:pam_group[8] принимает или отвергает аппликантов в зависимости от " "их членства в определённой файловой группе (обычно `wheel` для man:su[1]). В " @@ -1854,12 +1859,12 @@ msgid "" "The man:pam_rootok[8] module reports success if and only if the real user id " "of the process calling it (which is assumed to be run by the applicant) is " -"0. This is useful for non-networked services such as man:su[1] or " -"man:passwd[1], to which the `root` should have automatic access." +"0. This is useful for non-networked services such as man:su[1] or man:" +"passwd[1], to which the `root` should have automatic access." msgstr "" "Модуль man:pam_rootok[8] возвращает положительный результат в том и только в " -"том случае, если реальный id пользователя процесса, его вызвавшего " -"(предполагается, что его запускает аппликант) равен 0. Это полезно для " +"том случае, если реальный id пользователя процесса, его вызвавшего (" +"предполагается, что его запускает аппликант) равен 0. Это полезно для " "несетевых сервисов, таких как man:su[1] или man:passwd[1], к которым " "пользователь `root` должен иметь автоматический доступ." @@ -1914,8 +1919,8 @@ "Модуль man:pam_ssh[8] предоставляет как сервис аутентификации, так и сеанса. " "Сервис аутентификации позволяет пользователям, имеющим секретные ключи SSH, " "защищённые паролями, в своих каталогах [.filename]#~/.ssh#, " -"аутентифицироваться посредством этих паролей. Сеансовый сервис запускает " -"man:ssh-agent[1] и загружает ключи, которые были расшифрованы на фазе " +"аутентифицироваться посредством этих паролей. Сеансовый сервис запускает man" +":ssh-agent[1] и загружает ключи, которые были расшифрованы на фазе " "аутентификации. Такая возможность, в частности, полезна для локальных входов " "в систему, как в систему X (посредством man:xdm[1] или другого X-менеджера " "входов, умеющего работать с PAM), так и на консоль." @@ -2121,8 +2126,8 @@ "_link:https://docs.oracle.com/cd/E26505_01/html/E27224/pam-1.html[PAM " "Administration]_. Sun Microsystems." msgstr "" -"_link:https://docs.oracle.com/cd/E26505_01/html/E27224/" -"pam-1.html[Администрирование PAM]_. Sun Microsystems." +"_link:https://docs.oracle.com/cd/E26505_01/html/E27224/pam-1.html[" +"Администрирование PAM]_. Sun Microsystems." #. type: Title === #: documentation/content/en/articles/pam/_index.adoc:680 @@ -2145,8 +2150,8 @@ "_link:http://www.kernel.org/pub/linux/libs/pam/[Linux-PAM homepage]_ Andrew " "Morgan." msgstr "" -"_link:http://www.kernel.org/pub/linux/libs/pam/[Домашняя страница Linux-" -"PAM]_ Andrew Morgan." +"_link:http://www.kernel.org/pub/linux/libs/pam/[Домашняя страница Linux-PAM]" +"_ Andrew Morgan." #. type: Plain text #: documentation/content/en/articles/pam/_index.adoc:686 diff --git a/documentation/content/ru/articles/pgpkeys/_index.adoc b/documentation/content/ru/articles/pgpkeys/_index.adoc --- a/documentation/content/ru/articles/pgpkeys/_index.adoc +++ b/documentation/content/ru/articles/pgpkeys/_index.adoc @@ -45,7 +45,7 @@ toc::[] -Эти OpenPGP-ключи можно использовать для проверки подписи или отправки зашифрованной электронной почты офицерам или разработчикам `FreeBSD.org`. Полный набор ключей можно загрузить по ссылке: link:https://docs.FreeBSD.org/pgpkeys/pgpkeys.txt[pgpkeyring.txt]. +Эти OpenPGP-ключи можно использовать для проверки подписи или отправки зашифрованной электронной почты офицерам или разработчикам `FreeBSD.org`. Полный набор ключей можно загрузить по ссылке link:https://docs.FreeBSD.org/pgpkeys/pgpkeys.txt[pgpkeyring.txt]. //// Do not edit this file except as instructed by the addkey.sh script. diff --git a/documentation/content/ru/articles/pgpkeys/_index.po b/documentation/content/ru/articles/pgpkeys/_index.po --- a/documentation/content/ru/articles/pgpkeys/_index.po +++ b/documentation/content/ru/articles/pgpkeys/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2025-11-10 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -46,7 +46,7 @@ msgstr "" "Эти OpenPGP-ключи можно использовать для проверки подписи или отправки " "зашифрованной электронной почты офицерам или разработчикам `FreeBSD.org`. " -"Полный набор ключей можно загрузить по ссылке: link:https://docs.FreeBSD.org/" +"Полный набор ключей можно загрузить по ссылке link:https://docs.FreeBSD.org/" "pgpkeys/pgpkeys.txt[pgpkeyring.txt]." # diff --git a/documentation/content/ru/articles/pr-guidelines/_index.adoc b/documentation/content/ru/articles/pr-guidelines/_index.adoc --- a/documentation/content/ru/articles/pr-guidelines/_index.adoc +++ b/documentation/content/ru/articles/pr-guidelines/_index.adoc @@ -6,11 +6,11 @@ author: 'Hiten Pandya' description: 'Эти рекомендации описывают рекомендуемые методы обработки отчётов о проблемах FreeBSD (PR — Problem Reports).' tags: ["PR", "guideline", "bugs", "maintenance", "BugZilla", "FreeBSD"] -title: 'Руководство по обработке отчетов о проблемах' +title: 'Руководство по обработке отчётов о проблемах' trademarks: ["freebsd", "general"] --- -= Руководство по обработке отчетов о проблемах += Руководство по обработке отчётов о проблемах :doctype: article :toc: macro :toclevels: 1 @@ -44,7 +44,7 @@ [.abstract-title] Аннотация -Эти рекомендации описывают рекомендуемые методы работы с отчетами о проблемах FreeBSD (PR). Хотя они разработаны для команды сопровождения базы данных PR FreeBSD mailto:freebsd-bugbusters@FreeBSD.org[freebsd-bugbusters@FreeBSD.org], эти рекомендации следует соблюдать всем, кто работает с PR FreeBSD. +Эти рекомендации описывают рекомендуемые методы работы с отчётами о проблемах FreeBSD (PR). Хотя они разработаны для команды сопровождения базы данных PR FreeBSD mailto:freebsd-bugbusters@FreeBSD.org[freebsd-bugbusters@FreeBSD.org], эти рекомендации следует соблюдать всем, кто работает с PR FreeBSD. ''' @@ -58,9 +58,9 @@ Доступ к Bugzilla предоставлен всему сообществу FreeBSD. Для поддержания согласованности в базе данных и обеспечения единообразного взаимодействия с пользователями были установлены руководящие принципы, охватывающие общие аспекты управления ошибками, такие как предоставление последующих действий, обработка запросов на закрытие и так далее. [[pr-lifecycle]] -== Жизненный цикл отчета о проблеме +== Жизненный цикл отчёта о проблеме -* Репортер отправляет отчет об ошибке на веб-сайте. Ошибка находится в состоянии `Needs Triage`. +* Репортер отправляет отчёт об ошибке на веб-сайте. Ошибка находится в состоянии `Needs Triage`. * Джейн Рэндом БагБастер подтверждает, что отчёт об ошибке содержит достаточно информации для её воспроизведения. Если нет, она взаимодействует с отправителем, чтобы получить необходимые данные. На этом этапе ошибке присваивается статус `Open`. * Джо Рандом Коммиттер проявляет интерес к PR и назначает его себе, или Джейн Рандом БагБастер решает, что Джо лучше всего подходит для его решения и назначает PR Джону. Ошибка должна быть переведена в состояние `In Discussion`. * Джо кратко общается с инициатором (убедившись, что всё заносится в журнал аудита) и определяет причину проблемы. @@ -74,7 +74,7 @@ ==== [[pr-states]] -== Состояние отчета о проблеме +== Состояние отчёта о проблеме Важно обновлять состояние PR при выполнении определённых действий. Состояние должно точно отражать текущий статус работы над PR. @@ -84,7 +84,7 @@ Когда работа над PR завершена и ответственные разработчики уверены в исправлении, они отправят обновление в PR и изменят его состояние на «feedback». На этом этапе автор должен оценить исправление в своём контексте и ответить, была ли действительно устранена проблема. ==== -Отчет о проблеме может находиться в одном из следующих состояний: +Отчёт о проблеме может находиться в одном из следующих состояний: open (открыто):: Начальное состояние; проблема была указана и требует рассмотрения. @@ -102,7 +102,7 @@ Проблема не решается из-за недостатка информации или ресурсов. Это отличный вариант для тех, кто ищет проект для реализации. Если проблему не удастся решить вовсе, она будет закрыта, а не приостановлена. Документационный проект использует статус «приостановлено» для пунктов списка пожеланий, требующих значительного объема работы, на который у участников сейчас нет времени. closed (закрыто):: -Проблемный отчет закрывается, когда все изменения внедрены, задокументированы и протестированы, или когда исправление проблемы прекращено. +Проблемный отчёт закрывается, когда все изменения внедрены, задокументированы и протестированы, или когда исправление проблемы прекращено. [NOTE] ==== @@ -110,9 +110,9 @@ ==== [[pr-types]] -== Типы отчетов о проблемах +== Типы отчётов о проблемах -При обработке отчетов о проблемах, будь вы разработчиком с прямым доступом к базе данных отчетов или участником, который просматривает базу данных и отправляет ответы с исправлениями, комментариями, предложениями или запросами на изменения, вы столкнетесь с несколькими различными типами PR. +При обработке отчётов о проблемах, будь вы разработчиком с прямым доступом к базе данных отчётов или участником, который просматривает базу данных и отправляет ответы с исправлениями, комментариями, предложениями или запросами на изменения, вы столкнетесь с несколькими различными типами PR. * crossref:pr-guidelines[pr-unassigned, Неназначенные PR] * crossref:pr-guidelines[pr-assigned, Назначенные PR] @@ -128,7 +128,7 @@ Когда поступают PR, они изначально назначаются на обобщённого исполнителя. Такие исполнители всегда начинаются с префикса `freebsd-`. Точное значение по умолчанию зависит от категории; в большинстве случаев оно соответствует определённому списку рассылки FreeBSD. Вот текущий список, с наиболее распространёнными значениями в начале: [[default-assignees-common]] -.Назначенные по умолчанию исполнители — наиболее распространенные +.Назначенные по умолчанию исполнители — наиболее распространённые [cols="1,1,1", options="header"] |=== | Тип diff --git a/documentation/content/ru/articles/pr-guidelines/_index.po b/documentation/content/ru/articles/pr-guidelines/_index.po --- a/documentation/content/ru/articles/pr-guidelines/_index.po +++ b/documentation/content/ru/articles/pr-guidelines/_index.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2024-12-29 08:30-0500\n" -"PO-Revision-Date: 2025-10-29 04:45+0000\n" +"POT-Creation-Date: 2025-11-08 16:17+0000\n" +"PO-Revision-Date: 2025-11-20 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -22,16 +22,14 @@ #: documentation/content/en/articles/pr-guidelines/_index.adoc:1 #, no-wrap msgid "These guidelines describe recommended handling practices for FreeBSD Problem Reports (PRs)." -msgstr "" -"Эти рекомендации описывают рекомендуемые методы обработки отчётов о " -"проблемах FreeBSD (PR — Problem Reports)." +msgstr "Эти рекомендации описывают рекомендуемые методы обработки отчётов о проблемах FreeBSD (PR — Problem Reports)." #. type: Title = #: documentation/content/en/articles/pr-guidelines/_index.adoc:1 #: documentation/content/en/articles/pr-guidelines/_index.adoc:11 #, no-wrap msgid "Problem Report Handling Guidelines" -msgstr "Руководство по обработке отчетов о проблемах" +msgstr "Руководство по обработке отчётов о проблемах" #. type: Plain text #: documentation/content/en/articles/pr-guidelines/_index.adoc:44 @@ -46,7 +44,7 @@ "Team mailto:freebsd-bugbusters@FreeBSD.org[freebsd-bugbusters@FreeBSD.org], " "these guidelines should be followed by anyone working with FreeBSD PRs." msgstr "" -"Эти рекомендации описывают рекомендуемые методы работы с отчетами о " +"Эти рекомендации описывают рекомендуемые методы работы с отчётами о " "проблемах FreeBSD (PR). Хотя они разработаны для команды сопровождения базы " "данных PR FreeBSD mailto:freebsd-bugbusters@FreeBSD.org[freebsd-" "bugbusters@FreeBSD.org], эти рекомендации следует соблюдать всем, кто " @@ -95,7 +93,7 @@ #: documentation/content/en/articles/pr-guidelines/_index.adoc:62 #, no-wrap msgid "Problem Report Life-cycle" -msgstr "Жизненный цикл отчета о проблеме" +msgstr "Жизненный цикл отчёта о проблеме" #. type: Plain text #: documentation/content/en/articles/pr-guidelines/_index.adoc:65 @@ -103,7 +101,7 @@ "The Reporter submits a bug report on the website. The bug is in the `Needs " "Triage` state." msgstr "" -"Репортер отправляет отчет об ошибке на веб-сайте. Ошибка находится в " +"Репортер отправляет отчёт об ошибке на веб-сайте. Ошибка находится в " "состоянии `Needs Triage`." #. type: Plain text @@ -197,7 +195,7 @@ #: documentation/content/en/articles/pr-guidelines/_index.adoc:79 #, no-wrap msgid "Problem Report State" -msgstr "Состояние отчета о проблеме" +msgstr "Состояние отчёта о проблеме" #. type: Plain text #: documentation/content/en/articles/pr-guidelines/_index.adoc:83 @@ -231,7 +229,7 @@ #. type: Plain text #: documentation/content/en/articles/pr-guidelines/_index.adoc:92 msgid "A Problem Report may be in one of the following states:" -msgstr "Отчет о проблеме может находиться в одном из следующих состояний:" +msgstr "Отчёт о проблеме может находиться в одном из следующих состояний:" #. type: Labeled list #: documentation/content/en/articles/pr-guidelines/_index.adoc:93 @@ -320,7 +318,7 @@ "A problem report is closed when any changes have been integrated, " "documented, and tested, or when fixing the problem is abandoned." msgstr "" -"Проблемный отчет закрывается, когда все изменения внедрены, " +"Проблемный отчёт закрывается, когда все изменения внедрены, " "задокументированы и протестированы, или когда исправление проблемы " "прекращено." @@ -339,7 +337,7 @@ #: documentation/content/en/articles/pr-guidelines/_index.adoc:120 #, no-wrap msgid "Types of Problem Reports" -msgstr "Типы отчетов о проблемах" +msgstr "Типы отчётов о проблемах" #. type: Plain text #: documentation/content/en/articles/pr-guidelines/_index.adoc:123 @@ -349,8 +347,8 @@ "and submits followups with patches, comments, suggestions or change " "requests, you will come across several different types of PRs." msgstr "" -"При обработке отчетов о проблемах, будь вы разработчиком с прямым доступом к " -"базе данных отчетов или участником, который просматривает базу данных и " +"При обработке отчётов о проблемах, будь вы разработчиком с прямым доступом к " +"базе данных отчётов или участником, который просматривает базу данных и " "отправляет ответы с исправлениями, комментариями, предложениями или " "запросами на изменения, вы столкнетесь с несколькими различными типами PR." @@ -415,7 +413,7 @@ #: documentation/content/en/articles/pr-guidelines/_index.adoc:141 #, no-wrap msgid "Default Assignees - most common" -msgstr "Назначенные по умолчанию исполнители — наиболее распространенные" +msgstr "Назначенные по умолчанию исполнители — наиболее распространённые" #. type: Table #: documentation/content/en/articles/pr-guidelines/_index.adoc:145 @@ -868,9 +866,7 @@ #: documentation/content/en/articles/pr-guidelines/_index.adoc:251 #, no-wrap msgid "problem with embedded or small-footprint FreeBSD systems (e.g., NanoBSD/PicoBSD/FreeBSD-arm)" -msgstr "" -"проблема со встроенными или компактными системами FreeBSD (например, NanoBSD/" -"PicoBSD/FreeBSD-arm)" +msgstr "проблема со встроенными или компактными системами FreeBSD (например, NanoBSD/PicoBSD/FreeBSD-arm)" #. type: Table #: documentation/content/en/articles/pr-guidelines/_index.adoc:253 @@ -1453,12 +1449,12 @@ msgid "" "If the PR contains sufficient detail, try to reproduce the problem in `-" "CURRENT` and `-STABLE`. If you succeed, submit a followup detailing your " -"findings and try to find someone to assign it to. Set the state to " -"\"analyzed\" if appropriate." +"findings and try to find someone to assign it to. Set the state to \"analyzed" +"\" if appropriate." msgstr "" -"Если PR содержит достаточно деталей, попробуйте воспроизвести проблему в " -"`-CURRENT` и `-STABLE`. Если удастся, отправьте уточнение с вашими находками " -"и попытайтесь найти, кому можно назначить задачу. Установите состояние " +"Если PR содержит достаточно деталей, попробуйте воспроизвести проблему в `-" +"CURRENT` и `-STABLE`. Если удастся, отправьте уточнение с вашими находками и " +"попытайтесь найти, кому можно назначить задачу. Установите состояние " "\"analyzed\" (проанализировано), если это уместно." #. type: Plain text @@ -1494,8 +1490,8 @@ "yourself?) to do it. Set the state to \"patched\" and assign it to whomever " "will do the MFC." msgstr "" -"Если PR описывает ошибку, которая, как вам известно, исправлена в `-CURRENT`" -", но не в `-STABLE`, попытайтесь выяснить, когда планируется перенос " +"Если PR описывает ошибку, которая, как вам известно, исправлена в `-" +"CURRENT`, но не в `-STABLE`, попытайтесь выяснить, когда планируется перенос " "исправления (MFC), или найдите кого-то (возможно, себя?), кто сможет это " "сделать. Установите статус \"patched\" и назначьте задачу тому, кто займётся " "переносом исправления (MFC)." @@ -1550,7 +1546,7 @@ #. type: Plain text #: documentation/content/en/articles/pr-guidelines/_index.adoc:504 -msgid "Set the component to `junk` (under `Supporting Services`." +msgid "Set the component to `junk` (under `Supporting Services`)." msgstr "" "Установите компонент в значение `junk` (в разделе `Поддерживающие сервисы`)." diff --git a/documentation/content/ru/articles/problem-reports/_index.adoc b/documentation/content/ru/articles/problem-reports/_index.adoc --- a/documentation/content/ru/articles/problem-reports/_index.adoc +++ b/documentation/content/ru/articles/problem-reports/_index.adoc @@ -4,7 +4,7 @@ author: 'Dag-Erling Smørgrav' - author: 'Mark Linimon' -description: 'Как лучше сформулировать и отправить отчет о проблеме в проект FreeBSD' +description: 'Как лучше сформулировать и отправить отчёт о проблеме в проект FreeBSD' tags: ["formulate", "submit", "FreeBSD", "PR"] title: 'Составление сообщений о проблеме во FreeBSD' trademarks: ["freebsd", "ibm", "intel", "sun", "general"] @@ -213,7 +213,7 @@ .Некорректное использование категории, зависящей от архитектуры [example] ==== -Если вы наблюдаете проблему с периферийной картой расширения на распространенной шине или неполадки с конкретного типа жестким диском: в этом случае возможно, что неисправность наблюдается на более чем одной архитектуре, и верным выбором будет `kern`. +Если вы наблюдаете проблему с периферийной картой расширения на распространённой шине или неполадки с конкретного типа жестким диском: в этом случае возможно, что неисправность наблюдается на более чем одной архитектуре, и верным выбором будет `kern`. ==== ** Если вы не знаете в чем проблема (или вам кажется, что описание не попадает ни под какую из вышеобозначенных), используйте категорию `misc`. Перед тем, как написать PR, можно для начала спросить помощи в {freebsd-questions}. Возможно, там вам подскажут, какую из существующих категорий следует выбрать. * _Environment:_ Оно должно максимально точно описывать окружение, в котором встречается проблема. Сюда включается версия операционной системы, версия конкретной программы или файла, содержащего проблему, и любая другая информация, такая, как конфигурация системы, другое программное обеспечение, которое влияет на проблему, и так далее-просто все, что разработчик должен знать для создания условий появления проблемы. @@ -232,7 +232,7 @@ Существует несколько способов сделать это, желательно в следующем порядке, с перерывом в несколько дней между попытками использования каждого канала связи: -* Отправить письмо по электронной почте в extref:{handbook}eresources/[соответствующий список, eresources-summary] для получения комментариев к отчету. +* Отправить письмо по электронной почте в extref:{handbook}eresources/[соответствующий список, eresources-summary] для получения комментариев к отчёту. * Присоединитесь к соответствующим IRC-каналам. Частичный список доступен здесь: https://wiki.freebsd.org/IRC/Channels[]. Сообщите участникам канала о проблеме и запросите помощь. Будьте терпеливы и оставайтесь в канале после отправки сообщения, чтобы у людей из разных часовых поясов была возможность отреагировать. * Найдите коммиттеров, заинтересованных в сообщенной проблеме. Если проблема касается конкретного инструмента, бинарного файла, порта, документа или исходного файла, проверьте https://cgit.FreeBSD.org[Git Repository]. Определите последних коммиттеров, внесших существенные изменения в файл, и попытайтесь связаться с ними через IRC или электронную почту. Список коммиттеров и их адреса электронной почты можно найти в статье extref:{contributors}[Участники проекта FreeBSD]. diff --git a/documentation/content/ru/articles/problem-reports/_index.po b/documentation/content/ru/articles/problem-reports/_index.po --- a/documentation/content/ru/articles/problem-reports/_index.po +++ b/documentation/content/ru/articles/problem-reports/_index.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-09-20 12:50+0300\n" -"PO-Revision-Date: 2025-09-05 04:45+0000\n" +"POT-Creation-Date: 2023-09-09 18:13-0300\n" +"PO-Revision-Date: 2025-11-20 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -18,11 +18,11 @@ "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.17\n" -#. type: Yaml Front Matter Hash Value: description +#. type: YAML Front Matter: description #: documentation/content/en/articles/problem-reports/_index.adoc:1 #, no-wrap msgid "How to best formulate and submit a problem report to the FreeBSD Project" -msgstr "Как лучше сформулировать и отправить отчет о проблеме в проект FreeBSD" +msgstr "Как лучше сформулировать и отправить отчёт о проблеме в проект FreeBSD" #. type: Title = #: documentation/content/en/articles/problem-reports/_index.adoc:1 @@ -158,8 +158,8 @@ msgstr "" "Но как же определить, что является ошибкой, а что нет? Простым правилом, " "которому нужно следовать, является следующее - ваша проблема _не_ является " -"ошибкой, если она формулируется как вопрос (обычно в форме \"Как сделать X?" -"\" или \"Где можно найти Y?\"). Не всегда это так однозначно, но правило " +"ошибкой, если она формулируется как вопрос (обычно в форме \"Как сделать X?\"" +" или \"Где можно найти Y?\"). Не всегда это так однозначно, но правило " "вопроса покрывает большинство случаев. Если Вам нужен ответ, лучше всего " "задать свой вопрос в {freebsd-questions}." @@ -207,10 +207,10 @@ "wish to read extref:{contributing}[Contributing to the FreeBSD Ports " "Collection, ports-contributing].)" msgstr "" -"В любом случае, следование процессу, описанному в extref:{porters-handbook}" -"upgrading[Руководстве по созданию портов] даст наилучшие результаты. " -"(Также можно ознакомиться с статьей extref:{contributing}[Вклад в " -"коллекцию портов FreeBSD, ports-contributing].)" +"В любом случае, следование процессу, описанному в extref:{porters-" +"handbook}upgrading[Руководстве по созданию портов] даст наилучшие " +"результаты. (Также можно ознакомиться с статьей extref:{contributing}[Вклад " +"в коллекцию портов FreeBSD, ports-contributing].)" #. type: Plain text #: documentation/content/en/articles/problem-reports/_index.adoc:87 @@ -265,8 +265,8 @@ #: documentation/content/en/articles/problem-reports/_index.adoc:92 msgid "" "Code in the base system that is written and maintained by others, and " -"imported into FreeBSD and adapted. Examples include man:clang[1], and " -"man:sendmail[8]. Most bugs in these areas should be reported to the FreeBSD " +"imported into FreeBSD and adapted. Examples include man:clang[1], and man:" +"sendmail[8]. Most bugs in these areas should be reported to the FreeBSD " "developers; but in some cases they may need to be reported to the original " "authors instead if the problems are not FreeBSD-specific." msgstr "" @@ -316,17 +316,17 @@ "other than certain recent branches of the base system, so filing a bug " "report about an older version will probably only result in a developer " "advising you to upgrade to a supported version to see if the problem still " -"recurs. The Security Officer team maintains the link:https://" -"www.FreeBSD.org/security/[list of supported versions]." +"recurs. The Security Officer team maintains the link:https://www.FreeBSD." +"org/security/[list of supported versions]." msgstr "" -"Если проблема в базовой системе, то вам нужно сначала прочесть раздел extref:" -"{faq}[версии FreeBSD, latest-version] из FAQ, если вы ещё не знакомы с " -"данной темой. Для FreeBSD возможно исправлять проблемы только для некоторых " -"недавних веток базовой системы, поэтому отправка сообщения об ошибке для " -"более старой версии приведёт к тому, что разработчик посоветует вам " -"обновиться до поддерживаемой версии, чтобы посмотреть присутствует ли в ней " -"проблема. Команда офицеров безопасности поддерживает link:https://" -"www.FreeBSD.org/security/[список поддерживаемых версий.]." +"Если проблема в базовой системе, то вам нужно сначала прочесть раздел " +"extref:{faq}[версии FreeBSD, latest-version] из FAQ, если вы ещё не знакомы " +"с данной темой. Для FreeBSD возможно исправлять проблемы только для " +"некоторых недавних веток базовой системы, поэтому отправка сообщения об " +"ошибке для более старой версии приведёт к тому, что разработчик посоветует " +"вам обновиться до поддерживаемой версии, чтобы посмотреть присутствует ли в " +"ней проблема. Команда офицеров безопасности поддерживает link:https://www." +"FreeBSD.org/security/[список поддерживаемых версий.]." #. type: Plain text #: documentation/content/en/articles/problem-reports/_index.adoc:103 @@ -372,9 +372,9 @@ msgstr "" "Список extref:{faq}[Часто задаваемых вопросов] (FAQ) по FreeBSD. FAQ " "содержит ответы на широкий круг вопросов, таких как вопросы, касающиеся " -"extref:{faq}[совместимости оборудования, hardware], extref:{faq}" -"[пользовательских приложений, applications] и extref:{faq}[конфигурации " -"ядра, kernelconfig]." +"extref:{faq}[совместимости оборудования, hardware], extref:{faq}[" +"пользовательских приложений, applications] и extref:{faq}[конфигурации ядра, " +"kernelconfig]." #. type: Plain text #: documentation/content/en/articles/problem-reports/_index.adoc:114 @@ -411,9 +411,9 @@ "database] (Bugzilla). Unless the problem is recent or obscure, there is a " "fair chance it has already been reported." msgstr "" -"Следующим пунктом должна быть https://bugs.freebsd.org/bugzilla/" -"query.cgi[ база данных PR FreeBSD] (Bugzilla). Если только ваша проблема не " -"нова или редка, есть некоторый шанс, что о ней уже сообщено." +"Следующим пунктом должна быть https://bugs.freebsd.org/bugzilla/query.cgi[ " +"база данных PR FreeBSD] (Bugzilla). Если только ваша проблема не нова или " +"редка, есть некоторый шанс, что о ней уже сообщено." #. type: Plain text #: documentation/content/en/articles/problem-reports/_index.adoc:117 @@ -427,18 +427,17 @@ #. type: Plain text #: documentation/content/en/articles/problem-reports/_index.adoc:120 msgid "" -"For the base FreeBSD code, you should carefully study the contents of " -"[.filename]#/usr/src/UPDATING# on your system or the latest version at " -"https://cgit.freebsd.org/src/tree/UPDATING[https://cgit.freebsd.org/src/tree/" +"For the base FreeBSD code, you should carefully study the contents of [." +"filename]#/usr/src/UPDATING# on your system or the latest version at https://" +"cgit.freebsd.org/src/tree/UPDATING[https://cgit.freebsd.org/src/tree/" "UPDATING]. (This is vital information if you are upgrading from one version " "to another, especially if you are upgrading to the FreeBSD-CURRENT branch)." msgstr "" -"Для основного кода FreeBSD вы должны тщательно изучить содержимое файла " -"[.filename]#/usr/src/UPDATING# или его текущую версию по адресу https://" -"cgit.freebsd.org/src/tree/UPDATING[https://cgit.freebsd.org/src/tree/" -"UPDATING]. (Если вы переходите с одной версии на другую, особенно если вы " -"обновляетесь до FreeBSD-CURRENT, то в этом файле вы можете найти много " -"важной информации)." +"Для основного кода FreeBSD вы должны тщательно изучить содержимое файла [." +"filename]#/usr/src/UPDATING# или его текущую версию по адресу https://cgit." +"freebsd.org/src/tree/UPDATING[https://cgit.freebsd.org/src/tree/UPDATING]. (" +"Если вы переходите с одной версии на другую, особенно если вы обновляетесь " +"до FreeBSD-CURRENT, то в этом файле вы можете найти много важной информации)." #. type: Plain text #: documentation/content/en/articles/problem-reports/_index.adoc:123 @@ -456,8 +455,8 @@ "индивидуальных портов) или к [.filename]#/usr/ports/CHANGES# (изменения, " "касающиеся всей коллекции портов). Они также доступны через интерфейс cgit: " "https://cgit.freebsd.org/ports/tree/UPDATING[https://cgit.freebsd.org/ports/" -"tree/UPDATING] и https://cgit.freebsd.org/ports/tree/CHANGES[https://" -"cgit.freebsd.org/ports/tree/CHANGES] ." +"tree/UPDATING] и https://cgit.freebsd.org/ports/tree/CHANGES[https://cgit." +"freebsd.org/ports/tree/CHANGES] ." #. type: Title == #: documentation/content/en/articles/problem-reports/_index.adoc:125 @@ -512,8 +511,8 @@ "provide, the better. For instance, what part of the system does the problem " "apply to? Do you only see the problem while installing, or while running? To " "illustrate, instead of `Summary: portupgrade is broken`, see how much more " -"informative this seems: `Summary: port ports-mgmt/portupgrade coredumps on " -"-current`. (In the case of ports, it is especially helpful to have both the " +"informative this seems: `Summary: port ports-mgmt/portupgrade coredumps on -" +"current`. (In the case of ports, it is especially helpful to have both the " "category and portname in the \"Summary\" line.)" msgstr "" "__Избегайте туманных описаний в поле \"Summary\"__. Не стоит предполагать, " @@ -537,8 +536,7 @@ #. type: Plain text #: documentation/content/en/articles/problem-reports/_index.adoc:138 msgid "Do not use the `patch` or `patch-ready` keywords – they are deprecated." -msgstr "" -"Не используйте ключевые слова `patch` или `patch-ready` — они устарели." +msgstr "Не используйте ключевые слова `patch` или `patch-ready` — они устарели." #. type: Plain text #: documentation/content/en/articles/problem-reports/_index.adoc:139 @@ -585,15 +583,14 @@ #. type: Plain text #: documentation/content/en/articles/problem-reports/_index.adoc:143 msgid "" -"Include which global options you have specified in your " -"[.filename]#make.conf#, [.filename]#src.conf#, and [.filename]#src-" -"env.conf#. Given the infinite number of options, not every combination may " -"be fully supported." +"Include which global options you have specified in your [.filename]#make." +"conf#, [.filename]#src.conf#, and [.filename]#src-env.conf#. Given the " +"infinite number of options, not every combination may be fully supported." msgstr "" -"Включите информацию о том, какие глобальные опции вы указали в " -"[.filename]#make.conf#. На заметку: Объявление опций наподобие `-02` и " -"других, описанных в man:gcc[1] во многих случаях может быть причиной ошибок. " -"Хотя и разработчики FreeBSD будут принимать патчи, у них не будет желания " +"Включите информацию о том, какие глобальные опции вы указали в [." +"filename]#make.conf#. На заметку: Объявление опций наподобие `-02` и других, " +"описанных в man:gcc[1] во многих случаях может быть причиной ошибок. Хотя и " +"разработчики FreeBSD будут принимать патчи, у них не будет желания " "исследовать такие случаи из-за отсутствия времени и добровольцев, и вместо " "этого они могут ответить, что это не поддерживается." @@ -703,8 +700,8 @@ #. type: Plain text #: documentation/content/en/articles/problem-reports/_index.adoc:157 msgid "" -"any environment variables that override the defaults in " -"[.filename]#bsd.port.mk#, such as `PORTSDIR`" +"any environment variables that override the defaults in [.filename]#bsd.port." +"mk#, such as `PORTSDIR`" msgstr "" "Имеются ли какие-либо переменные окружения, которые переписывают " "первоначально-установленные в [.filename]#bsd.port.mk#, такие как, " @@ -750,9 +747,8 @@ msgstr "" "_Убедитесь, что ваша проблема еще никем не описана._ Мы уже говорили об " "этом, но стоит повториться. Потратьте пару минут на составление запросов к " -"базе PR: https://bugs.freebsd.org/bugzilla/query.cgi[https://" -"bugs.freebsd.org/bugzilla/query.cgi]. (Несмотря на повторы, об этом " -"постоянно забывают)" +"базе PR: https://bugs.freebsd.org/bugzilla/query.cgi[https://bugs.freebsd." +"org/bugzilla/query.cgi]. (Несмотря на повторы, об этом постоянно забывают)" #. type: Plain text #: documentation/content/en/articles/problem-reports/_index.adoc:162 @@ -776,8 +772,8 @@ "controversial in the past, you should probably be prepared to not only offer " "patches, but also justification for why the patches are \"The Right Thing To " "Do\". As noted above, a careful search of the mailing lists using the " -"archives at https://www.FreeBSD.org/search/#mailinglists[https://" -"www.FreeBSD.org/search/#mailinglists] is always good preparation." +"archives at https://www.FreeBSD.org/search/#mailinglists[https://www.FreeBSD." +"org/search/#mailinglists] is always good preparation." msgstr "" "_Избегайте полемики._ Если ваше сообщение касается области или способов " "реализации, которые ранее вызвали разногласия, вам стоит быть готовым " @@ -848,11 +844,11 @@ "more context and are more readable than other diff formats." msgstr "" "В общем, мы рекомендуем использовать `git format-patch` для создания одного " -"или серии унифицированных diff-файлов относительно базовой ветки (например, " -"`origin/main`). Патчи, созданные таким образом, будут содержать хеши Git, а " +"или серии унифицированных diff-файлов относительно базовой ветки (например, `" +"origin/main`). Патчи, созданные таким образом, будут содержать хеши Git, а " "также ваше имя и адрес электронной почты, что упростит применение вашего " -"патча коммиттерами и правильное указание вас как автора (с помощью `git " -"am`). Для небольших изменений, где вы предпочитаете не использовать git, " +"патча коммиттерами и правильное указание вас как автора (с помощью `git am`)" +". Для небольших изменений, где вы предпочитаете не использовать git, " "убедитесь, что используете man:diff[1] с опцией `-u` для создания " "унифицированного diff-файла, так как это даст разработчикам больше контекста " "и сделает его более читаемым по сравнению с другими форматами diff." @@ -982,8 +978,8 @@ "on your problem faster if you inflate its importance since there are so many " "other people who have done exactly that." msgstr "" -"_Серьезность:_ Одно из значений: `Затрагивает только меня (Affects only " -"me)`, `Затрагивает некоторых людей (Affects some people)` или `Затрагивает " +"_Серьезность:_ Одно из значений: `Затрагивает только меня (Affects only me)`" +", `Затрагивает некоторых людей (Affects some people)` или `Затрагивает " "многих людей (Affects many people)`. Не переоценивайте проблему; избегайте " "отмечать её как `Затрагивает многих людей`, если это не так. Разработчики " "FreeBSD не обязательно будут работать над вашей проблемой быстрее, если вы " @@ -1028,8 +1024,8 @@ "pages." msgstr "" "Если проблема в ядре, в библиотеках (таких как стандартная библиотека С " -"`libc`) или в драйвере из базовой системы, то используйте категорию `kern`. " -"(Есть несколько исключений, описанных ниже). В общем, это всё, что описано в " +"`libc`) или в драйвере из базовой системы, то используйте категорию `kern`. (" +"Есть несколько исключений, описанных ниже). В общем, это всё, что описано в " "разделах 2, 3 или 4 справочника." #. type: Plain text @@ -1163,8 +1159,8 @@ "right category." msgstr "" "У вас простой ПК, и вы подозреваете, что столкнулись с проблемой, " -"специфичной для конкретного чипсета или материнской платы: верная категория " -"- `i386`." +"специфичной для конкретного чипсета или материнской платы: верная категория -" +" `i386`." #. type: Block title #: documentation/content/en/articles/problem-reports/_index.adoc:249 @@ -1181,7 +1177,7 @@ "category." msgstr "" "Если вы наблюдаете проблему с периферийной картой расширения на " -"распространенной шине или неполадки с конкретного типа жестким диском: в " +"распространённой шине или неполадки с конкретного типа жестким диском: в " "этом случае возможно, что неисправность наблюдается на более чем одной " "архитектуре, и верным выбором будет `kern`." @@ -1279,8 +1275,8 @@ "обнаружите что-то, что не упомянули в первоначальном отчёте, пожалуйста, " "отправьте уточнение. Основная причина, по которой ошибка не исправляется, — " "это отсутствие связи с автором отчёта. Проще всего воспользоваться опцией " -"комментария на веб-странице конкретного PR, которую можно открыть с https://" -"bugs.freebsd.org/bugzilla/query.cgi[страницы поиска PR]." +"комментария на веб-странице конкретного PR, которую можно открыть с " +"https://bugs.freebsd.org/bugzilla/query.cgi[страницы поиска PR]." #. type: Plain text #: documentation/content/en/articles/problem-reports/_index.adoc:270 @@ -1325,15 +1321,15 @@ "Send an e-mail to extref:{handbook}eresources/[the relevant list, eresources-" "summary] seeking comments on the report." msgstr "" -"Отправить письмо по электронной почте в extref:{handbook}eresources/" -"[соответствующий список, eresources-summary] для получения комментариев к " -"отчету." +"Отправить письмо по электронной почте в extref:{handbook}eresources/[" +"соответствующий список, eresources-summary] для получения комментариев к " +"отчёту." #. type: Plain text #: documentation/content/en/articles/problem-reports/_index.adoc:279 msgid "" -"Join the relevant IRC channels. A partial listing is here: https://" -"wiki.freebsd.org/IRC/Channels[]. Inform the people in that channel about the " +"Join the relevant IRC channels. A partial listing is here: https://wiki." +"freebsd.org/IRC/Channels[]. Inform the people in that channel about the " "problem report and ask for assistance. Be patient and stay in the channel " "after posting, so that the people from different time zones around the world " "have a chance to catch up." @@ -1359,8 +1355,8 @@ "исходного файла, проверьте https://cgit.FreeBSD.org[Git Repository]. " "Определите последних коммиттеров, внесших существенные изменения в файл, и " "попытайтесь связаться с ними через IRC или электронную почту. Список " -"коммиттеров и их адреса электронной почты можно найти в статье extref:" -"{contributors}[Участники проекта FreeBSD]." +"коммиттеров и их адреса электронной почты можно найти в статье " +"extref:{contributors}[Участники проекта FreeBSD]." #. type: Plain text #: documentation/content/en/articles/problem-reports/_index.adoc:284 diff --git a/documentation/content/ru/articles/rc-scripting/_index.adoc b/documentation/content/ru/articles/rc-scripting/_index.adoc --- a/documentation/content/ru/articles/rc-scripting/_index.adoc +++ b/documentation/content/ru/articles/rc-scripting/_index.adoc @@ -340,7 +340,7 @@ Никогда не включайте параметры с дефисами, такие как `-X` или `--foo`, в `command_args`. Содержимое `command_args` будет добавлено в конец итоговой командной строки, поэтому, скорее всего, окажется после аргументов, указанных в `${name}_flags`; однако большинство команд не распознают параметры с дефисами после обычных аргументов. Лучший способ передать дополнительные параметры в `$command` — добавить их в начало `${name}_flags`. Другой способ — изменить `rc_flags` crossref:rc-scripting[rc-flags, как показано далее]. ==== -➋ Вежливый демон должен создавать _pidfile_, чтобы его процесс можно было найти проще и надежнее. Переменная `pidfile`, если она установлена, указывает man:rc.subr[8], где можно найти pidfile для использования его стандартными методами. +➋ Вежливый демон должен создавать _pidfile_, чтобы его процесс можно было найти проще и надёжнее. Переменная `pidfile`, если она установлена, указывает man:rc.subr[8], где можно найти pidfile для использования его стандартными методами. [NOTE] ==== @@ -435,7 +435,7 @@ [[rcng-hookup]] == Подключение скрипта к инфраструктуре rc.d -После написания скрипта его необходимо интегрировать в [.filename]#rc.d#. Ключевой шаг — установка скрипта в [.filename]#/etc/rc.d# (для базовой системы) или [.filename]#/usr/local/etc/rc.d# (для портов). И [.filename]#bsd.prog.mk#, и [.filename]#bsd.port.mk# предоставляют удобные механизмы для этого, и обычно вам не нужно беспокоиться о правильных правах доступа и режиме. Системные скрипты должны устанавливаться из [.filename]#src/libexec/rc/rc.d# через [.filename]#Makefile#, находящийся там. Скрипты портов можно установить с помощью `USE_RC_SUBR`, как описано extref:{porters-handbook}special[в Руководстве FreeBSD по созданию портов, rc-скрипты]. +После написания скрипта его необходимо интегрировать в [.filename]#rc.d#. Ключевой шаг — установка скрипта в [.filename]#/etc/rc.d# (для базовой системы) или [.filename]#/usr/local/etc/rc.d# (для портов). И [.filename]#bsd.prog.mk#, и [.filename]#bsd.port.mk# предоставляют удобные механизмы для этого, и обычно вам не нужно беспокоиться о правильных правах доступа и режиме. Системные скрипты должны устанавливаться из [.filename]#src/libexec/rc/rc.d# через [.filename]#Makefile#, находящийся там. Скрипты портов можно установить с помощью `USE_RC_SUBR`, как описано extref:{porters-handbook}special[в Руководстве FreeBSD по созданию портов, rc-scripts]. Однако следует заранее продумать место нашего скрипта в последовательности запуска системы. Скорее всего, обслуживаемый нашим скриптом сервис зависит от других сервисов. Например, сетевой демон не может работать без поднятых сетевых интерфейсов и маршрутизации. Даже если сервис, казалось бы, ничего не требует, он вряд ли сможет запуститься до проверки и монтирования основных файловых систем. @@ -630,7 +630,7 @@ По умолчанию только части `start` и `stop` скрипта выполняются внутри сервисной клетки, остальное выполняется вне клетки. Таким образом, любые настройки, используемые в частях `start`/`stop` скрипта, не могут быть заданы, например, из `precommand`. -Чтобы сделать скрипт готовым к использованию с extref:{handbook}jails[Сервисными Клетками, service-jails], необходимо добавить всего одну строку конфигурации: +Чтобы сделать скрипт готовым к использованию с extref:{handbook}jails[Сервисными Клетками, service-jails], необходимо добавить всего лишь одну дополнительную конфигурационную строку: [.programlisting] .... diff --git a/documentation/content/ru/articles/rc-scripting/_index.po b/documentation/content/ru/articles/rc-scripting/_index.po --- a/documentation/content/ru/articles/rc-scripting/_index.po +++ b/documentation/content/ru/articles/rc-scripting/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2025-11-10 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -1204,7 +1204,7 @@ "methods to use." msgstr "" "➋ Вежливый демон должен создавать _pidfile_, чтобы его процесс можно " -"было найти проще и надежнее. Переменная `pidfile`, если она установлена, " +"было найти проще и надёжнее. Переменная `pidfile`, если она установлена, " "указывает man:rc.subr[8], где можно найти pidfile для использования его " "стандартными методами." @@ -1572,7 +1572,7 @@ "режиме. Системные скрипты должны устанавливаться из [.filename]#src/libexec/" "rc/rc.d# через [.filename]#Makefile#, находящийся там. Скрипты портов можно " "установить с помощью `USE_RC_SUBR`, как описано extref:{porters-" -"handbook}special[в Руководстве FreeBSD по созданию портов, rc-скрипты]." +"handbook}special[в Руководстве FreeBSD по созданию портов, rc-scripts]." #. type: delimited block = 4 #: documentation/content/en/articles/rc-scripting/_index.adoc:599 @@ -2355,8 +2355,8 @@ "service-jails], only one more config line needs to be inserted:" msgstr "" "Чтобы сделать скрипт готовым к использованию с extref:{handbook}jails[" -"Сервисными Клетками, service-jails], необходимо добавить всего одну строку " -"конфигурации:" +"Сервисными Клетками, service-jails], необходимо добавить всего лишь одну " +"дополнительную конфигурационную строку:" #. type: delimited block . 4 #: documentation/content/en/articles/rc-scripting/_index.adoc:866 diff --git a/documentation/content/ru/articles/releng/_index.adoc b/documentation/content/ru/articles/releng/_index.adoc --- a/documentation/content/ru/articles/releng/_index.adoc +++ b/documentation/content/ru/articles/releng/_index.adoc @@ -66,13 +66,13 @@ Термин _stable_ в названии ветки относится к предполагаемой стабильности бинарного интерфейса приложений (ABI), которую гарантирует проект. Это означает, что пользовательское приложение, скомпилированное на более старой версии системы из той же ветки, будет работать на более новой системе из той же ветки. Стабильность ABI значительно улучшилась по сравнению с предыдущими выпусками. В большинстве случаев бинарные файлы со старых систем _STABLE_ работают без изменений на более новых системах, включая __HEAD__, при условии, что не используются интерфейсы управления системой. -В промежуточный период между выпусками еженедельные снимки состояния системы автоматически создаются сборщиками FreeBSD Project и доступны для загрузки по адресу `https:/download.FreeBSD.org/snapshots/`. Широкое распространение бинарных снимков выпусков, а также склонность нашего сообщества пользователей следить за разработкой -STABLE с помощью Subversion и команды "`make buildworld`" footnote:[extref:{handbook}cutting-edge[Пересборка world, makeworld]] помогает поддерживать FreeBSD-STABLE в очень надежном состоянии даже до того, как активизируются мероприятия по обеспечению качества перед основным выпуском. +В промежуточный период между выпусками еженедельные снимки состояния системы автоматически создаются сборщиками FreeBSD Project и доступны для загрузки по адресу `https:/download.FreeBSD.org/snapshots/`. Широкое распространение бинарных снимков выпусков, а также склонность нашего сообщества пользователей следить за разработкой -STABLE с помощью Subversion и команды "`make buildworld`" footnote:[extref:{handbook}cutting-edge[Пересборка world, makeworld]] помогает поддерживать FreeBSD-STABLE в очень надёжном состоянии даже до того, как будут запущены мероприятия по обеспечению качества перед основным выпуском. Помимо снимков установочных ISO, также предоставляются еженедельные образы виртуальных машин для использования с VirtualBox, qemu или другим популярным эмуляционным программным обеспечением. Образы виртуальных машин можно загрузить с `https://download.FreeBSD.org/snapshots/VM-IMAGES/`. Образы виртуальных машин сжаты с помощью man:xz[1] и занимают примерно 150 МБ, а при подключении к виртуальной машине содержат разреженную файловую систему размером 10 ГБ. -Отчеты об ошибках и запросы функций постоянно отправляются пользователями в течение цикла выпуска. Сообщения о проблемах вносятся в нашу базу данных Bugzilla через веб-интерфейс, доступный по адресу https://www.freebsd.org/support/bugreports/[https://www.freebsd.org/support/bugreports/]. +Отчёты об ошибках и запросы функций постоянно отправляются пользователями в течение цикла выпуска. Сообщения о проблемах вносятся в нашу базу данных Bugzilla через веб-интерфейс, доступный по адресу https://www.freebsd.org/support/bugreports/[https://www.freebsd.org/support/bugreports/]. Для обслуживания наиболее консервативных пользователей, начиная с FreeBSD 4.3, были введены индивидуальные ветки релизов. Эти ветки создаются незадолго до выпуска финального релиза. После выхода релиза на ветку вносятся только самые критические исправления безопасности и дополнения. Помимо обновлений исходного кода через Subversion, доступны бинарные патч-наборы для поддержания актуальности систем на ветках _releng/X.Y_. @@ -247,7 +247,7 @@ * Создание изолированного окружения системы в отдельной иерархии каталогов с помощью "`make installworld`". * Извлечение из Subversion чистой версии исходного кода системы, документации и портов в иерархию сборки релиза. * Заполнение каталогов [.filename]#/etc# и [.filename]#/dev# в chroot-окружении. -* Изменение корневой директории на верхний каталог иерархии сборки релиза с помощью `chroot`, чтобы усложнить влияние внешней среды на эту сборку. +* Изменение корневого каталога на верхний каталог иерархии сборки релиза с помощью `chroot`, чтобы усложнить влияние внешней среды на эту сборку. * Запуск `make world` в окружении `chroot`. * Сборка связанных с Kerberos бинарных файлов. * Сборка ядра [.filename]#GENERIC#. @@ -282,13 +282,13 @@ ==== Диск 1 -Первый диск почти полностью создаётся командой `make release`. Единственные изменения, которые следует внести в каталог [.filename]#disc1#, — это добавление директории [.filename]#tools# и как можно большего количества популярных сторонних программных пакетов, которые поместятся на диск. В каталоге [.filename]#tools# содержится программное обеспечение, позволяющее пользователям создавать установочные дискеты из других операционных систем. Этот диск должен быть загрузочным, чтобы пользователям современных ПК не требовалось создавать установочные дискеты. +Первый диск почти полностью создаётся командой `make release`. Единственные изменения, которые следует внести в каталог [.filename]#disc1#, — это добавление каталога [.filename]#tools# и как можно большего количества популярных сторонних программных пакетов, которые поместятся на диск. В каталоге [.filename]#tools# содержится программное обеспечение, позволяющее пользователям создавать установочные дискеты из других операционных систем. Этот диск должен быть загрузочным, чтобы пользователям современных ПК не требовалось создавать установочные дискеты. Если требуется включить пользовательское ядро FreeBSD, необходимо обновить man:bsdinstall[8] и man:release[7], чтобы включить инструкции по установке. Соответствующий код содержится в [.filename]#src/release# и [.filename]#src/usr.sbin/bsdinstall#. В частности, потребуется обновить файл [.filename]#src/release/Makefile#, а также [.filename]#dist.c#, [.filename]#dist.h#, [.filename]#menus.c#, [.filename]#install.c# и [.filename]#Makefile# в каталоге [.filename]#src/usr.sbin/bsdinstall#. При желании можно также обновить [.filename]#bsdinstall.8#. ==== Диск 2 -Второй диск также в основном создаётся командой `make release`. Этот диск содержит «живую файловую систему», которая может использоваться через man:bsdinstall[8] для диагностики установки FreeBSD. Этот диск должен быть загрузочным и также содержать сжатую копию репозитория CVS в директории [.filename]#CVSROOT# и демонстрационные версии коммерческого ПО в директории [.filename]#commerce#. +Второй диск также в основном создаётся командой `make release`. Этот диск содержит «живую файловую систему», которая может использоваться через man:bsdinstall[8] для диагностики установки FreeBSD. Этот диск должен быть загрузочным и также содержать сжатую копию репозитория CVS в каталоге [.filename]#CVSROOT# и демонстрационные версии коммерческого ПО в каталоге [.filename]#commerce#. ==== Поддержка нескольких томов diff --git a/documentation/content/ru/articles/releng/_index.po b/documentation/content/ru/articles/releng/_index.po --- a/documentation/content/ru/articles/releng/_index.po +++ b/documentation/content/ru/articles/releng/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2025-11-10 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -200,8 +200,8 @@ "бинарных снимков выпусков, а также склонность нашего сообщества " "пользователей следить за разработкой -STABLE с помощью Subversion и команды " "\"`make buildworld`\" footnote:[extref:{handbook}cutting-edge[Пересборка " -"world, makeworld]] помогает поддерживать FreeBSD-STABLE в очень надежном " -"состоянии даже до того, как активизируются мероприятия по обеспечению " +"world, makeworld]] помогает поддерживать FreeBSD-STABLE в очень надёжном " +"состоянии даже до того, как будут запущены мероприятия по обеспечению " "качества перед основным выпуском." #. type: Plain text @@ -235,7 +235,7 @@ "Bugzilla database through the web interface provided at https://www.freebsd." "org/support/bugreports/[https://www.freebsd.org/support/bugreports/]." msgstr "" -"Отчеты об ошибках и запросы функций постоянно отправляются пользователями в " +"Отчёты об ошибках и запросы функций постоянно отправляются пользователями в " "течение цикла выпуска. Сообщения о проблемах вносятся в нашу базу данных " "Bugzilla через веб-интерфейс, доступный по адресу https://www.freebsd.org/" "support/bugreports/[https://www.freebsd.org/support/bugreports/]." @@ -986,7 +986,7 @@ "chroot into the release build hierarchy, to make it harder for the outside " "environment to taint this build." msgstr "" -"Изменение корневой директории на верхний каталог иерархии сборки релиза с " +"Изменение корневого каталога на верхний каталог иерархии сборки релиза с " "помощью `chroot`, чтобы усложнить влияние внешней среды на эту сборку." #. type: Plain text @@ -1148,7 +1148,7 @@ msgstr "" "Первый диск почти полностью создаётся командой `make release`. Единственные " "изменения, которые следует внести в каталог [.filename]#disc1#, — это " -"добавление директории [.filename]#tools# и как можно большего количества " +"добавление каталога [.filename]#tools# и как можно большего количества " "популярных сторонних программных пакетов, которые поместятся на диск. В " "каталоге [.filename]#tools# содержится программное обеспечение, позволяющее " "пользователям создавать установочные дискеты из других операционных систем. " @@ -1193,10 +1193,10 @@ "filename]#commerce# directory." msgstr "" "Второй диск также в основном создаётся командой `make release`. Этот диск " -"содержит «живую файловую систему», которая может использоваться через man:" -"bsdinstall[8] для диагностики установки FreeBSD. Этот диск должен быть " -"загрузочным и также содержать сжатую копию репозитория CVS в директории [." -"filename]#CVSROOT# и демонстрационные версии коммерческого ПО в директории [." +"содержит «живую файловую систему», которая может использоваться через " +"man:bsdinstall[8] для диагностики установки FreeBSD. Этот диск должен быть " +"загрузочным и также содержать сжатую копию репозитория CVS в каталоге [." +"filename]#CVSROOT# и демонстрационные версии коммерческого ПО в каталоге [." "filename]#commerce#." #. type: Title ==== diff --git a/documentation/content/ru/articles/remote-install/_index.adoc b/documentation/content/ru/articles/remote-install/_index.adoc --- a/documentation/content/ru/articles/remote-install/_index.adoc +++ b/documentation/content/ru/articles/remote-install/_index.adoc @@ -142,7 +142,7 @@ Процесс создания образа mfsBSD довольно прост. -Первым шагом необходимо подключить установочный CD FreeBSD или образ ISO установки к [.filename]#/cdrom#. В качестве примера в этой статье мы будем предполагать, что вы загрузили образ ISO FreeBSD 10.1-RELEASE. Подключение этого образа ISO к директории [.filename]#/cdrom# легко выполняется с помощью утилиты man:mdconfig[8]: +Первым шагом необходимо подключить установочный CD FreeBSD или образ ISO установки к [.filename]#/cdrom#. В качестве примера в этой статье мы будем предполагать, что вы загрузили образ ISO FreeBSD 10.1-RELEASE. Подключение этого образа ISO к каталогу [.filename]#/cdrom# легко выполняется с помощью утилиты man:mdconfig[8]: [source, shell] .... @@ -168,7 +168,7 @@ [NOTE] ==== -Указанную команду `make` необходимо выполнять из корневой директории дерева каталогов mfsBSD, например, [.filename]#~/mfsbsd-2.1/#. +Указанную команду `make` необходимо выполнять из корневого уровня дерева каталогов mfsBSD, например, [.filename]#~/mfsbsd-2.1/#. ==== === Загрузка mfsBSD @@ -283,7 +283,7 @@ Для достижения нашей цели выполните следующие шаги: -* Скопируйте ядро `GENERIC` в директорию [.filename]#/boot/kernel#: +* Скопируйте ядро `GENERIC` в каталог [.filename]#/boot/kernel#: + [source, shell] .... diff --git a/documentation/content/ru/articles/remote-install/_index.po b/documentation/content/ru/articles/remote-install/_index.po --- a/documentation/content/ru/articles/remote-install/_index.po +++ b/documentation/content/ru/articles/remote-install/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2025-11-10 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -398,9 +398,9 @@ msgstr "" "Первым шагом необходимо подключить установочный CD FreeBSD или образ ISO " "установки к [.filename]#/cdrom#. В качестве примера в этой статье мы будем " -"предполагать, что вы загрузили образ ISO FreeBSD 10.1-RELEASE. Подключение " -"этого образа ISO к директории [.filename]#/cdrom# легко выполняется с " -"помощью утилиты man:mdconfig[8]:" +"предполагать, что вы загрузили образ ISO FreeBSD 10.1-RELEASE. Подключение " +"этого образа ISO к каталогу [.filename]#/cdrom# легко выполняется с помощью " +"утилиты man:mdconfig[8]:" #. type: delimited block . 4 #: documentation/content/en/articles/remote-install/_index.adoc:169 @@ -452,7 +452,7 @@ "The above `make` has to be run from the top level of the mfsBSD directory " "tree, for example [.filename]#~/mfsbsd-2.1/#." msgstr "" -"Указанную команду `make` необходимо выполнять из корневой директории дерева " +"Указанную команду `make` необходимо выполнять из корневого уровня дерева " "каталогов mfsBSD, например, [.filename]#~/mfsbsd-2.1/#." #. type: Title === @@ -845,7 +845,7 @@ #. type: Plain text #: documentation/content/en/articles/remote-install/_index.adoc:331 msgid "Copy the `GENERIC` kernel to the [.filename]#/boot/kernel# directory:" -msgstr "Скопируйте ядро `GENERIC` в директорию [.filename]#/boot/kernel#:" +msgstr "Скопируйте ядро `GENERIC` в каталог [.filename]#/boot/kernel#:" #. type: delimited block . 4 #: documentation/content/en/articles/remote-install/_index.adoc:335 diff --git a/documentation/content/ru/articles/serial-uart/_index.adoc b/documentation/content/ru/articles/serial-uart/_index.adoc --- a/documentation/content/ru/articles/serial-uart/_index.adoc +++ b/documentation/content/ru/articles/serial-uart/_index.adoc @@ -82,13 +82,13 @@ При передаче слова через UART в асинхронном режиме к началу каждого передаваемого слова добавляется бит, называемый "стартовым битом". Стартовый бит используется для оповещения приёмника о начале передачи слова данных, а также для синхронизации тактового сигнала приёмника с тактовым сигналом передатчика. Эти два тактовых сигнала должны быть достаточно точными, чтобы их расхождение по частоте не превышало 10% во время передачи оставшихся битов слова. (Данное требование было установлено во времена механических телетайпов и легко выполняется современным электронным оборудованием.) -После стартового бита передаются отдельные биты слова данных, начиная с младшего значащего бита (LSB). Каждый бит передается в течение точно такого же времени, как и все остальные биты, и приемник "проверяет" состояние линии примерно на середине интервала, отведенного для каждого бита, чтобы определить, является ли бит `1` или `0`. Например, если передача каждого бита занимает две секунды, приемник проверит сигнал, чтобы определить, является ли он `1` или `0`, через одну секунду, затем подождет две секунды и проверит значение следующего бита, и так далее. +После стартового бита передаются отдельные биты слова данных, начиная с младшего значащего бита (LSB). Каждый бит передаётся в течение точно такого же времени, как и все остальные биты, и приемник "проверяет" состояние линии примерно на середине интервала, отведенного для каждого бита, чтобы определить, является ли бит `1` или `0`. Например, если передача каждого бита занимает две секунды, приемник проверит сигнал, чтобы определить, является ли он `1` или `0`, через одну секунду, затем подождет две секунды и проверит значение следующего бита, и так далее. Отправитель не знает, когда получатель «посмотрел» значение бита. Отправитель знает только, когда по тактовому сигналу нужно начать передачу следующего бита слова. -Когда все слово данных отправлено, передатчик может добавить бит четности, который он генерирует. Бит четности может быть использован приемником для выполнения простой проверки на ошибки. Затем передатчик отправляет как минимум один стоповый бит. +Когда все слово данных отправлено, передатчик может добавить бит чётности, который он генерирует. Бит чётности может быть использован приемником для выполнения простой проверки на ошибки. Затем передатчик отправляет как минимум один стоповый бит. -Когда приемник получил все биты в слове данных, он может проверить биты четности (как отправитель, так и приемник должны договориться о том, будет ли использоваться бит четности), а затем приемник ищет стоповый бит. Если стоповый бит не появляется, когда должен, UART считает все слово искаженным и сообщит об ошибке кадрирования главному процессору при чтении слова данных. Обычная причина ошибки кадрирования — несовпадение скорости тактовых сигналов отправителя и приемника или прерывание сигнала. +Когда приемник получил все биты в слове данных, он может проверить биты чётности (как отправитель, так и приемник должны договориться о том, будет ли использоваться бит чётности), а затем приемник ищет стоповый бит. Если стоповый бит не появляется, когда должен, UART считает все слово искаженным и сообщит об ошибке кадрирования главному процессору при чтении слова данных. Обычная причина ошибки кадрирования — несовпадение скорости тактовых сигналов отправителя и приемника или прерывание сигнала. Независимо от того, были ли данные получены правильно или нет, UART автоматически отбрасывает бит чётности, стартовый и стоповый биты. Если отправитель и получатель настроены одинаково, эти биты не передаются хосту. @@ -116,9 +116,9 @@ ==== Сигнал Break в RS232-C -RS232-C также определяет сигнал под названием `Break`, который вызывается передачей непрерывных значений Spacing (без стартовых или стоповых битов). Когда на линии данных отсутствует напряжение, считается, что линия передает `Break`. +RS232-C также определяет сигнал под названием `Break`, который вызывается передачей непрерывных значений Spacing (без стартовых или стоповых битов). Когда на линии данных отсутствует напряжение, считается, что линия передаёт `Break`. -Сигнал `Break` должен иметь длительность больше, чем время, необходимое для передачи полного байта, включая стартовый, стоповый и биты четности. Большинство UART способны различить ошибку кадрирования и сигнал Break, но если UART не поддерживает эту функцию, для определения Break можно использовать обнаружение ошибки кадрирования. +Сигнал `Break` должен иметь длительность больше, чем время, необходимое для передачи полного байта, включая стартовый, стоповый и биты чётности. Большинство UART способны различить ошибку кадрирования и сигнал Break, но если UART не поддерживает эту функцию, для определения Break можно использовать обнаружение ошибки кадрирования. Во времена телетайпов, когда множество принтеров по всей стране были соединены последовательно (например, в службах новостей), любое устройство могло вызвать `Break`, временно размыкая всю цепь, чтобы ток не протекал. Это использовалось для того, чтобы место с срочными новостями могло прервать устройство в другом месте, которое в данный момент передавало информацию. @@ -367,13 +367,13 @@ Традиционно, скорость передачи (Baud Rate) представляет количество битов, фактически передаваемых по среде, а не объем данных, которые действительно перемещаются от одного устройства DTE к другому. Подсчет Baud включает служебные биты — Start, Stop и Parity, которые генерируются передающим UART и удаляются принимающим UART. Это означает, что 7-битные слова данных на самом деле занимают 10 бит для полной передачи. Следовательно, модем, способный передавать 300 бит в секунду, обычно может передавать только 30 7-битных слов, если используется Parity и присутствуют один бит Start и один бит Stop. -Если используются 8-битные слова данных и биты четности, скорость передачи данных снижается до 27,27 слов в секунду, так как теперь для передачи восьмибитных слов требуется 11 бит, а модем по-прежнему передает только 300 бит в секунду. +Если используются 8-битные слова данных и биты чётности, скорость передачи данных снижается до 27,27 слов в секунду, так как теперь для передачи восьмибитных слов требуется 11 бит, а модем по-прежнему передаёт только 300 бит в секунду. -Формула преобразования байтов в секунду в бодовую скорость и наоборот была простой до появления модемов с коррекцией ошибок. Эти модемы принимают последовательный поток битов от UART в компьютере (даже внутренние модемы часто работают с последовательными данными) и преобразуют биты обратно в байты. Затем эти байты объединяются в пакеты и передаются по телефонной линии с использованием синхронного метода передачи. Это означает, что стоповые, стартовые и биты четности, добавленные UART в DTE (компьютере), удаляются модемом перед передачей отправляющим модемом. Когда эти байты принимаются удалённым модемом, он добавляет стартовые, стоповые и биты четности к словам, преобразует их в последовательный формат и отправляет на принимающий UART в удалённом компьютере, который затем удаляет стартовые, стоповые и биты четности. +Формула преобразования байтов в секунду в бодовую скорость и наоборот была простой до появления модемов с коррекцией ошибок. Эти модемы принимают последовательный поток битов от UART в компьютере (даже внутренние модемы часто работают с последовательными данными) и преобразуют биты обратно в байты. Затем эти байты объединяются в пакеты и передаются по телефонной линии с использованием синхронного метода передачи. Это означает, что стоповые, стартовые и биты чётности, добавленные UART в DTE (компьютере), удаляются модемом перед передачей отправляющим модемом. Когда эти байты принимаются удалённым модемом, он добавляет стартовые, стоповые и биты чётности к словам, преобразует их в последовательный формат и отправляет на принимающий UART в удалённом компьютере, который затем удаляет стартовые, стоповые и биты чётности. Причина, по которой выполняются все эти дополнительные преобразования, заключается в том, чтобы два модема могли осуществлять коррекцию ошибок. Это означает, что принимающий модем может запросить у передающего модема повторную отправку блока данных, который был получен с некорректной контрольной суммой. Эта проверка обрабатывается модемами, и устройства DTE обычно не осознают, что этот процесс происходит. -Удаляя стартовые, стоповые и биты четности, дополнительные биты данных, которые два модема должны обмениваться между собой для выполнения коррекции ошибок, в основном скрываются от эффективной скорости передачи, наблюдаемой отправляющим и принимающим оборудованием DTE. Например, если модем отправляет десять 7-битных слов другому модему без включения стартовых, стоповых и битов четности, отправляющий модем сможет добавить 30 бит своей собственной информации, которую принимающий модем может использовать для коррекции ошибок, не влияя на скорость передачи реальных данных. +Удаляя стартовые, стоповые и биты чётности, дополнительные биты данных, которые два модема должны обмениваться между собой для выполнения коррекции ошибок, в основном скрываются от эффективной скорости передачи, наблюдаемой отправляющим и принимающим оборудованием DTE. Например, если модем отправляет десять 7-битных слов другому модему без включения стартовых, стоповых и битов чётности, отправляющий модем сможет добавить 30 бит своей собственной информации, которую принимающий модем может использовать для коррекции ошибок, не влияя на скорость передачи реальных данных. Использование термина "Бод" дополнительно осложняется модемами, выполняющими сжатие. Одно 8-битное слово, переданное по телефонной линии, может представлять собой дюжину слов, переданных на отправляющий модем. Принимающий модем развернёт данные обратно в их исходное содержимое и передаст эти данные принимающему DTE. @@ -425,10 +425,10 @@ Это версия NS16450 с технологией CMOS (низкое энергопотребление). NS16550:: -То же, что и NS16450, с 16-байтовым буфером передачи и приема, но конструкция буфера была неудачной и не могла быть надежно использована. +То же, что и NS16450, с 16-байтовым буфером передачи и приема, но конструкция буфера была неудачной и не могла быть надёжно использована. NS16550A:: -То же, что и NS16550, но с исправленными недостатками буфера. 16550A и его преемники стали наиболее популярными UART-устройствами в индустрии ПК, в основном благодаря их способности надежно работать на высоких скоростях передачи данных в операционных системах с медленным временем отклика прерываний. +То же, что и NS16550, но с исправленными недостатками буфера. 16550A и его преемники стали наиболее популярными UART-устройствами в индустрии ПК, в основном благодаря их способности надёжно работать на высоких скоростях передачи данных в операционных системах с медленным временем отклика прерываний. NS16C552:: Этот компонент состоит из двух CMOS UART NS16C550A в одном корпусе. @@ -479,7 +479,7 @@ На протяжении многих лет чипы 8250, 8250A, 16450 и 16550 лицензировались или копировались другими производителями. В случае с 8250, 8250A и 16450 точная схема ("мегаячейка") была лицензирована многими производителями, включая Western Digital и Intel. Другие производители проводили обратную разработку чипа или создавали эмуляции с аналогичным поведением. -Во внутренних модемах разработчик модема часто эмулирует 8250A/16450 с помощью микропроцессора модема, и эмулированный UART часто имеет скрытый буфер размером в несколько сотен байт. Благодаря размеру буфера, эти эмуляции могут быть такими же надежными, как 16550A, в способности обрабатывать высокоскоростные данные. Однако большинство операционных систем по-прежнему сообщают, что UART является только 8250A или 16450, и могут не эффективно использовать дополнительную буферизацию, присутствующую в эмулированном UART, если не используются специальные драйверы. +Во внутренних модемах разработчик модема часто эмулирует 8250A/16450 с помощью микропроцессора модема, и эмулированный UART часто имеет скрытый буфер размером в несколько сотен байт. Благодаря размеру буфера, эти эмуляции могут быть такими же надёжными, как 16550A, в способности обрабатывать высокоскоростные данные. Однако большинство операционных систем по-прежнему сообщают, что UART является только 8250A или 16450, и могут не эффективно использовать дополнительную буферизацию, присутствующую в эмулированном UART, если не используются специальные драйверы. Некоторые производители модемов под давлением рыночных сил отказываются от конструкции с буфером в сотни байт и вместо этого используют UART 16550A, чтобы их продукция выглядела выигрышно в рыночных сравнениях, даже если это может снизить фактическую производительность. @@ -500,7 +500,7 @@ |=== | Поставщик | Номер детали -| Ошибки (также известные как "различия" в отчетах) +| Ошибки (также известные как "различия" в отчётах) |National |(PC16550DV) @@ -574,7 +574,7 @@ Регистр передачи данных (THR). -Информация, записанная в этот порт, обрабатывается как слова данных и передается через UART. +Информация, записанная в этот порт, обрабатывается как слова данных и передаётся через UART. |+0x00 |чтение (DLAB==0) @@ -629,7 +629,7 @@ Бит 5 -> Зарезервирован, всегда 0. + Бит 4 -> Зарезервирован, всегда 0. + Бит 3 -> Выбор режима DMA. Если бит 0 установлен в "1" (FIFO включены), установка этого бита изменяет работу сигналов -RXRDY и -TXRDY с режима 0 на режим 1. + -Бит 2 -> Сброс передающего FIFO. При записи "1" в этот бит содержимое FIFO очищается. Любое слово, которое передается в данный момент, будет отправлено полностью. Эта функция полезна для прерывания передачи. + +Бит 2 -> Сброс передающего FIFO. При записи "1" в этот бит содержимое FIFO очищается. Любое слово, которое передаётся в данный момент, будет отправлено полностью. Эта функция полезна для прерывания передачи. + Бит 1 -> Сброс приемного FIFO. При записи "1" в этот бит содержимое FIFO очищается. Любое слово, которое в данный момент собирается в сдвиговом регистре, будет принято полностью. + Бит 0 -> Включение FIFO 16550. При установке этого бита активируются как передающий, так и приемный FIFO. Любое содержимое в регистре хранения, сдвиговых регистрах или FIFO теряется при включении или отключении FIFO. + @@ -656,10 +656,10 @@ |Регистр управления линией (LCR — Line Control Register) + Бит 7 -> Бит доступа к защелке делителя (DLAB). При установке доступ к регистру передачи/приема данных (THR/RBR) и регистру разрешения прерываний (IER) отключается. Любой доступ к этим портам перенаправляется к регистрам защелки делителя. Установка этого бита, загрузка регистров делителя и сброс DLAB должны выполняться при отключенных прерываниях. + Бит 6 -> Установка прерывания. При установке в "1" передатчик начинает передавать непрерывный интервал (Spacing), пока этот бит не будет сброшен в "0". Это переопределяет любые передаваемые биты символов. + -Бит 5 -> Фиксированный бит четности. При включенной проверке четности установка этого бита приводит к тому, что бит четности всегда будет "1" или "0" в зависимости от значения бита 4. -Бит 4 -> Выбор четности (EPS). При включенной проверке четности и если бит 5 равен "0", установка этого бита приводит к использованию и ожиданию четной четности. В противном случае используется нечетная четность. + -Бит 3 -> Разрешение проверки четности (PEN). При установке в "1" бит четности вставляется между последним битом данных и стоповым битом. UART также ожидает наличие бита четности в принимаемых данных. + -Бит 2 -> Количество стоповых битов (STB). Если установлен в "1" и используются 5-битные слова данных, передается и ожидается 1.5 стоповых бита в каждом слове данных. Для 6, 7 и 8-битных слов данных передается и ожидается 2 стоповых бита. Если этот бит сброшен в "0", используется один стоповый бит в каждом слове данных. + +Бит 5 -> Фиксированный бит чётности. При включенной проверке чётности установка этого бита приводит к тому, что бит чётности всегда будет "1" или "0" в зависимости от значения бита 4. +Бит 4 -> Выбор чётности (EPS). При включенной проверке чётности и если бит 5 равен "0", установка этого бита приводит к использованию и ожиданию четной чётности. В противном случае используется нечетная чётность. + +Бит 3 -> Разрешение проверки чётности (PEN). При установке в "1" бит чётности вставляется между последним битом данных и стоповым битом. UART также ожидает наличие бита чётности в принимаемых данных. + +Бит 2 -> Количество стоповых битов (STB). Если установлен в "1" и используются 5-битные слова данных, передаётся и ожидается 1.5 стоповых бита в каждом слове данных. Для 6, 7 и 8-битных слов данных передаётся и ожидается 2 стоповых бита. Если этот бит сброшен в "0", используется один стоповый бит в каждом слове данных. + Бит 1 -> Бит выбора длины слова #1 (WLSB1) + Бит 0 -> Бит выбора длины слова #0 (WLSB0) + Вместе эти биты определяют количество битов в каждом слове данных. + @@ -689,7 +689,7 @@ Бит 5 -> Регистр хранения передатчика пуст (THRE). Когда установлен в «1», в FIFO (или регистре хранения) теперь есть место для передачи как минимум одного дополнительного слова. Передатчик может все еще передавать данные, когда этот бит установлен в «1». + Бит 4 -> Прерывание по Break (BI). Приемник обнаружил сигнал Break. + Бит 3 -> Ошибка кадрирования (FE). Обнаружен стартовый бит, но стоповый бит не появился в ожидаемое время. Принятое слово, вероятно, искажено. + -Бит 2 -> Ошибка четности (PE). Бит четности для принятого слова был некорректен. + +Бит 2 -> Ошибка чётности (PE). Бит чётности для принятого слова был некорректен. + Бит 1 -> Ошибка переполнения (OE). Было получено новое слово, но в буфере приема не было места. Вновь поступившее слово в сдвиговом регистре отбрасывается. На UART 8250/16450 слово в регистре хранения отбрасывается, а вновь поступившее слово помещается в регистр хранения. + Бит 0 -> Данные готовы (DR). Одно или несколько слов находятся в FIFO приемника, которые хост может прочитать. Слово должно быть полностью принято и перемещено из сдвигового регистра в FIFO (или регистр хранения для 8250/16450) до того, как этот бит будет установлен. @@ -760,7 +760,7 @@ Важное замечание — реальные микросхемы UART для Boca 16 находятся в соединительной коробке, а не на внутренней плате. Поэтому, если она отключена, попытки проверить эти порты завершатся неудачей. Я никогда не проверял загрузку с отключённой коробкой и последующим её подключением, и не рекомендую вам этого делать. -Если у вас ещё нет настроенного файла конфигурации пользовательского ядра, обратитесь к extref:{handbook}kernelconfig[Конфигурация ядра, kernelconfig] в руководстве FreeBSD для получения общих инструкций. Ниже приведены конкретные настройки для платы Boca 16, предполагается, что вы используете ядро с именем MYKERNEL и редактируете его с помощью vi. +Если у вас ещё нет настроенного файла конфигурации пользовательского ядра, обратитесь к разделу extref:{handbook}kernelconfig[Конфигурация ядра, kernelconfig] в руководстве FreeBSD для получения общих инструкций. Ниже приведены конкретные настройки для платы Boca 16, предполагается, что вы используете ядро с именем MYKERNEL и редактируете его с помощью vi. [.procedure] ==== diff --git a/documentation/content/ru/articles/serial-uart/_index.po b/documentation/content/ru/articles/serial-uart/_index.po --- a/documentation/content/ru/articles/serial-uart/_index.po +++ b/documentation/content/ru/articles/serial-uart/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2025-11-10 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -237,7 +237,7 @@ "value of the next bit, and so on." msgstr "" "После стартового бита передаются отдельные биты слова данных, начиная с " -"младшего значащего бита (LSB). Каждый бит передается в течение точно такого " +"младшего значащего бита (LSB). Каждый бит передаётся в течение точно такого " "же времени, как и все остальные биты, и приемник \"проверяет\" состояние " "линии примерно на середине интервала, отведенного для каждого бита, чтобы " "определить, является ли бит `1` или `0`. Например, если передача каждого " @@ -264,8 +264,8 @@ "receiver to perform simple error checking. Then at least one Stop Bit is " "sent by the transmitter." msgstr "" -"Когда все слово данных отправлено, передатчик может добавить бит четности, " -"который он генерирует. Бит четности может быть использован приемником для " +"Когда все слово данных отправлено, передатчик может добавить бит чётности, " +"который он генерирует. Бит чётности может быть использован приемником для " "выполнения простой проверки на ошибки. Затем передатчик отправляет как " "минимум один стоповый бит." @@ -282,8 +282,8 @@ "that the signal was interrupted." msgstr "" "Когда приемник получил все биты в слове данных, он может проверить биты " -"четности (как отправитель, так и приемник должны договориться о том, будет " -"ли использоваться бит четности), а затем приемник ищет стоповый бит. Если " +"чётности (как отправитель, так и приемник должны договориться о том, будет " +"ли использоваться бит чётности), а затем приемник ищет стоповый бит. Если " "стоповый бит не появляется, когда должен, UART считает все слово искаженным " "и сообщит об ошибке кадрирования главному процессору при чтении слова " "данных. Обычная причина ошибки кадрирования — несовпадение скорости тактовых " @@ -450,7 +450,7 @@ msgstr "" "RS232-C также определяет сигнал под названием `Break`, который вызывается " "передачей непрерывных значений Spacing (без стартовых или стоповых битов). " -"Когда на линии данных отсутствует напряжение, считается, что линия передает " +"Когда на линии данных отсутствует напряжение, считается, что линия передаёт " "`Break`." #. type: Plain text @@ -462,7 +462,7 @@ "this, the Framing Error detection can be used to identify Breaks." msgstr "" "Сигнал `Break` должен иметь длительность больше, чем время, необходимое для " -"передачи полного байта, включая стартовый, стоповый и биты четности. " +"передачи полного байта, включая стартовый, стоповый и биты чётности. " "Большинство UART способны различить ошибку кадрирования и сигнал Break, но " "если UART не поддерживает эту функцию, для определения Break можно " "использовать обнаружение ошибки кадрирования." @@ -1451,9 +1451,9 @@ "falls to 27.27 words per second, because it now takes 11 bits to send the " "eight-bit words, and the modem still only sends 300 bits per second." msgstr "" -"Если используются 8-битные слова данных и биты четности, скорость передачи " +"Если используются 8-битные слова данных и биты чётности, скорость передачи " "данных снижается до 27,27 слов в секунду, так как теперь для передачи " -"восьмибитных слов требуется 11 бит, а модем по-прежнему передает только 300 " +"восьмибитных слов требуется 11 бит, а модем по-прежнему передаёт только 300 " "бит в секунду." #. type: Plain text @@ -1478,12 +1478,12 @@ "часто работают с последовательными данными) и преобразуют биты обратно в " "байты. Затем эти байты объединяются в пакеты и передаются по телефонной " "линии с использованием синхронного метода передачи. Это означает, что " -"стоповые, стартовые и биты четности, добавленные UART в DTE (компьютере), " +"стоповые, стартовые и биты чётности, добавленные UART в DTE (компьютере), " "удаляются модемом перед передачей отправляющим модемом. Когда эти байты " "принимаются удалённым модемом, он добавляет стартовые, стоповые и биты " -"четности к словам, преобразует их в последовательный формат и отправляет на " +"чётности к словам, преобразует их в последовательный формат и отправляет на " "принимающий UART в удалённом компьютере, который затем удаляет стартовые, " -"стоповые и биты четности." +"стоповые и биты чётности." #. type: Plain text #: documentation/content/en/articles/serial-uart/_index.adoc:428 @@ -1513,12 +1513,12 @@ "that the receiving modem can use to do error-correction without impacting " "the transmission speed of the real data." msgstr "" -"Удаляя стартовые, стоповые и биты четности, дополнительные биты данных, " +"Удаляя стартовые, стоповые и биты чётности, дополнительные биты данных, " "которые два модема должны обмениваться между собой для выполнения коррекции " "ошибок, в основном скрываются от эффективной скорости передачи, наблюдаемой " "отправляющим и принимающим оборудованием DTE. Например, если модем " "отправляет десять 7-битных слов другому модему без включения стартовых, " -"стоповых и битов четности, отправляющий модем сможет добавить 30 бит своей " +"стоповых и битов чётности, отправляющий модем сможет добавить 30 бит своей " "собственной информации, которую принимающий модем может использовать для " "коррекции ошибок, не влияя на скорость передачи реальных данных." @@ -1785,7 +1785,7 @@ "was flawed and could not be reliably be used." msgstr "" "То же, что и NS16450, с 16-байтовым буфером передачи и приема, но " -"конструкция буфера была неудачной и не могла быть надежно использована." +"конструкция буфера была неудачной и не могла быть надёжно использована." #. type: Labeled list #: documentation/content/en/articles/serial-uart/_index.adoc:498 @@ -1803,7 +1803,7 @@ msgstr "" "То же, что и NS16550, но с исправленными недостатками буфера. 16550A и его " "преемники стали наиболее популярными UART-устройствами в индустрии ПК, в " -"основном благодаря их способности надежно работать на высоких скоростях " +"основном благодаря их способности надёжно работать на высоких скоростях " "передачи данных в операционных системах с медленным временем отклика " "прерываний." @@ -2039,7 +2039,7 @@ "Во внутренних модемах разработчик модема часто эмулирует 8250A/16450 с " "помощью микропроцессора модема, и эмулированный UART часто имеет скрытый " "буфер размером в несколько сотен байт. Благодаря размеру буфера, эти " -"эмуляции могут быть такими же надежными, как 16550A, в способности " +"эмуляции могут быть такими же надёжными, как 16550A, в способности " "обрабатывать высокоскоростные данные. Однако большинство операционных систем " "по-прежнему сообщают, что UART является только 8250A или 16450, и могут не " "эффективно использовать дополнительную буферизацию, присутствующую в " @@ -2180,7 +2180,7 @@ #: documentation/content/en/articles/serial-uart/_index.adoc:594 #, no-wrap msgid "Errors (aka \"differences\" reported)" -msgstr "Ошибки (также известные как \"различия\" в отчетах)" +msgstr "Ошибки (также известные как \"различия\" в отчётах)" #. type: Table #: documentation/content/en/articles/serial-uart/_index.adoc:595 @@ -2474,7 +2474,8 @@ msgstr "" "Регистр передачи данных (THR).\n" "\n" -"Информация, записанная в этот порт, обрабатывается как слова данных и передается через UART." +"Информация, записанная в этот порт, обрабатывается как слова данных и " +"передаётся через UART." #. type: Table #: documentation/content/en/articles/serial-uart/_index.adoc:685 @@ -2600,11 +2601,13 @@ "Bit 1 -> Receiver FIFO Reset. When a \"1\" is written to this bit, the contents of the FIFO are discarded. Any word currently being assembled in the shift register will be received intact. +\n" "Bit 0 -> 16550 FIFO Enable. When set, both the transmit and receive FIFOs are enabled. Any contents in the holding register, shift registers or FIFOs are lost when FIFOs are enabled or disabled. +" msgstr "" -"Регистр управления FIFO (FCR — FIFO Control Register) (Этот порт отсутствует в UART 8250 и 16450.) +\n" +"Регистр управления FIFO (FCR — FIFO Control Register) (Этот порт отсутствует " +"в UART 8250 и 16450.) +\n" "Бит 7 -> Бит триггера приемника #1 +\n" "Бит 6 -> Бит триггера приемника #0 +\n" "\n" -"Эти два бита определяют, при каком количестве данных приемник должен генерировать прерывание, когда FIFO активен. +\n" +"Эти два бита определяют, при каком количестве данных приемник должен " +"генерировать прерывание, когда FIFO активен. +\n" "7 6 Количество слов перед генерацией прерывания +\n" "0 0 1 +\n" "0 1 4 +\n" @@ -2612,10 +2615,18 @@ "1 1 14 +\n" "Бит 5 -> Зарезервирован, всегда 0. +\n" "Бит 4 -> Зарезервирован, всегда 0. +\n" -"Бит 3 -> Выбор режима DMA. Если бит 0 установлен в \"1\" (FIFO включены), установка этого бита изменяет работу сигналов -RXRDY и -TXRDY с режима 0 на режим 1. +\n" -"Бит 2 -> Сброс передающего FIFO. При записи \"1\" в этот бит содержимое FIFO очищается. Любое слово, которое передается в данный момент, будет отправлено полностью. Эта функция полезна для прерывания передачи. +\n" -"Бит 1 -> Сброс приемного FIFO. При записи \"1\" в этот бит содержимое FIFO очищается. Любое слово, которое в данный момент собирается в сдвиговом регистре, будет принято полностью. +\n" -"Бит 0 -> Включение FIFO 16550. При установке этого бита активируются как передающий, так и приемный FIFO. Любое содержимое в регистре хранения, сдвиговых регистрах или FIFO теряется при включении или отключении FIFO. +" +"Бит 3 -> Выбор режима DMA. Если бит 0 установлен в \"1\" (FIFO включены), " +"установка этого бита изменяет работу сигналов -RXRDY и -TXRDY с режима 0 на " +"режим 1. +\n" +"Бит 2 -> Сброс передающего FIFO. При записи \"1\" в этот бит содержимое FIFO " +"очищается. Любое слово, которое передаётся в данный момент, будет отправлено " +"полностью. Эта функция полезна для прерывания передачи. +\n" +"Бит 1 -> Сброс приемного FIFO. При записи \"1\" в этот бит содержимое FIFO " +"очищается. Любое слово, которое в данный момент собирается в сдвиговом " +"регистре, будет принято полностью. +\n" +"Бит 0 -> Включение FIFO 16550. При установке этого бита активируются как " +"передающий, так и приемный FIFO. Любое содержимое в регистре хранения, " +"сдвиговых регистрах или FIFO теряется при включении или отключении FIFO. +" #. type: Table #: documentation/content/en/articles/serial-uart/_index.adoc:742 @@ -2696,12 +2707,28 @@ "1 1 8 Data Bits +" msgstr "" "Регистр управления линией (LCR — Line Control Register) +\n" -"Бит 7 -> Бит доступа к защелке делителя (DLAB). При установке доступ к регистру передачи/приема данных (THR/RBR) и регистру разрешения прерываний (IER) отключается. Любой доступ к этим портам перенаправляется к регистрам защелки делителя. Установка этого бита, загрузка регистров делителя и сброс DLAB должны выполняться при отключенных прерываниях. +\n" -"Бит 6 -> Установка прерывания. При установке в \"1\" передатчик начинает передавать непрерывный интервал (Spacing), пока этот бит не будет сброшен в \"0\". Это переопределяет любые передаваемые биты символов. +\n" -"Бит 5 -> Фиксированный бит четности. При включенной проверке четности установка этого бита приводит к тому, что бит четности всегда будет \"1\" или \"0\" в зависимости от значения бита 4.\n" -"Бит 4 -> Выбор четности (EPS). При включенной проверке четности и если бит 5 равен \"0\", установка этого бита приводит к использованию и ожиданию четной четности. В противном случае используется нечетная четность. +\n" -"Бит 3 -> Разрешение проверки четности (PEN). При установке в \"1\" бит четности вставляется между последним битом данных и стоповым битом. UART также ожидает наличие бита четности в принимаемых данных. +\n" -"Бит 2 -> Количество стоповых битов (STB). Если установлен в \"1\" и используются 5-битные слова данных, передается и ожидается 1.5 стоповых бита в каждом слове данных. Для 6, 7 и 8-битных слов данных передается и ожидается 2 стоповых бита. Если этот бит сброшен в \"0\", используется один стоповый бит в каждом слове данных. +\n" +"Бит 7 -> Бит доступа к защелке делителя (DLAB). При установке доступ к " +"регистру передачи/приема данных (THR/RBR) и регистру разрешения прерываний " +"(IER) отключается. Любой доступ к этим портам перенаправляется к регистрам " +"защелки делителя. Установка этого бита, загрузка регистров делителя и сброс " +"DLAB должны выполняться при отключенных прерываниях. +\n" +"Бит 6 -> Установка прерывания. При установке в \"1\" передатчик начинает " +"передавать непрерывный интервал (Spacing), пока этот бит не будет сброшен в " +"\"0\". Это переопределяет любые передаваемые биты символов. +\n" +"Бит 5 -> Фиксированный бит чётности. При включенной проверке чётности " +"установка этого бита приводит к тому, что бит чётности всегда будет \"1\" " +"или \"0\" в зависимости от значения бита 4.\n" +"Бит 4 -> Выбор чётности (EPS). При включенной проверке чётности и если бит 5 " +"равен \"0\", установка этого бита приводит к использованию и ожиданию четной " +"чётности. В противном случае используется нечетная чётность. +\n" +"Бит 3 -> Разрешение проверки чётности (PEN). При установке в \"1\" бит " +"чётности вставляется между последним битом данных и стоповым битом. UART " +"также ожидает наличие бита чётности в принимаемых данных. +\n" +"Бит 2 -> Количество стоповых битов (STB). Если установлен в \"1\" и " +"используются 5-битные слова данных, передаётся и ожидается 1.5 стоповых бита " +"в каждом слове данных. Для 6, 7 и 8-битных слов данных передаётся и " +"ожидается 2 стоповых бита. Если этот бит сброшен в \"0\", используется один " +"стоповый бит в каждом слове данных. +\n" "Бит 1 -> Бит выбора длины слова #1 (WLSB1) +\n" "Бит 0 -> Бит выбора длины слова #0 (WLSB0) +\n" "Вместе эти биты определяют количество битов в каждом слове данных. +\n" @@ -2762,14 +2789,29 @@ "Bit 0 -> Data Ready (DR) One or more words are in the receive FIFO that the host may read. A word must be completely received and moved from the shift register into the FIFO (or holding register for 8250/16450 designs) before this bit is set." msgstr "" "Регистр состояния линии (LSR — Line Status Register) +\n" -"Бит 7 -> Ошибка в FIFO приемника. На UART 8250/16450 этот бит равен нулю. Этот бит устанавливается в «1», когда любой из байтов в FIFO имеет одно или несколько из следующих условий ошибки: PE, FE или BI. +\n" -"Бит 6 -> Передатчик пуст (TEMT). Когда установлен в «1», в FIFO передатчика или сдвиговом регистре передатчика не осталось слов. Передатчик полностью бездействует. +\n" -"Бит 5 -> Регистр хранения передатчика пуст (THRE). Когда установлен в «1», в FIFO (или регистре хранения) теперь есть место для передачи как минимум одного дополнительного слова. Передатчик может все еще передавать данные, когда этот бит установлен в «1». +\n" +"Бит 7 -> Ошибка в FIFO приемника. На UART 8250/16450 этот бит равен нулю. " +"Этот бит устанавливается в «1», когда любой из байтов в FIFO имеет одно или " +"несколько из следующих условий ошибки: PE, FE или BI. +\n" +"Бит 6 -> Передатчик пуст (TEMT). Когда установлен в «1», в FIFO передатчика " +"или сдвиговом регистре передатчика не осталось слов. Передатчик полностью " +"бездействует. +\n" +"Бит 5 -> Регистр хранения передатчика пуст (THRE). Когда установлен в «1», в " +"FIFO (или регистре хранения) теперь есть место для передачи как минимум " +"одного дополнительного слова. Передатчик может все еще передавать данные, " +"когда этот бит установлен в «1». +\n" "Бит 4 -> Прерывание по Break (BI). Приемник обнаружил сигнал Break. +\n" -"Бит 3 -> Ошибка кадрирования (FE). Обнаружен стартовый бит, но стоповый бит не появился в ожидаемое время. Принятое слово, вероятно, искажено. +\n" -"Бит 2 -> Ошибка четности (PE). Бит четности для принятого слова был некорректен. +\n" -"Бит 1 -> Ошибка переполнения (OE). Было получено новое слово, но в буфере приема не было места. Вновь поступившее слово в сдвиговом регистре отбрасывается. На UART 8250/16450 слово в регистре хранения отбрасывается, а вновь поступившее слово помещается в регистр хранения. +\n" -"Бит 0 -> Данные готовы (DR). Одно или несколько слов находятся в FIFO приемника, которые хост может прочитать. Слово должно быть полностью принято и перемещено из сдвигового регистра в FIFO (или регистр хранения для 8250/16450) до того, как этот бит будет установлен." +"Бит 3 -> Ошибка кадрирования (FE). Обнаружен стартовый бит, но стоповый бит " +"не появился в ожидаемое время. Принятое слово, вероятно, искажено. +\n" +"Бит 2 -> Ошибка чётности (PE). Бит чётности для принятого слова был " +"некорректен. +\n" +"Бит 1 -> Ошибка переполнения (OE). Было получено новое слово, но в буфере " +"приема не было места. Вновь поступившее слово в сдвиговом регистре " +"отбрасывается. На UART 8250/16450 слово в регистре хранения отбрасывается, а " +"вновь поступившее слово помещается в регистр хранения. +\n" +"Бит 0 -> Данные готовы (DR). Одно или несколько слов находятся в FIFO " +"приемника, которые хост может прочитать. Слово должно быть полностью принято " +"и перемещено из сдвигового регистра в FIFO (или регистр хранения для 8250/" +"16450) до того, как этот бит будет установлен." #. type: Table #: documentation/content/en/articles/serial-uart/_index.adoc:801 @@ -3046,10 +3088,10 @@ "MYKERNEL and editing with vi." msgstr "" "Если у вас ещё нет настроенного файла конфигурации пользовательского ядра, " -"обратитесь к extref:{handbook}kernelconfig[Конфигурация ядра, kernelconfig] " -"в руководстве FreeBSD для получения общих инструкций. Ниже приведены " -"конкретные настройки для платы Boca 16, предполагается, что вы используете " -"ядро с именем MYKERNEL и редактируете его с помощью vi." +"обратитесь к разделу extref:{handbook}kernelconfig[Конфигурация ядра, " +"kernelconfig] в руководстве FreeBSD для получения общих инструкций. Ниже " +"приведены конкретные настройки для платы Boca 16, предполагается, что вы " +"используете ядро с именем MYKERNEL и редактируете его с помощью vi." #. type: delimited block = 4 #: documentation/content/en/articles/serial-uart/_index.adoc:887 diff --git a/documentation/content/ru/articles/solid-state/_index.adoc b/documentation/content/ru/articles/solid-state/_index.adoc --- a/documentation/content/ru/articles/solid-state/_index.adoc +++ b/documentation/content/ru/articles/solid-state/_index.adoc @@ -46,7 +46,7 @@ В этой статье описывается использование твердотельных дисковых устройств для создания встраиваемых систем на основе FreeBSD. -Встраиваемые системы имеют преимущество в повышенной надежности по причине отсутствия в них движущихся частей (жестких дисков). Однако, следует принять во внимание, что системе, как правило, доступно очень малое дисковое пространство и ограниченный объем запоминающего устройства. +Встраиваемые системы имеют преимущество в повышенной надёжности по причине отсутствия в них движущихся частей (жестких дисков). Однако, следует принять во внимание, что системе, как правило, доступно очень малое дисковое пространство и ограниченный объем запоминающего устройства. К отдельно рассматриваемым вопросам относятся типы и характеристики твердотельных носителей, подходящих для использования в качестве дисков во FreeBSD, параметры ядра, которые представляют интерес в таких условиях, механизмы [.filename]#rc.initdiskless#, автоматизирующие инициализацию таких систем и удовлетворяющие требованиям файловых систем, доступных только для чтения, а также построение файловых систем с нуля. Статья заканчивается описанием некоторых общих стратегий для случаев малых систем FreeBSD и работ в режиме только для чтения. @@ -99,7 +99,7 @@ /dev/ad0s1a / ufs ro 1 1 .... -В результате этих изменений в среднестатистической системе несколько приложений немедленно перестанут работать. Например, cron не будет нормально запускаться в результате отсутствия таблиц для него в каталоге [.filename]#/var#, созданном [.filename]#/etc/rc.d/var#, а syslog и dhcp будут испытывать проблемы из-за доступа файловой системы только для чтения, а также отсутствия записей в [.filename]#/var#, который был создан скриптом [.filename]#/etc/rc.d/var#. Хотя эти проблемы являются временными и обсуждаются вместе с решением проблем с запуском распространенных программных пакетов в разделе crossref:solid-state[strategies, Стратегии работы с системой для случаев небольших и доступных только для чтения файловых систем]. +В результате этих изменений в среднестатистической системе несколько приложений немедленно перестанут работать. Например, cron не будет нормально запускаться в результате отсутствия таблиц для него в каталоге [.filename]#/var#, созданном [.filename]#/etc/rc.d/var#, а syslog и dhcp будут испытывать проблемы из-за доступа файловой системы только для чтения, а также отсутствия записей в [.filename]#/var#, который был создан скриптом [.filename]#/etc/rc.d/var#. Хотя эти проблемы являются временными и обсуждаются вместе с решением проблем с запуском распространённых программных пакетов в разделе crossref:solid-state[strategies, Стратегии работы с системой для случаев небольших и доступных только для чтения файловых систем]. Важно помнить, что файловая система, которая была смонтирована только для чтения при помощи файла [.filename]#/etc/fstab#, в любой момент может быть сделана доступной по чтению и записи выдачей команды: @@ -169,7 +169,7 @@ # route add default 192.168.0.1 .... + -Теперь, когда машина находится в сети, перепишите ваш tar-файл. Здесь вы можете столкнуться с некоторой проблемой - если объем вашей флеш-памяти равен, к примеру, 128 мегабайтам, а ваш tar-файл превышает 64 мегабайта, то вы не можете одновременно разместить tar-файл на флеш-носителе и распаковать его - вам не хватит места. Одним из решений этой проблемы, если вы используете FTP, является распаковка файла во время его передачи по FTP. Если вы передаете файл именно так, то вы никогда не получите на диске одновременно архивный файл и его содержимое: +Теперь, когда машина находится в сети, перепишите ваш tar-файл. Здесь вы можете столкнуться с некоторой проблемой - если объем вашей флеш-памяти равен, к примеру, 128 мегабайтам, а ваш tar-файл превышает 64 мегабайта, то вы не можете одновременно разместить tar-файл на флеш-носителе и распаковать его - вам не хватит места. Одним из решений этой проблемы, если вы используете FTP, является распаковка файла во время его передачи по FTP. Если вы передаёте файл именно так, то вы никогда не получите на диске одновременно архивный файл и его содержимое: + [source, shell] .... @@ -198,7 +198,7 @@ [[strategies]] == Стратегии работы с системой для случаев небольших и доступных только для чтения файловых систем -В разделе crossref:solid-state[ro-fs, Подсистема `rc` и файловые системы в режиме только чтения] было указано, что файловая система [.filename]#/var#, создаваемая скриптом [.filename]#/etc/rc.d/var#, и наличие корневой файловой системы, доступной только для чтения, приводят к проблемам при работе многих распространенных программных пакетов, используемых во FreeBSD. В этой статье будут даны рекомендации по настройке нормальной работы cron и syslog, установке портов и веб-сервера Apache. +В разделе crossref:solid-state[ro-fs, Подсистема `rc` и файловые системы в режиме только чтения] было указано, что файловая система [.filename]#/var#, создаваемая скриптом [.filename]#/etc/rc.d/var#, и наличие корневой файловой системы, доступной только для чтения, приводят к проблемам при работе многих распространённых программных пакетов, используемых во FreeBSD. В этой статье будут даны рекомендации по настройке нормальной работы cron и syslog, установке портов и веб-сервера Apache. === Cron diff --git a/documentation/content/ru/articles/solid-state/_index.po b/documentation/content/ru/articles/solid-state/_index.po --- a/documentation/content/ru/articles/solid-state/_index.po +++ b/documentation/content/ru/articles/solid-state/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2024-12-29 08:30-0500\n" -"PO-Revision-Date: 2025-10-29 04:45+0000\n" +"PO-Revision-Date: 2025-11-20 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -53,7 +53,7 @@ "the generally low disk space available in the system and the durability of " "the storage medium." msgstr "" -"Встраиваемые системы имеют преимущество в повышенной надежности по причине " +"Встраиваемые системы имеют преимущество в повышенной надёжности по причине " "отсутствия в них движущихся частей (жестких дисков). Однако, следует принять " "во внимание, что системе, как правило, доступно очень малое дисковое " "пространство и ограниченный объем запоминающего устройства." @@ -320,7 +320,7 @@ "испытывать проблемы из-за доступа файловой системы только для чтения, а " "также отсутствия записей в [.filename]#/var#, который был создан скриптом [." "filename]#/etc/rc.d/var#. Хотя эти проблемы являются временными и " -"обсуждаются вместе с решением проблем с запуском распространенных " +"обсуждаются вместе с решением проблем с запуском распространённых " "программных пакетов в разделе crossref:solid-state[strategies, Стратегии " "работы с системой для случаев небольших и доступных только для чтения " "файловых систем]." @@ -561,7 +561,7 @@ "вы не можете одновременно разместить tar-файл на флеш-носителе и распаковать " "его - вам не хватит места. Одним из решений этой проблемы, если вы " "используете FTP, является распаковка файла во время его передачи по FTP. " -"Если вы передаете файл именно так, то вы никогда не получите на диске " +"Если вы передаёте файл именно так, то вы никогда не получите на диске " "одновременно архивный файл и его содержимое:" #. type: delimited block . 4 @@ -638,7 +638,7 @@ "режиме только чтения] было указано, что файловая система [.filename]#/var#, " "создаваемая скриптом [.filename]#/etc/rc.d/var#, и наличие корневой файловой " "системы, доступной только для чтения, приводят к проблемам при работе многих " -"распространенных программных пакетов, используемых во FreeBSD. В этой статье " +"распространённых программных пакетов, используемых во FreeBSD. В этой статье " "будут даны рекомендации по настройке нормальной работы cron и syslog, " "установке портов и веб-сервера Apache." diff --git a/documentation/content/ru/articles/vinum/_index.adoc b/documentation/content/ru/articles/vinum/_index.adoc --- a/documentation/content/ru/articles/vinum/_index.adoc +++ b/documentation/content/ru/articles/vinum/_index.adoc @@ -55,9 +55,9 @@ [[vinum-synopsis]] == Обзор -Независимо от типа дисков, всегда существуют потенциальные проблемы. Диски могут быть слишком малы, слишком медленны или недостаточно надежны для соответствия требованиям системы. Хотя диски становятся больше, требования к хранению данных также растут. Часто требуется файловая система, размер которой превышает емкость одного диска. Были предложены и реализованы различные решения этих проблем. +Независимо от типа дисков, всегда существуют потенциальные проблемы. Диски могут быть слишком малы, слишком медленны или недостаточно надёжны для соответствия требованиям системы. Хотя диски становятся больше, требования к хранению данных также растут. Часто требуется файловая система, размер которой превышает емкость одного диска. Были предложены и реализованы различные решения этих проблем. -Один из методов заключается в использовании нескольких, а иногда и избыточных дисков. Помимо поддержки различных карт и контроллеров для аппаратных систем RAID (Redundant Array of Independent Disks), базовая система FreeBSD включает менеджер томов [.filename]#vinum#, драйвер блочных устройств, который реализует виртуальные диски и решает эти три проблемы. [.filename]#vinum# обеспечивает большую гибкость, производительность и надежность по сравнению с традиционными системами хранения данных, а также реализует модели `RAID`-0, `RAID`-1 и `RAID`-5 как по отдельности, так и в комбинации. +Один из методов заключается в использовании нескольких, а иногда и избыточных дисков. Помимо поддержки различных карт и контроллеров для аппаратных систем RAID (Redundant Array of Independent Disks), базовая система FreeBSD включает менеджер томов [.filename]#vinum#, драйвер блочных устройств, который реализует виртуальные диски и решает эти три проблемы. [.filename]#vinum# обеспечивает большую гибкость, производительность и надёжность по сравнению с традиционными системами хранения данных, а также реализует модели `RAID`-0, `RAID`-1 и `RAID`-5 как по отдельности, так и в комбинации. Эта глава предоставляет обзор потенциальных проблем с традиционным дисковым хранилищем и введение в менеджер томов [.filename]#vinum#. @@ -112,7 +112,7 @@ * Требуется в два раза больше дискового пространства, чем для решения без избыточности. * Запись должна выполняться на оба диска, поэтому она занимает в два раза больше пропускной способности, чем в незеркалированном томе. Чтение не страдает от потери производительности и может быть даже быстрее. -Альтернативным решением является _четность_, реализованная в уровнях `RAID` 2, 3, 4 и 5. Из них `RAID-5` представляет наибольший интерес. В реализации [.filename]#vinum# это вариант организации с чередованием, где один блок каждой полосы выделяется под четность одного из других блоков. В реализации [.filename]#vinum# плекс `RAID-5` аналогичен плексу с чередованием, за исключением того, что он реализует `RAID-5`, включая блок четности в каждую полосу. Как требуется в `RAID-5`, расположение этого блока четности меняется от одной полосы к другой. Числа в блоках данных обозначают относительные номера блоков. +Альтернативным решением является _чётность_, реализованная в уровнях `RAID` 2, 3, 4 и 5. Из них `RAID-5` представляет наибольший интерес. В реализации [.filename]#vinum# это вариант организации с чередованием, где один блок каждой полосы выделяется под чётность одного из других блоков. В реализации [.filename]#vinum# плекс `RAID-5` аналогичен плексу с чередованием, за исключением того, что он реализует `RAID-5`, включая блок чётности в каждую полосу. Как требуется в `RAID-5`, расположение этого блока чётности меняется от одной полосы к другой. Числа в блоках данных обозначают относительные номера блоков. [[vinum-raid5-org]] .Организация `RAID`-5 @@ -414,7 +414,7 @@ === Создание файловых систем -Тома для системы выглядят идентично дискам, за одним исключением. В отличие от дисков UNIX(R), [.filename]#vinum# не разбивает тома на разделы, поэтому они не содержат таблицы разделов. Это потребовало внесения изменений в некоторые утилиты для работы с дисками, в частности, в man:newfs[8], чтобы они не пытались интерпретировать последнюю букву имени тома [.filename]#vinum# как идентификатор раздела. Например, имя диска может выглядеть как [.filename]#/dev/ad0a# или [.filename]#/dev/da2h#. Эти имена обозначают первый раздел ([.filename]#a#) на первом (0) IDE-диске ([.filename]#ad#) и восьмой раздел ([.filename]#h#) на третьем (2) SCSI-диске ([.filename]#da#) соответственно. В отличие от этого, том [.filename]#vinum# может называться [.filename]#/dev/gvinum/concat#, что не имеет отношения к имени раздела. +Тома для системы выглядят идентично дискам, за одним исключением. В отличие от дисков UNIX(R), [.filename]#vinum# не разбивает тома на разделы, поэтому они не содержат таблицы разделов. Это потребовало внесения изменений в некоторые утилиты для работы с дисками, в частности, в man:newfs[8], чтобы они не пытались интерпретировать последнюю букву имени тома [.filename]#vinum# как идентификатор раздела. Например, имя диска может выглядеть как [.filename]#/dev/ad0a# или [.filename]#/dev/da2h#. Эти имена обозначают первый раздел ([.filename]#a#) на первом (0) IDE-диске ([.filename]#ad#) и восьмой раздел ([.filename]#h#) на третьем (2) SCSI-диске ([.filename]#da#), соответственно. В отличие от этого, том [.filename]#vinum# может называться [.filename]#/dev/gvinum/concat#, что не имеет отношения к имени раздела. Чтобы создать файловую систему на этом томе, используйте man:newfs[8]: diff --git a/documentation/content/ru/articles/vinum/_index.po b/documentation/content/ru/articles/vinum/_index.po --- a/documentation/content/ru/articles/vinum/_index.po +++ b/documentation/content/ru/articles/vinum/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" -"PO-Revision-Date: 2025-11-10 04:45+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -58,7 +58,7 @@ "implemented." msgstr "" "Независимо от типа дисков, всегда существуют потенциальные проблемы. Диски " -"могут быть слишком малы, слишком медленны или недостаточно надежны для " +"могут быть слишком малы, слишком медленны или недостаточно надёжны для " "соответствия требованиям системы. Хотя диски становятся больше, требования " "к хранению данных также растут. Часто требуется файловая система, размер " "которой превышает емкость одного диска. Были предложены и реализованы " @@ -82,7 +82,7 @@ "система FreeBSD включает менеджер томов [.filename]#vinum#, драйвер блочных " "устройств, который реализует виртуальные диски и решает эти три проблемы. [." "filename]#vinum# обеспечивает большую гибкость, производительность и " -"надежность по сравнению с традиционными системами хранения данных, а также " +"надёжность по сравнению с традиционными системами хранения данных, а также " "реализует модели `RAID`-0, `RAID`-1 и `RAID`-5 как по отдельности, так и в " "комбинации." @@ -396,13 +396,13 @@ "stripe to the next. The numbers in the data blocks indicate the relative " "block numbers." msgstr "" -"Альтернативным решением является _четность_, реализованная в уровнях `RAID` " +"Альтернативным решением является _чётность_, реализованная в уровнях `RAID` " "2, 3, 4 и 5. Из них `RAID-5` представляет наибольший интерес. В реализации [." "filename]#vinum# это вариант организации с чередованием, где один блок " -"каждой полосы выделяется под четность одного из других блоков. В реализации " -"[.filename]#vinum# плекс `RAID-5` аналогичен плексу с чередованием, за " -"исключением того, что он реализует `RAID-5`, включая блок четности в каждую " -"полосу. Как требуется в `RAID-5`, расположение этого блока четности меняется " +"каждой полосы выделяется под чётность одного из других блоков. В реализации [" +".filename]#vinum# плекс `RAID-5` аналогичен плексу с чередованием, за " +"исключением того, что он реализует `RAID-5`, включая блок чётности в каждую " +"полосу. Как требуется в `RAID-5`, расположение этого блока чётности меняется " "от одной полосы к другой. Числа в блоках данных обозначают относительные " "номера блоков." @@ -1507,8 +1507,8 @@ "filename]#vinum# как идентификатор раздела. Например, имя диска может " "выглядеть как [.filename]#/dev/ad0a# или [.filename]#/dev/da2h#. Эти имена " "обозначают первый раздел ([.filename]#a#) на первом (0) IDE-диске ([." -"filename]#ad#) и восьмой раздел ([.filename]#h#) на третьем (2) SCSI-диске " -"([.filename]#da#) соответственно. В отличие от этого, том [.filename]#vinum# " +"filename]#ad#) и восьмой раздел ([.filename]#h#) на третьем (2) SCSI-диске ([" +".filename]#da#), соответственно. В отличие от этого, том [.filename]#vinum# " "может называться [.filename]#/dev/gvinum/concat#, что не имеет отношения к " "имени раздела." diff --git a/documentation/content/ru/articles/vm-design/_index.po b/documentation/content/ru/articles/vm-design/_index.po --- a/documentation/content/ru/articles/vm-design/_index.po +++ b/documentation/content/ru/articles/vm-design/_index.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" -"POT-Creation-Date: 2025-10-12 22:25+0300\n" +"POT-Creation-Date: 2025-06-29 21:20+0100\n" "PO-Revision-Date: 2025-07-05 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian =20) ? 1 : 2;\n" "X-Generator: Weblate 4.17\n" -#. type: Yaml Front Matter Hash Value: description +#. type: YAML Front Matter: description #: documentation/content/en/articles/vm-design/_index.adoc:1 #, no-wrap msgid "An easy to follow description of the design of the FreeBSD virtual memory system" -msgstr "Простое и понятное описание архитектуры системы виртуальной памяти FreeBSD" +msgstr "" +"Простое и понятное описание архитектуры системы виртуальной памяти FreeBSD" #. type: Title = #: documentation/content/en/articles/vm-design/_index.adoc:1 @@ -42,17 +43,17 @@ "состоянию системы виртуальной памяти. Он сохранён в исторических целях и " "может быть обновлён в будущем." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:50 msgid "Abstract" msgstr "Аннотация" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:52 msgid "Matthew Dillon " msgstr "Matthew Dillon " -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:59 msgid "" "The title is really just a fancy way of saying that I am going to attempt to " @@ -83,7 +84,7 @@ "Я не историк, в отличие от Кирка, поэтому не стану приписывать различные " "функции конкретным людям — всё равно где-нибудь ошибусь." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:61 msgid "'''" msgstr "'''" @@ -94,7 +95,7 @@ msgid "Introduction" msgstr "Введение" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:81 msgid "" "Before moving along to the actual design let's spend a little time on the " @@ -151,7 +152,7 @@ "архитектуры отсутствует\" и \"мы всегда правы, потому что так говорит наш " "отдел продаж\". Я плохо переношу тех, кого не учит история." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:86 msgid "" "Much of the apparent complexity of the FreeBSD design, especially in the VM/" @@ -171,7 +172,7 @@ "подсистему VM/Swap во FreeBSD, то читатель должен всегда иметь в виду два " "обстоятельства:" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:88 msgid "" "The most important aspect of performance design is what is known as " @@ -184,7 +185,7 @@ "оптимизация производительности дает прирост объема кода ради того, чтобы " "критический маршрут работал быстрее." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:89 msgid "" "A solid, generalized design outperforms a heavily-optimized design over the " @@ -199,7 +200,7 @@ "обобщенной архитектуре легче подстраиваться под изменяющиеся условия и " "чрезмерно оптимизированная архитектура оказывается непригодной." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:93 msgid "" "Any codebase that will survive and be maintainable for years must therefore " @@ -223,7 +224,7 @@ msgid "VM Objects" msgstr "Объекты VM" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:105 msgid "" "The best way to begin describing the FreeBSD VM system is to look at it from " @@ -255,7 +256,7 @@ "переводит проблему управления VM полностью в новую плоскость, вдобавок к уже " "имеющимся сложностям." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:111 msgid "" "A program binary data page (which is a basic copy-on-write page) illustrates " @@ -281,7 +282,7 @@ "копия была изменена, то VM-система не может больше освобождать эту страницу, " "так как впоследствии ее невозможно будет восстановить." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:118 msgid "" "You will notice immediately that what was originally a simple file mapping " @@ -313,7 +314,7 @@ "полагают, что их собственные изменения после разветвления будут принадлежать " "только им, и не затронут родственный процесс." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:127 msgid "" "FreeBSD manages all of this with a layered VM Object model. The original " @@ -351,7 +352,7 @@ msgid "fig1.png" msgstr "fig1.png" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:133 msgid "" "A represents the file-pages may be paged in and out of the file's physical " @@ -372,7 +373,7 @@ msgid "fig2.png" msgstr "fig2.png" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:139 msgid "" "On the first write to a page after this, a new page is created in B, and its " @@ -392,7 +393,7 @@ msgid "fig3.png" msgstr "fig3.png" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:151 msgid "" "In this case, let's say a page in B is modified by the original parent " @@ -428,7 +429,7 @@ msgid "fig4.png" msgstr "fig4.png" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:158 msgid "" "In this case, the number of children of B drops to one, and all accesses to " @@ -445,7 +446,7 @@ "шаге может не делаться, мы можем восстановить мертвые страницы при окончании " "работы процессов или при вызове `exec()`." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:165 msgid "" "This model creates a number of potential problems. The first is that you " @@ -469,7 +470,7 @@ "страницу, они оба получают собственные копии страницы, а исходная страница в " "B становится никому не доступной. такая страница в B может быть высвобождена." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:176 msgid "" "FreeBSD solves the deep layering problem with a special optimization called " @@ -508,7 +509,7 @@ "порожденного процессов, и остается в силе как в случае, когда ветвление " "делает родитель, так и в случае, когда ветвление выполняет потомок." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:180 msgid "" "The dead page problem still exists in the case where C1 or C2 do not " @@ -524,7 +525,7 @@ "она выполняет их выгрузку в область подкачки, что занимает некоторое " "пространство в области подкачки, но это все." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:184 msgid "" "The advantage to the VM Object model is that `fork()` is extremely fast, " @@ -549,7 +550,7 @@ msgid "SWAP Layers" msgstr "Уровни области подкачки" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:194 msgid "" "Private data pages are initially either copy-on-write or zero-fill pages. " @@ -572,7 +573,7 @@ "действительно нужно. Однако структура управления подкачкой исторически имела " "некоторые проблемы:" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:196 msgid "" "Under FreeBSD 3.X the swap management structure preallocates an array that " @@ -588,7 +589,7 @@ "когда в память отображаются большие объекты или когда ветвятся процессы, " "занимающие большой объем памяти при работе (RSS)." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:197 msgid "" "Also, to keep track of swap space, a \"list of holes\" is kept in kernel " @@ -602,7 +603,7 @@ "высвобождении памяти в области подкачки неоптимально и ее сложность зависит " "от количества страниц как O(n)." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:198 msgid "" "It requires kernel memory allocations to take place during the swap freeing " @@ -611,7 +612,7 @@ "Также в процессе высвобождения памяти в области подкачки требуется выделение " "памяти в ядре, и это приводит к проблемам блокировки при недостатке памяти." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:199 msgid "" "The problem is further exacerbated by holes created due to the interleaving " @@ -620,7 +621,7 @@ "Проблема еще более обостряется из-за дыр, создаваемых по чередующемуся " "алгоритму." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:200 msgid "" "Also, the swap block map can become fragmented fairly easily resulting in " @@ -629,7 +630,7 @@ "Кроме того, список распределения блоков в области подкачки легко оказывается " "фрагментированным, что приводит к распределению непоследовательных областей." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:201 msgid "" "Kernel memory must also be allocated on the fly for additional swap " @@ -639,7 +640,7 @@ "структур по управлению областью подкачки при выгрузке страниц памяти в эту " "область." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:204 msgid "" "It is evident from that list that there was plenty of room for improvement. " @@ -648,7 +649,7 @@ "Очевидно, что мест для усовершенствований предостаточно. Во FreeBSD 4.X " "подсистема управления областью подкачки была полностью переписана мною:" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:206 msgid "" "Swap management structures are allocated through a hash table rather than a " @@ -658,7 +659,7 @@ "таблицы, а не через линейный массив, что дает им фиксированный размер при " "распределении и работу с гораздо меньшими структурами." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:207 msgid "" "Rather then using a linearly linked list to keep track of swap space " @@ -673,7 +674,7 @@ "узлах структур. Это приводит к тому, что выделение и высвобождение памяти в " "области подкачки становится операцией сложности O(1)." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:208 msgid "" "The entire radix tree bitmap is also preallocated to avoid having to " @@ -688,7 +689,7 @@ "распределения памяти ядра в такие моменты для избежания потенциальных " "блокировок." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:209 msgid "" "To reduce fragmentation the radix tree is capable of allocating large " @@ -697,7 +698,7 @@ "Для уменьшения фрагментации дерево может распределять большой " "последовательный кусок за раз, пропуская меньшие фрагментированные области." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:211 msgid "" "I did not take the final step of having an \"allocating hint pointer\" that " @@ -716,7 +717,7 @@ msgid "When to free a page" msgstr "Когда освобождать страницу" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:218 msgid "" "Since the VM system uses all available memory for disk caching, there are " @@ -736,7 +737,7 @@ "будет запрашивать страницы с диска, значительно снижая производительность " "всей системы." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:221 msgid "" "How much overhead are we willing to suffer in the critical path to avoid " @@ -754,7 +755,7 @@ "страница. Вот почему FreeBSD превосходит другие системы в производительности " "при нехватке ресурсов памяти." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:224 msgid "" "The free page determination algorithm is built upon a history of the use of " @@ -766,7 +767,7 @@ "возможности бита использования памяти, которые имеются в большинстве " "аппаратных таблицах страниц памяти." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:230 msgid "" "In any case, the page-used bit is cleared and at some later point the VM " @@ -786,7 +787,7 @@ "некоторые страницы, проверка истории выступает указателем при определении " "наиболее вероятной кандидатуры для повторного использования." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:235 msgid "" "For those platforms that do not have this feature, the system actually " @@ -807,7 +808,7 @@ "весьма накладно, это выгоднее, чем повторно использовать страницу для других " "целей и обнаружить, что она снова нужна процессу и подгружать ее с диска." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:245 msgid "" "FreeBSD makes use of several page queues to further refine the selection of " @@ -850,7 +851,7 @@ "немедленно\" и повторно использовать в LRU-порядке (меньше всего " "используемый), когда системе потребуется выделение дополнительной памяти." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:249 msgid "" "It is important to note that the FreeBSD VM system attempts to separate " @@ -873,7 +874,7 @@ "различных очередей страниц в соотношениях, которые являются наиболее " "эффективными." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:253 msgid "" "An urban myth has circulated for years that Linux did a better job avoiding " @@ -896,7 +897,7 @@ msgid "Pre-Faulting and Zeroing Optimizations" msgstr "Оптимизация ошибок доступа к страницам и их обнуления" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:265 msgid "" "Taking a VM fault is not expensive if the underlying page is already in core " @@ -935,7 +936,7 @@ "Предварительное копирование страниц при выполнении вызовов exec или fork " "находятся в области, требующей более тщательного изучения." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:274 msgid "" "A large percentage of page faults that occur are zero-fill faults. You can " @@ -952,8 +953,8 @@ "system to optimize the critical path." msgstr "" "Большой процент ошибок доступа к страницам, относится к ошибкам при " -"заполнении нулями. Вы можете обычно видеть это, просматривая вывод команды " -"`vmstat -s`. Это происходит, когда процесс обращается к страницам в своей " +"заполнении нулями. Вы можете обычно видеть это, просматривая вывод команды `" +"vmstat -s`. Это происходит, когда процесс обращается к страницам в своей " "области BSS. Область BSS предполагается изначально заполненной нулями, но VM-" "система не заботится о выделении памяти до тех пор, пока процесс реально к " "ней не обратится. При возникновении ошибки VM-система должна не только " @@ -972,7 +973,7 @@ msgid "Page Table Optimizations" msgstr "Оптимизация таблицы страниц" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:286 msgid "" "The page table optimizations make up the most contentious part of the " @@ -1014,7 +1015,7 @@ "сервер телеконференций, потому что структуры `pv_entry` могут оказаться " "исчерпанными." -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:291 msgid "" "Both Linux and FreeBSD need work in this area. FreeBSD is trying to " @@ -1045,7 +1046,7 @@ msgid "Conclusion" msgstr "Заключение" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:298 msgid "" "Virtual memory in modern operating systems must address a number of " @@ -1068,15 +1069,18 @@ #: documentation/content/en/articles/vm-design/_index.adoc:300 #, no-wrap msgid "Bonus QA session by Allen Briggs" -msgstr "Дополнительный сеанс вопросов и ответов от Аллена Бриггса (Allen Briggs)" +msgstr "" +"Дополнительный сеанс вопросов и ответов от Аллена Бриггса (Allen Briggs)" #. type: Title === #: documentation/content/en/articles/vm-design/_index.adoc:302 #, no-wrap msgid "What is the interleaving algorithm that you refer to in your listing of the ills of the FreeBSD 3.X swap arrangements?" -msgstr "Что это за алгоритм чередования, который вы упоминали в списке недостатков подсистемы управления разделом подкачки во FreeBSD 3.X?" +msgstr "" +"Что это за алгоритм чередования, который вы упоминали в списке недостатков " +"подсистемы управления разделом подкачки во FreeBSD 3.X?" -#. type: .abstract-title +#. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:308 msgid "" "FreeBSD uses a fixed swap interleave which defaults to 4. This means that " @@ -1118,8 +1122,8 @@ "FreeBSD 3.X использует \"последовательный список свободных областей\" для " "управления свободными областями в разделе подкачки. Идея состоит в том, что " "большие последовательные блоки свободного пространства могут быть " -"представлены при помощи узла односвязного списка ([.filename]#kern/" -"subr_rlist.c#). Но из-за фрагментации последовательный список сам становится " +"представлены при помощи узла односвязного списка ([.filename]#kern/subr_rlist" +".c#). Но из-за фрагментации последовательный список сам становится " "фрагментированным. В примере выше полностью неиспользуемое пространство в A " "и B будет показано как \"свободное\", а C и D как \"полностью занятое\". " "Каждой последовательности A-B требуется для учета узел списка, потому что C " @@ -1184,7 +1188,11 @@ #: documentation/content/en/articles/vm-design/_index.adoc:331 #, no-wrap msgid "How is the separation of clean and dirty (inactive) pages related to the situation where you see low cache queue counts and high active queue counts in systat -vm? Do the systat stats roll the active and dirty pages together for the active queue count?" -msgstr "Как разделение чистых и грязных (неактивных) страниц связано с ситуацией, когда вы видите маленький счетчик очереди кэша и большой счетчик активной очереди в выдаче команды systat -vm? Разве системная статистика не считает активные и грязные страницы вместе за счетчик активной очереди?" +msgstr "" +"Как разделение чистых и грязных (неактивных) страниц связано с ситуацией, " +"когда вы видите маленький счетчик очереди кэша и большой счетчик активной " +"очереди в выдаче команды systat -vm? Разве системная статистика не считает " +"активные и грязные страницы вместе за счетчик активной очереди?" #. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:336 @@ -1208,15 +1216,20 @@ msgstr "" "Это означает, что FreeBSD не будет очень сильно стараться над отделением " "грязных страниц (неактивная очередь) от чистых страниц (очередь кэша), когда " -"система не находится под нагрузкой, и не будет деактивировать страницы " -"(активная очередь -> неактивная очередь), когда система не нагружена, даже " +"система не находится под нагрузкой, и не будет деактивировать страницы (" +"активная очередь -> неактивная очередь), когда система не нагружена, даже " "если они не используются." #. type: Title === #: documentation/content/en/articles/vm-design/_index.adoc:339 #, no-wrap msgid "In man:ls[1] the / vmstat 1 example, would not some of the page faults be data page faults (COW from executable file to private page)? I.e., I would expect the page faults to be some zero-fill and some program data. Or are you implying that FreeBSD does do pre-COW for the program data?" -msgstr "В примере с / vmstat 1 могут ли некоторые ошибки доступа к странице быть ошибками страниц данных (COW из выполнимого файла в приватные страницы)? То есть я полагаю, что ошибки доступа к страницам являются частично ошибками при заполнении нулями, а частично данных программы. Или вы гарантируете, что FreeBSD выполняет предварительно COW для данных программы?" +msgstr "" +"В примере с / vmstat 1 могут ли некоторые ошибки доступа к странице быть " +"ошибками страниц данных (COW из выполнимого файла в приватные страницы)? То " +"есть я полагаю, что ошибки доступа к страницам являются частично ошибками " +"при заполнении нулями, а частично данных программы. Или вы гарантируете, что " +"FreeBSD выполняет предварительно COW для данных программы?" #. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:345 @@ -1237,7 +1250,11 @@ #: documentation/content/en/articles/vm-design/_index.adoc:346 #, no-wrap msgid "In your section on page table optimizations, can you give a little more detail about pv_entry and vm_page (or should vm_page be vm_pmap-as in 4.4, cf. pp. 180-181 of McKusick, Bostic, Karel, Quarterman)? Specifically, what kind of operation/reaction would require scanning the mappings?" -msgstr "В вашем разделе об оптимизации таблицы страниц, не могли бы вы более подробно рассказать о pv_entry и vm_page (или vm_page должна быть vm_pmap-как в 4.4, cf. pp. 180-181 of McKusick, Bostic, Karel, Quarterman)? А именно какое действие/реакцию должно потребоваться для сканирования отображений?" +msgstr "" +"В вашем разделе об оптимизации таблицы страниц, не могли бы вы более " +"подробно рассказать о pv_entry и vm_page (или vm_page должна быть vm_pmap-" +"как в 4.4, cf. pp. 180-181 of McKusick, Bostic, Karel, Quarterman)? А именно " +"какое действие/реакцию должно потребоваться для сканирования отображений?" #. type: Plain text #: documentation/content/en/articles/vm-design/_index.adoc:350 diff --git a/documentation/content/ru/articles/vpn-ipsec/_index.adoc b/documentation/content/ru/articles/vpn-ipsec/_index.adoc --- a/documentation/content/ru/articles/vpn-ipsec/_index.adoc +++ b/documentation/content/ru/articles/vpn-ipsec/_index.adoc @@ -147,7 +147,7 @@ round-trip min/avg/max/stddev = 21.145/31.721/53.491/12.179 ms .... -На этом этапе трафик передается между сетями, инкапсулированный в туннель gif, но без какого-либо шифрования. Далее используйте IPSec для шифрования трафика с использованием предварительно согласованных ключей (PSK). За исключением IP-адресов, файл [.filename]#/usr/local/etc/racoon/racoon.conf# на обоих шлюзах будет идентичным и выглядеть примерно так: +На этом этапе трафик передаётся между сетями, инкапсулированный в туннель gif, но без какого-либо шифрования. Далее используйте IPSec для шифрования трафика с использованием предварительно согласованных ключей (PSK). За исключением IP-адресов, файл [.filename]#/usr/local/etc/racoon/racoon.conf# на обоих шлюзах будет идентичным и выглядеть примерно так: [.programlisting] .... diff --git a/documentation/content/ru/articles/vpn-ipsec/_index.po b/documentation/content/ru/articles/vpn-ipsec/_index.po --- a/documentation/content/ru/articles/vpn-ipsec/_index.po +++ b/documentation/content/ru/articles/vpn-ipsec/_index.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2024-01-17 20:35-0300\n" -"PO-Revision-Date: 2025-08-02 15:10+0000\n" +"PO-Revision-Date: 2025-11-12 04:45+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" @@ -414,7 +414,7 @@ "[.filename]#/usr/local/etc/racoon/racoon.conf# on both gateways will be " "identical and look similar to:" msgstr "" -"На этом этапе трафик передается между сетями, инкапсулированный в туннель " +"На этом этапе трафик передаётся между сетями, инкапсулированный в туннель " "gif, но без какого-либо шифрования. Далее используйте IPSec для шифрования " "трафика с использованием предварительно согласованных ключей (PSK). За " "исключением IP-адресов, файл [.filename]#/usr/local/etc/racoon/racoon.conf# "