Редактирование: Репозиторий СПО

Перейти к: навигация, поиск

Внимание: Вы работаете как анонимный пользователь. Ваш IP-адрес будет записан в историю изменений этой страницы.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 1: Строка 1:
{{Merge|Repositories}}
 
 
= Репозиторий свободного программного обеспечения. =
 
= Репозиторий свободного программного обеспечения. =
 
== Подходы к разработке инфраструктуры репозитория свободного программного обеспечения со сборочной средой. ==
 
== Подходы к разработке инфраструктуры репозитория свободного программного обеспечения со сборочной средой. ==
Строка 177: Строка 176:
 
В Испании опыт создания суб-репозиториев для создания локализованных версий свободных ОС наиболее богат, однако аналогичные проекты существуют и в других странах. Самый известный — проект Limux<ref name="ftn16"><sup><nowiki>LiMux - The IT-Evolution. — <http://www.muenchen.de/Rathaus/dir/limux/english/147197/index.html>.</nowiki></sup></ref>, инициированный муниципальными властями Мюнхена в Германии и призванный предоставить необходимую инфраструктуру для миграции 14000 компьютеров города на свободное ПО. Большой интерес представляет индийский проект BOSS (Bharat Operating System Solutions)<ref name="ftn17"><sup><nowiki>Bharat Operating System Solutions. — <http://bosslinux.in>.</nowiki></sup></ref>, который осуществляется под эгидой Министерства информационных технологий Индии. В основе BOSS также лежит Debian, а основное внимание разработчики системы уделяют вопросам локализации системы с целью поддержки многочисленных местных языков Индии. Разработчики BOSS создали собственный репозиторий, в котором большая часть пакетов, тем не менее, заимствуется из Debian.  
 
В Испании опыт создания суб-репозиториев для создания локализованных версий свободных ОС наиболее богат, однако аналогичные проекты существуют и в других странах. Самый известный — проект Limux<ref name="ftn16"><sup><nowiki>LiMux - The IT-Evolution. — <http://www.muenchen.de/Rathaus/dir/limux/english/147197/index.html>.</nowiki></sup></ref>, инициированный муниципальными властями Мюнхена в Германии и призванный предоставить необходимую инфраструктуру для миграции 14000 компьютеров города на свободное ПО. Большой интерес представляет индийский проект BOSS (Bharat Operating System Solutions)<ref name="ftn17"><sup><nowiki>Bharat Operating System Solutions. — <http://bosslinux.in>.</nowiki></sup></ref>, который осуществляется под эгидой Министерства информационных технологий Индии. В основе BOSS также лежит Debian, а основное внимание разработчики системы уделяют вопросам локализации системы с целью поддержки многочисленных местных языков Индии. Разработчики BOSS создали собственный репозиторий, в котором большая часть пакетов, тем не менее, заимствуется из Debian.  
  
= Репозиторий Sisyphus. =
+
=== Репозиторий Sisyphus. ===
 
Как уже упоминалось выше, в настоящее время в мире существует несколько десятков репозиториев пакетов для различных дистрибутивов операционной системы GNU/Linux. Четвертым по количеству поддерживаемых пакетов является репозиторий Sisyphus.
 
Как уже упоминалось выше, в настоящее время в мире существует несколько десятков репозиториев пакетов для различных дистрибутивов операционной системы GNU/Linux. Четвертым по количеству поддерживаемых пакетов является репозиторий Sisyphus.
  
Строка 184: Строка 183:
 
При создании репозитория Sisyphus потребовалось решение целого комплекса сложнейших организационных и архитектурных задач.
 
При создании репозитория Sisyphus потребовалось решение целого комплекса сложнейших организационных и архитектурных задач.
  
