Глава 4. Ресурсы для разработчиков и сопровождающих Debian

Содержание

4.1. Списки рассылки
4.1.1. Базовые правила
4.1.2. Базовые списки рассылки
4.1.3. Специальные списки рассылки
4.1.4. Запрос новых списков рассылки, связанных с разработкой
4.2. Каналы IRC
4.3. Документация
4.4. Машины Debian
4.4.1. Сервер bugs
4.4.2. Сервер ftp-master
4.4.3. Сервер www-master
4.4.4. Веб-сервер people
4.4.5. Серверы систем управления версиями
4.4.6. chroot для различных выпусков
4.5. База данных разработчиков
4.6. Архив Debian
4.6.1. Разделы
4.6.2. Архитектуры
4.6.3. Пакеты
4.6.4. Выпуски
4.6.4.1. Стабильный, тестируемые и нестабильный выпуски
4.6.4.2. Дополнительная информация о тестируемом выпуске
4.6.4.3. Экспериментальный выпуск
4.6.5. Кодовые имена выпусков
4.7. Зеркала Debian
4.8. Система входящих пакетов
4.9. Информация о пакете
4.9.1. В веб
4.9.2. Утилита dak ls
4.10. Система отслеживания пакетов Debian
4.10.1. Интерфейс электронной почты для системы отслеживания пакетов
4.10.2. Фильтрация почты от системы отслеживания пакетов
4.10.3. Пересылка коммитов системы управления версиями в систему отслеживания пакетов
4.10.4. Веб-интерфейс системы отслеживания пакетов
4.11. Обзор пакетов разработчика
4.12. Установка Debian FusionForge: Alioth
4.13. Плюшки для разработчиков и сопровождающих Debian

В данной главе вы найдёте очень краткую дорожную карту списков рассылки Debian, машин Debian, которые доступны вам как разработчику, а также всех других доступных вам ресурсов, которые могут помочь в вашей работе в качестве сопровождающего.

Большая часть общения между разработчиками Debian (а также пользователями) происходит в списках рассылки, которые расположены по адресу lists.debian.org. Чтобы узнать о том, как подписаться или отписаться, как отправлять сообщения и как не отправлять их, где искать старые сообщения и как осуществлять поиск по ним, как связаться с сопровождающими данного списка рассылки и как просмотреть другую информацию о данном списке рассылки, прочтите https://www.debian.org/MailingLists/. В данном разделе приводятся лишь некоторые аспекты списков рассылки, которые особенно интересны разработчикам.

Базовые списки рассылки Debian, которыми следует пользоваться разработчикам:

  • используется для анонсирования важной для разработчиков информации. Ожидается, что все разработчики подписаны на этот список рассылки.

  • используется для обсуждения различных вопросов разработки, связанных с техническими проблемами.

  • используется для обсуждения Политики Debian, а также для голосования по её изменению.

  • используется для обсуждения различных не технических проблем, связанных с Проектом.

Существуют и другие списки рассылки для обсуждения специальных вопросов; см. список по адресу https://lists.debian.org/.

представляет собой специальный список рассылки для частных дискуссий между разработчиками Debian. Предполагается, что он будет использоваться для сообщений, которые по какой-либо причине не должны быть доступны широкой публике. Как таковой это небольшой список рассылки, пользователям рекомендуется не использовать , если только это не является действительно необходимым. Более того, не пересылайте сообщения из этого списка кому бы то ни было. Архивы данного списка не доступны в сети по очевидным причинам, но вы можете просмотреть их, используя вашу учётную запись для командной оболочки на master.debian.org, архив находится в каталоге ~debian/archive/debian-private/.

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

Несколько каналов IRC специально посвящены разработке Debian. В основном они размещены в сети сообщества открытых и свободных технологий (OFTC). Запись DNS irc.debian.org является псевдонимом для irc.oftc.net.

Основным общим каналом для Debian является #debian. Это большой канал общего назначения, где пользователи могут найти свежие новости о Проекте, этот канал обслуживается роботами. #debian предназначен для говорящих на английском языке; также имеются #debian.de, #debian-fr, #debian-br и другие каналы со сходными названиями для тех, кто говорит на других языках.

Основным каналом по вопросам разработки Debian является #debian-devel. Это довольно активный канал; обычно на нём присутствует не менее 150 человек в любое время дня. Это канал для тех, кто хочет работать над Debian, это не канал поддержки (это этого используется канал #debian). Тем не менее, этот канал открыт для всех, кто хочет затаиться (и научиться). Его тематика состоит в обсуждении любой информации, которая интересна разработчикам.

