Чем отличается код стабильной версии от кода, находящегося в процессе тестирования

We use cookies. Read the Privacy and Cookie Policy

Чем отличается код стабильной версии от кода, находящегося в процессе тестирования

Кодовая база Asterisk находится в процессе постоянного изменения. Для управления ею разработчики используют инструмент контроля версий Subversion (SVN)[47]. Subversion обеспечивает сообществу разработчиков возможность совместной работы над сложными проектами программного обеспечения. Существует две основных области разработки Asterisk: ветвь (Branch) и ствол (Trunk). В ствол добавляются новые функции, вносятся изменения в архитектуру и всевозможные нововведения. Это та часть кодовой базы, где содержатся все новые элементы, но которая может в любой момент оказаться в нерабочем состоянии. Ее категорически нельзя использовать для производственной эксплуатации (см. рисунок).

Подобно дереву, ствол имеет ветви. Эти ветви пронумерованы соответственно основным редакциям, например 1.0, 1.2 и 1.4 (в будущем мы, скорее всего, увидим 1.6, 1.8, 1.8.2, 1.8.4. 1.8.6, 1.8.8. 1.8.8.2... м-м... и т.д...). В ветви не вносятся большие архитектурные изменения или новые функции, здесь просто исправляются дефекты и выполняются работы по обеспечению безопасности. В среде производственной эксплуатации стабильность намного важнее, чем введение новых функциональных возможностей. Примерно каждые 14 месяцев (хотя Asterisk не следует формальному графику выпуска версий, как многие пакеты коммерческого программного обеспечения) выпускается версия Asterisk, предназначенная для использования в средах производственной эксплуатации. Начальная версия Asterisk шла под номером 1.0 и была представлена на самой первой конференции AstriCon в Атланте в сентябре 2004 года. Asterisk 1.2 была выпущена на IP4IT в ноябре 2005, а Asterisk 1.4 вышла в декабре 2006.

Обратите внимание, что извлекать из архива и компилировать исходный код Asterisk мы будем в папке /usr/src/, хотя некоторые системные администраторы, возможно, предпочитают использовать /usr/ local/src. Также помните, что для записи файлов в папку /usr/src/ и установки Asterisk и сопутствующих ей пакетов, необходимо иметь права администратора.

В главе 13 можно найти информацию о том, как запустить Asterisk, не будучи администратором. Все специалисты по безопасности рекомендуют запускать свои программы-демоны под учетной записью, не дающей права администратора, на случай возможного проникновения в систему вредоносного кода. Это снизит (но, конечно же, не устранит) риск похищения пароля для пользователя с правами администратора.

Чтобы получить самую последнюю выпущенную версию исходного кода с помощью wget, в командной строке необходимо ввести следующие команды:

# cd /usr/src/

# wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz

# wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz

# wget http://downloads.digium.com/pub/zaptel/zaptel-1.4-current.tar.gz

Последние версии пакетов asterisk, libpri и zaptel вполне могут идти под разными номерами.

И наоборот, при разработке и тестировании, вероятно, вы захотите иметь код самой новой ветви. Чтобы извлечь этот код из SVN, выполните следующую команду:

# svn co http://svn.digium.com/svn/asterisk/branches/1.4 asterisk-1.4 Если исходный код получен в виде файлов выпущенной версии, размещенных на FTP-сервере Digium, перед компиляцией эти файлы необходимо извлечь из архива, о чем рассказывается в следующем разделе.