Свободное программное обеспечение разрабатывается по всему миру. Как правило, исходный программный код не предназначен для хранения в репозитории, в нем неизбежно могут содержаться ошибки, зачастую программа не имеет русской версии интерфейса и системы помощи. Перед помещением в репозиторий программа должна быть проверена на работоспособность и адаптирована к окружению репозитория. Данная работа требует значительных кропотливых усилий большого числа программистов. Поэтому на первом этапе создания Sisyphus необходимо было создать многочисленную команду единомышленников, обеспечить распределение полномочий в команде, разработать и воплотить в жизнь основные организационные принципы. Следовало учитывать, что большинство участников работает в команде в свое свободное время без материального поощрения, а значит, необходимо было найти стимулы для общекомандной деятельности. С момента своего создания визитной карточкой ALT Linux Team стали высокие профессиональные требования, предъявляемые к участникам проекта, надежность и кропотливость в работе. Особое внимание уделялось и уделяется качеству русификации всех программных продуктов.
+
Свободное программное обеспечение разрабатывается по всему миру. Как правило, исходный программный код не предназначен для хранения в репозитории, в нем неизбежно могут содержаться ошибки, зачастую программа не имеет русской версии интерфейса и системы помощи. Перед помещением в репозиторий программа должна быть проверена на работоспособность, и адаптирована к окружению репозитория. Данная работа требует значительных кропотливых усилий большого числа программистов. Поэтому на первом этапе создания Sisyphus необходимо было создать многочисленную команду единомышленников, обеспечить распределение полномочий в команде, разработать и воплотить в жизнь основные организационные принципы. Следовало учитывать, что большинство участников работает в команде в свое свободное время без материального поощрения, а значит, необходимо было найти стимулы для общекомандной деятельности. С момента своего создания визитной карточкой ALT Linux Team стали высокие профессиональные требования, предъявляемые к участникам проекта, надежность и кропотливость в работе. Особое внимание уделялось и уделяется качеству руссификации всех программных продуктов.
  
 
По мере количественного роста репозитория на первый план выдвинулись архитектурные проблемы. Необходимо было обеспечить сборку каждого программного пакета таким образом, чтобы она, с одной стороны, была воспроизводимой и отсекала избыточные зависимости, и, с другой стороны, обеспечивала информационную безопасность процесса и не приводила к краху системы в целом. Для этого был создан инструмент сборки пакетов в защищенной среде hasher, исключающий влияние сборочной среды на систему, обеспечивающий безопасность, изолированность и воспроизводимость сборки, и автоматизирующий проверку основных параметров пакетов.
 
По мере количественного роста репозитория на первый план выдвинулись архитектурные проблемы. Необходимо было обеспечить сборку каждого программного пакета таким образом, чтобы она, с одной стороны, была воспроизводимой и отсекала избыточные зависимости, и, с другой стороны, обеспечивала информационную безопасность процесса и не приводила к краху системы в целом. Для этого был создан инструмент сборки пакетов в защищенной среде hasher, исключающий влияние сборочной среды на систему, обеспечивающий безопасность, изолированность и воспроизводимость сборки, и автоматизирующий проверку основных параметров пакетов.
Строка 190: Строка 189:
 
Так как каждый пакет, особенно относящийся к системным, вносит свои изменения в репозиторий в целом, все пакеты репозитория требуют регулярной пересборки. С того момента, как счет пакетам пошел на тысячи, данная проблема могла быть решена только путем внедрения распределенной системы сборки. Созданная оригинальная система позволяет автоматически запускать сборку пакетов на множестве компьютеров в сети, автоматически распределять задания между ними, отслеживать выполнение заданий и в итоге собирать единый, замкнутый по зависимостям репозиторий.
 
Так как каждый пакет, особенно относящийся к системным, вносит свои изменения в репозиторий в целом, все пакеты репозитория требуют регулярной пересборки. С того момента, как счет пакетам пошел на тысячи, данная проблема могла быть решена только путем внедрения распределенной системы сборки. Созданная оригинальная система позволяет автоматически запускать сборку пакетов на множестве компьютеров в сети, автоматически распределять задания между ними, отслеживать выполнение заданий и в итоге собирать единый, замкнутый по зависимостям репозиторий.
  
В настоящее время в репозитории Sisyphus поддерживается свыше '''12300 пакетов''', содержащих лучшие свободные программы различной направленности:
+
В настоящее время в репозитории Sisyphus поддерживается свыше 123'''00 пакетов''',''' '''содержащих лучшие свободные программы различной направленности:
  
 
* Базовая система
 
* Базовая система
Строка 220: Строка 219:
 
* Эмуляторы
 
* Эмуляторы
  
За время своего существования репозиторий Sisyphus не раз доказывал свою крайне высокую эффективность при создании и поддержке дистрибутивов свободного программного обеспечения с заданными функциональными свойствами.
+
За время своего существования репозиторий Sisyphus не раз доказывал свою крайне высокую эффективность при создании и поддержки дистрибутивов свободного программного обеспечения с заданными функциональными свойства.
  
 
В настоящее время на основе репозитория Sisyphus выпускается целое семейство дистрибутивов для применения в различных областях. Следует отметить, что все дистрибутивные комплекты ПСПО построены на пакетной базе и с помощью технологий репозитория Sisyphus.
 