Поскольку #debian-devel является открытым каналом, вам не следует обсуждать в нём то, что обсуждается в . Для этого цели имеется другой канал, который имеет имя #debian-private, он защищён ключом. Ключ доступен по адресу master.debian.org:~debian/misc/irc-password.

Имеются и другие дополнительные каналы, специально предназначенные для конкретных тем. #debian-bugs используется для координации вечеринок по исправлению ошибок. #debian-boot используется для координации работы над программой установки Debian. #debian-doc время от времени используется для разговоров по поводу документации, например, для обсуждения документации, которую вы читаете в настоящий момент. Другие каналы выделены для архитектур или наборов пакетов: #debian-kde, #debian-dpkg, #debian-jr, #debian-edu, #debian-oo (пакет OpenOffice.org)...

Существуют также некоторые каналы для разработчиков, родным языком которых не является английский, например #debian-devel-fr для людей, говорящих на французском языке и заинтересованных в разработке Debian.

В других сетях IRC также существуют каналы, посвящённые Debian, в частности в IRC сети freenode, на который до 4 июня 2006 года работало перенаправление с псевдонима irc.debian.org.

Для получения скрытия (cloak) в сети freenode отправьте Йоргу Ясперту (Jörg Jaspert) <joerg@debian.org> подписанное вашим ключом сообщение электронной почты с указанием вашего псевдонима. Добавьте где-нибудь слово cloak в заголовке Subject:. Ваш псевдоним должен быть зарегистрирован, см. страницу настройки псевдонима. Сообщение должно быть подписано ключом, который входит в брелок Debian. Дополнительную информацию о скрытии см. в документации Freenode.

Данный документ содержит большое количество полезной разработчикам Debian информации, но он не может содержать всё. Ссылки на большинство других интересных документов приведены в Уголке разработчика. Потратьте некоторое время на то, чтобы ознакомиться с ними, и вы обязательно узнаете много нового.

У Debian имеется несколько компьютеров, которые работают в качестве серверов, большинство из них обслуживают критически важные функции в Проекте Debian. Большая часть машин используется для переноса пакетов, все эти машины имеют постоянное подключение к сети Интернет.

Некоторые машины доступны для использования отдельными разработчиками до тех пор, пока эти разработчики соблюдают правила, приведённые в Политике использования машин Debian.

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

Позаботьтесь о защите ваших паролей Debian и ключей SSH, установленных на машинах Debian. Избегайте входа или методов загрузки, которые пересылают пароли по сети Интернет в открытом виде, такие как Telnet, FTP, POP и т. д.

Пожалуйста, не размещайте какой-либо материал, не связанный с Debian, на серверах Debian, если у вас нет на это соответствующего разрешения.

Текущий список машин Debian доступен по адресу: https://db.debian.org/machines.cgi. Эта веб-страница содержит имена машин, контактную информацию, информацию о том, кто может входить на данную машину, ключи SSH и т. д.

Если у вас имеются проблемы с работой сервера Debian, и вы считаете, что системные операторы должны быть извещены об этой проблеме, вы можете обратиться к списку открытых проблем в очереди DSA в нашей системе отслеживания билетов https://rt.debian.org/ (вы можете войти под пользователем «debian», пароль же доступен по адресу: master.debian.org:~debian/misc/rt-password). Чтобы сообщить о новой проблеме, вам нужно лишь отправить сообщение по адресу и убедиться, что в теме вы указали «Debian RT». Чтобы связаться с командой DSA по электронной почте, для частной или привилегированной информации, которая не должна быть публичной, используйте адрес , а для всего остального адрес . Команда DSA также может быть найдена на IRC-канале #debian-admin в сети OFTC.

Если у вас имеются проблемы с конкретной службой, которые не связаны с администрированием системы (такие как пакеты, которые следует удалить из архива, предложения для веб-сайта и т. д.), вам следует отправить сообщение об ошибке в псевдопакете „pseudo-package“. Информацию о том, как отправлять такие сообщения об ошибках, см. раздел 7.1, «Отправка отчётов об ошибках».

Некоторые корневые серверы ограничены, но информация с них зеркалируется на других серверах.

people.debian.org представляет собой сервер, используемый для размещения собственных веб-страниц разработчиков обо всём, что связано с Debian.

Если у вас имеется какая-то касающаяся Debian информация, которую вы хотели бы разместить в веб, вы можете сделать это, поместив ваш материал в каталог public_html своего домашнего каталога на people.debian.org. Материал будет доступен по URL: https://people.debian.org/~ваш-идентификатор-пользователя/.

Вам следует использовать именно это место потому, что мы создаём его резервную копию, на других узлах резервные копии не создаются.

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

Если у вас имеются какие-либо вопросы, отправьте сообщения по адресу .

