Версии FreeBSD


Буклеты клевер качественная срочная печать буклетов www.amexpiter.ru.

Почему обновлять FreeBSD относительно просто? Все дело в методе разработки FreeBSD. Это постоянно развивающаяся операционная система. Если после обеда вы загружаете определенную версию FreeBSD, она немного отличается от утренней версии. Разработчики по всему миру непрерывно вносят изменения и улучшения, поэтому традиционная система нумерации версий, принятая для менее открытого программного обеспечения, здесь неприменима. В любой момент можно получить несколько различных версий FreeBSD: «выпуск» (release), ветку с исправленными ошибками (errata branch), -current, -stable и моментальную копию.

«Выпуск»

На рабочий сервер определенно стоит установить выпущенную версию FreeBSD и затем наложить заплатки до текущей ветки с исправленными ошибками.

«Выпуск» FreeBSD имеет стандартный номер версии, подобно любому другому программному обеспечению: 5.5, 6.3, 7.0. «Выпуск» — это просто копия самой стабильной версии FreeBSD на тот или иной момент времени. Три или четыре раза в год группа разработчиков, ответственная за «выпуски» (Release Engineering team), просит разработчиков приостановить внесение существенных изменений и сконцентрироваться на устранении выявленных неполадок. После этого группа Release Engineering отбирает несколько вариантов кода и предлагает их для всеобщего тестирования, а тщательно протестированный программный код получает номер «выпуска». Далее разработчики снова возвращаются к своим обычным проектам.*

Ветка с исправленными ошибками

Ветка с исправленными ошибками (errata branch) — это определенный «выпуск» FreeBSD плюс заплатки безопасности и исправления ошибок для данного «выпуска». Несмотря на все усилия разработчиков FreeBSD обеспечить отсутствие ошибок в каждом «выпуске», эта цель недостижима. Бывает, что неизвестный злоумышленник обнаруживает новую уязвимость в системе безопасности спустя неделю после выхода очередной версии FreeBSD. Тогда группа обеспечения безопасности выпускает исправления для тех, кто стремится обеспечить максимальную стабильность и безопасность своих систем.

У каждого «выпуска» имеется собственная ветка с исправленными ошибками. Например, FreeBSD 7.0-errata отличается от FreeBSD 7.1-errata, а переход от одной к другой так же труден, как и от FreeBSD 7.0 к FreeBSD 7.1. Изменения в API и ABI настолько велики, что полностью, абсолютно не допускают такой переход. Приложения, работающие в основном «выпуске», точно так же будут работать и в любой версии ветки с исправленными ошибками для этого «выпуска». Для обеспечения максимальной стабильности следует оставаться в ветке с исправленными ошибками, предназначенной для установленной версии FreeBSD.

К моменту написания этих строк проект FreeBSD обеспечивал поддержку веток исправлений до двух лет со дня выхода основного «выпуска», но такое положение вещей может измениться. Загляните на страницу http://www.freebsd.org/security или в почтовую рассылку FreeBSD-announce@FreeBSD.org, где можно ознакомиться со списком обновлений и примечаниями, касающимися времени окончания поддержки той или иной версии. Безусловно, обладая доступом к исходному коду, вы можете поддерживать устаревший «выпуск» сколько хотите. Но не ждите, что коллектив разработчиков FreeBSD будет работать на вас до бесконечности!

FreeBSD-current

FreeBSD-current (текущая) — это передовая, самая последняя версия FreeBSD. Она содержит код, который первый раз представляется публике. Хотя разработчики и имеют тестовые серверы и высылают заплатки для ознакомления перед их наложением, тем не менее эти исправления доходят далеко не до всех пользователей FreeBSD-current. Версия FreeBSD-current получает первые экспертные оценки и время от времени подвергается радикальным изменениям, которые добавляют забот опытным системным администраторам.

Версия FreeBSD-current доступна для разработчиков, тестеров и заинтересованных сторон, но не предназначена для всеобщего использования. Ответы на вопросы пользователей о -current очень скудны, поскольку разработчикам просто некогда помогать в настройке веб-броузера — их внимания требуют тысячи более существенных замечаний. Пользователи должны справиться сами или терпеливо ждать, пока кто-нибудь не устранит эти неполадки.

Хуже того, настройки по умолчанию в версии -current включают массу отладочного программного кода, предусматривают вывод особых предупреждений и активируют прочие функции, относящиеся к отладке. Все это делает версию -current более медленной, чем любая другая версия FreeBSD. Вы можете отключить механизмы отладки, но в этом случае не получите грамотный отчет об ошибке, когда появится какая-нибудь проблема. Значит, у вас будут лишние сложности. За дополнительной информацией об отладке в версии -current обращайтесь к файлу /usr/src/UPDATING.