В настоящее время на основе репозитория Sisyphus выпускается целое семейство дистрибутивов для применения в различных областях. Следует отметить, что все дистрибутивные комплекты ПСПО построены на пакетной базе и с помощью технологий репозитория Sisyphus.
  
== Технологические решения, лежащие в основе Sisyphus. ==
+
 
 +
=== Технологические решения, лежащие в основе Sisyphus. ===
 
Технологическую базу репозитория Sisyphus в настоящее время составляют как адаптированные к нуждам команды разработчиков широко известные программные продукты, так и специально разработанные решения. К ним можно отнести:  
 
Технологическую базу репозитория Sisyphus в настоящее время составляют как адаптированные к нуждам команды разработчиков широко известные программные продукты, так и специально разработанные решения. К ним можно отнести:  
  
Строка 250: Строка 250:
  
  
=== Хранение исходного текста программ в системе контроля версий. ===
+
==== Хранение исходного текста программ в системе контроля версий. ====
 
Исходный текст программы -- это набор файлов с текстами на каком-то языке программирования, машинно-читаемых инструкций по сборке и прочих файлов. После процедуры ''компиляции'' исходный текст, написанный на ''компилируемом'' языке программирования, превращается в выполняемую программу. Для ''интерпретируемых'' языков программирования исходный текст выполняем непосредственно.
 
Исходный текст программы -- это набор файлов с текстами на каком-то языке программирования, машинно-читаемых инструкций по сборке и прочих файлов. После процедуры ''компиляции'' исходный текст, написанный на ''компилируемом'' языке программирования, превращается в выполняемую программу. Для ''интерпретируемых'' языков программирования исходный текст выполняем непосредственно.
  
Строка 294: Строка 294:
 
'''Удобство ведения параллельных ветвей разработки, независимых от основной разработки.''' Разработчики дистрибутивов часто вынуждены вести свою собственную ветку, имеющую долгое время существования и включающую изменения, необходимые для интеграции приложений в дистрибутив. Без наличия инструментов для удобной работы с такими ветками производительность разработчиков дистрибутива будет крайне низка. git предоставляет инструмент слияния ветвей, учитывающую такой вариант использования, а также инструмент для адаптации локальных изменений к новым версиям исходного кода.
 
'''Удобство ведения параллельных ветвей разработки, независимых от основной разработки.''' Разработчики дистрибутивов часто вынуждены вести свою собственную ветку, имеющую долгое время существования и включающую изменения, необходимые для интеграции приложений в дистрибутив. Без наличия инструментов для удобной работы с такими ветками производительность разработчиков дистрибутива будет крайне низка. git предоставляет инструмент слияния ветвей, учитывающую такой вариант использования, а также инструмент для адаптации локальных изменений к новым версиям исходного кода.
  
=== Изолированная сборочная среда. ===
+
==== Изолированная сборочная среда. ====
 
Одной из отличительных особенностей технологических решений Sisyphus является использование изолированной сборочной среды для каждого собираемого пакета.  
 
Одной из отличительных особенностей технологических решений Sisyphus является использование изолированной сборочной среды для каждого собираемого пакета.  
  
Строка 323: Строка 323:
 
* обеспечивать приемлемый уровень производительности.  
 
* обеспечивать приемлемый уровень производительности.  
  