База данных разработчиков, расположенная на https://db.debian.org/, представляет собой каталог LDAP для управления атрибутами разработчиков Debian. Вы можете использовать этот ресурс для поиска по списку разработчиков Debian. Часть этой информации также доступна через службу finger на серверах Debian, попробуйте выполнить finger ваша-учётная-запись@db.debian.org и посмотрите вывод этой команды.

Разработчики могут входить в базу данных для изменения различной информации о самих себе, как то:

  • адрес для пересылки вашей почты debian.org

  • подписка на debian-private

  • нахождение в отпуске

  • персональная информация, например, адрес, страна, широта и долгота места, где вы проживаете, и которые будут использованы на мировой карте разработчиков Debian, номера телефонов и факсов, псевдоним в IRC и адрес веб-страницы

  • пароль и предпочтительная оболочка на машинах Проекта Debian

Естественно, большая часть информации не доступна публично. Для получения дополнительной информации, прочтите документацию, которая может быть найдена по адресу https://db.debian.org/doc-general.html.

Разработчики могут добавлять свои SSH-ключи, которые будут использовать для авторизации на официальных машинах Debian, и даже добавлять новые записи DNS вида *.debian.net. Эти возможности описаны по адресу https://db.debian.org/doc-mail.html.

Дистрибутив Debian состоит из огромного числа пакетов (в настоящее время около 15000 пакетов с исходным кодом) и нескольких дополнительных файлов (таких как документация и образы установочных дисков).

Ниже приведён пример дерева каталогов полного архива Debian:

dists/stable/main/
dists/stable/main/binary-amd64/
dists/stable/main/binary-armel/
dists/stable/main/binary-i386/
     ...
dists/stable/main/source/
     ...
dists/stable/main/disks-amd64/
dists/stable/main/disks-armel/
dists/stable/main/disks-i386/
     ...

dists/stable/contrib/
dists/stable/contrib/binary-amd64/
dists/stable/contrib/binary-armel/
dists/stable/contrib/binary-i386/
     ...
dists/stable/contrib/source/

dists/stable/non-free/
dists/stable/non-free/binary-amd64/
dists/stable/non-free/binary-armel/
dists/stable/non-free/binary-i386/
     ...
dists/stable/non-free/source/

dists/testing/
dists/testing/main/
     ...
dists/testing/contrib/
     ...
dists/testing/non-free/
     ...

dists/unstable
dists/unstable/main/
     ...
dists/unstable/contrib/
     ...
dists/unstable/non-free/
     ...

pool/
pool/main/a/
pool/main/a/apt/
     ...
pool/main/b/
pool/main/b/bash/
     ...
pool/main/liba/
pool/main/liba/libalias-perl/
     ...
pool/main/m/
pool/main/m/mailx/
     ...
pool/non-free/f/
pool/non-free/f/firmware-nonfree/
     ...

Как вы можете видеть, каталог верхнего уровня содержит два каталога, dists/ и pool/. Последний представляет собой “пул”, в котором фактически находятся пакеты, и который обрабатывается базой данных для сопровождения архива и сопутствующими программами. Первый же содержит выпуски, стабильный, тестируемый и нестабильный. Файлы Packages и Sources в подкаталогах выпусков могут указывать на файлы в каталоге pool/. Деревья каталогов каждого выпуска организованы одинаковым образом. То, что мы описываем ниже для стабильного выпуска применимо и для нестабильного, и для тестируемого выпусков.

dists/stable содержит три каталога, а именно main, contrib и non-free.

В каждом из них имеется каталог для пакетов с исходным кодом (source) и каталог для каждой поддерживаемой архитектуры (binary-i386, binary-amd64 и т. д.).

Каталог main содержит дополнительные каталоги, в которых хранятся образы дисков и некоторые важные части документации, требующиеся для установки дистрибутива Debian на конкретную архитектуру (disks-i386, disks-amd64 и т. д.).

Раздел main архива Debian — то, что является официальным дистрибутивом Debian. Раздел main является официальным потому, что он полностью соответствует всем нашим рекомендациям. Другие два раздела не соответствуют им в той или иной степени; как таковые они не являются официальной частью Debian.

Каждый пакет из основного раздела должен полностью соответствовать Критериям Debian по определению Свободного ПО (DFSG), а также всем другим правилам, описываемым в Руководстве по политике Debian. DFSG представляет собой наше определение понятия “свободное ПО.” Для получения дополнительной информации ознакомьтесь с Руководством по политике Debian.

Пакеты из раздела contrib должны соответствовать DFSG, но могут не отвечать другим требованиями. Например, они могут зависеть от несвободных пакетов.