Если вы не можете читать код С и командного интерпретатора, отлаживать ОС, терпеть непредсказуемое поведение функций и ждать, пока кто-нибудь устранит возникшие неполадки, то версия -current не для вас. Храбрецам, желающим испробовать -current, всегда рады. Дорога открыта каждому, кто готов посвятить немало времени изучению и отладке FreeBSD или желает получить урок смирения. Это скорее не наставление «так делать нельзя», а утверждение «все в ваших руках». Никто не запрещает вам работать с версией -current, но рассчитывать придется только на себя. Версия -current — не всегда передовая, но здесь порой небезопасно. В общем, вы предупреждены.

Желающие опробовать -current должны подписаться на почтовые рассылки FreeBSD-current@FreeBSD.org и cvs-src@FreeBSD.org. Это рассылки с большим трафиком — несколько сотен предупреждений, извещений и комментариев в день. Если вы читаете эту книгу, скорее всего, вам пока рано писать сообщения в эту рассылку — просто читайте и учитесь. Если кто-то вдруг обнаружит, что новейшая заплатка для файловой системы превращает жесткие диски в зомби Ктулху, то информация об этом появится именно здесь.

Замораживание кода -current

Каждые год-полтора для FreeBSD-current проводится месячник замораживания кода (code freeze), когда не допускаются несущественные изменения и устраняются все оставшиеся неполадки. Цель — стабилизировать последнюю версию FreeBSD и ликвидировать шероховатости. По завершении этого процесса (или вскоре после него) -current становится новым «выпуском» .0 системы FreeBSD.

После одного или двух «выпусков» из новой версии -current ответвляется новая, основная версия -stable. Например, в свое время FreeBSD 6.0 была -current, так же как и FreeBSD 7.O.

После появления «выпуска» .0 работа продолжается в двух направлениях: над версиями FreeBSD-current и FreeBSD-stable.

FreeBSD-stable

FreeBSD-stable (или просто -stable) — передний край для среднего пользователя. Эта версия содержит последний код, аттестованный экспертами. Версии FreeBSD-stable положено быть устойчивой и надежной; она не должна требовать от пользователя значительного внимания. Как только тот или иной код в -current тщательно протестирован, он может влиться в версию -stable. На версию -stable можно безопасно перейти почти в любое время; это своего рода FreeBSD-beta.

Со временем различия между -stable и -current увеличиваются, и в какой-то момент назревает необходимость ответвить от -current новую версию -stable. Предыдущая -stable будет активно поддерживаться несколько месяцев, пока не закрепится новая -stable. Одни пользователи захотят немедленно обновить систему до новой версии -stable, другие будут более осмотрительны. После выхода одной или двух новых версий -stable прежняя версия -stable признается устаревшей, а пользователи увидят приглашение обновить системы до новой -stable. В конце концов, изменения в устаревшей версии -stable будут сводиться лишь к исправлению критических ошибок, и наконец ее развитие будет остановлено полностью. Весь этот процесс можно увидеть на рис. 13.1.


Рис. 13.1. Направления разработки FreeBSD

Время от времени на версию -stable «наводят лоск» и подвергают ее испытаниям; разработчики останавливают перенос изменений из -current в -stable и все внимание обращают на тестирование. Когда каждый разработчик удовлетворится качеством версии, подготавливается новый «выпуск». Например, четвертый «выпуск» FreeBSD 7 — это FreeBSD 7.3. FreeBSD 7.3 — это всего лишь веха на пути развития FreeBSD-stable 7.

Пользователям FreeBSD-stable следует подписаться на почтовую рассылку FreeBSD-stable@FreeBSD.org. Трафик в этой почтовой рассылке модерируется, большую его часть составляют вопросы и ответы, которые в действительности должны были бы направляться в рассылку -question@, тем не менее в эту рассылку направляются важные сообщения от разработчиков, обычно озаглавленные HEADS UP. Внимательно относитесь к этим сообщениями; обычно они касаются изменений в системе, способных разрушить ваши планы на день, если заранее не знать о них.

Стабильность версии -stable

Слово stable (стабильная) относится к программному коду, составляющему основу самой операционной системы FreeBSD. Очередная версия -stable гарантирует не устойчивость системы, а только отсутствие существенных изменений в основном программном коде ОС. Прикладной и двоичный программные интерфейсы (API и ABI) наверняка не изменятся. Разработчики прилагают все усилия, чтобы сохранить устойчивость, но от ошибок никто не застрахован. Если вас волнует риск потери устойчивости — переходите на использование ветки с исправленными ошибками (errata).

Поглощение из текущей версии

Фраза поглощение из текущей версии (merge from -current, MFC) означает перенос функции или подсистемы из FreeBSD-current во FreeBSD- stable (или, что случается реже, в ветку с исправленными ошибками). Однако такому переносу подвергаются далеко не все новые функциональные возможности, потому что версия FreeBSD-current — это полигон, где обкатываются существенные изменения, многие из которых требуют отладки и тестирования, длящихся месяцами. Такие изменения не переносят в стабильную версию, потому что это плохо повлияет на пользователей версии -stable, в первую очередь ожидающих стабильности. Новые драйверы, исправления ошибок и некоторые улучшения могут быть перенесены, но существенные изменения, которые могут отрицательно сказаться на работе пользовательских приложений, не переносятся.