Для решения перечисленных задач участниками ALT Linux Team было разработано программное средство hasher<ref name="ftn26">''Hasher: технология безопасной и воспроизводимой сборки пакетов. [[Hasher|http://www.altlinux.org/Hasher]]''</ref>, ''которое базируется на принципе создания новой сборочной среды для каждой сборки.  
+
Для решения перечисленных задач участниками ALT Linux Team было разработано программное средство hasher<ref name="ftn26">''Hasher: технология безопасной и воспроизводимой сборки пакетов. http://www.altlinux.org/Hasher''</ref>, ''которое базируется на принципе создания новой сборочной среды для каждой сборки.  
  
 
В основе архитектуры hasher'а лежит трёхпользовательская модель: вызывающий непривилегированный пользователь (''C'') и два непривилегированных вспомогательных псевдопользователя; первый (''R'') играет роль root в порождаемой сборочной среде, второй (''U'') - обычного пользователя, собирающего программы.  
 
В основе архитектуры hasher'а лежит трёхпользовательская модель: вызывающий непривилегированный пользователь (''C'') и два непривилегированных вспомогательных псевдопользователя; первый (''R'') играет роль root в порождаемой сборочной среде, второй (''U'') - обычного пользователя, собирающего программы.  
Строка 351: Строка 351:
 
Для того, чтобы из произвольно устроенного git-репозитория можно было бы собирать пакеты, необходим инструмент, с помощью которого коммит, предназначенный для сборки, экспортировался бы из git-репозитория и преобразовывался к виду, пригодному для сборки. Для того, чтобы этот инструмент был бы удобен в использовании, правила такого преобразования должны быть достаточно простыми, а для того, чтобы это преобразование было безопасным, необходимо исключить использование инструментальных средств (таких как rpm-build), исполняющих произвольный код,
 
Для того, чтобы из произвольно устроенного git-репозитория можно было бы собирать пакеты, необходим инструмент, с помощью которого коммит, предназначенный для сборки, экспортировался бы из git-репозитория и преобразовывался к виду, пригодному для сборки. Для того, чтобы этот инструмент был бы удобен в использовании, правила такого преобразования должны быть достаточно простыми, а для того, чтобы это преобразование было безопасным, необходимо исключить использование инструментальных средств (таких как rpm-build), исполняющих произвольный код,
  
Решением этой задачи стал разработанный участниками ALT Linux Team набор инструментов gear<ref name="ftn27">'''Gear: '''инструмент для хранения, поддержки и сборки пакетов в <tt>git</tt>-репозиториях. [[Gear|http://www.altlinux.org/Gear]]</ref> для управления git-репозиториями исходного кода''.'' Основная идея, заложенная в gear, заключается в том, чтобы с помощью одного файла с простыми правилами экспорта коммитов (для обработки которых достаточно sed и git) можно было бы безопасно собирать пакеты из произвольно устроенного git-репозитория, по аналогии с hasher, который был задуман как средство безопасно собирать бинарные пакеты из произвольных исходных пакетов.
+
Решением этой задачи стал разработанный участниками ALT Linux Team набор инструментов gear<ref name="ftn27">'''Gear: '''инструмент для хранения, поддержки и сборки пакетов в <tt>git</tt>-репозиториях. http://www.altlinux.org/Gear</ref> для управления git-репозиториями исходного кода''.'' Основная идея, заложенная в gear, заключается в том, чтобы с помощью одного файла с простыми правилами экспорта коммитов (для обработки которых достаточно sed и git) можно было бы безопасно собирать пакеты из произвольно устроенного git-репозитория, по аналогии с hasher, который был задуман как средство безопасно собирать бинарные пакеты из произвольных исходных пакетов.
  
 
Инструментарий gear реализует такие возможности, как
 
Инструментарий gear реализует такие возможности, как
Строка 383: Строка 383:
 
<center>'''Хостинг git-репозиториев.'''</center>
 
<center>'''Хостинг git-репозиториев.'''</center>
  
Система хостинга git-репозиториев girar<ref name="ftn29">Girar: система хостинга git-репозиториев, [[Girar|http://www.altlinux.org/Girar]]</ref> первоначально была разработана для упрощения совместной разработки в рамках ALT Linux Team. Сейчас эта система решает следующие задачи:
+
Система хостинга git-репозиториев girar<ref name="ftn29">Girar: система хостинга git-репозиториев, http://www.altlinux.org/Girar</ref> первоначально была разработана для упрощения совместной разработки в рамках ALT Linux Team. Сейчас эта система решает следующие задачи:
  
 
* Управление git-репозиториями разработчиков. Каждый разработчик имеет собственные копии git-репозиториев, над которыми он работает и в которые только он может вносить изменения.
 
* Управление git-репозиториями разработчиков. Каждый разработчик имеет собственные копии git-репозиториев, над которыми он работает и в которые только он может вносить изменения.
* Управление системой email-оповещений об изменениях в git-репозиториях, которая упрощает обмен изменениями. Каждый разработчик может выбрать для мониторинга интересующие его события в интересующих его git-репозиториях[[Git.alt/Справочник#email|http://www.altlinux.org/Git.alt/Справочник#email]]. При этом фактический обмен и аккумуляция изменений осуществляется средствами распределенной системы контроля версий <tt>git.</tt>
+
* Управление системой email-оповещений об изменениях в git-репозиториях, которая упрощает обмен изменениями. Каждый разработчик может выбрать для мониторинга интересующие его события в интересующих его git-репозиториях[http://www.altlinux.org/Git.alt/Справочник#email .] При этом фактический обмен и аккумуляция изменений осуществляется средствами распределенной системы контроля версий <tt>git.</tt>
* Управление сборкой пакетов в [[Branches|репозитории пакетов]] из [[Gear|gear]]-репозиториев и SRPM-пакетов. Для сборки пакетов используется механизм заданий: пользователь указывает, какие [[Gear|gear]]-репозитории и SRPM-пакеты необходимо собрать одной транзакцией, создавая задание, после чего запускает его на выполнение. Каждое задание предназначено для изменения только одного репозитория пакетов. Задание обрабатываются сборочной системой girar-builder асинхронно. По завершению обработки задания пользователю приходит отчет по email, а результат обработки публикуется. Задания, по какой-либо причине забракованные сборочной системой, переводятся в отложенный режим, после чего они могут быть доработаны и отправлены на повторную сборку.
+
* Управление сборкой пакетов в [http://www.altlinux.org/Branches репозитории пакетов] из [http://www.altlinux.org/Gear gear]-репозиториев и SRPM-пакетов. Для сборки пакетов используется механизм заданий: пользователь указывает, какие [http://www.altlinux.org/Gear gear]-репозитории и SRPM-пакеты необходимо собрать одной транзакцией, создавая задание, после чего запускает его на выполнение. Каждое задание предназначено для изменения только одного репозитория пакетов. Задание обрабатываются сборочной системой girar-builder асинхронно. По завершению обработки задания пользователю приходит отчет по email, а результат обработки публикуется. Задания, по какой-либо причине забракованные сборочной системой, переводятся в отложенный режим, после чего они могут быть доработаны и отправлены на повторную сборку.
 
* Управление правами доступа к сборке пакетов в репозитории пакетов. Несмотря на то, что любой разработчик может внести изменения в исходный код любого пакета и отправить его на сборку, отправить собранный пакет в указанный репозиторий пакетов могут только те разработчики, за которыми закреплен этот пакет в этом репозитории.
 
* Управление правами доступа к сборке пакетов в репозитории пакетов. Несмотря на то, что любой разработчик может внести изменения в исходный код любого пакета и отправить его на сборку, отправить собранный пакет в указанный репозиторий пакетов могут только те разработчики, за которыми закреплен этот пакет в этом репозитории.
 
* Публикация git-репозиториев. Разработчикам предоставляется доступ на чтение к git-репозиториям по протоколу ssh. Публичный доступ на чтение к git-репозиториям предоставляется по протоколам git, http, ftp и rsync. Авторизованным пользователям предоставляется доступ на чтение к git-репозиториям ограниченного доступа. Кроме того, с помощью gitweb реализован web-интерфейс просмотра git-репозиториев.
 
* Публикация git-репозиториев. Разработчикам предоставляется доступ на чтение к git-репозиториям по протоколу ssh. Публичный доступ на чтение к git-репозиториям предоставляется по протоколам git, http, ftp и rsync. Авторизованным пользователям предоставляется доступ на чтение к git-репозиториям ограниченного доступа. Кроме того, с помощью gitweb реализован web-интерфейс просмотра git-репозиториев.
Строка 458: Строка 458:
 
<center>'''Сборочная система.'''</center>
 
<center>'''Сборочная система.'''</center>
  
Cборочная система '''Girar-builder''', интегрированная c системой хранения girar. первоначально была разработана для обслуживания репозитория Sisyphus. Эта система построена по принципу автоматической обработки заданий-транзакций на обновление пакетов в репозитории пакетов. Когда новая сборка пакета окончательно подготовлена, разработчик делает в gear-репозитории подписанный тэг (или подписывает SRPM-пакет) и с помощью girar создает задание на сборку пакета. Если задание было обработано успешно, то собранные пакеты помещаются в репозиторий пакетов, а gear-репозиторий с новым тэгом [[Git.alt/Справочник#gears|публикуется]] в каталоге кэширующих gear-репозиториев /gears/ (в случае сборки SRPM-пакета – в каталоге /srpms/). Названия кэширующих gear-репозиториев в этих каталогах совпадают с именами SRPM-пакетов (это требование не является обязательным для gear-репозиториев разработчиков). Таким образом, каталоги кэширующих gear-репозиториев /gears/ и /srpms/ предоставляют доступ к официально опубликованным gear-репозиториям, содержимое которых соответствует фактическим сборкам пакетов.
+
Cборочная система '''Girar-builder''', интегрированная c системой хранения girar. первоначально была разработана для обслуживания репозитория Sisyphus. Эта система построена по принципу автоматической обработки заданий-транзакций на обновление пакетов в репозитории пакетов. Когда новая сборка пакета окончательно подготовлена, разработчик делает в gear-репозитории подписанный тэг (или подписывает SRPM-пакет) и с помощью girar создает задание на сборку пакета. Если задание было обработано успешно, то собранные пакеты помещаются в репозиторий пакетов, а gear-репозиторий с новым тэгом [http://www.altlinux.org/Git.alt/Справочник#gears публикуется] в каталоге кэширующих gear-репозиториев /gears/ (в случае сборки SRPM-пакета – в каталоге /srpms/). Названия кэширующих gear-репозиториев в этих каталогах совпадают с именами SRPM-пакетов (это требование не является обязательным для gear-репозиториев разработчиков). Таким образом, каталоги кэширующих gear-репозиториев /gears/ и /srpms/ предоставляют доступ к официально опубликованным gear-репозиториям, содержимое которых соответствует фактическим сборкам пакетов.
  
 
Каждое задание состоит из одного или нескольких gear-репозиториев (и тэгов к ним) и/или SRPM-пакетов, отправленных на сборку. Сборочная система сначала осуществляет первичную сборку пакетов. Если при первичной сборке пакетов возникли грубые ошибки, то задание автоматически отменяется. В противном случае, если все пакеты в задании успешно собрались, то открывается транзакция: генерируется временный репозиторий, в котором выполняется ряд проверок (вычисляются характеристики нового репозитория). По умолчанию переход в новое состояние разрешён, только если характеристики репозитория не ухудшились. Если же собранные пакеты ухудшают характеристики репозитория, то составляется список нарушений, и задание переводится в отложенный режим.
 
Каждое задание состоит из одного или нескольких gear-репозиториев (и тэгов к ним) и/или SRPM-пакетов, отправленных на сборку. Сборочная система сначала осуществляет первичную сборку пакетов. Если при первичной сборке пакетов возникли грубые ошибки, то задание автоматически отменяется. В противном случае, если все пакеты в задании успешно собрались, то открывается транзакция: генерируется временный репозиторий, в котором выполняется ряд проверок (вычисляются характеристики нового репозитория). По умолчанию переход в новое состояние разрешён, только если характеристики репозитория не ухудшились. Если же собранные пакеты ухудшают характеристики репозитория, то составляется список нарушений, и задание переводится в отложенный режим.
Строка 502: Строка 502:
 
----
 
----
 
<references/>
 
<references/>
 
{{Category navigation|title=Репозитории|category=Repositories|sortkey={{SUBPAGENAME}}}}
 

Обратите внимание, что все добавления и изменения текста статьи рассматриваются, как выпущенные на условиях лицензии CC-BY-SA-3.0.

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)
Вики-разметка
Заголовки: 1-го: == ==, 2-го: === ===, 3-го: ==== ==== уровня.
Быстрая вставка: «» | [[]] [[|]] {{}} {{|}} [[Категория:]] [[altbug:]] <source lang=""></source> <pre></pre> <!-- -->.
Определения: {{man|}} {{lists|}} {{cmd|}} {{path|}} {{prg|}} {{pkg|}} {{term|}} {{span||}} {{altbug|}}
Выделение: ''italics'', '''bold''', <tt>моноширинный</tt>, <code>код</code>.
Списки: * ненумерованный список, ** вложенный список, # нумерованный список, ## вложенный нумерованный список, *# вложенный смешанный список, ;список :определений.
Verbatim: Пробел в начале строки или <pre>Явный тэг</pre>
Ссылки: [http://www.altlinux.ru/ внешние], [[Main Page|внутренние]], [http://altlinux.ru], [[Main Page]]
Шаблоны: {{Crap}} {{D}} {{Policy}} {{DraftPolicy}} {{Merge|}} {{Улучшение}} {{Тимовец|}}