Пакеты, которые не соответствуют DFSG, помещаются в раздел non-free. Эти пакеты не считаются частью дистрибутива Debian, хотя мы даём возможность их использовать, а также предоставляем нашу инфраструктуру (например, нашу систему отслеживания ошибок, а также списки рассылки) под пакеты с несвободным ПО.

Руководство по политике Debian содержит более точное определение этих трёх разделов. Приведённое выше определение является лишь вводным.

Разделение этих трёх разделов на верхнем уровне архива является важным для всех людей, которые хотят распространять Debian, через FTP серверы в Интернет или на CD-ROM: распространяя только разделы main и contrib, можно избежать правовых рисков. Например, некоторые пакеты в разделе non-free не разрешают их коммерческое распространение.

С другой стороны, производитель CD-ROM легко может проверить лицензию отдельно взятого пакета в разделе non-free и добавить столько пакетов из этого раздела на CD-ROM, сколько это разрешено их лицензиями. (Поскольку это отличается от производителя к производителю, данная работа не может быть проделана разработчиками Debian.)

Заметьте, понятие раздела также используется для указания категорий, которые упрощают организацию и просмотр доступных пакетов, например, admin, net, utils и т. д. Когда-то давно эти разделы (скорее подразделы) существовали в виде подкаталогов внутри архива Debian. Сегодня же они существуют только в поле Section пакета.

Имеется два типа пакетов Debian, а именно пакеты с исходным кодом и двоичные пакеты.

В зависимости от формата пакета с исходным кодом, он состоит из одного или нескольких файлов в дополнение к обязательному файлу .dsc:

  • формат “1.0” содержит либо файл .tar.gz, либо файл .orig.tar.gz и файл .diff.gz;

  • формат “3.0 (quilt)” содержит обязательный tar-архив из основной ветки разработки .orig.tar.{gz,bz2,xz}, множество необязательных дополнительных tar-архивов из основной ветки разработки .orig-компонент.tar.{gz,bz2,xz} и обязательный tar-архив debian doc debian.tar.{gz,bz2,xz};

  • формат “3.0 (native)” содержит только один tar-архив .tar.{gz,bz2,xz}.

Если пакет разработан специально для Debian и не распространяется за пределами Debian, то в нём содержится только один файл .tar.{gz,bz2,xz}, содержащий исходный код программы, такой пакет называется “родным” пакетом с исходным кодом. Если пакет распространяется где-либо ещё, файл .orig.tar.{gz,bz2,xz} содержит так называемый исходный код из основной ветки разработки, то есть исходный код, распространяемый сопровождающим основной ветки (часто это автор ПО). В этом случае файл .diff.gz или debian.tar.{gz,bz2,xz} содержит изменения, сделанные сопровождающим Debian.

Файл .dsc содержит список всех файлов в пакете с исходным кодом, а также их контрольные суммы (md5sums, sha1sums, sha256sums) и некоторую дополнительную информацию о пакете (сопровождающий, версия и т. д.).

Система каталогов, описанная в предыдущей главе, сама по себе содержится в каталогах выпусков. Каждый выпуск фактически содержит каталог pool на верхнем уровне архива Debian.

Подводя итог, скажем, что корневой каталог архива Debian расположен на сервере FTP. Например, на зеркальном сайте, ftp.us.debian.org, сам архив Debian содержится в /debian, что является его обычным расположением (другое расположение — /pub/debian).

Выпуск включает в себя исходный код Debian и двоичные пакеты, а также соответствующие индексные файлы Sources и Packages, содержащие заголовочную информацию всех пакетов. Первый файл хранится в каталоге pool/, а последний — в каталоге dists/ архива (для обратной совместимости).

Всегда имеются выпуски, называемые стабильным выпуск (он расположен в dists/stable), тестируемый выпуск (он расположен в dists/testing), а также нестабильный выпуск (он расположен в dists/unstable). Эта иерархия отражает процесс разработки Проекта Debian.

Активная разработка выполняется в нестабильном выпуске (вот почему этот выпуск иногда называется разрабатываемым выпуском). Каждый разработчик Debian может загружать свои пакеты в этот выпуск в любое время. Таким образом, содержимое этого выпуска меняется день ото дня. Поскольку для того, чтобы убедится, что этот выпуск работает нормально, иногда он в буквальном смысле бывает нестабильным.

Тестируемый выпуск создаётся автоматически путём принятия пакетов из нестабильного выпуска, если они удовлетворяют определённым критериям. Эти критерии должны гарантировать хорошее качестве пакетов в тестируемом выпуске. Обновление тестируемого выпуска запускается дважды в день, сразу после установки новых пакетов. См. раздел 5.13, «Тестируемый выпуск».

