deb-control.5 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. .\" Hey, Emacs! This is an -*- nroff -*- source file.
  2. .\" Author: Raul Miller
  3. .\" Includes text from the debian Guidelines by Ian Jackson, Ian Murdock
  4. .\"
  5. .\" Updated by <alexm@hsys.msk.ru> to r1.6 of deb-control.5 from CVS
  6. .\"
  7. .TH DEB-CONTROL 5 "Январь 2000" "Проект Debian" "Debian GNU/Linux"
  8. .SH ИМЯ
  9. deb\-control \- формат файла control для системы управления пакетами Debian GNU/Linux
  10. .SH ОБЗОР
  11. control
  12. .SH ОПИСАНИЕ
  13. Каждый пакет Debian содержит файл `control', состоящий из нескольких
  14. полей. Каждое поле начинается с тега, например
  15. .B Package
  16. или
  17. .B Version
  18. (регистр значения не имеет), затем двоеточие и содержимое поля. Поля
  19. разделяются только тегами, другими словами, текст поля может занимать
  20. несколько строк. Программы установки обычно объединяют эти строки,
  21. когда обрабатывают содержимое поля (кроме поля
  22. .BR Description ,
  23. описанного ниже).
  24. .SH ОБЯЗАТЕЛЬНЫЕ ПОЛЯ
  25. .TP
  26. .BR "Package: " "<имя пакета>"
  27. Значение этого поля задаёт имя пакета и используется при
  28. конструировании имен файлов многими программами установки.
  29. .TP
  30. .BR "Version: " "<версия>"
  31. Обычно в этом поле указывается оригинальный номер версии пакета в той
  32. форме, которую использует автор программы. Версия может также включать
  33. номер ревизии Debian (для неродных пакетов). Если указываются и
  34. версия и номер ревизии, то они разделяются дефисом:\~`-'. Из-за этого
  35. оригинальный номер версии не может содержать в себе дефис.
  36. .TP
  37. .BR "Maintainer: " "<полное имя и email>"
  38. Тело поля должно быть в формате `Joe Bloggs <jbloggs@foo.com>' и обычно
  39. представляет собой имя того, кто создал пакет, а не имя автора
  40. той программы, которая входит в пакет.
  41. .TP
  42. .BR "Description: " "<короткое описание>"
  43. .BR " " "<длинное описание>"
  44. .br
  45. Формат описания пакета \- это краткое и ёмкое описание в первой строке
  46. (после поля "Description"). Последующие строки могут быть использованы как
  47. длинное, более детальное описание. В начале каждой строки длинного описания
  48. должен находиться пробел, а пустые строки в длинном описании должны
  49. содержать одну точку '.', следующую за означенным пробелом.
  50. .SH НЕОБЯЗАТЕЛЬНЫЕ ПОЛЯ
  51. .TP
  52. .BR "Section: " "<секция>"
  53. Это обобщённое поле, задающее категорию пакета, в зависимости от
  54. программ, которые он содержит. Примерами секций могут служить
  55. `utils', `net', `mail', `text', `x11' и т.\~д.
  56. .TP
  57. .BR "Priority: " "<приоритет>"
  58. Устанавливает важность данного пакета, в зависимости от его значимости
  59. для системы. Приоритеты могут быть такими: `required', `standard',
  60. `optional', `extra' и т.\~д.
  61. .LP
  62. В Debian, поля
  63. .B Section
  64. и
  65. .B Priority
  66. могут принимать только значения из списка, который определен в Policy Manual.
  67. Они используются для того, чтобы решить, как пакеты будут размещены в архиве.
  68. Список значений можно узнать в последней версии пакета
  69. .BR debian-policy .
  70. .TP
  71. .BR "Essential: " "<yes|no>"
  72. Данное поле обычно необходимо только когда ответ \- `yes' (да). Это означает,
  73. что данный пакет требуется для нормального функционирования системы. Dpkg
  74. и другие программы установки не разрешают удаление пакетов, помеченных
  75. как
  76. .B Essential
  77. (по крайней мере, без применения специальных флагов).
  78. .TP
  79. .BR "Architecture: " "<arch|all>"
  80. Архитектура определяет, для какого типа аппаратной платформы был скомпилирован
  81. пакет. Архитектуры бывают такие: `i386', `m68k', `sparc', `alpha', `powerpc'
  82. и т.\~д. Заметим, что значение
  83. .B all
  84. означает, что пакет не зависит от архитектуры: например, он написан на
  85. Perl или содержит документацию.
  86. .TP
  87. .BR "Source: " "<имя архивов с исходниками>"
  88. Имя пакета с исходниками, из которого компилируется бинарный пакет, если оно
  89. отличается от имени самого пакета.
  90. .TP
  91. .BR "Depends: " "<список пакетов>"
  92. Список пакетов, требующихся для обеспечения нормальной работы данного пакета.
  93. Программа установки не позволит (по крайней мере, без использования
  94. специальных флагов) установить данный
  95. пакет, если пакеты, перечисленные в
  96. .BR Depends ,
  97. ещё не установлены. При установке скрипты postinst этих пакетов будут
  98. выполнены перед скриптом postinst данного пакета, а при удалении из
  99. системы скрипты prerm будут выполнены после скрипта prerm данного
  100. пакета.
  101. .TP
  102. .BR "Pre-Depends: " "<список пакетов>"
  103. Список пакетов, которые должны быть установлены
  104. .B и
  105. настроены перед тем, как будет устанавливаться данный пакет. Обычно это
  106. используется в случае, когда пакет требует наличия другого пакета для
  107. запуска собственного сценария preinst.
  108. .TP
  109. .BR "Recommends: " "<список пакетов>"
  110. Список пакетов, которые рекомендуется установить вместе с данным
  111. пакетом. Программа установки будет предупредит пользователя, если он устанавливает
  112. пакет без тех пакетов, которые перечислены в поле
  113. .BR Recommends .
  114. .TP
  115. .BR "Suggests: " "<список пакетов>"
  116. Список пакетов, которые расширяют функциональность устанавливаемого
  117. пакета, но без которых данный пакет может прекрасно обойтись.
  118. .LP
  119. Синтаксис полей
  120. .B Depends ,
  121. .B Pre-Depends ,
  122. .B Recommends
  123. и
  124. .B Suggests
  125. позволяет описать группу пакетов. Каждая такая группа \- это
  126. список пакетов, разделённых символом вертикальной черты `|'. Группы
  127. разделяются запятыми. Запятые можно читать как `И', а вертикальные
  128. чёрточки \- как `ИЛИ'. Каждый элемент является именем пакета, причём
  129. в круглых скобках можно указать его версию.
  130. .LP
  131. Номер версии может начинаться с `>>' и в этом случае означает любую
  132. более позднюю версию, при этом также может быть задан или опущен номер ревизии
  133. Debian (который отделен от версии дефисом). Таким образом: ">>" означает "больше",
  134. "<<" \- "меньше", ">=" \- "больше или равно", "<=" \- "меньше или равно",
  135. а "=" \- "точно так версия, которая указана".
  136. .TP
  137. .BR "Conflicts: " "<список пакетов>"
  138. Список пакетов, которые конфликтуют с устанавливаемым пакетом; например,
  139. если в них содержатся файлы с теми же именами. Программа установки не
  140. позволит установить сразу два конфликтующих пакета. Каждый из двух
  141. конфликтующих пакетов должен указать в строке
  142. .B Conflicts
  143. имя другого.
  144. .TP
  145. .BR "Replaces: " "<список пакетов>"
  146. Список пакетов, которые заменяет данный пакет. Это используется для
  147. того, чтобы разрешить данному пакету перезаписать файлы другого пакета
  148. и обычно используется совместно с полем
  149. .BR Conflicts ,
  150. чтобы сразу же заставить удалить этот другой пакет, если он
  151. содержит такие же файлы, как устанавливаемый.
  152. .TP
  153. .BR Provides: \ <список\ пакетов>
  154. Это список виртуальных пакетов, которые предоставляет данный пакет.
  155. Обычно это используется, если несколько разных пакетов предоставляют
  156. один и тот же сервис. Например, sendmail и exim могут работать как почтовый
  157. сервер, поэтому они предоставляют общий пакет (`mail-transport-agent')
  158. для тех пакетов, которые могут от него зависеть. Это позволяет использовать
  159. sendmail или exim в тех пакетах, которые зависят от `mail-transport-agent'.
  160. Это устраняет необходимость указывать в пакетах, которые зависят от
  161. почтового сервера, список через `|' всех пакетов с почтовыми серверами.
  162. .LP
  163. Синтаксис
  164. .B Conflicts ,
  165. .B Replaces
  166. и
  167. .B Provides
  168. позволяет перечислить пакеты через запятую (и пробелы).
  169. В поле
  170. .B Conflicts
  171. запятая читается как `ИЛИ'. В значениях полей
  172. .B Conflicts
  173. и
  174. .B Replaces
  175. можно указывать номер версии пакета (используя вышеописанный
  176. синтаксис).
  177. .SH ПРИМЕР
  178. .\" .RS
  179. .nf
  180. Package: grep
  181. Essential: yes
  182. Priority: required
  183. Section: base
  184. Maintainer: Wichert Akkerman <wakkerma@debian.org>
  185. Architecture: sparc
  186. Version: 2.4-1
  187. Pre-Depends: libc6 (>= 2.0.105)
  188. Provides: rgrep
  189. Conflicts: rgrep
  190. Description: GNU grep, egrep and fgrep.
  191. The GNU family of grep utilities may be the "fastest grep in the
  192. west". GNU grep is based on a fast lazy-state deterministic matcher
  193. (about twice as fast as stock Unix egrep) hybridized with a
  194. Boyer-Moore-Gosper search for a fixed string that eliminates
  195. impossible text from being considered by the full regexp matcher
  196. without necessarily having to look at every character. The result is
  197. typically many times faster than Unix grep or egrep. (Regular
  198. expressions containing backreferencing will run more slowly,
  199. however.)
  200. .fi
  201. .\" .RE
  202. .SH СМОТРИ ТАКЖЕ
  203. .BR deb (5),
  204. .BR dpkg (8),
  205. .BR dpkg-deb (1).
  206. .SH ПЕРЕВОД
  207. Перевёл с английского Виктор Вислобоков <victor_v@permonline.ru>
  208. Обновление и корректура: Alexey Mahotkin <alexm@hsys.msk.ru>.