# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # Vladlen Popolitov , 2025, 2026. msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" "PO-Revision-Date: 2026-03-08 09:11+0000\n" "Last-Translator: Vladlen Popolitov \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.17\n" #. type: YAML Front Matter: description #: documentation/content/en/articles/releng/_index.adoc:1 #, no-wrap msgid "This paper describes the approach previously used by the FreeBSD release engineering team to make production quality releases of the FreeBSD Operating System" msgstr "В этом документе описывается подход, ранее использовавшийся командой разработки релизов FreeBSD для создания релизов операционной системы FreeBSD производственного качества" #. type: YAML Front Matter: title #: documentation/content/en/articles/releng/_index.adoc:1 #, no-wrap msgid "Legacy FreeBSD Release Engineering" msgstr "Устаревшая разработка релизов FreeBSD" #. type: Title = #: documentation/content/en/articles/releng/_index.adoc:12 #, no-wrap msgid "FreeBSD Release Engineering" msgstr "Подготовка релизов FreeBSD" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:45 msgid "Abstract" msgstr "Аннотация" #. type: delimited block = 4 #: documentation/content/en/articles/releng/_index.adoc:51 msgid "" "This document is outdated and does not accurately describe the current " "release procedures of the FreeBSD Release Engineering team. It is retained " "for historical purposes. The current procedures used by the FreeBSD Release " "Engineering team are available in the extref:{freebsd-releng}[FreeBSD " "Release Engineering] article." msgstr "" "Этот документ устарел и не точно описывает текущие процедуры выпуска релизов " "команды FreeBSD Release Engineering. Он сохранен в исторических целях. " "Текущие процедуры, используемые командой FreeBSD Release Engineering, " "доступны в статье extref:{freebsd-releng}[FreeBSD Release Engineering]." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:55 msgid "" "This paper describes the approach used by the FreeBSD release engineering " "team to make production quality releases of the FreeBSD Operating System. " "It details the methodology used for the official FreeBSD releases and " "describes the tools available for those interested in producing customized " "FreeBSD releases for corporate rollouts or commercial productization." msgstr "" "В этом документе описывается подход, используемый командой разработки " "релизов FreeBSD для создания релизов операционной системы FreeBSD " "производственного качества. Подробно излагается методология, применяемая для " "официальных выпусков FreeBSD, а также описываются инструменты, доступные " "тем, кто заинтересован в создании собственных релизов FreeBSD для " "корпоративного внедрения или использования в коммерческой деятельности." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:57 msgid "'''" msgstr "'''" #. type: Title == #: documentation/content/en/articles/releng/_index.adoc:61 #, no-wrap msgid "Introduction" msgstr "Введение" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:71 msgid "" "The development of FreeBSD is a very open process. FreeBSD is comprised of " "contributions from thousands of people around the world. The FreeBSD " "Project provides Subversion footnote:[Subversion, http://subversion.apache." "org] access to the general public so that others can have access to log " "messages, diffs (patches) between development branches, and other " "productivity enhancements that formal source code management provides. This " "has been a huge help in attracting more talented developers to FreeBSD. " "However, I think everyone would agree that chaos would soon manifest if " "write access to the main repository was opened up to everyone on the " "Internet. Therefore only a \"select\" group of nearly 300 people are given " "write access to the Subversion repository. These extref:{contributors}" "[FreeBSD committers, staff-committers]footnote:[extref:{contributors}" "[FreeBSD committers, staff-committers]] are usually the people who do the " "bulk of FreeBSD development. An elected link:https://www.FreeBSD.org/" "administration/#t-core[Core Team]footnote:[link:https://www.FreeBSD.org/" "administration/#t-core[FreeBSD Core Team]] of developers provide some level " "of direction over the project." msgstr "" "Разработка FreeBSD — это очень открытый процесс. FreeBSD создается благодаря " "вкладу тысяч людей по всему миру. Проект FreeBSD предоставляет доступ к " "Subversion footnote:[Subversion, http://subversion.apache.org] для широкой " "публики, чтобы другие могли просматривать сообщения журнала, различия (патчи)" " между ветками разработки и другие улучшения производительности, которые " "предоставляет система управления исходным кодом. Это значительно помогло " "привлечь больше талантливых разработчиков в FreeBSD. Однако, я думаю, все " "согласятся, что хаос быстро воцарился бы, если бы право записи в основной " "репозиторий было открыто для всех в Интернете. Поэтому только «избранная» " "группа из почти 300 человек имеет право записи в репозиторий Subversion. Эти " "extref:{contributors}[коммиттеры FreeBSD, staff-" "committers]footnote:[extref:{contributors}[коммиттеры FreeBSD, staff-" "committers]] обычно являются людьми, которые выполняют основную часть " "разработки FreeBSD. Выбранная группа разработчиков — link:https://www.FreeBSD" ".org/administration/#t-core[Основная команда (Core " "Team)]footnote:[link:https://www.FreeBSD.org/administration/#t-core[Основная " "команда FreeBSD]] — обеспечивает некоторый уровень руководства проектом." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:76 msgid "" "The rapid pace of `FreeBSD` development makes the main development branch " "unsuitable for the everyday use by the general public. In particular, " "stabilizing efforts are required for polishing the development system into a " "production quality release. To solve this conflict, development continues " "on several parallel tracks. The main development branch is the _HEAD_ or " "_trunk_ of our Subversion tree, known as \"FreeBSD-CURRENT\" or \"-CURRENT\" " "for short." msgstr "" "Быстрый темп разработки `FreeBSD` делает основную ветку разработки " "непригодной для повседневного использования широкой публикой. В частности, " "требуются усилия по стабилизации для доведения системы разработки до релиза " "производственного качества. Для решения этого конфликта разработка " "продолжается по нескольким параллельным направлениям. Основная ветка " "разработки — это _HEAD_ или _trunk_ нашего дерева Subversion, известная как " "\"FreeBSD-CURRENT\" или сокращённо \"-CURRENT\"." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:82 msgid "" "A set of more stable branches are maintained, known as \"FreeBSD-STABLE\" or " "\"-STABLE\" for short. All branches live in a master Subversion repository " "maintained by the FreeBSD Project. FreeBSD-CURRENT is the \"bleeding-edge\" " "of FreeBSD development where all new changes first enter the system. " "FreeBSD-STABLE is the development branch from which major releases are " "made. Changes go into this branch at a different pace, and with the general " "assumption that they have first gone into FreeBSD-CURRENT and have been " "thoroughly tested by our user community." msgstr "" "Набор более стабильных ветвей поддерживается под названием \"FreeBSD-STABLE" "\" или сокращённо \"-STABLE\". Все ветви находятся в главном хранилище " "Subversion, которое поддерживается проектом FreeBSD. FreeBSD-CURRENT — это " "\"передний край\" разработки FreeBSD, куда сначала попадают все новые " "изменения. FreeBSD-STABLE — это ветвь разработки, на основе которой " "выпускаются основные релизы. Изменения попадают в эту ветвь с другой " "скоростью и с общим предположением, что они сначала попали в FreeBSD-CURRENT " "и были тщательно протестированы сообществом пользователей." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:87 msgid "" "The term _stable_ in the name of the branch refers to the presumed " "Application Binary Interface stability, which is promised by the project. " "This means that a user application compiled on an older version of the " "system from the same branch works on a newer system from the same branch. " "The ABI stability has improved greatly from the compared to previous " "releases. In most cases, binaries from the older _STABLE_ systems run " "unmodified on newer systems, including __HEAD__, assuming that the system " "management interfaces are not used." msgstr "" "Термин _stable_ в названии ветки относится к предполагаемой стабильности " "бинарного интерфейса приложений (ABI), которую гарантирует проект. Это " "означает, что пользовательское приложение, скомпилированное на более старой " "версии системы из той же ветки, будет работать на более новой системе из той " "же ветки. Стабильность ABI значительно улучшилась по сравнению с предыдущими " "выпусками. В большинстве случаев бинарные файлы со старых систем _STABLE_ " "работают без изменений на более новых системах, включая __HEAD__, при " "условии, что не используются интерфейсы управления системой." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:90 msgid "" "In the interim period between releases, weekly snapshots are built " "automatically by the FreeBSD Project build machines and made available for " "download from `https:/download.FreeBSD.org/snapshots/`. The widespread " "availability of binary release snapshots, and the tendency of our user " "community to keep up with -STABLE development with Subversion and \"`make " "buildworld`\" footnote:[extref:{handbook}cutting-edge[Rebuilding world, " "makeworld]] helps to keep FreeBSD-STABLE in a very reliable condition even " "before the quality assurance activities ramp up pending a major release." msgstr "" "В промежуточный период между выпусками еженедельные снимки состояния системы " "автоматически создаются сборщиками FreeBSD Project и доступны для загрузки " "по адресу `https:/download.FreeBSD.org/snapshots/`. Широкое распространение " "бинарных снимков выпусков, а также склонность нашего сообщества " "пользователей следить за разработкой -STABLE с помощью Subversion и команды " "\"`make buildworld`\" footnote:[extref:{handbook}cutting-edge[Пересборка " "world, makeworld]] помогает поддерживать FreeBSD-STABLE в очень надёжном " "состоянии даже до того, как будут запущены мероприятия по обеспечению " "качества перед основным выпуском." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:93 msgid "" "In addition to installation ISO snapshots, weekly virtual machine images are " "also provided for use with VirtualBox, qemu, or other popular emulation " "software. The virtual machine images can be downloaded from `https://" "download.FreeBSD.org/snapshots/VM-IMAGES/`." msgstr "" "Помимо снимков установочных ISO, также предоставляются еженедельные образы " "виртуальных машин для использования с VirtualBox, qemu или другим популярным " "эмуляционным программным обеспечением. Образы виртуальных машин можно " "загрузить с `https://download.FreeBSD.org/snapshots/VM-IMAGES/`." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:95 msgid "" "The virtual machine images are approximately 150MB man:xz[1] compressed, and " "contain a 10GB sparse filesystem when attached to a virtual machine." msgstr "" "Образы виртуальных машин сжаты с помощью man:xz[1] и занимают примерно 150 " "МБ, а при подключении к виртуальной машине содержат разреженную файловую " "систему размером 10 ГБ." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:98 msgid "" "Bug reports and feature requests are continuously submitted by users " "throughout the release cycle. Problems reports are entered into our " "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/]." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:103 msgid "" "To service our most conservative users, individual release branches were " "introduced with FreeBSD 4.3. These release branches are created shortly " "before a final release is made. After the release goes out, only the most " "critical security fixes and additions are merged onto the release branch. " "In addition to source updates via Subversion, binary patchkits are available " "to keep systems on the _releng/X.Y_ branches updated." msgstr "" "Для обслуживания наиболее консервативных пользователей, начиная с FreeBSD " "4.3, были введены индивидуальные ветки релизов. Эти ветки создаются " "незадолго до выпуска финального релиза. После выхода релиза на ветку " "вносятся только самые критические исправления безопасности и дополнения. " "Помимо обновлений исходного кода через Subversion, доступны бинарные патч-" "наборы для поддержания актуальности систем на ветках _releng/X.Y_." #. type: Title === #: documentation/content/en/articles/releng/_index.adoc:104 #, no-wrap msgid "What This Article Describes" msgstr "Что описывает эта статья" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:107 msgid "The following sections of this article describe:" msgstr "Следующие разделы этой статьи описывают:" #. type: Labeled list #: documentation/content/en/articles/releng/_index.adoc:108 #, no-wrap msgid "crossref:releng[release-proc, Release Process]" msgstr "crossref:releng[release-proc, Процесс выпуска релиза]" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:110 msgid "" "The different phases of the release engineering process leading up to the " "actual system build." msgstr "" "Различные этапы процесса разработки релиза, предшествующие непосредственной " "сборке системы." #. type: Labeled list #: documentation/content/en/articles/releng/_index.adoc:111 #, no-wrap msgid "crossref:releng[release-build, Release Building]" msgstr "crossref:releng[release-build, Сборка релиза]" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:113 msgid "The actual build process." msgstr "Фактический процесс сборки." #. type: Labeled list #: documentation/content/en/articles/releng/_index.adoc:114 #, no-wrap msgid "crossref:releng[extensibility, Extensibility]" msgstr "crossref:releng[extensibility, Расширяемость]" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:116 msgid "How the base release may be extended by third parties." msgstr "Как базовый выпуск может быть расширен третьими сторонами." #. type: Labeled list #: documentation/content/en/articles/releng/_index.adoc:117 #, no-wrap msgid "crossref:releng[lessons-learned, Lessons Learned from FreeBSD 4.4]" msgstr "crossref:releng[lessons-learned, Уроки, извлеченные из FreeBSD 4.4]" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:119 msgid "Some of the lessons learned through the release of FreeBSD 4.4." msgstr "Некоторые уроки, извлеченные в процессе выпуска FreeBSD 4.4." #. type: Labeled list #: documentation/content/en/articles/releng/_index.adoc:120 #, no-wrap msgid "crossref:releng[future, Future Directions]" msgstr "crossref:releng[future, Перспективы развития]" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:122 msgid "Future directions of development." msgstr "Перспективные направления развития." #. type: Title == #: documentation/content/en/articles/releng/_index.adoc:124 #, no-wrap msgid "Release Process" msgstr "Процесс выпуска релиза" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:129 msgid "" "New releases of FreeBSD are released from the -STABLE branch at " "approximately four month intervals. The FreeBSD release process begins to " "ramp up 70-80 days before the anticipated release date when the release " "engineer sends an email to the development mailing lists to remind " "developers that they only have 15 days to integrate new changes before the " "code freeze. During this time, many developers perform what have become " "known as \"MFC sweeps\"." msgstr "" "Новые выпуски FreeBSD выходят из ветки -STABLE примерно с интервалом в " "четыре месяца. Процесс выпуска FreeBSD начинает набирать обороты за 70-80 " "дней до предполагаемой даты выпуска, когда инженер выпуска отправляет " "электронное письмо в списки рассылки разработчиков, напоминая им, что у них " "осталось всего 15 дней для интеграции новых изменений до заморозки кода. В " "это время многие разработчики выполняют так называемые \"MFC-проверки\"." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:133 msgid "" "MFC stands for \"Merge From CURRENT\" and it describes the process of " "merging a tested change from our -CURRENT development branch to our -STABLE " "branch. Project policy requires any change to be first applied to trunk, " "and merged to the -STABLE branches after sufficient external testing was " "done by -CURRENT users (developers are expected to extensively test the " "change before committing to -CURRENT, but it is impossible for a person to " "exercise all usages of the general-purpose operating system). Minimal MFC " "period is 3 days, which is typically used only for trivial or critical " "bugfixes." msgstr "" "MFC означает \"Merge From CURRENT\" и описывает процесс переноса " "проверенного изменения из нашей ветки разработки -CURRENT в ветку -STABLE. " "Политика проекта требует, чтобы любое изменение сначала было применено к " "основной ветке, а затем перенесено в ветки -STABLE после достаточного " "внешнего тестирования пользователями -CURRENT (ожидается, что разработчики " "тщательно проверят изменение перед внесением в -CURRENT, но невозможно для " "одного человека проверить все варианты использования универсальной " "операционной системы). Минимальный срок для MFC составляет 3 дня, который " "обычно используется только для тривиальных или критических исправлений " "ошибок." #. type: Title === #: documentation/content/en/articles/releng/_index.adoc:134 #, no-wrap msgid "Code Review" msgstr "Проверка кода" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:140 msgid "" "Sixty days before the anticipated release, the source repository enters a " "\"code freeze\". During this time, all commits to the -STABLE branch must " "be approved by `{re}`. The approval process is technically enforced by a " "pre-commit hook. The kinds of changes that are allowed during this period " "include:" msgstr "" "За шестьдесят дней до предполагаемого релиза репозиторий исходного кода " "переходит в режим «заморозки кода». В этот период все коммиты в ветку -" "STABLE должны быть одобрены `{re}`. Процесс утверждения технически " "обеспечивается предкоммитным хуком. В этот период допускаются следующие виды " "изменений:" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:142 msgid "Bug fixes." msgstr "Исправления ошибок." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:143 msgid "Documentation updates." msgstr "Обновления документации." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:144 msgid "Security-related fixes of any kind." msgstr "Исправления, связанные с безопасностью, любого рода." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:145 msgid "Minor changes to device drivers, such as adding new Device IDs." msgstr "" "Незначительные изменения в драйверах устройств, такие как добавление новых " "идентификаторов устройств." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:146 msgid "Driver updates from the vendors." msgstr "Обновления драйверов от поставщиков." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:147 msgid "" "Any additional change that the release engineering team feels is justified, " "given the potential risk." msgstr "" "Любое дополнительное изменение, которое команда разработки релизов сочтет " "оправданным, учитывая потенциальный риск." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:151 msgid "" "Shortly after the code freeze is started, a _BETA1_ image is built and " "released for widespread testing. During the code freeze, at least one beta " "image or release candidate is released every two weeks until the final " "release is ready. During the days preceding the final release, the release " "engineering team is in constant communication with the security-officer " "team, the documentation maintainers, and the port maintainers to ensure that " "all of the different components required for a successful release are " "available." msgstr "" "Вскоре после начала заморозки кода создаётся образ _BETA1_ и выпускается для " "широкого тестирования. В период заморозки кода не реже чем раз в две недели " "выпускается как минимум один бета-образ или кандидат в релизы, пока не будет " "готов финальный выпуск. В дни, предшествующие финальному релизу, команда " "разработки выпусков постоянно взаимодействует с командой security-officer, " "сопровождающими документации и сопровождающими портов, чтобы убедиться, что " "все необходимые компоненты для успешного релиза доступны." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:154 msgid "" "After the quality of the BETA images is satisfying enough, and no large and " "potentially risky changes are planned, the release branch is created and " "_Release Candidate_ (RC) images are built from the release branch, instead " "of the BETA images from the STABLE branch. Also, the freeze on the STABLE " "branch is lifted and release branch enters a \"hard code freeze\" where it " "becomes much harder to justify new changes to the system unless a serious " "bug-fix or security issue is involved." msgstr "" "После того, как качество BETA-образов становится достаточно " "удовлетворительным и не планируется крупных и потенциально рискованных " "изменений, создается ветка релиза, и образы _Release Candidate_ (RC) " "собираются из ветки релиза, вместо BETA-образов из ветки STABLE. Также " "снимается заморозка изменений в ветке STABLE, а ветка релиза переходит в " "режим \"жёсткой заморозки кода\", когда становится значительно сложнее " "обосновать новые изменения в системе, за исключением исправления серьезных " "ошибок или проблем безопасности." #. type: Title === #: documentation/content/en/articles/releng/_index.adoc:155 #, no-wrap msgid "Final Release Checklist" msgstr "Контрольный список финального выпуска" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:158 msgid "" "When several BETA images have been made available for widespread testing and " "all major issues have been resolved, the final release \"polishing\" can " "begin." msgstr "" "Когда несколько образов BETA станут доступны для широкого тестирования и все " "основные проблемы будут устранены, можно приступать к финальной \"доводке\" " "выпуска." #. type: Title ==== #: documentation/content/en/articles/releng/_index.adoc:160 #, no-wrap msgid "Creating the Release Branch" msgstr "Создание ветки релиза" #. type: delimited block = 4 #: documentation/content/en/articles/releng/_index.adoc:165 msgid "" "In all examples below, `$FSVN` refers to the location of the FreeBSD " "Subversion repository, `svn+ssh://svn.FreeBSD.org/base/`." msgstr "" "Во всех примерах ниже `$FSVN` указывает на расположение репозитория " "Subversion FreeBSD, `svn+ssh://svn.FreeBSD.org/base/`." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:169 msgid "" "The layout of FreeBSD branches in Subversion is described in the extref:" "{committers-guide}[Committer's Guide, subversion-primer-base-layout]. The " "first step in creating a branch is to identify the revision of the `stable/" "_X_` sources that you want to branch _from_." msgstr "" "Расположение веток FreeBSD в Subversion описано в extref:{committers-guide}" "[Руководстве коммиттера, subversion-primer-base-layout]. Первым шагом в " "создании ветки является определение ревизии исходников `stable/_X_`, от " "которой вы хотите сделать _ответвление_." #. type: delimited block . 4 #: documentation/content/en/articles/releng/_index.adoc:173 #, no-wrap msgid "# svn log -v $FSVN/stable/9\n" msgstr "# svn log -v $FSVN/stable/9\n" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:176 msgid "The next step is to create the _release branch_" msgstr "Следующий шаг — создание _ветки релиза_" #. type: delimited block . 4 #: documentation/content/en/articles/releng/_index.adoc:180 #, no-wrap msgid "# svn cp $FSVN/stable/9@REVISION $FSVN/releng/9.2\n" msgstr "# svn cp $FSVN/stable/9@REVISION $FSVN/releng/9.2\n" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:183 msgid "This branch can be checked out:" msgstr "Эту ветку можно извлечь:" #. type: delimited block . 4 #: documentation/content/en/articles/releng/_index.adoc:187 #, no-wrap msgid "# svn co $FSVN/releng/9.2 src\n" msgstr "# svn co $FSVN/releng/9.2 src\n" #. type: delimited block = 4 #: documentation/content/en/articles/releng/_index.adoc:192 msgid "" "Creating the `releng` branch and `release` tags is done by the link:https://" "www.FreeBSD.org/administration/#t-re[Release Engineering Team]." msgstr "" "Создание ветки `releng` и тегов `release` выполняется командой link:https://" "www.FreeBSD.org/administration/#t-re[Release Engineering Team]." #. type: Positional ($1) AttributeList argument for macro 'image' #: documentation/content/en/articles/releng/_index.adoc:194 #, no-wrap msgid "FreeBSD Development Branch" msgstr "Ветка разработки FreeBSD" #. type: Target for macro image #: documentation/content/en/articles/releng/_index.adoc:194 #, no-wrap msgid "branches-head.png" msgstr "branches-head.png" #. type: Positional ($1) AttributeList argument for macro 'image' #: documentation/content/en/articles/releng/_index.adoc:196 #, no-wrap msgid "FreeBSD 3.x STABLE Branch" msgstr "Ветка STABLE FreeBSD 3.x" #. type: Target for macro image #: documentation/content/en/articles/releng/_index.adoc:196 #, no-wrap msgid "branches-releng3.png" msgstr "branches-releng3.png" #. type: Positional ($1) AttributeList argument for macro 'image' #: documentation/content/en/articles/releng/_index.adoc:198 #, no-wrap msgid "FreeBSD 4.x STABLE Branch" msgstr "Ветка FreeBSD 4.x STABLE" #. type: Target for macro image #: documentation/content/en/articles/releng/_index.adoc:198 #, no-wrap msgid "branches-releng4.png" msgstr "branches-releng4.png" #. type: Positional ($1) AttributeList argument for macro 'image' #: documentation/content/en/articles/releng/_index.adoc:200 #, no-wrap msgid "FreeBSD 5.x STABLE Branch" msgstr "Ветка STABLE FreeBSD 5.x" #. type: Target for macro image #: documentation/content/en/articles/releng/_index.adoc:200 #, no-wrap msgid "branches-releng5.png" msgstr "branches-releng5.png" #. type: Positional ($1) AttributeList argument for macro 'image' #: documentation/content/en/articles/releng/_index.adoc:202 #, no-wrap msgid "FreeBSD 6.x STABLE Branch" msgstr "Ветка FreeBSD 6.x STABLE" #. type: Target for macro image #: documentation/content/en/articles/releng/_index.adoc:202 #, no-wrap msgid "branches-releng6.png" msgstr "branches-releng6.png" #. type: Positional ($1) AttributeList argument for macro 'image' #: documentation/content/en/articles/releng/_index.adoc:204 #, no-wrap msgid "FreeBSD 7.x STABLE Branch" msgstr "Ветка FreeBSD 7.x STABLE" #. type: Target for macro image #: documentation/content/en/articles/releng/_index.adoc:204 #, no-wrap msgid "branches-releng7.png" msgstr "branches-releng7.png" #. type: Positional ($1) AttributeList argument for macro 'image' #: documentation/content/en/articles/releng/_index.adoc:206 #, no-wrap msgid "FreeBSD 8.x STABLE Branch" msgstr "Ветка FreeBSD 8.x STABLE" #. type: Target for macro image #: documentation/content/en/articles/releng/_index.adoc:206 #, no-wrap msgid "branches-releng8.png" msgstr "branches-releng8.png" #. type: Positional ($1) AttributeList argument for macro 'image' #: documentation/content/en/articles/releng/_index.adoc:208 #, no-wrap msgid "FreeBSD 9.x STABLE Branch" msgstr "Ветка FreeBSD 9.x STABLE" #. type: Target for macro image #: documentation/content/en/articles/releng/_index.adoc:208 #, no-wrap msgid "branches-releng9.png" msgstr "branches-releng9.png" #. type: Title ==== #: documentation/content/en/articles/releng/_index.adoc:211 #, no-wrap msgid "Bumping up the Version Number" msgstr "Увеличение номера версии" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:214 msgid "" "Before the final release can be tagged, built, and released, the following " "files need to be modified to reflect the correct version of FreeBSD:" msgstr "" "Перед тем как финальный выпуск может быть помечен, собран и выпущен, " "следующие файлы должны быть изменены, чтобы отражать корректную версию " "FreeBSD:" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:216 msgid "[.filename]#doc/en_US.ISO8859-1/books/handbook/mirrors/chapter.xml#" msgstr "[.filename]#doc/en_US.ISO8859-1/books/handbook/mirrors/chapter.xml#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:217 msgid "[.filename]#doc/en_US.ISO8859-1/books/porters-handbook/book.xml#" msgstr "[.filename]#doc/en_US.ISO8859-1/books/porters-handbook/book.xml#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:218 msgid "[.filename]#doc/en_US.ISO8859-1/htdocs/cgi/ports.cgi#" msgstr "[.filename]#doc/en_US.ISO8859-1/htdocs/cgi/ports.cgi#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:219 msgid "[.filename]#ports/Tools/scripts/release/config#" msgstr "[.filename]#ports/Tools/scripts/release/config#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:220 msgid "[.filename]#doc/shared/xml/freebsd.ent#" msgstr "[.filename]#doc/shared/xml/freebsd.ent#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:221 msgid "[.filename]#src/Makefile.inc1#" msgstr "[.filename]#src/Makefile.inc1#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:222 msgid "[.filename]#src/UPDATING#" msgstr "[.filename]#src/UPDATING#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:223 msgid "[.filename]#src/gnu/usr.bin/groff/tmac/mdoc.local#" msgstr "[.filename]#src/gnu/usr.bin/groff/tmac/mdoc.local#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:224 msgid "[.filename]#src/release/Makefile#" msgstr "[.filename]#src/release/Makefile#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:225 msgid "[.filename]#src/release/doc/en_US.ISO8859-1/shared/xml/release.dsl#" msgstr "[.filename]#src/release/doc/en_US.ISO8859-1/shared/xml/release.dsl#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:226 msgid "[.filename]#src/release/doc/shared/examples/Makefile.relnotesng#" msgstr "[.filename]#src/release/doc/shared/examples/Makefile.relnotesng#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:227 msgid "[.filename]#src/release/doc/shared/xml/release.ent#" msgstr "[.filename]#src/release/doc/shared/xml/release.ent#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:228 msgid "[.filename]#src/sys/conf/newvers.sh#" msgstr "[.filename]#src/sys/conf/newvers.sh#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:229 msgid "[.filename]#src/sys/sys/param.h#" msgstr "[.filename]#src/sys/sys/param.h#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:230 msgid "[.filename]#src/usr.sbin/pkg_install/add/main.c#" msgstr "[.filename]#src/usr.sbin/pkg_install/add/main.c#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:231 msgid "[.filename]#doc/en_US.ISO8859-1/htdocs/search/opensearch/man.xml#" msgstr "[.filename]#doc/en_US.ISO8859-1/htdocs/search/opensearch/man.xml#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:233 msgid "" "The release notes and errata files also need to be adjusted for the new " "release (on the release branch) and truncated appropriately (on the stable/" "current branch):" msgstr "" "Заметки о выпуске и файлы с опечатками также необходимо адаптировать для " "нового выпуска (в ветке выпуска) и соответствующим образом обрезать (в ветке " "stable/current):" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:235 msgid "[.filename]#src/release/doc/en_US.ISO8859-1/relnotes/common/new.xml#" msgstr "[.filename]#src/release/doc/en_US.ISO8859-1/relnotes/common/new.xml#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:236 msgid "[.filename]#src/release/doc/en_US.ISO8859-1/errata/article.xml#" msgstr "[.filename]#src/release/doc/en_US.ISO8859-1/errata/article.xml#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:240 msgid "" "Sysinstall should be updated to note the number of available ports and the " "amount of disk space required for the Ports Collection. footnote:[FreeBSD " "Ports Collection https://ports.FreeBSD.org] This information is currently " "kept in [.filename]#src/usr.sbin/bsdinstall/dist.c#." msgstr "" "В Sysinstall следует добавить информацию о количестве доступных портов и " "объёме дискового пространства, необходимого для коллекции портов. footnote:[" "Коллекция портов FreeBSD https://ports.FreeBSD.org] В настоящее время эта " "информация хранится в [.filename]#src/usr.sbin/bsdinstall/dist.c#." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:243 msgid "" "After the release has been built, a number of files should be updated to " "announce the release to the world. These files are relative to `head/` " "within the `doc/` subversion tree." msgstr "" "После сборки выпуска следует обновить ряд файлов, чтобы объявить о выпуске. " "Эти файлы находятся относительно `head/` в поддереве `doc/` Subversion." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:245 msgid "[.filename]#share/images/articles/releng/branches-relengX.pic#" msgstr "[.filename]#share/images/articles/releng/branches-relengX.pic#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:246 msgid "[.filename]#head/shared/xml/release.ent#" msgstr "[.filename]#head/shared/xml/release.ent#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:247 msgid "[.filename]#en_US.ISO8859-1/htdocs/releases/*#" msgstr "[.filename]#en_US.ISO8859-1/htdocs/releases/*#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:248 msgid "[.filename]#en_US.ISO8859-1/htdocs/releng/index.xml#" msgstr "[.filename]#en_US.ISO8859-1/htdocs/releng/index.xml#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:249 msgid "[.filename]#share/xml/news.xml#" msgstr "[.filename]#share/xml/news.xml#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:251 msgid "Additionally, update the \"BSD Family Tree\" file:" msgstr "Кроме того, обновите файл \"Генеалогическое древо BSD\":" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:253 msgid "[.filename]#src/shared/misc/bsd-family-tree#" msgstr "[.filename]#src/shared/misc/bsd-family-tree#" #. type: Title ==== #: documentation/content/en/articles/releng/_index.adoc:254 #, no-wrap msgid "Creating the Release Tag" msgstr "Создание тега релиза" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:257 msgid "" "When the final release is ready, the following command will create the " "`release/9.2.0` tag." msgstr "" "Когда финальный выпуск будет готов, следующая команда создаст тег " "`release/9.2.0`." #. type: delimited block . 4 #: documentation/content/en/articles/releng/_index.adoc:261 #, no-wrap msgid "# svn cp $FSVN/releng/9.2 $FSVN/release/9.2.0\n" msgstr "# svn cp $FSVN/releng/9.2 $FSVN/release/9.2.0\n" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:264 msgid "" "The Documentation and Ports managers are responsible for tagging their " "respective trees with the `tags/RELEASE_9_2_0` tag." msgstr "" "Менеджеры документации и портов ответственны за добавление тега `tags/" "RELEASE_9_2_0` в соответствующие деревья." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:267 msgid "" "When the Subversion `svn cp` command is used to create a __release tag__, " "this identifies the source at a specific point in time. By creating tags, " "we ensure that future release builders will always be able to use the same " "source we used to create the official FreeBSD Project releases." msgstr "" "Когда команда Subversion `svn cp` используется для создания __тега релиза " "(release tag)__, это идентифицирует исходный код на определённый момент " "времени. Создавая теги, мы гарантируем, что будущие сборщики релизов всегда " "смогут использовать тот же исходный код, который использовался для создания " "официальных релизов проекта FreeBSD." #. type: Title == #: documentation/content/en/articles/releng/_index.adoc:269 #, no-wrap msgid "Release Building" msgstr "Сборка релиза" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:280 msgid "" "FreeBSD \"releases\" can be built by anyone with a fast machine and access " "to a source repository. (That should be everyone, since we offer Subversion " "access! See the extref:{handbook}[Subversion section in the Handbook, svn] " "for details.) The _only_ special requirement is that the man:md[4] device " "must be available. If the device is not loaded into your kernel, then the " "kernel module should be automatically loaded when man:mdconfig[8] is " "executed during the boot media creation phase. All of the tools necessary " "to build a release are available from the Subversion repository in [." "filename]#src/release#. These tools aim to provide a consistent way to " "build FreeBSD releases. A complete release can actually be built with only " "a single command, including the creation of ISO images suitable for burning " "to CDROM or DVD, and an FTP install directory. man:release[7] fully " "documents the `src/release/generate-release.sh` script which is used to " "build a release. `generate-release.sh` is a wrapper around the Makefile " "target: `make release`." msgstr "" "Сборка \"релизов\" FreeBSD может быть выполнена любым пользователем, имеющим " "быстрый компьютер и доступ к репозиторию исходного кода. (Это должно быть " "доступно каждому, так как мы предоставляем доступ через Subversion! " "Подробности см. в extref:{handbook}[разделе Subversion в Руководстве, svn].) " "_Единственное_ специальное требование — доступность устройства man:md[4]. " "Если устройство не загружено в ваше ядро, то модуль ядра должен " "автоматически загрузиться при выполнении man:mdconfig[8] во время этапа " "создания загрузочного носителя. Все необходимые инструменты для сборки " "релиза доступны в репозитории Subversion в [.filename]#src/release#. Эти " "инструменты предназначены для обеспечения единообразного способа сборки " "релизов FreeBSD. Полный релиз может быть собран всего одной командой, " "включая создание ISO-образов, пригодных для записи на CDROM или DVD, а также " "каталога для установки по FTP. man:release[7] полностью документирует скрипт " "`src/release/generate-release.sh`, который используется для сборки релиза. " "`generate-release.sh` является обёрткой для цели Makefile: `make release`." #. type: Title === #: documentation/content/en/articles/releng/_index.adoc:281 #, no-wrap msgid "Building a Release" msgstr "Сборка релиза" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:285 msgid "" "man:release[7] documents the exact commands required to build a FreeBSD " "release. The following sequences of commands can build an 9.2.0 release:" msgstr "" "man:release[7] документирует точные команды, необходимые для сборки релиза " "FreeBSD. Следующая последовательность команд может собрать релиз 9.2.0:" #. type: delimited block . 4 #: documentation/content/en/articles/releng/_index.adoc:290 #, no-wrap msgid "" "# cd /usr/src/release\n" "# sh generate-release.sh release/9.2.0 /local3/release\n" msgstr "" "# cd /usr/src/release\n" "# sh generate-release.sh release/9.2.0 /local3/release\n" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:293 msgid "" "After running these commands, all prepared release files are available in [." "filename]#/local3/release/R# directory." msgstr "" "После выполнения этих команд все подготовленные файлы релиза будут доступны " "в каталоге [.filename]#/local3/release/R#." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:295 msgid "" "The release [.filename]#Makefile# can be broken down into several distinct " "steps." msgstr "" "Файл [.filename]#Makefile# для выпуска можно разбить на несколько отдельных " "этапов." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:297 msgid "" "Creation of a sanitized system environment in a separate directory hierarchy " "with \"`make installworld`\"." msgstr "" "Создание изолированного окружения системы в отдельной иерархии каталогов с " "помощью \"`make installworld`\"." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:298 msgid "" "Checkout from Subversion of a clean version of the system source, " "documentation, and ports into the release build hierarchy." msgstr "" "Извлечение из Subversion чистой версии исходного кода системы, документации " "и портов в иерархию сборки релиза." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:299 msgid "" "Population of [.filename]#/etc# and [.filename]#/dev# in the chrooted " "environment." msgstr "" "Заполнение каталогов [.filename]#/etc# и [.filename]#/dev# в chroot-" "окружении." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:300 msgid "" "chroot into the release build hierarchy, to make it harder for the outside " "environment to taint this build." msgstr "" "Изменение корневого каталога на верхний каталог иерархии сборки релиза с " "помощью `chroot`, чтобы усложнить влияние внешней среды на эту сборку." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:301 msgid "`make world` in the chrooted environment." msgstr "Запуск `make world` в окружении `chroot`." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:302 msgid "Build of Kerberos-related binaries." msgstr "Сборка связанных с Kerberos бинарных файлов." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:303 msgid "Build [.filename]#GENERIC# kernel." msgstr "Сборка ядра [.filename]#GENERIC#." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:304 msgid "" "Creation of a staging directory tree where the binary distributions will be " "built and packaged." msgstr "" "Создание промежуточной структуры каталогов, в которой будут собираться и " "упаковываться бинарные дистрибутивы." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:305 msgid "" "Build and installation of the documentation toolchain needed to convert the " "documentation source (SGML) into HTML and text documents that will accompany " "the release." msgstr "" "Сборка и установка инструментария для документации, необходимого для " "преобразования исходников документации (SGML) в HTML и текстовые документы, " "которые будут поставляться с релизом." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:306 msgid "" "Build and installation of the actual documentation (user manuals, tutorials, " "release notes, hardware compatibility lists, and so on.)" msgstr "" "Сборка и установка непосредственно документации (руководства пользователя, " "учебные пособия, примечания к выпуску, списки совместимого оборудования и " "так далее)." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:307 msgid "Package up distribution tarballs of the binaries and sources." msgstr "" "Создание распространяемых tar-архивов с бинарными файлами и исходными кодами." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:308 msgid "Create FTP installation hierarchy." msgstr "Создание иерархии установки FTP." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:309 msgid "_(optionally)_ Create ISO images for CDROM/DVD media." msgstr "_(необязательно)_ Создание ISO-образов для носителей CDROM/DVD." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:311 msgid "" "For more information about the release build infrastructure, please see man:" "release[7]." msgstr "" "Для получения дополнительной информации о инфраструктуре сборки релизов, " "обратитесь к man:release[7]." #. type: delimited block = 4 #: documentation/content/en/articles/releng/_index.adoc:316 msgid "" "It is important to remove any site-specific settings from [.filename]#/etc/" "make.conf#. For example, it would be unwise to distribute binaries that " "were built on a system with `CPUTYPE` set to a specific processor." msgstr "" "Важно удалить все специфичные для сайта настройки из [.filename]#/etc/make." "conf#. Например, было бы неразумно распространять бинарные файлы, собранные " "на системе с установленным `CPUTYPE` для конкретного процессора." #. type: Title === #: documentation/content/en/articles/releng/_index.adoc:318 #, no-wrap msgid "Contributed Software (\"ports\")" msgstr "Предоставленное программное обеспечение (\"порты\")" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:322 msgid "" "The https://ports.FreeBSD.org[FreeBSD Ports collection] is a collection of " "over {numports} third-party software packages available for FreeBSD. The " "`{portmgr}` is responsible for maintaining a consistent ports tree that can " "be used to create the binary packages that accompany official FreeBSD " "releases." msgstr "" "https://ports.FreeBSD.org[Коллекция портов FreeBSD] представляет собой набор " "из более чем {numports} сторонних программных пакетов, доступных для " "FreeBSD. `{portmgr}` отвечает за поддержание согласованного дерева портов, " "которое может быть использовано для создания бинарных пакетов, поставляемых " "с официальными выпусками FreeBSD." #. type: Title === #: documentation/content/en/articles/releng/_index.adoc:323 #, no-wrap msgid "Release ISOs" msgstr "Релизные ISO-образы" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:328 msgid "" "Starting with FreeBSD 4.4, the FreeBSD Project decided to release all four " "ISO images that were previously sold on the _BSDi/Wind River Systems/FreeBSD " "Mall_ \"official\" CDROM distributions. Each of the four discs must contain " "a [.filename]#README.TXT# file that explains the contents of the disc, a [." "filename]#CDROM.INF# file that provides meta-data for the disc so that man:" "bsdinstall[8] can validate and use the contents, and a [.filename]#filename." "txt# file that provides a manifest for the disc. This _manifest_ can be " "created with a simple command:" msgstr "" "Начиная с FreeBSD 4.4, проект FreeBSD решил выпустить все четыре образа ISO, " "которые ранее продавались на «официальных» дистрибутивах CDROM от _BSDi/Wind " "River Systems/FreeBSD Mall_. Каждый из четырёх дисков должен содержать файл " "[.filename]#README.TXT#, объясняющий содержимое диска, файл [." "filename]#CDROM.INF#, предоставляющий метаданные для диска, чтобы man:" "bsdinstall[8] мог проверить и использовать содержимое, и файл [." "filename]#filename.txt#, содержащий манифест диска. Этот _манифест_ можно " "создать простой командой:" #. type: delimited block . 4 #: documentation/content/en/articles/releng/_index.adoc:332 #, no-wrap msgid "/stage/cdrom# find . -type f | sed -e 's/^\\.\\///' | sort > filename.txt\n" msgstr "/stage/cdrom# find . -type f | sed -e 's/^\\.\\///' | sort > filename.txt\n" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:335 msgid "The specific requirements of each CD are outlined below." msgstr "Конкретные требования для каждого CD приведены ниже." #. type: Title ==== #: documentation/content/en/articles/releng/_index.adoc:336 #, no-wrap msgid "Disc 1" msgstr "Диск 1" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:342 msgid "" "The first disc is almost completely created by `make release`. The only " "changes that should be made to the [.filename]#disc1# directory are the " "addition of a [.filename]#tools# directory, and as many popular third party " "software packages as will fit on the disc. The [.filename]#tools# directory " "contains software that allow users to create installation floppies from " "other operating systems. This disc should be made bootable so that users of " "modern PCs do not need to create installation floppy disks." msgstr "" "Первый диск почти полностью создаётся командой `make release`. Единственные " "изменения, которые следует внести в каталог [.filename]#disc1#, — это " "добавление каталога [.filename]#tools# и как можно большего количества " "популярных сторонних программных пакетов, которые поместятся на диск. В " "каталоге [.filename]#tools# содержится программное обеспечение, позволяющее " "пользователям создавать установочные дискеты из других операционных систем. " "Этот диск должен быть загрузочным, чтобы пользователям современных ПК не " "требовалось создавать установочные дискеты." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:347 msgid "" "If a custom kernel of FreeBSD is to be included, then man:bsdinstall[8] and " "man:release[7] must be updated to include installation instructions. The " "relevant code is contained in [.filename]#src/release# and [.filename]#src/" "usr.sbin/bsdinstall#. Specifically, the file [.filename]#src/release/" "Makefile#, and [.filename]#dist.c#, [.filename]#dist.h#, [.filename]#menus." "c#, [.filename]#install.c#, and [.filename]#Makefile# will need to be " "updated under [.filename]#src/usr.sbin/bsdinstall#. Optionally, you may " "choose to update [.filename]#bsdinstall.8#." msgstr "" "Если требуется включить пользовательское ядро 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#." #. type: Title ==== #: documentation/content/en/articles/releng/_index.adoc:348 #, no-wrap msgid "Disc 2" msgstr "Диск 2" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:353 msgid "" "The second disc is also largely created by `make release`. This disc " "contains a \"live filesystem\" that can be used from man:bsdinstall[8] to " "troubleshoot a FreeBSD installation. This disc should be bootable and " "should also contain a compressed copy of the CVS repository in the [." "filename]#CVSROOT# directory and commercial software demos in the [." "filename]#commerce# directory." msgstr "" "Второй диск также в основном создаётся командой `make release`. Этот диск " "содержит «живую файловую систему», которая может использоваться через " "man:bsdinstall[8] для диагностики установки FreeBSD. Этот диск должен быть " "загрузочным и также содержать сжатую копию репозитория CVS в каталоге [." "filename]#CVSROOT# и демонстрационные версии коммерческого ПО в каталоге [." "filename]#commerce#." #. type: Title ==== #: documentation/content/en/articles/releng/_index.adoc:354 #, no-wrap msgid "Multi-volume Support" msgstr "Поддержка нескольких томов" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:360 msgid "" "Sysinstall supports multiple volume package installations. This requires " "that each disc have an [.filename]#INDEX# file containing all of the " "packages on all volumes of a set, along with an extra field that indicates " "which volume that particular package is on. Each volume in the set must " "also have the `CD_VOLUME` variable set in the [.filename]#cdrom.inf# file so " "that bsdinstall can tell which volume is which. When a user attempts to " "install a package that is not on the current disc, bsdinstall will prompt " "the user to insert the appropriate one." msgstr "" "Sysinstall поддерживает установку пакетов с нескольких томов. Для этого " "каждый диск должен содержать файл [.filename]#INDEX#, в котором перечислены " "все пакеты на всех томах набора, а также дополнительное поле, указывающее, " "на каком именно томе находится конкретный пакет. Каждый том в наборе также " "должен иметь установленную переменную `CD_VOLUME` в файле [.filename]#cdrom." "inf#, чтобы bsdinstall мог определить, какой том является каким. Когда " "пользователь пытается установить пакет, которого нет на текущем диске, " "bsdinstall предложит ему вставить соответствующий диск." #. type: Title == #: documentation/content/en/articles/releng/_index.adoc:362 #, no-wrap msgid "Distribution" msgstr "Распространение" #. type: Title === #: documentation/content/en/articles/releng/_index.adoc:365 #, no-wrap msgid "FTP Sites" msgstr "Сайты FTP" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:371 msgid "" "When the release has been thoroughly tested and packaged for distribution, " "the master FTP site must be updated. The official FreeBSD public FTP sites " "are all mirrors of a master server that is open only to other FTP sites. " "This site is known as `ftp-master`. When the release is ready, the " "following files must be modified on `ftp-master`:" msgstr "" "Когда выпуск тщательно протестирован и упакован для распространения, " "необходимо обновить главный FTP-сайт. Официальные публичные FTP-сайты " "FreeBSD являются зеркалами главного сервера, который доступен только другим " "FTP-сайтам. Этот сервер известен как `ftp-master`. Когда выпуск готов, " "следующие файлы должны быть изменены на `ftp-master`:" #. type: Labeled list #: documentation/content/en/articles/releng/_index.adoc:372 #, no-wrap msgid "[.filename]#/pub/FreeBSD/releases/arch/X.Y-RELEASE/#" msgstr "[.filename]#/pub/FreeBSD/releases/arch/X.Y-RELEASE/#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:374 msgid "The installable FTP directory as output from `make release`." msgstr "" "Устанавливаемый каталог FTP, полученный в результате выполнения `make " "release`." #. type: Labeled list #: documentation/content/en/articles/releng/_index.adoc:375 #, no-wrap msgid "[.filename]#/pub/FreeBSD/ports/arch/packages-X.Y-release/#" msgstr "[.filename]#/pub/FreeBSD/ports/arch/packages-X.Y-release/#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:377 msgid "The complete package build for this release." msgstr "Полная сборка пакетов для этого выпуска." #. type: Labeled list #: documentation/content/en/articles/releng/_index.adoc:378 #, no-wrap msgid "[.filename]#/pub/FreeBSD/releases/arch/X.Y-RELEASE/tools#" msgstr "[.filename]#/pub/FreeBSD/releases/arch/X.Y-RELEASE/tools#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:380 msgid "A symlink to [.filename]#../../../tools#." msgstr "Символическая ссылка на [.filename]#../../../tools#." #. type: Labeled list #: documentation/content/en/articles/releng/_index.adoc:381 #, no-wrap msgid "[.filename]#/pub/FreeBSD/releases/arch/X.Y-RELEASE/packages#" msgstr "[.filename]#/pub/FreeBSD/releases/arch/X.Y-RELEASE/packages#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:383 msgid "A symlink to [.filename]#../../../ports/arch/packages-X.Y-release#." msgstr "" "Символическая ссылка на [.filename]#../../../ports/arch/packages-X.Y-" "release#." #. type: Labeled list #: documentation/content/en/articles/releng/_index.adoc:384 #, no-wrap msgid "[.filename]#/pub/FreeBSD/releases/arch/ISO-IMAGES/X.Y/X.Y-RELEASE-arch-*.iso#" msgstr "[.filename]#/pub/FreeBSD/releases/arch/ISO-IMAGES/X.Y/X.Y-RELEASE-arch-*.iso#" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:387 msgid "" "The ISO images. The \"*\" is [.filename]#disc1#, [.filename]#disc2#, etc. " "Only if there is a [.filename]#disc1# and there is an alternative first " "installation CD (for example a stripped-down install with no windowing " "system) there may be a [.filename]#mini# as well." msgstr "" "Образы ISO. Символ \"*\" обозначает [.filename]#disc1#, [.filename]#disc2# и " "так далее. Только если существует [.filename]#disc1# и есть альтернативный " "первый установочный CD (например, упрощённая установка без графической " "оболочки), может также присутствовать [.filename]#mini#." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:389 msgid "" "For more information about the distribution mirror architecture of the " "FreeBSD FTP sites, please see the extref:{hubs}[Mirroring FreeBSD] article." msgstr "" "Для получения дополнительной информации об архитектуре зеркал " "распространения FTP-сайтов FreeBSD, пожалуйста, ознакомьтесь со статьей " "extref:{hubs}[Поддержка зеркал FreeBSD]." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:397 msgid "" "It may take many hours to two days after updating `ftp-master` before a " "majority of the Tier-1 FTP sites have the new software depending on whether " "or not a package set got loaded at the same time. It is imperative that the " "release engineers coordinate with the {mirror-announce} before announcing " "the general availability of new software on the FTP sites. Ideally the " "release package set should be loaded at least four days prior to release " "day. The release bits should be loaded between 24 and 48 hours before the " "planned release time with \"other\" file permissions turned off. This will " "allow the mirror sites to download it but the general public will not be " "able to download it from the mirror sites. Mail should be sent to {mirror-" "announce} at the time the release bits get posted saying the release has " "been staged and giving the time that the mirror sites should begin allowing " "access. Be sure to include a time zone with the time, for example make it " "relative to GMT." msgstr "" "Может потребоваться от нескольких часов до двух дней после обновления `ftp-" "master`, прежде чем большинство FTP-сайтов Tier-1 получат новое программное " "обеспечение, в зависимости от того, был ли загружен набор пакетов " "одновременно. Крайне важно, чтобы инженеры по выпуску скоординировались с " "{mirror-announce} перед объявлением общей доступности нового программного " "обеспечения на FTP-сайтах. В идеале набор пакетов для выпуска должен быть " "загружен как минимум за четыре дня до дня выпуска. Выпускные файлы должны " "быть загружены за 24–48 часов до запланированного времени выпуска с " "отключёнными разрешениями для \"других\" пользователей. Это позволит " "зеркальным сайтам загрузить их, но широкая публика не сможет скачать их с " "зеркальных сайтов. Письмо должно быть отправлено в {mirror-announce} в " "момент публикации выпускных файлов, уведомляя о том, что выпуск подготовлен, " "и указывая время, когда зеркальные сайты должны начать разрешать доступ. " "Обязательно укажите часовой пояс для указанного времени, например, " "относительно GMT." #. type: Title === #: documentation/content/en/articles/releng/_index.adoc:399 #, no-wrap msgid "CD-ROM Replication" msgstr "Репликация CD-ROM" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:402 msgid "" "Coming soon: Tips for sending FreeBSD ISOs to a replicator and quality " "assurance measures to be taken." msgstr "" "Скоро: Советы по отправке ISO-образов FreeBSD репликатору и меры по " "обеспечению качества." #. type: Title == #: documentation/content/en/articles/releng/_index.adoc:404 #, no-wrap msgid "Extensibility" msgstr "Расширяемость" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:411 msgid "" "Although FreeBSD forms a complete operating system, there is nothing that " "forces you to use the system exactly as we have packaged it up for " "distribution. We have tried to design the system to be as extensible as " "possible so that it can serve as a platform that other commercial products " "can be built on top of. The only \"rule\" we have about this is that if you " "are going to distribute FreeBSD with non-trivial changes, we encourage you " "to document your enhancements! The FreeBSD community can only help support " "users of the software we provide. We certainly encourage innovation in the " "form of advanced installation and administration tools, for example, but we " "cannot be expected to answer questions about it." msgstr "" "Хотя FreeBSD представляет собой законченную операционную систему, ничто не " "обязывает вас использовать её именно в том виде, в каком мы упаковали её для " "распространения. Мы постарались разработать систему максимально расширяемой, " "чтобы она могла служить платформой для создания других коммерческих " "продуктов. Единственное «правило», которое у нас есть на этот счёт, — если " "вы собираетесь распространять FreeBSD с существенными изменениями, мы " "рекомендуем документировать ваши улучшения! Сообщество FreeBSD может " "оказывать поддержку только пользователям того программного обеспечения, " "которое мы предоставляем. Мы, безусловно, приветствуем инновации, такие как " "продвинутые инструменты установки и администрирования, но не можем отвечать " "на вопросы о них." #. type: Title === #: documentation/content/en/articles/releng/_index.adoc:412 #, no-wrap msgid "Scripting `bsdinstall`" msgstr "Скриптинг `bsdinstall`" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:416 msgid "" "The FreeBSD system installation and configuration tool, man:bsdinstall[8], " "can be scripted to provide automated installs for large sites. This " "functionality can be used in conjunction with Intel(R) PXE footnote:[extref:" "{handbook}advanced-networking[Diskless Operation with PXE, network-" "diskless]] to bootstrap systems from the network." msgstr "" "Инструмент установки и настройки системы FreeBSD, man:bsdinstall[8], может " "быть настроен для автоматизированной установки на крупных площадках. Эта " "функциональность может использоваться совместно с Intel(R) PXE " "footnote:[extref:{handbook}advanced-networking[Запуск системы по сети (PXE) " "без использования локальных накопителей, network-diskless]] для загрузки " "систем по сети." #. type: Title == #: documentation/content/en/articles/releng/_index.adoc:418 #, no-wrap msgid "Lessons Learned from FreeBSD 4.4" msgstr "Уроки, извлеченные из FreeBSD 4.4" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:425 msgid "" "The release engineering process for 4.4 formally began on August 1st, 2001. " "After that date all commits to the `RELENG_4` branch of FreeBSD had to be " "explicitly approved by the `{re}`. The first release candidate for the x86 " "architecture was released on August 16, followed by 4 more release " "candidates leading up to the final release on September 18th. The security " "officer was very involved in the last week of the process as several " "security issues were found in the earlier release candidates. A total of " "over _500_ emails were sent to the `{re}` in little over a month." msgstr "" "Процесс разработки релиза 4.4 официально начался 1 августа 2001 года. После " "этой даты все коммиты в ветку `RELENG_4` FreeBSD должны были быть явно " "одобрены `{re}`. Первый релиз-кандидат для архитектуры x86 был выпущен 16 " "августа, за ним последовали ещё 4 релиз-кандидата, что привело к финальному " "релизу 18 сентября. Сотрудник по безопасности был очень вовлечён в последнюю " "неделю процесса, так как несколько проблем безопасности было обнаружено в " "ранних релиз-кандидатах. Всего за чуть более месяца было отправлено более " "_500_ писем `{re}`." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:429 msgid "" "Our user community has made it very clear that the security and stability of " "a FreeBSD release should not be sacrificed for any self-imposed deadlines or " "target release dates. The FreeBSD Project has grown tremendously over its " "lifetime and the need for standardized release engineering procedures has " "never been more apparent. This will become even more important as FreeBSD " "is ported to new platforms." msgstr "" "Наше сообщество пользователей ясно дало понять, что безопасность и " "стабильность выпуска FreeBSD не должны приноситься в жертву из-за " "самостоятельно установленных сроков или целевых дат выпуска. Проект FreeBSD " "значительно вырос за время своего существования, и необходимость " "стандартизированных процедур управления выпусками никогда не была столь " "очевидной. Это станет ещё более важным по мере переноса FreeBSD на новые " "платформы." #. type: Title == #: documentation/content/en/articles/releng/_index.adoc:431 #, no-wrap msgid "Future Directions" msgstr "Перспективы развития" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:435 msgid "" "It is imperative for our release engineering activities to scale with our " "growing userbase. Along these lines we are working very hard to document " "the procedures involved in producing FreeBSD releases." msgstr "" "Для обеспечения масштабирования наших процессов релиз-инжиниринга с растущей " "пользовательской базой мы прилагаем значительные усилия по документированию " "процедур, связанных с созданием выпусков FreeBSD." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:437 msgid "" "_Parallelism_ - Certain portions of the release build are actually " "\"embarrassingly parallel\". Most of the tasks are very I/O intensive, so " "having multiple high-speed disk drives is actually more important than using " "multiple processors in speeding up the `make release` process. If multiple " "disks are used for different hierarchies in the man:chroot[2] environment, " "then the CVS checkout of the [.filename]#ports# and [.filename]#doc# trees " "can be happening simultaneously as the `make world` on another disk. Using a " "RAID solution (hardware or software) can significantly decrease the overall " "build time." msgstr "" "_Параллелизм_ — Некоторые этапы сборки релиза действительно \"тривиально " "параллельны\". Большинство задач очень интенсивно используют ввод-вывод, " "поэтому наличие нескольких высокоскоростных дисков важнее, чем использование " "нескольких процессоров для ускорения процесса `make release`. Если в среде " "man:chroot[2] разные иерархии размещены на разных дисках, то выгрузка CVS " "для деревьев [.filename]#ports# и [.filename]#doc# может происходить " "одновременно с выполнением `make world` на другом диске. Использование RAID " "(аппаратного или программного) может значительно сократить общее время " "сборки." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:438 msgid "" "_Cross-building releases_ - Building IA-64 or Alpha release on x86 hardware? " "`make TARGET=ia64 release`." msgstr "" "_Кросс-сборка релизов_ - Сборка релиза для IA-64 или Alpha на x86 " "оборудовании? `make TARGET=ia64 release`." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:439 msgid "" "_Regression Testing_ - We need better automated correctness testing for " "FreeBSD." msgstr "" "_Регрессионное тестирование_ - Нам необходимы более совершенные " "автоматизированные тесты на корректность для FreeBSD." #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:440 msgid "" "_Installation Tools_ - Our installation program has long since outlived its " "intended life span. Several projects are under development to provide a more " "advanced installation mechanism. The libh project was one such project that " "aimed to provide an intelligent new package framework and GUI installation " "program." msgstr "" "_Инструменты установки_ - Наша программа установки уже давно вышла за рамки " "своего первоначального срока службы. В разработке находится несколько " "проектов, призванных обеспечить более продвинутый механизм установки. Проект " "libh был одним из таких проектов, целью которого было создание " "интеллектуальной новой системы управления пакетами и программы установки с " "графическим интерфейсом." #. type: Title == #: documentation/content/en/articles/releng/_index.adoc:442 #, no-wrap msgid "Acknowledgements" msgstr "Благодарности" #. type: Plain text #: documentation/content/en/articles/releng/_index.adoc:447 msgid "" "I would like to thank Jordan Hubbard for giving me the opportunity to take " "on some of the release engineering responsibilities for FreeBSD 4.4 and also " "for all of his work throughout the years making FreeBSD what it is today. " "Of course the release would not have been possible without all of the " "release-related work done by `{asami}`, `{steve}`, `{bmah}`, `{nik}`, " "`{obrien}`, `{kris}`, `{jhb}` and the rest of the FreeBSD development " "community. I would also like to thank `{rgrimes}`, `{phk}`, and others who " "worked on the release engineering tools in the very early days of FreeBSD. " "This article was influenced by release engineering documents from the CSRG " "footnote:[Marshall Kirk McKusick, Michael J. Karels, and Keith Bostic: link:" "http://docs.FreeBSD.org/44doc/papers/releng.html[The Release Engineering of " "4.3BSD]] , the NetBSD Project, footnote:[NetBSD Developer Documentation: " "Release Engineering http://www.NetBSD.org/developers/releng/index.html] , " "and John Baldwin's proposed release engineering process notes. footnote:" "[John Baldwin's FreeBSD Release Engineering Proposal https://people.FreeBSD." "org/~jhb/docs/releng.txt]" msgstr "" "Я хотел бы поблагодарить Джордана Хаббарда за предоставленную мне " "возможность взять на себя часть обязанностей по управлению выпусками для " "FreeBSD 4.4, а также за всю его работу на протяжении многих лет, которая " "сделала FreeBSD такой, какая она есть сегодня. Конечно, выпуск не состоялся " "бы без всей работы, связанной с выпуском, выполненной `{asami}`, `{steve}`, " "`{bmah}`, `{nik}`, `{obrien}`, `{kris}`, `{jhb}` и остальным сообществом " "разработчиков FreeBSD. Я также хотел бы поблагодарить `{rgrimes}`, `{phk}` и " "других, кто работал над инструментами управления выпусками в самые ранние " "дни FreeBSD. На эту статью повлияли документы по управлению выпусками от " "CSRG footnote:[Маршалл Кирк МакКузик, Майкл Дж. Карелс и Кит Бостик: link:" "http://docs.FreeBSD.org/44doc/papers/releng.html[Управление выпусками " "4.3BSD]], проекта NetBSD footnote:[Документация разработчика NetBSD: " "Управление выпусками http://www.NetBSD.org/developers/releng/index.html] и " "заметки Джона Болдуина с предложениями по процессу управления выпусками. " "footnote:[Предложение Джона Болдуина по управлению выпусками FreeBSD https://" "people.FreeBSD.org/~jhb/docs/releng.txt]"