После периода разработки, когда управляющий выпуском решает, что время подходящее, тестируемый выпуск замораживается, что означает, что правила, управляющие тем, как пакеты переходят из нестабильного выпуска в тестируемый ужесточаются. Удаляются пакеты с большим количеством ошибок. Запрещается изменять что-либо в тестируемом выпуске за исключением исправления ошибок. Через некоторое время, в зависимости от хода всего процесса, тестируемый выпуск переходит на вторую стадию заморозки. Подробности работы с тестируемым выпуском публикуются выпускающей командой в списке рассылки debian-devel-announce. Когда открытые проблемы будут решены так, что выпускающая команда будет удовлетворена, осуществляется выпуск дистрибутива. Это предполагает, что тестируемый выпуск переименовывается в стабильный выпуск, создаётся его копия для нового тестируемого выпуска, а предыдущий стабильный переименовывается в предыдущий стабильный выпуск и остаётся им до тех пор пока наконец не будет архивирован. Во время архивирования его содержимое перемещается на archive.debian.org.

Этот цикл разработки основывается на допущении, что нестабильный выпуск становится стабильным после периода тестирования. Даже если выпуск считается стабильным, в нём всё равно присутствуют ошибки — вот почему стабильный выпуск продолжает обновляться. Тем не менее, эти обновления довольно тщательно тестируются до их включения в архив и добавляются по одному для того, чтобы снизить риск добавления новых ошибок. Вы можете найти предлагаемые дополнения к стабильному выпуску в каталоге proposed-updates. Те пакеты из proposed-updates, которые прошли проверку, периодически перемещаются в составе группы других пакетов в стабильный выпуск, а номер редакции стабильного выпуска увеличивается (напр., ‘6.0’ становится ‘6.0.1’, ‘5.0.7’ становится ‘5.0.8’ и т. д.). За подробностями обратитесь к разделу загрузки в стабильный выпуск.

Заметьте, что разработка нестабильного выпуска продолжается во время периода заморозки, поскольку нестабильный выпуск остаётся параллельным тестируемому выпуску.

Экспериментальный выпуск является специальным выпуском. Это не полный выпуск в том же смысле как являются полными стабильный, тестируемый и нестабильный выпуски. Наоборот, это лишь временное место для экспериментального ПО, которое вполне может сломать ваше систему, либо для ПО, которое пока ещё недостаточно стабильно для того, чтобы помещать его в нестабильный выпуск (но всё равно имеются причины для создания такого пакета). Ожидается, что пользователи, которые скачивают и устанавливают пакеты из экспериментального выпуска, предупреждены о возможных проблемах. Короче, для экспериментального выпуска мы не даём никаких гарантий, вся ответственность исключительно на вас.

Вот строки sources.list(5) для экспериментального выпуска:

deb http://ftp.xy.debian.org/debian/ experimental main
deb-src http://ftp.xy.debian.org/debian/ experimental main

Если имеется возможность того, что ПО может нанести непоправимый вред системе, лучше всего поместить его в экспериментальный выпуск. Например, поддержка экспериментальной файловой системы с сжатием должна, вероятно, войти в экспериментальный выпуск.

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

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

Новое ПО, которое скорее всего не повредит систему, может быть сразу добавлено в нестабильный выпуск.

Альтернативой экспериментальному выпуску является ваше личное пространство на people.debian.org.

Каждый выпущенный дистрибутив Debian имеет кодовое имя: Debian 6.0 называется squeeze; Debian 7 — wheezy; Debian 8 — jessie; следующий выпуск Debian 9 будет называться stretch а Debian 10 будет называться buster. Кроме того, имеется «псевдодистрибутив», называемый sid, который является текущим нестабильный выпуском; поскольку пакеты перемещаются из нестабильного выпуска в тестируемый по мере их достижения стабильного состояния, сам sid никогда не будет выпущен. Помимо обычного содержимого дистрибутива Debian sid содержит пакеты для тех архитектур, которые пока официально не поддерживаются и не были выпущены Debian. Эти архитектуры планируется интегрировать в будущем в основную ветку дистрибутива. Кодовые имена и версии предыдущих выпусков указаны на веб-сайте.

Поскольку Debian следует открытой модели разработки (т. е., всякий может участвовать и следить за разработкой), даже нестабильный и тестируемый выпуски распространяются в Интернет через сеть FTP и HTTP серверов Debian. Таким образом, если мы назвали каталог, содержащий версию, рассматриваемую в качестве кандидата на выпуск, testing, то мы переименуем его в stable, когда эта версия будет выпущена, что приведёт к тому, что все FTP зеркала заново загрузят весь дистрибутив (который довольно велик).