Моментальные копии

Каждый месяц, или что-то около того, группа разработчиков FreeBSD Release Engineering выпускает моментальные копии (snapshots) версий -current и -stable, выкладывая их на FTP-сайте. Моментальные копии — это просто вешки на пути развития; они не подвергаются какому-то специальному тестированию. Моментальная копия не предполагает такого внимания к качеству, как «выпуск», но может служить хорошей отправной точкой для тех, кто интересуется версиями -current и -stable. Качество моментальных копий почти не контролируется, многие разработчики даже не знают о выходе новой моментальной копии, пока не увидят ее на FTP-сервере. Вам могут встретиться баги. Вам могут встретиться ошибки. Испытания, через которые вы пройдете, заставят вашу мать поседеть, если, конечно, вы сами еще не довели бедняжку до этого.

FreeBSD и тестирование

Каждая версия и «выпуск» FreeBSD подвергается различным испытаниям. Отдельные разработчики проверяют качество своей работы на собственном аппаратном обеспечении и просят друг друга перепроверить их работу. Если продукт достаточно сложный, они могут использовать личное хранилище исходного кода, чтобы организовать доступ сообщества к своей работе, прежде чем отправить ее в -current. Компания Coverity пожертвовала группе разработчиков FreeBSD аналитическое программное обеспечение для постоянного автоматического тестирования и отладки, чтобы отыскивать ошибки еще до того, как они попадут к пользователям. Такие корпорации, как Yahoo!, Sentex и iX Systems пожертвовали проекту FreeBSD высококачественную аппаратуру для нужд тестирования, предоставив сервер группе, занимающейся вопросами безопасности, и высокопроизводительный сетевой кластер для разработчиков ядра. Несколько наиболее ценных разработчиков FreeBSD сделали тестирование своей главной задачей в рамках проекта FreeBSD.

Однако проект, развивающийся исключительно за счет труда сотен добровольных разработчиков, не в состоянии приобрести все разновидности компьютеров, какие только производятся, так же как не может проводить испытания под всеми возможными видами нагрузки. Проект FreeBSD целиком опирается на пожертвования производителей аппаратного обеспечения, заинтересованных в том, чтобы их оборудование работало под управлением FreeBSD, на помощь компаний, стремящихся использовать FreeBSD на имеющихся у них аппаратных средствах, и на пользователей.

Наиболее существенная помощь поступает от пользователей, имеющих реальное оборудование и испытательные полигоны, подвергающиеся настоящим рабочим нагрузкам. К сожалению, большинство из этих пользователей выполняют тестирование, только когда вставляют компакт-диск с дистрибутивом в компьютер, устанавливают и запускают систему. В этот момент уже поздно пытаться принести какую-либо пользу выпуску. Любые сообщения об ошибках, обнаруженных пользователями, могут помочь в подготовке следующего выпуска, но в то же время обновление до ветки с исправленными ошибками для этого выпуска может ликвидировать вашу проблему. Решение вполне очевидно — тестировать FreeBSD в реальных условиях необходимо до выхода выпуска. Предложения на тестирование новых выпусков -stable появляются в почтовой рассылке FreeBSD-stable@FreeBSD.org. Тестируя версии -stable и -current, вы сможете получить большую отдачу от FreeBSD.

Какую версию следует использовать?

-current, -stable, -errata, моментальные копии — от разнообразия голова кругом. Такая система может показаться сложной, но она оправдывает себя и обеспечивает необходимый уровень качества. Пользователь может быть уверен, что ветка с исправленными ошибками будет настолько стабильна, насколько это вообще возможно, и прошла экспертную оценку и всестороннее тестирование. Тот же самый пользователь знает, что в новых версиях -stable и -current ему будут доступны новые привлекательные возможности, если он готов пойти на риск, который несет в себе каждая новая версия. Так какую же версию предпочесть? Ниже приводятся мои рекомендации на этот счет:

Предприятие
Если ваша система обеспечивает работу предприятия, устанавливайте версию -stable и следите за выходом исправлений.

Тестирование
Администраторам, желающим узнать, как изменения в FreeBSD влияют на операционную среду, следует применять -stable на испытательной системе.

Разработка
Если вы разработчик операционной системы, обладатель массы свободного времени и крепких нервов или круглый дурак, то версия -current — для вас. Когда -current уничтожит вашу коллекцию МРЗ, разберитесь в проблеме и предложите свою заплатку.

Хобби
Если вы увлекающийся человек, запускайте любую версию! Просто помните об ограничениях того варианта, который вы выбрали. Новичкам в UNIX лучше выбрать -release. Как только почувствуете себя увереннее, обновите систему до -stable. Если у вас нет занятия получше и вам наплевать на свои данные — добро пожаловать в ряды мазохистов, выбравших -current!

Комментарии запрещены.