С другой стороны, если мы с самого начала назовём каталоги выпусков Debian-x.y, люди будут полагать, что доступен выпуск Debian версии x.y. (Такое было в прошлом, когда производитель CD-ROM собрал CD-ROM Debian 1.0 на основе разрабатываемой версии pre-1.0. Вот почему первым официальным выпуском Debian был 1.1, а не 1.0.)

Таким образом, имена каталогов для выпусков в архиве соответствуют кодовым именам выпусков, а не статусу выпуска (напр., `jessie'). Эти имена остаются одними и теми же в период разработки в после выпуска; символические ссылки, которые легко могут быть изменены, обозначают текущий стабильный выпуск. Вот почему фактические каталоги используют кодовые имена, а символические ссылки для стабильного, тестируемого и нестабильного выпусков указывают на соответствующие каталоги выпусков.

Разные архивы для скачивания и веб-сайт имеют несколько зеркал для того, чтобы освободить наши каноничные серверы от тяжёлой нагрузки. Фактически, некоторые каноничные серверы не доступны публично — вместо этого первый ряд зеркал занимается балансировкой нагрузки. Так, пользователи всегда получают доступ к зеркалу и привыкают использовать их, что позволяет Debian лучше разделять пропускную способность между несколькими серверами и сетями и вообще позволяет пользователям избежать обращения к основному серверу. Заметьте, что первый ряд серверов является наиболее актуальными, поскольку они обновляются по запросу с внутренних сайтов (мы называем это проталкивающим зеркалированием).

Все информация о зеркалах Debian, включая список доступных публично FTP/HTTP серверов, может быть найдена на https://www.debian.org/mirror/. Эта полезная страница содержит информацию и инструменты, которые могут быть вам полезны, если вы заинтересованы в настройке собственного зеркала, как для внутренних нужд, так и с публичным доступом.

Заметьте, что зеркала обычно обслуживаются третьими лицами, которые заинтересованы в оказании помощи Debian. Как таковые, разработчики обычно не имеют учётных записей на этих машинах.

Система входящих пакетов ответственна за сбор обновлённых пакетов и их установку в архив Debian. Она состоит из набора каталогов и сценариев, которые установлены на ftp-master.debian.org.

Пакеты загружаются сопровождающими в каталог с названием UploadQueue. Этот каталог сканируется каждые несколько минут службой, названой queued, выполняются файлы *.command, а оставшиеся и корректно подписанные файлы *.changes перемещаются вместе с соответствующими их файлами в каталог unchecked. Этот каталог невидим для большинства разработчиков, поскольку доступ у главному ftp ограничен; он сканируется каждые 15 минут сценарием dak process-upload, который проверяет целостность загруженных пакетов и их криптографические подписи. Если пакет считается готовым к установке, он перемещается в каталог done. Если это первая загрузка данного пакета (либо в ней содержаться новые двоичные пакеты), пакет перемещается в каталог new, где он должен ожидать подтверждения от сопровождающих ftp. Если пакет содержит файлы, которые должны быть установлены вручную, он перемещается в каталог byhand, где он ожидает ручной установки, выполняемой сопровождающими ftp. В противном случае, если была обнаружена какая-либо ошибка, пакет получает отказ и перемещается в каталог reject.

Когда пакет будет принят, система отправляет сообщение с подтверждением этого сопровождающему и закрывает все ошибки, которые были отмечены как исправленные в данной загрузке, тогда ПО для автоматической сборки может начать их повторную компиляцию. Теперь пакет доступен публично в http://incoming.debian.org/, она остаётся там до фактической установки в архив Debian. Это происходит четыре раза в день (и также по историческим причинам называется `dinstall run'); затем пакет удаляется из входящих и устанавливается в пул вместе со всеми другими пакетами. Когда все другие обновления (создающие, например, индексные файлы Packages и Sources) будут произведены, вызывается специальный сценарий, которые просит все первичные зеркала запустить обновление.

ПО для сопровождения архива также отправит подписанный с помощью OpenPGP/GnuPG файл .changes, который вы загрузили, в соответствующий список рассылки. Если у пакета поле Distribution имеет значение stable, то анонс отправляется в . Если у пакета поле Distribution имеет значение unstable или experimental, то анонс будет отправлен в или .

Хотя доступ к главному ftp ограничен, копия установки доступна всем разработчикам по адресу mirror.ftp-master.debian.org.

dak ls является частью набора инструментов dak, она выводит список доступных версий пакета для всех известных выпусков и архитектур. Инструмент dak доступен на ftp-master.debian.org, а также на зеркале mirror.ftp-master.debian.org. Он используется единственный аргумент, соответствующий имени пакета. Пример объяснит это лучше:

$ dak ls evince
evince | 0.1.5-2sarge1 |     oldstable | source, alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc
evince |    0.4.0-5 |     etch-m68k | source, m68k
evince |    0.4.0-5 |        stable | source, alpha, amd64, arm, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc
evince |   2.20.2-1 |       testing | source
evince | 2.20.2-1+b1 |       testing | alpha, amd64, arm, armel, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc
evince |   2.22.2-1 |      unstable | source, alpha, amd64, arm, armel, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc

В этом примере вы можете видеть, что версия в нестабильном выпуске отличается от версии в тестируемом выпуске, и что была сделана binNMU этого пакета для всех архитектур. Каждая версия пакета была заново скомпилирована на всех архитектурах.

Система отслеживания пакетов представляет собой построенный на основе электронной почты и веб инструмент для отслеживания активности пакета с исходным кодом. Вы можете получать ту же электронную почту, которую получает сопровождающий, просто подписавшись на пакет в системе отслеживания пакетов Debian.

Каждое сообщение электронной почты, отправляемое через систему отслеживания пакетов классифицируется по одному из ключевых слов, приведённых ниже. Это позволит вам выбирать сообщения, которые вы хотите получить.

По умолчанию вы будете получить следующие сообщения:

bts

Все сообщения об ошибках и последующие их обсуждения.

bts-control

Сообщения от об изменении статуса сообщения об ошибке.

upload-source

Сообщения от dak о том, что загруженный пакет с исходным кодом был принят.

archive

Другие сообщения о предупреждениях или ошибках от dak (например, отмена несоответствия раздела и/или приоритета). Также уведомления об удалении пакетов.

build

Сообщения об ошибках сборки, отправляемые сетью сборочных служб, они содержат указатели на журналы сборки, которые следует изучить.

default

Любые неопределённые сообщения электронной почты, отправляемые в систему отслеживания пакетов через dispatch+пакет_с_исходным_кодом@tracker.debian.org. Для того, чтобы предотвратить отправку спама, все сообщения, отправляющиеся по этим адресам, должны содержать заголовок X-Distro-Tracker-Approved с непустым значением.

contact

Почта, отправляемая сопровождающему через псевдонимы *@packages.debian.org.

summary

Регулярные обобщенные сообщения о состоянии пакета, включая переход в тестируемый выпуск. В идеале должны содержать уведомления о новых версиях основной ветки разработки, а также уведомления об осиротевших пакетах (но пока это не так).

Также вы можете получить дополнительную информацию:

upload-binary

Уведомления от dak, отправляемые в случае принятия загруженного двоичного пакета. Другими словами, когда служба сборки или тот, кто занимается переносом, загружает ваш пакет для другой архитектуры, вы можете получить сообщений для отслеживания того, как ваш пакет компилируется для всех архитектур.

vcs

Сообщения о коммитах в системе управления версиями, если пакет имеет репозиторий системы управления версиями и сопровождающий настроил пересылку сообщений о коммитах в систему отслеживания пакетов.

translation

Переводы описаний или шаблонов debconf, отправленные в Проект по переводу описаний Debian.

derivatives

Информацию об изменения, внесённых в пакет, в производных дистрибутивах (например, Ubuntu).

derivatives-bugs

Сообщения об ошибках и комментарии из производных дистрибутивов (например, Ubuntu).

Вы можете управлять своими подписками на систему отслеживания пакетов, отправляя различные команды по адресу .

subscribe <пакет-с-исходным-кодом> [<адрес-электронной-почты>]

Подписывает адрес-электронной-почты на сообщения, связанные с пакетом с исходным кодом пакет-с-исходным-кодом. Адрес отправителя используется в том случае, если второй аргумент отсутствует. Если пакет-с-исходным-кодом не является корректным пакетом с исходным кодом, вы получите предупреждение. Тем не менее, если это корректный двоичный пакет, систем отслеживания пакетов подпишет вас на соответствующий пакет с исходным кодом.

unsubscribe <пакет-с-исходным-кодом> [<адрес-электронной-почты>]

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

unsubscribeall [<адрес-электронной-почты>]

Удаляет все подписки указанного адреса электронной почты, либо адреса отравителя, в случае если второй аргумент опущен.

which [<адрес-электронной-почты>]

Выводит список всех подписок отправителя, либо указанного адреса электронной почты.

keyword [<адрес-электронной-почты>]

Сообщает вам то, какие ключевые слова вы принимаете. Объяснение ключевых слов см. выше.

keyword <пакет-с-исходным-кодом> [<адрес-электронной-почты>]

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

keyword [<адрес-электронной-почты>] {+|-|=} <список-ключевых-слов>

Принимает (+) или отклоняет (-) сообщения, классифицируемые по данным ключевым словам. Определяет список (=) принимаемых ключевых слов. Изменяет набор ключевых слов, по умолчанию принимаемых пользователем.

keywordall [<адрес-электронной-почты>] {+|-|=} <список-ключевых-слов>

Принимает (+) или отклоняет (-) сообщения, классифицируемые по данным ключевым словам. Определяет список (=) принимаемых ключевых слов. Изменяет набор принимаемых ключевых слов всех активных в настоящий момент подписок пользователя.

keyword <пакет-с-исходным-кодом> [<адрес-электронной-почты>] {+|-|=} <список-ключевых-слов>

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

quit | thanks | --

Останавливает обработку команд. Все последующие строки будут игнорироваться роботом.

Утилита командной строки pts-subscribe (из пакета devscripts) может быть полезна для оформления временной подписки на какие-то пакеты, например, после осуществления NMU.

Если вы используете публично доступный репозиторий системы управления версиями для сопровождения вашего пакета Debian, вы возможно пересылать оповещения о коммитах в систему отслеживания пакетов, чтобы подписчики (и возможные помощники) могли более внимательно следить за эволюцией пакета.

Когда вы настроите свои репозиторий для отправки сообщений о коммитах, вам следует убедиться, что копия сообщения отправляется в систему отслеживания пакетов по адресам dispatch@tracker.debian.org или dispatch+пакет_с_исходным_кодом_vcs@tracker.debian.org. В первом случае вы должны убедиться, что система отслеживания пакетов может определить пакет с исходным кодом и соответствующее ключевое слово... либо добавляя заголовки X-Distro-Tracker-Package: пакет_с_исходным_кодом и X-Distro-Tracker-Keyword: vcs, либо полагаясь на тот факт, что система отслеживания пакетов обнаружит заголовок X-Git-Repo и будет считать, что имя git-репозитория совпадает с именем пакета с исходным кодом.

При использовании репозиториев Subversion рекомендуется использовать svnmailer. Пример того, как это делать, см. в https://wiki.debian.org/Alioth/PackagingProject.

Система отслеживания пакетов имеет веб-интерфейс по адресу https://tracker.debian.org/, в нём собирается множество информации о каждом пакете с исходным кодом. Там имеется множество полезных ссылок (система отслеживания ошибок, статистика QA, контактная информация, статус перевода DDTP, журналы сборки) и собирается большое количество информации из разные мест (30 последних записей журнала изменений, статус в тестируемом выпуске и т. д.). Это очень полезный инструмент, если вы хотите знать, что происходит с конкретным пакетом c исходным кодом. Более того, после аутентификации вы сможете за один клик подписаться или отписаться от информации о любом пакете.

Вы можете напрямую перейти на веб-страницу конкретного пакета с исходным кодом при помощи URL вида https://tracker.debian.org/пакет-с-исходным-кодом.

Веб-интерфейс легко расширять, вы можете интегрировать в него дополнительные полезные данные. Если вы хотите принять участие в разработке, обратитесь к https://tracker.debian.org/docs/contributing.html.

Веб-портал QA (гарантия качества) доступен по адресу https://qa.debian.org/developer.php, на нём отображается таблица с пакетами одного разработчика (включая те пакеты, у которых в качестве помощников указана группа). Таблица даёт обзор пакетов конкретного разработчика: число ошибок по их важности, список доступных версий в каждом выпуске, статус в тестируемом выпуске и множество ссылок на другую полезную информацию.

Рекомендуется регулярно просматривать эти данные для своих пакетов, так вы не забудете об открытых сообщениях об ошибках и не забудете то, за какие пакеты вы ответственны.

Alioth является службой Debian, основанной на слегка изменённой версии ПО FusionForge (которое эволюционировало из SourceForge и GForge). Это ПО предлагает разработчикам доступ к простым в использовании инструментам, таким как системы отслеживания ошибок, ПО для управления заплатами, ПО для управления проектами/задачами, службы хостинга файлов, списки рассылки, репозитории систем управления версиями и т. д. Управление всеми этими инструментами осуществляется через веб-интерфейс.

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

Все разработчики Debian автоматически получают учётную запись на Alioth. Они могут активировать ее, используя инструмент восстановления пароля. Внешние разработчики могут запросить гостевые учётные записи на Alioth.

Для получения дополнительной информации перейдите по следующим ссылкам:

О плюшках, доступных разработчикам и сопровождающим Debian можно прочитать тут: https://wiki.debian.org/MemberBenefits.