# translation of the dpkg man pages to Russian
# SOME DESCRIPTIVE TITLE
# Copyright (C) 2006 Free Software Foundation, Inc.
# Yuri Kozlov <kozlov.y@gmail.com>, 2006.
#
msgid ""
msgstr ""
"Project-Id-Version: dpkg man pages\n"
"POT-Creation-Date: 2011-10-14 07:11+0300\n"
"PO-Revision-Date: 2010-03-07 22:18+0100\n"
"Last-Translator: Yuri Kozlov <kozlov.y@gmail.com>\n"
"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.9.1\n"

#. type: TH
#: deb.5:1
#, no-wrap
msgid "deb"
msgstr ""

#. type: TH
#: deb.5:1 deb-control.5:3 deb-src-control.5:3 deb-version.5:5 deb-old.5:1
#: deb-override.5:15 deb-symbols.5:2 deb-triggers.5:1 dpkg.1:1
#: dpkg-architecture.1:1 dpkg-buildpackage.1:1 dpkg-deb.1:1 dpkg-divert.8:1
#: dpkg-genchanges.1:1 dpkg-gencontrol.1:1 dpkg-gensymbols.1:2
#: dpkg-maintscript-helper.1:1 dpkg-mergechangelogs.1:1 dpkg-name.1:6
#: dpkg-parsechangelog.1:1 dpkg-query.1:1 dpkg-scanpackages.1:15
#: dpkg-scansources.1:1 dpkg-shlibdeps.1:1 dpkg-source.1:2 dpkg-trigger.1:1
#: dselect.1:1 update-alternatives.8:8
#, fuzzy, no-wrap
msgid "2011-08-14"
msgstr "2006-02-28"

#. type: TH
#: deb.5:1 deb-control.5:3 deb-src-control.5:3 deb-split.5:1 deb-version.5:5
#: deb-old.5:1 deb-override.5:15 deb-extra-override.5:1 deb-shlibs.5:16
#: deb-substvars.5:2 deb-symbols.5:2 deb-triggers.5:1 dpkg.1:1
#: dpkg-architecture.1:1 dpkg.cfg.5:1 dpkg-buildflags.1:1
#: dpkg-buildpackage.1:1 dpkg-checkbuilddeps.1:1 dpkg-distaddfile.1:1
#: dpkg-deb.1:1 dpkg-divert.8:1 dpkg-genchanges.1:1 dpkg-gencontrol.1:1
#: dpkg-gensymbols.1:2 dpkg-maintscript-helper.1:1 dpkg-mergechangelogs.1:1
#: dpkg-name.1:6 dpkg-parsechangelog.1:1 dpkg-query.1:1 dpkg-scanpackages.1:15
#: dpkg-scansources.1:1 dpkg-shlibdeps.1:1 dpkg-source.1:2 dpkg-split.1:2
#: dpkg-trigger.1:1 dpkg-vendor.1:1 dselect.1:1 dselect.cfg.5:1
#: start-stop-daemon.8:1 update-alternatives.8:8
#, no-wrap
msgid "Debian Project"
msgstr "Проект Debian"

#. type: TH
#: deb.5:1 deb-control.5:3 deb-src-control.5:3 deb-split.5:1 deb-version.5:5
#: deb-old.5:1 dselect.1:1
#, no-wrap
msgid "Debian"
msgstr "Debian"

#. type: SH
#: deb.5:2 deb-control.5:4 deb-src-control.5:4 deb-split.5:2 deb-version.5:6
#: deb-old.5:2 deb-override.5:16 deb-extra-override.5:2 deb-shlibs.5:17
#: deb-substvars.5:3 deb-symbols.5:3 deb-triggers.5:2 dpkg.1:2
#: dpkg-architecture.1:2 dpkg.cfg.5:2 dpkg-buildflags.1:2
#: dpkg-buildpackage.1:2 dpkg-checkbuilddeps.1:2 dpkg-distaddfile.1:2
#: dpkg-deb.1:2 dpkg-divert.8:2 dpkg-genchanges.1:2 dpkg-gencontrol.1:2
#: dpkg-gensymbols.1:3 dpkg-maintscript-helper.1:2 dpkg-mergechangelogs.1:2
#: dpkg-name.1:7 dpkg-parsechangelog.1:2 dpkg-query.1:2 dpkg-scanpackages.1:16
#: dpkg-scansources.1:2 dpkg-shlibdeps.1:2 dpkg-source.1:3 dpkg-split.1:3
#: dpkg-statoverride.8:2 dpkg-trigger.1:2 dpkg-vendor.1:2 dselect.1:2
#: dselect.cfg.5:2 start-stop-daemon.8:2 update-alternatives.8:9
#, no-wrap
msgid "NAME"
msgstr "НАЗВАНИЕ"

#. type: Plain text
#: deb.5:4
msgid "deb - Debian binary package format"
msgstr ""

#. type: SH
#: deb.5:4 deb-control.5:7 deb-src-control.5:7 deb-split.5:4 deb-version.5:9
#: deb-old.5:5 deb-override.5:19 deb-extra-override.5:5 deb-substvars.5:6
#: deb-symbols.5:6 deb-triggers.5:5 dpkg.1:5 dpkg-architecture.1:5
#: dpkg-buildflags.1:5 dpkg-buildpackage.1:5 dpkg-checkbuilddeps.1:5
#: dpkg-distaddfile.1:5 dpkg-deb.1:5 dpkg-divert.8:5 dpkg-genchanges.1:5
#: dpkg-gencontrol.1:5 dpkg-gensymbols.1:6 dpkg-maintscript-helper.1:5
#: dpkg-mergechangelogs.1:5 dpkg-name.1:10 dpkg-parsechangelog.1:5
#: dpkg-query.1:5 dpkg-scanpackages.1:19 dpkg-scansources.1:5
#: dpkg-shlibdeps.1:5 dpkg-source.1:6 dpkg-split.1:6 dpkg-statoverride.8:5
#: dpkg-trigger.1:5 dpkg-vendor.1:5 dselect.1:5 start-stop-daemon.8:5
#: update-alternatives.8:12
#, no-wrap
msgid "SYNOPSIS"
msgstr "СИНТАКСИС"

#. type: Plain text
#: deb.5:6 deb-split.5:6 deb-old.5:7
msgid "I<filename>B<.deb>"
msgstr ""

#. type: SH
#: deb.5:6 deb-control.5:10 deb-src-control.5:10 deb-split.5:6
#: deb-version.5:11 deb-old.5:8 deb-override.5:22 deb-extra-override.5:8
#: deb-shlibs.5:20 deb-substvars.5:9 deb-symbols.5:9 deb-triggers.5:8
#: dpkg.1:19 dpkg-architecture.1:10 dpkg.cfg.5:5 dpkg-buildflags.1:9
#: dpkg-buildpackage.1:9 dpkg-checkbuilddeps.1:10 dpkg-distaddfile.1:9
#: dpkg-deb.1:9 dpkg-divert.8:10 dpkg-genchanges.1:10 dpkg-gencontrol.1:9
#: dpkg-gensymbols.1:10 dpkg-maintscript-helper.1:15 dpkg-mergechangelogs.1:9
#: dpkg-name.1:16 dpkg-parsechangelog.1:9 dpkg-query.1:9
#: dpkg-scanpackages.1:27 dpkg-scansources.1:13 dpkg-shlibdeps.1:9
#: dpkg-source.1:10 dpkg-split.1:10 dpkg-statoverride.8:9 dpkg-trigger.1:12
#: dpkg-vendor.1:9 dselect.1:9 dselect.cfg.5:5 start-stop-daemon.8:9
#: update-alternatives.8:16
#, no-wrap
msgid "DESCRIPTION"
msgstr "ОПИСАНИЕ"

#. type: Plain text
#: deb.5:12
msgid ""
"The B<.deb> format is the Debian binary package file format. It is "
"understood by dpkg 0.93.76 and later, and is generated by default by all "
"versions of dpkg since 1.2.0 and all i386/ELF versions since 1.1.1elf."
msgstr ""

#. type: Plain text
#: deb.5:16
msgid ""
"The format described here is used since Debian 0.93; details of the old "
"format are described in B<deb-old>(5)."
msgstr ""

#. type: SH
#: deb.5:16 deb-split.5:9 deb-old.5:18
#, no-wrap
msgid "FORMAT"
msgstr ""

#. type: Plain text
#: deb.5:22
msgid ""
"The file is an B<ar> archive with a magic value of B<!E<lt>archE<gt>>.  The "
"file names might contain a trailing slash."
msgstr ""

#. type: Plain text
#: deb.5:28
msgid ""
"The B<tar> archives currently allowed are, the old-style (v7) format, the "
"pre-POSIX ustar format, a subset of the GNU format (only the new style long "
"pathnames and long linknames, supported since dpkg 1.4.1.17), and the POSIX "
"ustar format (long names supported since dpkg 1.15.0).  Unrecognized tar "
"typeflags are considered an error."
msgstr ""

#. type: Plain text
#: deb.5:38
msgid ""
"The first member is named B<debian-binary> and contains a series of lines, "
"separated by newlines. Currently only one line is present, the format "
"version number, B<2.0> at the time this manual page was written.  Programs "
"which read new-format archives should be prepared for the minor number to be "
"increased and new lines to be present, and should ignore these if this is "
"the case."
msgstr ""

#. type: Plain text
#: deb.5:43
msgid ""
"If the major number has changed, an incompatible change has been made and "
"the program should stop. If it has not, then the program should be able to "
"safely continue, unless it encounters an unexpected member in the archive "
"(except at the end), as described below."
msgstr ""

#. type: Plain text
#: deb.5:53
msgid ""
"The second required member is named B<control.tar.gz>.  It is a gzipped tar "
"archive containing the package control information, as a series of plain "
"files, of which the file B<control> is mandatory and contains the core "
"control information. The control tarball may optionally contain an entry for "
"`B<.>', the current directory."
msgstr ""

#. type: Plain text
#: deb.5:62
msgid ""
"The third, last required member is named B<data.tar>.  It contains the "
"filesystem as a tar archive, either not compressed (supported since dpkg "
"1.10.24), or compressed with gzip (with B<.gz> extension), xz (with B<.xz> "
"extension, supported since dpkg 1.15.6), bzip2 (with B<.bz2> extension, "
"supported since dpkg 1.10.24) or lzma (with B<.lzma> extension, supported "
"since dpkg 1.13.25)."
msgstr ""

#. type: Plain text
#: deb.5:73
msgid ""
"These members must occur in this exact order. Current implementations should "
"ignore any additional members after B<data.tar>.  Further members may be "
"defined in the future, and (if possible) will be placed after these three. "
"Any additional members that may need to be inserted before B<data.tar> and "
"which should be safely ignored by older programs, will have names starting "
"with an underscore, `B<_>'."
msgstr ""

#. type: Plain text
#: deb.5:79
msgid ""
"Those new members which won't be able to be safely ignored will be inserted "
"before B<data.tar> with names starting with something other than "
"underscores, or will (more likely) cause the major version number to be "
"increased."
msgstr ""

#. type: SH
#: deb.5:79 deb-control.5:271 deb-src-control.5:327 deb-split.5:49
#: deb-version.5:116 deb-old.5:51 deb-override.5:62 deb-extra-override.5:37
#: deb-shlibs.5:61 deb-substvars.5:154 deb-symbols.5:61 deb-triggers.5:67
#: dpkg.1:768 dpkg-architecture.1:299 dpkg.cfg.5:23 dpkg-buildpackage.1:249
#: dpkg-deb.1:259 dpkg-divert.8:132 dpkg-gensymbols.1:450 dpkg-name.1:96
#: dpkg-query.1:220 dpkg-scanpackages.1:110 dpkg-scansources.1:71
#: dpkg-shlibdeps.1:324 dpkg-source.1:725 dpkg-split.1:217
#: dpkg-statoverride.8:84 dpkg-trigger.1:66 dselect.1:445 dselect.cfg.5:23
#: update-alternatives.8:508
#, fuzzy, no-wrap
msgid "SEE ALSO"
msgstr ""
"#-#-#-#-#  ru.po (dpkg man pages)  #-#-#-#-#\n"
"СМОТРИ ТАКЖЕ\n"
"#-#-#-#-#  ru.po (dpkg man pages)  #-#-#-#-#\n"
"СМОТРИТЕ ТАКЖЕ"

#. type: Plain text
#: deb.5:82
#, fuzzy
msgid "B<deb-old>(5), B<dpkg-deb>(1), B<deb-control>(5)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: TH
#: deb-control.5:3
#, no-wrap
msgid "deb-control"
msgstr "deb-control"

#. type: Plain text
#: deb-control.5:6
msgid "deb-control - Debian packages' master control file format"
msgstr "deb-control -- формат мастер файла control пакетов Debian"

#. type: Plain text
#: deb-control.5:9 deb-src-control.5:9
msgid "control"
msgstr "control"

#. type: Plain text
#: deb-control.5:24
#, fuzzy
msgid ""
"Each Debian package contains the master `control' file, which contains a "
"number of fields, or comments when the line starts with B<'#'>. Each field "
"begins with a tag, such as B<Package> or B<Version> (case insensitive), "
"followed by a colon, and the body of the field.  Fields are delimited only "
"by field tags. In other words, field text may be multiple lines in length, "
"but the installation tools will generally join lines when processing the "
"body of the field (except in the case of the B<Description> field, see "
"below)."
msgstr ""
"Каждый пакет Debian содержит мастер файл `control', состоящий из нескольких "
"полей. Каждое поле начинается с тега, например B<Package> или B<Version> "
"(регистр значения не имеет), затем двоеточие и содержимое поля. Поля "
"разделяются только тегами. Другими словами, текст поля может занимать "
"несколько строк, но утилиты установки обычно объединяют эти строки при "
"обработке содержимого поля (кроме поля B<Description>, описанного ниже)."

#. type: SH
#: deb-control.5:25
#, no-wrap
msgid "REQUIRED FIELDS"
msgstr "ОБЯЗАТЕЛЬНЫЕ ПОЛЯ"

#. type: TP
#: deb-control.5:26
#, fuzzy, no-wrap
msgid "B<Package:>I< package-name>"
msgstr "B<Package:> E<lt>имя пакетаE<gt>"

#. type: Plain text
#: deb-control.5:30
msgid ""
"The value of this field determines the package name, and is used to generate "
"file names by most installation tools."
msgstr ""
"Значение этого поля задаёт имя пакета и используется при конструировании "
"имён файлов большинством установочных утилит."

#. type: TP
#: deb-control.5:30
#, fuzzy, no-wrap
#| msgid "B<Version:> E<lt>version stringE<gt>"
msgid "B<Version:>I< version-string>"
msgstr "B<Version:> E<lt>строка с версиейE<gt>"

#. type: Plain text
#: deb-control.5:37
#, fuzzy
msgid ""
"Typically, this is the original package's version number in whatever form "
"the program's author uses. It may also include a Debian revision number (for "
"non-native packages). The exact format and sorting algorithm are described "
"in B<deb-version>(5)."
msgstr ""
"Обычно в этом поле указывается оригинальный номер версии пакета в той форме, "
"которую использует автор программы. Версия может также включать номер "
"ревизии Debian (для не родных пакетов). Если указываются и версия и номер "
"ревизии, то они разделяются дефисом: `-'.  Из-за этого оригинальный номер "
"версии не может содержать в себе дефис."

#. type: TP
#: deb-control.5:37
#, fuzzy, no-wrap
#| msgid "B<Maintainer:> E<lt>fullname emailE<gt>"
msgid "B<Maintainer:>I< fullname-email>"
msgstr "B<Maintainer:> E<lt>полное имя и адрес эл.почтыE<gt>"

#. type: Plain text
#: deb-control.5:42
msgid ""
"Should be in the format `Joe Bloggs E<lt>jbloggs@foo.comE<gt>', and is "
"typically the person who created the package, as opposed to the author of "
"the software that was packaged."
msgstr ""
"Тело поля должно быть в формате `Joe Bloggs E<lt>jbloggs@foo.comE<gt>' и "
"обычно представляет собой имя создателя пакета, а не имя автора программы, "
"которая была упакована."

#. type: TP
#: deb-control.5:42
#, fuzzy, no-wrap
#| msgid "B<Description:> E<lt>short descriptionE<gt>"
msgid "B<Description:>I< short-description>"
msgstr "B<Description:> E<lt>короткое описаниеE<gt>"

#. type: Plain text
#: deb-control.5:45
#, fuzzy
#| msgid "B< >E<lt>long descriptionE<gt>"
msgid "B< >I<long-description>"
msgstr "B< >E<lt>длинное описаниеE<gt>"

#. type: Plain text
#: deb-control.5:51
#, fuzzy
msgid ""
"The format for the package description is a short brief summary on the first "
"line (after the \"Description\" field). The following lines should be used "
"as a longer, more detailed description. Each line of the long description "
"must be preceded by a space, and blank lines in the long description must "
"contain a single '.' following the preceding space."
msgstr ""
"Формат описания пакета -- это краткое и ёмкое описание в первой строке "
"(после поля \"Description\"). Последующие строки могут быть использованы как "
"длинное, более детальное описание. В начале каждой строки длинного описания "
"должен находиться пробел, а пустые строки в длинном описании должны "
"содержать одну точку '.', следующую сразу после начального пробела."

#. type: SH
#: deb-control.5:52
#, no-wrap
msgid "OPTIONAL FIELDS"
msgstr "НЕОБЯЗАТЕЛЬНЫЕ ПОЛЯ"

#. type: TP
#: deb-control.5:53 deb-src-control.5:90
#, fuzzy, no-wrap
#| msgid "B<Section:> E<lt>sectionE<gt>"
msgid "B<Section:>I< section>"
msgstr "B<Section:> E<lt>секцияE<gt>"

#. type: Plain text
#: deb-control.5:58
msgid ""
"This is a general field that gives the package a category based on the "
"software that it installs. Some common sections are `utils', `net', `mail', "
"`text', `x11' etc."
msgstr ""
"Это обобщающее поле, в котором пакету присваивается категория, в зависимости "
"от типа программного обеспечения, которое он содержит. Примерами секций "
"могут служить `utils', `net', `mail', `text', `x11' и т.д."

#. type: TP
#: deb-control.5:58 deb-src-control.5:96
#, fuzzy, no-wrap
#| msgid "B<Priority:> E<lt>priorityE<gt>"
msgid "B<Priority:>I< priority>"
msgstr "B<Priority:> E<lt>приоритетE<gt>"

#. type: Plain text
#: deb-control.5:62
msgid ""
"Sets the importance of this package in relation to the system as a whole.  "
"Common priorities are `required', `standard', `optional', `extra' etc."
msgstr ""
"Устанавливает важность данного пакета, в зависимости от его значимости для "
"системы. Приоритеты могут быть такими: `required', `standard', `optional', "
"`extra' и т.д."

#. type: Plain text
#: deb-control.5:71 deb-src-control.5:109
#, fuzzy
msgid ""
"In Debian, the B<Section> and B<Priority> fields have a defined set of "
"accepted values based on the Policy Manual.  A list of these values can be "
"obtained from the latest version of the B<debian-policy> package."
msgstr ""
"Поля B<Section> и B<Priority> могут принимать только значения из списка, "
"который определен в политике Debian. Они используются для того, чтобы "
"решить, как пакеты будут размещены в архиве. Список возможных значений можно "
"узнать из последней версии пакета B<debian-policy>."

#. type: TP
#: deb-control.5:71 deb-src-control.5:216
#, fuzzy, no-wrap
#| msgid "B<Essential:> E<lt>yes|noE<gt>"
msgid "B<Essential:> B<yes>|B<no>"
msgstr "B<Essential:> E<lt>yes|noE<gt>"

#. type: Plain text
#: deb-control.5:78
#, fuzzy
#| msgid ""
#| "This field is usually only needed when the answer is `yes'. It denotes a "
#| "package that is required for proper operation of the system. Dpkg or any "
#| "other installation tool will not allow an B<Essential> package to be "
#| "removed (at least not without using one of the force options)."
msgid ""
"This field is usually only needed when the answer is B<yes>. It denotes a "
"package that is required for proper operation of the system. Dpkg or any "
"other installation tool will not allow an B<Essential> package to be removed "
"(at least not without using one of the force options)."
msgstr ""
"Данное поле обычно необходимо только когда ответ - `yes' (да). Это означает, "
"что данный пакет требуется для нормального функционирования системы. Dpkg и "
"другие программы установки не разрешают удаление пакетов, помеченных как "
"B<Essential> (по крайней мере, без указания специальных флагов)."

#. type: TP
#: deb-control.5:78
#, fuzzy, no-wrap
#| msgid "B<Architecture:> E<lt>arch|allE<gt>"
msgid "B<Architecture:> I<arch>|B<all>"
msgstr "B<Architecture:> E<lt>архитектура|allE<gt>"

#. type: Plain text
#: deb-control.5:86
#, fuzzy
msgid ""
"The architecture specifies which type of hardware this package was compiled "
"for. Common architectures are `i386', `m68k', `sparc', `alpha', `powerpc' "
"etc. Note that the B<all> option is meant for packages that are architecture "
"independent. Some examples of this are shell and Perl scripts, and "
"documentation."
msgstr ""
"Архитектура определяет, для какого типа аппаратной платформы был "
"скомпилирован пакет. Архитектуры бывают такие: `i386', `m68k', `sparc', "
"`alpha', `powerpc' и т.д. Заметим, что значение B<all> означает, что пакет "
"не зависит от архитектуры: например, он написан на Perl или содержит "
"документацию."

#. type: TP
#: deb-control.5:86 deb-src-control.5:85
#, fuzzy, no-wrap
msgid "B<Origin:>I< name>"
msgstr "B<Source:> E<lt>имя архивов с исходникамиE<gt>"

#. type: Plain text
#: deb-control.5:89
msgid "The name of the distribution this package is originating from."
msgstr ""

#. type: TP
#: deb-control.5:89 deb-src-control.5:66
#, fuzzy, no-wrap
msgid "B<Bugs:>I< url>"
msgstr "B<Replaces:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-control.5:94
msgid ""
"The I<url> of the bug tracking system for this package. The current used "
"format is I<bts-type>B<://>I<bts-address>, like B<debbugs://bugs.debian.org>."
msgstr ""

#. type: TP
#: deb-control.5:94 deb-src-control.5:62
#, fuzzy, no-wrap
msgid "B<Homepage:>I< url>"
msgstr "B<Replaces:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-control.5:97
msgid "The upstream project home page I<url>."
msgstr ""

#. type: TP
#: deb-control.5:97 deb-src-control.5:222
#, fuzzy, no-wrap
msgid "B<Tag:>I< tag-list>"
msgstr "B<Replaces:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-control.5:101
msgid ""
"List of tags describing the qualities of the package. The description and "
"list of supported tags can be found in the B<debtags> package."
msgstr ""

#. type: TP
#: deb-control.5:101 deb-src-control.5:219
#, fuzzy, no-wrap
#| msgid "B<Source:> E<lt>source nameE<gt>"
msgid "B<Multi-Arch:> B<same>|B<foreign>|B<allowed>"
msgstr "B<Source:> E<lt>имя архивов с исходникамиE<gt>"

#. type: Plain text
#: deb-control.5:113
msgid ""
"This field is used to indicate how this package should behave on a multi-"
"arch installations. The value B<same> means that the package is co-"
"installable with itself, but it must not be used to satisfy the dependency "
"of any package of a different architecture from itself. The value B<foreign> "
"means that the package is not co-installable with itself, but should be "
"allowed to satisfy the dependency of a package of a different arch from "
"itself. The value B<allowed> allows reverse-dependencies to indicate in "
"their Depends field that they need a package from a foreign architecture, "
"but has no effect otherwise. This field should not be present in packages "
"with the B<Architecture: all> field."
msgstr ""

#. type: TP
#: deb-control.5:113
#, fuzzy, no-wrap
#| msgid "B<Source:> E<lt>source nameE<gt>"
msgid "B<Source:>I< source-name>"
msgstr "B<Source:> E<lt>имя архивов с исходникамиE<gt>"

#. type: Plain text
#: deb-control.5:117
msgid ""
"The name of the source package that this binary package came from, if "
"different than the name of the package itself."
msgstr ""
"Имя пакета с исходниками, из которого компилируется бинарный пакет, если оно "
"отличается от имени самого пакета."

#. type: TP
#: deb-control.5:118 deb-src-control.5:202
#, fuzzy, no-wrap
#| msgid "B<Architecture:> E<lt>arch|allE<gt>"
msgid "B<Subarchitecture:>I< value>"
msgstr "B<Architecture:> E<lt>архитектура|allE<gt>"

#. type: TP
#: deb-control.5:121 deb-src-control.5:205
#, fuzzy, no-wrap
msgid "B<Kernel-Version:>I< value>"
msgstr "B<Version:> E<lt>строка с версиейE<gt>"

#. type: TP
#: deb-control.5:124 deb-src-control.5:208
#, fuzzy, no-wrap
msgid "B<Installer-Menu-Item:>I< value>"
msgstr "B<Replaces:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-control.5:131 deb-src-control.5:215
msgid ""
"These fields are used by the debian-installer and are usually not needed.  "
"See /usr/share/doc/debian-installer/devel/modules.txt from the B<debian-"
"installer> package for more details about them."
msgstr ""

#. type: TP
#: deb-control.5:132 deb-src-control.5:233
#, fuzzy, no-wrap
#| msgid "B<Depends:> E<lt>package listE<gt>"
msgid "B<Depends:>I< package-list>"
msgstr "B<Depends:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-control.5:143
#, fuzzy
msgid ""
"List of packages that are required for this package to provide a non-trivial "
"amount of functionality. The package maintenance software will not allow a "
"package to be installed if the packages listed in its B<Depends> field "
"aren't installed (at least not without using the force options).  In an "
"installation, the postinst scripts of packages listed in Depends: fields are "
"run before those of the packages which depend on them. On the opposite, in a "
"removal, the prerm script of a package is run before those of the packages "
"listed in its Depends: field."
msgstr ""
"Список пакетов, требующихся для обеспечения нормальной работы данного "
"пакета. Программа установки не позволит (по крайней мере, без использования "
"специальных флагов) установить данный пакет, если пакеты, перечисленные в "
"B<Depends>, ещё не установлены. При установке скрипты postinst этих пакетов "
"будут выполнены перед скриптом postinst данного пакета, а при удалении из "
"системы скрипты prerm будут выполнены после скрипта prerm данного пакета."

#. type: TP
#: deb-control.5:143 deb-src-control.5:236
#, fuzzy, no-wrap
#| msgid "B<Pre-Depends:> E<lt>package listE<gt>"
msgid "B<Pre-Depends:>I< package-list>"
msgstr "B<Pre-Depends:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-control.5:150
msgid ""
"List of packages that must be installed B<and> configured before this one "
"can be installed. This is usually used in the case where this package "
"requires another package for running its preinst script."
msgstr ""
"Список пакетов, которые должны быть установлены B<и> настроены перед тем, "
"как будет устанавливаться данный пакет. Обычно это используется в случае, "
"когда пакет требует наличия другого пакета для запуска собственного сценария "
"preinst."

#. type: TP
#: deb-control.5:150 deb-src-control.5:239
#, fuzzy, no-wrap
#| msgid "B<Recommends:> E<lt>package listE<gt>"
msgid "B<Recommends:>I< package-list>"
msgstr "B<Recommends:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-control.5:157
msgid ""
"Lists packages that would be found together with this one in all but unusual "
"installations. The package maintenance software will warn the user if they "
"install a package without those listed in its B<Recommends> field."
msgstr ""
"Список пакетов, которые рекомендуется установить вместе с данным пакетом. "
"Программа установки предупредит пользователя, если он устанавливает пакет "
"без пакетов, которые перечислены в поле B<Recommends>."

#. type: TP
#: deb-control.5:157 deb-src-control.5:242
#, fuzzy, no-wrap
#| msgid "B<Suggests:> E<lt>package listE<gt>"
msgid "B<Suggests:>I< package-list>"
msgstr "B<Suggests:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-control.5:162
msgid ""
"Lists packages that are related to this one and can perhaps enhance its "
"usefulness, but without which installing this package is perfectly "
"reasonable."
msgstr ""
"Список пакетов, которые расширяют функциональность устанавливаемого пакета, "
"но без которых данный пакет может прекрасно обойтись."

#. type: Plain text
#: deb-control.5:174
#, fuzzy
msgid ""
"The syntax of B<Depends>, B<Pre-Depends>, B<Recommends> and B<Suggests> "
"fields is a list of groups of alternative packages. Each group is a list of "
"packages separated by vertical bar (or `pipe') symbols, `|'. The groups are "
"separated by commas. Commas are to be read as `AND', and pipes as `OR', with "
"pipes binding more tightly. Each package name is optionally followed by a "
"version number specification in parentheses."
msgstr ""
"Синтаксис полей B<Depends>, B<Pre-Depends>, B<Recommends> и B<Suggests> "
"позволяет описать группу альтернативных пакетов. Каждая такая группа -- это "
"список пакетов, разделённых символом вертикальной черты `|'. Группы "
"разделяются запятыми. Запятые можно читать как `И', а вертикальные чёрточки "
"как `ИЛИ'. Каждый элемент является именем пакета, причём в круглых скобках "
"можно указать его версию."

#. type: Plain text
#: deb-control.5:180
msgid ""
"A version number may start with a `E<gt>E<gt>', in which case any later "
"version will match, and may specify or omit the Debian packaging revision "
"(separated by a hyphen). Accepted version relationships are \"E<gt>E<gt>\" "
"for greater than, \"E<lt>E<lt>\" for less than, \"E<gt>=\" for greater than "
"or equal to, \"E<lt>=\" for less than or equal to, and \"=\" for equal to."
msgstr ""
"Если номер версии начинается с `E<gt>E<gt>', то это означает любую более "
"позднюю версию, при чём также может быть задан или пропущен номер ревизии "
"Debian (который отделен от версии дефисом). Таким образом: \"E<gt>E<gt>\" "
"означает \"больше чем\", \"E<lt>E<lt>\" -- \"меньше чем\", \"E<gt>=\" -- "
"\"больше или равно чем\", \"E<lt>=\" -- \"меньше или равно чем\", а \"=\" -- "
"\"только версия, которая указана\"."

#. type: TP
#: deb-control.5:180 deb-src-control.5:245
#, fuzzy, no-wrap
msgid "B<Breaks:>I< package-list>"
msgstr "B<Replaces:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-control.5:188
#, fuzzy
msgid ""
"Lists packages that this one breaks, for example by exposing bugs when the "
"named packages rely on this one. The package maintenance software will not "
"allow broken packages to be configured; generally the resolution is to "
"upgrade the packages named in a B<Breaks> field."
msgstr ""
"Список пакетов, которые конфликтуют с пакетом; например, если в них "
"содержатся файлы с теми же именами. Программа установки не позволит "
"установить в систему два конфликтующих пакета. Каждый из двух конфликтующих "
"пакетов должен указать в строке B<Conflicts> имя другого."

#. type: TP
#: deb-control.5:188 deb-src-control.5:254
#, fuzzy, no-wrap
#| msgid "B<Conflicts:> E<lt>package listE<gt>"
msgid "B<Conflicts:>I< package-list>"
msgstr "B<Conflicts:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-control.5:196
msgid ""
"Lists packages that conflict with this one, for example by containing files "
"with the same names. The package maintenance software will not allow "
"conflicting packages to be installed at the same time. Two conflicting "
"packages should each include a B<Conflicts> line mentioning the other."
msgstr ""
"Список пакетов, которые конфликтуют с пакетом; например, если в них "
"содержатся файлы с теми же именами. Программа установки не позволит "
"установить в систему два конфликтующих пакета. Каждый из двух конфликтующих "
"пакетов должен указать в строке B<Conflicts> имя другого."

#. type: TP
#: deb-control.5:196 deb-src-control.5:251
#, fuzzy, no-wrap
#| msgid "B<Replaces:> E<lt>package listE<gt>"
msgid "B<Replaces:>I< package-list>"
msgstr "B<Replaces:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-control.5:204
msgid ""
"List of packages files from which this one replaces. This is used for "
"allowing this package to overwrite the files of another package and is "
"usually used with the B<Conflicts> field to force removal of the other "
"package, if this one also has the same files as the conflicted package."
msgstr ""
"Список пакетов, которые заменяют данный пакет. Он используется для того, "
"чтобы разрешить данному пакету перезаписать файлы другого пакета и обычно "
"используется совместно с полем B<Conflicts>, чтобы сразу же заставить "
"удалить этот другой пакет, если он содержит такие же файлы, как "
"устанавливаемый."

#. type: TP
#: deb-control.5:204 deb-src-control.5:257
#, fuzzy, no-wrap
#| msgid "B<Provides:> E<lt>package listE<gt>"
msgid "B<Provides:>I< package-list>"
msgstr "B<Provides:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-control.5:214
#, fuzzy
msgid ""
"This is a list of virtual packages that this one provides. Usually this is "
"used in the case of several packages all providing the same service.  For "
"example, sendmail and exim can serve as a mail server, so they provide a "
"common package (`mail-transport-agent') on which other packages can depend. "
"This will allow sendmail or exim to serve as a valid option to satisfy the "
"dependency. This prevents the packages that depend on a mail server from "
"having to know the package names for all of them, and using `|' to separate "
"the list."
msgstr ""
"Список виртуальных пакетов, которые предоставляет данный пакет. Обычно он "
"используется, если несколько разных пакетов предоставляют один и тот же "
"сервис. Например, sendmail и exim могут работать как почтовые серверы, "
"поэтому они предоставляют общий пакет (`mail-transport-agent') для тех "
"пакетов, которые могут от него зависеть. Это позволяет использовать sendmail "
"или exim в тех пакетах, которые зависят от `mail-transport-agent'. Это "
"устраняет необходимость указывать в пакетах, которые зависят от почтового "
"сервера, список через `|' всех пакетов почтовых серверов."

#. type: Plain text
#: deb-control.5:233
#, fuzzy
#| msgid ""
#| "The syntax of B<Conflicts>, B<Replaces> and B<Provides> is a list of "
#| "package names, separated by commas (and optional whitespace).  In the "
#| "B<Conflicts> field, the comma should be read as `OR'. An optional version "
#| "can also be given with the same syntax as above for the B<Conflicts> and "
#| "B<Replaces> fields."
msgid ""
"The syntax of B<Breaks>, B<Conflicts>, B<Replaces> and B<Provides> is a list "
"of package names, separated by commas (and optional whitespace).  In the "
"B<Breaks> and B<Conflicts> fields, the comma should be read as `OR'. An "
"optional version can also be given with the same syntax as above for the "
"B<Breaks>, B<Conflicts> and B<Replaces> fields."
msgstr ""
"Синтаксис B<Conflicts>, B<Replaces> и B<Provides> позволяет перечислить "
"пакеты через запятую (и необязательный пробел). В поле B<Conflicts> запятая "
"читается как `ИЛИ'. В значениях полей B<Conflicts> и B<Replaces> можно "
"указывать номер версии пакета (используя вышеописанный синтаксис)."

#. type: TP
#: deb-control.5:234 deb-src-control.5:260
#, fuzzy, no-wrap
#| msgid "B<Depends:> E<lt>package listE<gt>"
msgid "B<Built-Using:>I< package-list>"
msgstr "B<Depends:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-control.5:244
msgid ""
"This field lists extra source packages that were used during the build of "
"this binary package.  This is an indication to the archive maintenance "
"software that these extra source packages must be kept whilst this binary "
"package is maintained.  This field must be a list of source package names "
"with strict (=)  version relationships.  Note that the archive maintenance "
"software is likely to refuse to accept an upload which declares a B<Built-"
"Using> relationship which cannot be satisfied within the archive."
msgstr ""

#. type: SH
#: deb-control.5:245 deb-src-control.5:288 start-stop-daemon.8:302
#, no-wrap
msgid "EXAMPLE"
msgstr "ПРИМЕР"

#. type: Plain text
#: deb-control.5:268
#, fuzzy, no-wrap
msgid ""
"# Comment\n"
"Package: grep\n"
"Essential: yes\n"
"Priority: required\n"
"Section: base\n"
"Maintainer: Wichert Akkerman E<lt>wakkerma@debian.orgE<gt>\n"
"Architecture: sparc\n"
"Version: 2.4-1\n"
"Pre-Depends: libc6 (E<gt>= 2.0.105)\n"
"Provides: rgrep\n"
"Conflicts: rgrep\n"
"Description: GNU grep, egrep and fgrep.\n"
" The GNU family of grep utilities may be the \"fastest grep in the west\".\n"
" GNU grep is based on a fast lazy-state deterministic matcher (about\n"
" twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper\n"
" search for a fixed string that eliminates impossible text from being\n"
" considered by the full regexp matcher without necessarily having to\n"
" look at every character. The result is typically many times faster\n"
" than Unix grep or egrep. (Regular expressions containing backreferencing\n"
" will run more slowly, however).\n"
msgstr ""
"Package: grep\n"
"Essential: yes\n"
"Priority: required\n"
"Section: base\n"
"Maintainer: Wichert Akkerman E<lt>wakkerma@debian.orgE<gt>\n"
"Architecture: sparc\n"
"Version: 2.4-1\n"
"Pre-Depends: libc6 (E<gt>= 2.0.105)\n"
"Provides: rgrep\n"
"Conflicts: rgrep\n"
"Description: GNU grep, egrep and fgrep.\n"
" The GNU family of grep utilities may be the \"fastest grep in the west\".\n"
" GNU grep is based on a fast lazy-state deterministic matcher (about\n"
" twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper\n"
" search for a fixed string that eliminates impossible text from being\n"
" considered by the full regexp matcher without necessarily having to\n"
" look at every character. The result is typically many times faster\n"
" than Unix grep or egrep. (Regular expressions containing backreferencing\n"
" will run more slowly, however).\n"

#. type: Plain text
#: deb-control.5:276
#, fuzzy
msgid ""
"B<deb>(5), B<deb-version>(5), B<debtags>(1), B<dpkg>(1), B<dpkg-deb>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: TH
#: deb-src-control.5:3
#, fuzzy, no-wrap
#| msgid "deb-control"
msgid "deb-src-control"
msgstr "deb-control"

#. type: Plain text
#: deb-src-control.5:6
#, fuzzy
#| msgid "deb-control - Debian packages' master control file format"
msgid "deb-src-control - Debian source packages' master control file format"
msgstr "deb-control -- формат мастер файла control пакетов Debian"

#. type: Plain text
#: deb-src-control.5:28
msgid ""
"Each Debian source package contains the master \"control\" file, which "
"contains at least 2 paragraphs, separated by a blank line. The first "
"paragraph lists all information about the source package in general, while "
"each following paragraph describes exactly one binary package. Each "
"paragraph consists of at least one field. A field starts with a fieldname, "
"such as B<Package> or B<Section> (case insensitive), followed by a colon, "
"the body of the field and a newline.  Multi-line fields are also allowed, "
"but each supplementary line, without a fieldname, should start with at least "
"one space. The content of the multi-line fields is generally joined to a "
"single line by the tools (except in the case of the B<Description> field, "
"see below). To insert empty lines into a multi-line field, insert a dot "
"after the space. Lines starting with a B<'#'> are treated as comments."
msgstr ""

#. type: SH
#: deb-src-control.5:29
#, fuzzy, no-wrap
#| msgid "REQUIRED FIELDS"
msgid "SOURCE FIELDS"
msgstr "ОБЯЗАТЕЛЬНЫЕ ПОЛЯ"

#. type: TP
#: deb-src-control.5:30
#, fuzzy, no-wrap
#| msgid "B<Source:> E<lt>source nameE<gt>"
msgid "B<Source:> I<source-package-name> (required)"
msgstr "B<Source:> E<lt>имя архивов с исходникамиE<gt>"

#. type: Plain text
#: deb-src-control.5:37
msgid ""
"The value of this field is the name of the source package, and should match "
"the name of the source package in the debian/changelog file. A package name "
"must consist only of lower case letters (a-z), digits (0-9), plus (+) and "
"minus (-) signs, and periods (.). Package names must be at least two "
"characters long and must start with an alphanumeric character."
msgstr ""

#. type: TP
#: deb-src-control.5:38
#, fuzzy, no-wrap
#| msgid "B<Maintainer:> E<lt>fullname emailE<gt>"
msgid "B<Maintainer:> I<fullname-email> (required)"
msgstr "B<Maintainer:> E<lt>полное имя и адрес эл.почтыE<gt>"

#. type: Plain text
#: deb-src-control.5:43
#, fuzzy
#| msgid ""
#| "Should be in the format `Joe Bloggs E<lt>jbloggs@foo.comE<gt>', and is "
#| "typically the person who created the package, as opposed to the author of "
#| "the software that was packaged."
msgid ""
"Should be in the format \"Joe Bloggs E<lt>jbloggs@foo.comE<gt>\", and "
"references the person who currently maintains the package, as opposed to the "
"author of the software or the original packager."
msgstr ""
"Тело поля должно быть в формате `Joe Bloggs E<lt>jbloggs@foo.comE<gt>' и "
"обычно представляет собой имя создателя пакета, а не имя автора программы, "
"которая была упакована."

#. type: TP
#: deb-src-control.5:44
#, fuzzy, no-wrap
#| msgid "B<Maintainer:> E<lt>fullname emailE<gt>"
msgid "B<Uploaders:>I< fullname-email>"
msgstr "B<Maintainer:> E<lt>полное имя и адрес эл.почтыE<gt>"

#. type: Plain text
#: deb-src-control.5:49
msgid ""
"Lists all the names and email addresses of co-maintainers of the package, in "
"the same format as the Maintainer field. Multiple co-maintainers should be "
"separated by a comma."
msgstr ""

#. type: TP
#: deb-src-control.5:50
#, fuzzy, no-wrap
#| msgid "B<Version:> E<lt>version stringE<gt>"
msgid "B<Standards-Version:>I< version-string>"
msgstr "B<Version:> E<lt>строка с версиейE<gt>"

#. type: Plain text
#: deb-src-control.5:56
msgid ""
"This documents the most recent version of the standards (which consists of "
"the Debian Policy Manual and referenced texts from the B<debian-policy> "
"package) this package complies to."
msgstr ""

#. type: TP
#: deb-src-control.5:57
#, fuzzy, no-wrap
#| msgid "B<Essential:> E<lt>yes|noE<gt>"
msgid "B<DM-Upload-Allowed:> B<yes>|B<no>"
msgstr "B<Essential:> E<lt>yes|noE<gt>"

#. type: Plain text
#: deb-src-control.5:61
msgid ""
"This field indicates whether the package can be uploaded by Debian "
"Maintainers appearing in the Maintainer or Uploaders field. The default "
"value is \"no\"."
msgstr ""

#. type: Plain text
#: deb-src-control.5:65
msgid "The upstream project home page URL."
msgstr ""

#. type: Plain text
#: deb-src-control.5:71
msgid ""
"The I<url> of the bug tracking system for this package. The current used "
"format is I<bts-type>B<://>I<bts-address>, like B<debbugs://bugs.debian."
"org>. This field is usually not needed."
msgstr ""

#. type: TP
#: deb-src-control.5:72
#, fuzzy, no-wrap
msgid "B<Vcs-*:>I< url>"
msgstr "B<Replaces:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-src-control.5:79
msgid ""
"The I<url> of the Version Control System repository used to maintain this "
"package. Currently supported are B<Arch>, B<Bzr> (Bazaar), B<Cvs>, B<Darcs>, "
"B<Git>, B<Hg> (Mercurial), B<Mtn> (Monotone) and B<Svn> (Subversion). "
"Usually this field points to the latest version of the package, such as the "
"main branch or the trunk."
msgstr ""

#. type: TP
#: deb-src-control.5:80
#, fuzzy, no-wrap
msgid "B<Vcs-Browser:>I< url>"
msgstr "B<Replaces:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-src-control.5:84
msgid ""
"The I<url> of a webinterface to browse the Version Control System repository."
msgstr ""

#. type: Plain text
#: deb-src-control.5:89
msgid ""
"The name of the distribution this package is originating from. This field is "
"usually not needed."
msgstr ""

#. type: Plain text
#: deb-src-control.5:95
#, fuzzy
#| msgid ""
#| "This is a general field that gives the package a category based on the "
#| "software that it installs. Some common sections are `utils', `net', "
#| "`mail', `text', `x11' etc."
msgid ""
"This is a general field that gives the package a category based on the "
"software that it installs. Some common sections are \"utils\", \"net\", "
"\"mail\", \"text\", \"x11\", etc."
msgstr ""
"Это обобщающее поле, в котором пакету присваивается категория, в зависимости "
"от типа программного обеспечения, которое он содержит. Примерами секций "
"могут служить `utils', `net', `mail', `text', `x11' и т.д."

#. type: Plain text
#: deb-src-control.5:100
#, fuzzy
#| msgid ""
#| "Sets the importance of this package in relation to the system as a "
#| "whole.  Common priorities are `required', `standard', `optional', `extra' "
#| "etc."
msgid ""
"Sets the importance of this package in relation to the system as a whole.  "
"Common priorities are \"required\", \"standard\", \"optional\", \"extra\", "
"etc."
msgstr ""
"Устанавливает важность данного пакета, в зависимости от его значимости для "
"системы. Приоритеты могут быть такими: `required', `standard', `optional', "
"`extra' и т.д."

#. type: TP
#: deb-src-control.5:110
#, fuzzy, no-wrap
#| msgid "B<Depends:> E<lt>package listE<gt>"
msgid "B<Build-Depends:>I< package-list>"
msgstr "B<Depends:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-src-control.5:114
msgid ""
"A list of packages that need to be installed and configured to be able to "
"build the source package."
msgstr ""

#. type: TP
#: deb-src-control.5:115
#, fuzzy, no-wrap
#| msgid "B<Depends:> E<lt>package listE<gt>"
msgid "B<Build-Depends-Indep:>I< package-list>"
msgstr "B<Depends:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-src-control.5:120
msgid ""
"Same as B<Build-Depends>, but they are only needed when building the "
"architecture independent packages. The B<Build-Depends> are also installed "
"in this case."
msgstr ""

#. type: TP
#: deb-src-control.5:121
#, fuzzy, no-wrap
#| msgid "B<Conflicts:> E<lt>package listE<gt>"
msgid "B<Build-Conflicts:>I< package-list>"
msgstr "B<Conflicts:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-src-control.5:125
msgid ""
"A list of packages that should not be installed when the package is build, "
"for example because they interfere with the used build system."
msgstr ""

#. type: TP
#: deb-src-control.5:126
#, fuzzy, no-wrap
#| msgid "B<Conflicts:> E<lt>package listE<gt>"
msgid "B<Build-Conflicts-Indep:>I< package-list>"
msgstr "B<Conflicts:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-src-control.5:130
msgid ""
"Same as B<Build-Conflicts>, but only when building the architecture "
"independent packages."
msgstr ""

#. type: Plain text
#: deb-src-control.5:141
#, fuzzy
msgid ""
"The syntax of the B<Build-Depends> and B<Build-Depends-Indep> fields is a "
"list of groups of alternative packages. Each group is a list of packages "
"separated by vertical bar (or \"pipe\") symbols, \"|\". The groups are "
"separated by commas. Commas are to be read as \"AND\", and pipes as \"OR\", "
"with pipes binding more tightly. Each package name is optionally followed by "
"a version number specification in parentheses and an architecture "
"specification in square brackets."
msgstr ""
"Синтаксис полей B<Depends>, B<Pre-Depends>, B<Recommends> и B<Suggests> "
"позволяет описать группу альтернативных пакетов. Каждая такая группа -- это "
"список пакетов, разделённых символом вертикальной черты `|'. Группы "
"разделяются запятыми. Запятые можно читать как `И', а вертикальные чёрточки "
"как `ИЛИ'. Каждый элемент является именем пакета, причём в круглых скобках "
"можно указать его версию."

#. type: Plain text
#: deb-src-control.5:150
msgid ""
"The syntax of the B<Build-Conflicts> and B<Build-Conflicts-Indep> fields is "
"a list of comma-separated package names, where the comma is read as an \"AND"
"\". Specifying alternative packages using a \"pipe\" is not supported.  Each "
"package name is optionally followed by a version number specification in "
"parentheses and an architecture specification in square brackets."
msgstr ""

#. type: Plain text
#: deb-src-control.5:156
#, fuzzy
#| msgid ""
#| "A version number may start with a `E<gt>E<gt>', in which case any later "
#| "version will match, and may specify or omit the Debian packaging revision "
#| "(separated by a hyphen). Accepted version relationships are \"E<gt>E<gt>"
#| "\" for greater than, \"E<lt>E<lt>\" for less than, \"E<gt>=\" for greater "
#| "than or equal to, \"E<lt>=\" for less than or equal to, and \"=\" for "
#| "equal to."
msgid ""
"A version number may start with a \"E<gt>E<gt>\", in which case any later "
"version will match, and may specify or omit the Debian packaging revision "
"(separated by a hyphen). Accepted version relationships are \"E<gt>E<gt>\" "
"for greater than, \"E<lt>E<lt>\" for less than, \"E<gt>=\" for greater than "
"or equal to, \"E<lt>=\" for less than or equal to, and \"=\" for equal to."
msgstr ""
"Если номер версии начинается с `E<gt>E<gt>', то это означает любую более "
"позднюю версию, при чём также может быть задан или пропущен номер ревизии "
"Debian (который отделен от версии дефисом). Таким образом: \"E<gt>E<gt>\" "
"означает \"больше чем\", \"E<lt>E<lt>\" -- \"меньше чем\", \"E<gt>=\" -- "
"\"больше или равно чем\", \"E<lt>=\" -- \"меньше или равно чем\", а \"=\" -- "
"\"только версия, которая указана\"."

#. type: Plain text
#: deb-src-control.5:160
msgid ""
"A architecture specification consists of one or more architecture names, "
"separated by whitespace. Exclamation marks may be prepended to each of the "
"names, meaning \"NOT\"."
msgstr ""

#. type: Plain text
#: deb-src-control.5:165
msgid ""
"Note that dependencies on packages in the B<build-essential> set can be "
"omitted and that declaring build conflicts against them is impossible. A "
"list of these packages is in the build-essential package."
msgstr ""

#. type: SH
#: deb-src-control.5:167
#, fuzzy, no-wrap
#| msgid "OPTIONAL FIELDS"
msgid "BINARY FIELDS"
msgstr "НЕОБЯЗАТЕЛЬНЫЕ ПОЛЯ"

#. type: Plain text
#: deb-src-control.5:176
msgid ""
"Note that the B<Priority>, B<Section> and B<Homepage> fields can also be in "
"a binary paragraph to override the global value from the source package."
msgstr ""

#. type: TP
#: deb-src-control.5:177
#, fuzzy, no-wrap
#| msgid "B<Package:> E<lt>package nameE<gt>"
msgid "B<Package:> I<binary-package-name> (required)"
msgstr "B<Package:> E<lt>имя пакетаE<gt>"

#. type: Plain text
#: deb-src-control.5:181
msgid ""
"This field is used to name the binary package name. The same restrictions as "
"to a source package name apply."
msgstr ""

#. type: TP
#: deb-src-control.5:182
#, fuzzy, no-wrap
#| msgid "B<Architecture:> E<lt>arch|allE<gt>"
msgid "B<Architecture:> I<arch>|B<all>|B<any> (required)"
msgstr "B<Architecture:> E<lt>архитектура|allE<gt>"

#. type: Plain text
#: deb-src-control.5:195
msgid ""
"The architecture specifies on which type of hardware this package runs. For "
"packages that run on all architectures, use the B<any> value. For packages "
"that are architecture independent, such as shell and Perl scripts or "
"documentation, use the B<all> value. To restrict the packages to a certain "
"set of architectures, specify the architecture names, separated by a space. "
"It's also possible to put architecture wildcards in that list (see B<dpkg-"
"architecture>(1)  for more information about them)."
msgstr ""

#. type: TP
#: deb-src-control.5:196
#, fuzzy, no-wrap
#| msgid "B<Package:> E<lt>package nameE<gt>"
msgid "B<Package-Type:> B<deb>|B<udeb>"
msgstr "B<Package:> E<lt>имя пакетаE<gt>"

#. type: Plain text
#: deb-src-control.5:201
msgid ""
"This field defines the type of the package. \"udeb\" is for size-constrained "
"packages used by the debian installer. \"deb\" is the default value, it's "
"assumed if the field is absent. More types might be added in the future."
msgstr ""

#. type: TP
#: deb-src-control.5:225
#, fuzzy, no-wrap
#| msgid "B<Description:> E<lt>short descriptionE<gt>"
msgid "B<Description:> I<short-description> (required)"
msgstr "B<Description:> E<lt>короткое описаниеE<gt>"

#. type: Plain text
#: deb-src-control.5:232
msgid ""
"These fields are described in the B<deb-control>(5)  manual page, as they "
"are copied literally to the control file of the binary package."
msgstr ""

#. type: TP
#: deb-src-control.5:248
#, fuzzy, no-wrap
#| msgid "B<Replaces:> E<lt>package listE<gt>"
msgid "B<Enhances:>I< package-list>"
msgstr "B<Replaces:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: deb-src-control.5:270
msgid ""
"These fields declare relationships between packages. They are discussed in "
"the B<deb-control>(5)  manpage and in the B<debian-policy> package."
msgstr ""

#. type: SH
#: deb-src-control.5:271
#, fuzzy, no-wrap
#| msgid "REQUIRED FIELDS"
msgid "USER-DEFINED FIELDS"
msgstr "ОБЯЗАТЕЛЬНЫЕ ПОЛЯ"

#. type: Plain text
#: deb-src-control.5:286
msgid ""
"It is allowed to add additional user-defined fields to the control file. The "
"tools will ignore these fields. If you want the fields to be copied over to "
"the output files, such as the binary packages, you need to use a custom "
"naming scheme: the fields should start with a X, followed by one or more of "
"the letters BCS and a hypen. If the letter B is used, the field will appear "
"in the control file in the binary package, see B<deb-control>(5), for the "
"letter S in the source package control file as constructed by B<dpkg-source>"
"(1)  and for the letter C in the upload control (.changes) file. Note that "
"the X[BCS]- prefixes are stripped when the fields are copied over to the "
"output files. A field B<XC-Approved-By> will appear as B<Approved-By> in the "
"changes file and will not appear in the binary or source package control "
"files."
msgstr ""

#. type: Plain text
#: deb-src-control.5:304
#, no-wrap
msgid ""
"# Comment\n"
"Source: dpkg\n"
"Section: admin\n"
"Priority: required\n"
"Maintainer: Dpkg Developers E<lt>debian-dpkg@lists.debian.orgE<gt>\n"
"# this field is copied to the binary and source packages\n"
"XBS-Upstream-Release-Status: stable\n"
"Homepage: http://wiki.debian.org/Teams/Dpkg\n"
"Vcs-Browser: http://git.debian.org/?p=dpkg/dpkg.git\n"
"Vcs-Git: git://git.debian.org/git/dpkg/dpkg.git\n"
"Standards-Version: 3.7.3\n"
"Build-Depends: pkg-config, debhelper (E<gt>= 4.1.81),\n"
" libselinux1-dev (E<gt>= 1.28-4) [!linux-any]\n"
msgstr ""

#. type: Plain text
#: deb-src-control.5:323
#, no-wrap
msgid ""
"Package: dpkg-dev\n"
"Section: utils\n"
"Priority: optional\n"
"Architecture: all\n"
"# this is a custom field in the binary package\n"
"XB-Mentoring-Contact: Raphael Hertzog E<lt>hertzog@debian.orgE<gt>\n"
"Depends: dpkg (E<gt>= 1.14.6), perl5, perl-modules, cpio (E<gt>= 2.4.2-2),\n"
" bzip2, lzma, patch (E<gt>= 2.2-1), make, binutils, libtimedate-perl\n"
"Recommends: gcc | c-compiler, build-essential\n"
"Suggests: gnupg, debian-keyring\n"
"Conflicts: dpkg-cross (E<lt>E<lt> 2.0.0), devscripts (E<lt>E<lt> 2.10.26)\n"
"Replaces: manpages-pl (E<lt>= 20051117-1)\n"
"Description: Debian package development tools\n"
" This package provides the development tools (including dpkg-source)\n"
" required to unpack, build and upload Debian source packages.\n"
" .\n"
" Most Debian source packages will require additional tools to build;\n"
" for example, most packages need make and the C compiler gcc.\n"
msgstr ""

#. type: Plain text
#: deb-src-control.5:330
#, fuzzy
msgid "B<deb-control>(5), B<deb-version>(5), B<dpkg-source>(1)"
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: TH
#: deb-split.5:1
#, fuzzy, no-wrap
msgid "deb-split"
msgstr "комплект dpkg"

#. type: TH
#: deb-split.5:1 dpkg-checkbuilddeps.1:1 dpkg-distaddfile.1:1 dpkg-split.1:2
#: dpkg-statoverride.8:1 dpkg-vendor.1:1 start-stop-daemon.8:1
#, fuzzy, no-wrap
msgid "2011-07-04"
msgstr "2006-02-28"

# type: Plain text
#. type: Plain text
#: deb-split.5:4
msgid "deb-split - Debian multi-part binary package format"
msgstr ""

# type: Plain text
#. type: Plain text
#: deb-split.5:9
msgid ""
"The multi-part B<.deb> format is used to split big packages into smaller "
"pieces to ease transport in small media."
msgstr ""

# type: Plain text
#. type: Plain text
#: deb-split.5:12
msgid ""
"The file is an B<ar> archive with a magic value of B<!E<lt>archE<gt>>.  The "
"file names might contain a trailing slash (since dpkg 1.15.6)."
msgstr ""

#. type: Plain text
#: deb-split.5:15
msgid ""
"The first member is named B<debian-split> and contains a series of lines, "
"separated by newlines. Currently eight lines are present:"
msgstr ""

#. type: IP
#: deb-split.5:15 deb-split.5:18 deb-split.5:20 deb-split.5:22 deb-split.5:24
#: deb-split.5:26 deb-split.5:28 deb-split.5:31 dpkg-gensymbols.1:20
#: dpkg-gensymbols.1:22 dpkg-gensymbols.1:24 dpkg-gensymbols.1:26
#: dpkg-gensymbols.1:311 dpkg-gensymbols.1:317 dpkg-gensymbols.1:351
#: dpkg-gensymbols.1:355 dpkg-gensymbols.1:358
#, no-wrap
msgid "\\(bu"
msgstr ""

#. type: Plain text
#: deb-split.5:18
msgid ""
"The format version number, B<2.1> at the time this manual page was written."
msgstr ""

#. type: Plain text
#: deb-split.5:20
#, fuzzy
msgid "The package name."
msgstr "Пакет распакован и успешно настроен."

#. type: Plain text
#: deb-split.5:22
#, fuzzy
msgid "The package version."
msgstr "Пакет выбран для установки."

#. type: Plain text
#: deb-split.5:24
msgid "The md5sum of the package."
msgstr ""

#. type: Plain text
#: deb-split.5:26
#, fuzzy
msgid "The total size of the package."
msgstr "Вручную просмотреть список пакетов:"

#. type: Plain text
#: deb-split.5:28
msgid "The maximum part size."
msgstr ""

#. type: Plain text
#: deb-split.5:31
msgid ""
"The current part number, followed by a slash and the total amount of parts "
"(as in \\(oq1/10\\(cq)."
msgstr ""

#. type: Plain text
#: deb-split.5:33
msgid "The package architecture (since dpkg 1.16.1)."
msgstr ""

# type: Plain text
#. type: Plain text
#: deb-split.5:36
msgid ""
"Programs which read multi-part archives should be prepared for additional "
"lines to be present, and should ignore these if this is the case."
msgstr ""

# type: Plain text
#. type: Plain text
#: deb-split.5:41
msgid ""
"If the version number has changed, an incompatible change has been made and "
"the program should stop. If it has not, then the program should be able to "
"safely continue, unless it encounters an unexpected member in the archive "
"(except at the end), as described below."
msgstr ""

#. type: Plain text
#: deb-split.5:44
msgid ""
"The second, last required member is named B<data.>I<N>, where I<N> denotes "
"the part number. It contains the raw part data."
msgstr ""

#. type: Plain text
#: deb-split.5:49
msgid ""
"These members must occur in this exact order. Current implementations should "
"ignore any additional members after B<data.>I<N>.  Further members may be "
"defined in the future, and (if possible) will be placed after these two."
msgstr ""

#. type: Plain text
#: deb-split.5:51
#, fuzzy
msgid "B<deb>(5), B<dpkg-split>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: TH
#: deb-version.5:5
#, fuzzy, no-wrap
msgid "deb-version"
msgstr "B<dpkg --version>"

#. type: Plain text
#: deb-version.5:8
#, fuzzy
msgid "deb-version - Debian package version number format"
msgstr "deb-control -- формат мастер файла control пакетов Debian"

#. type: Plain text
#: deb-version.5:11
msgid "[I<epoch>B<:>]I<upstream-version>[B<->I<debian-revision>]"
msgstr ""

#. type: Plain text
#: deb-version.5:14
msgid ""
"Version numbers as used for Debian binary and source packages consist of "
"three components. These are:"
msgstr ""

#. type: TP
#: deb-version.5:14
#, no-wrap
msgid "I<epoch>"
msgstr ""

#. type: Plain text
#: deb-version.5:20
msgid ""
"This is a single (generally small) unsigned integer.  It may be omitted, in "
"which case zero is assumed.  If it is omitted then the I<upstream-version> "
"may not contain any colons."
msgstr ""

#. type: Plain text
#: deb-version.5:24
msgid ""
"It is provided to allow mistakes in the version numbers of older versions of "
"a package, and also a package's previous version numbering schemes, to be "
"left behind."
msgstr ""

#. type: TP
#: deb-version.5:24
#, fuzzy, no-wrap
msgid "I<upstream-version>"
msgstr "B<dpkg --version>"

#. type: Plain text
#: deb-version.5:34
msgid ""
"This is the main part of the version number.  It is usually the version "
"number of the original (\"upstream\")  package from which the I<.deb> file "
"has been made, if this is applicable.  Usually this will be in the same "
"format as that specified by the upstream author(s); however, it may need to "
"be reformatted to fit into the package management system's format and "
"comparison scheme."
msgstr ""

#. type: Plain text
#: deb-version.5:39
msgid ""
"The comparison behavior of the package management system with respect to the "
"I<upstream-version> is described below. The I<upstream-version> portion of "
"the version number is mandatory."
msgstr ""

#. type: Plain text
#: deb-version.5:48
msgid ""
"The I<upstream-version> may contain only alphanumerics (\"A-Za-z0-9\") and "
"the characters B<.> B<+> B<-> B<:> B<~> (full stop, plus, hyphen, colon, "
"tilde) and should start with a digit.  If there is no I<debian-revision> "
"then hyphens are not allowed; if there is no I<epoch> then colons are not "
"allowed."
msgstr ""

#. type: TP
#: deb-version.5:48
#, fuzzy, no-wrap
msgid "I<debian-revision>"
msgstr "B<config-files>"

#. type: Plain text
#: deb-version.5:57
msgid ""
"This part of the version number specifies the version of the Debian package "
"based on the upstream version.  It may contain only alphanumerics and the "
"characters B<+> B<.> B<~> (plus, full stop, tilde) and is compared in the "
"same way as the I<upstream-version> is."
msgstr ""

#. type: Plain text
#: deb-version.5:64
msgid ""
"It is optional; if it isn't present then the I<upstream-version> may not "
"contain a hyphen.  This format represents the case where a piece of software "
"was written specifically to be turned into a Debian package, and so there is "
"only one \"debianisation\" of it and therefore no revision indication is "
"required."
msgstr ""

#. type: Plain text
#: deb-version.5:68
msgid ""
"It is conventional to restart the I<debian-revision> at '1' each time time "
"the I<upstream-version> is increased."
msgstr ""

#. type: Plain text
#: deb-version.5:76
msgid ""
"Dpkg will break the version number apart at the last hyphen in the string "
"(if there is one) to determine the I<upstream-version> and I<debian-"
"revision>. The absence of a I<debian-revision> compares earlier than the "
"presence of one (but note that the I<debian-revision> is the least "
"significant part of the version number)."
msgstr ""

#. type: SS
#: deb-version.5:76
#, no-wrap
msgid "Sorting Algorithm"
msgstr ""

#. type: Plain text
#: deb-version.5:80
msgid ""
"The I<upstream-version> and I<debian-revision> parts are compared by the "
"package management system using the same algorithm:"
msgstr ""

#. type: Plain text
#: deb-version.5:82
msgid "The strings are compared from left to right."
msgstr ""

#. type: Plain text
#: deb-version.5:92
msgid ""
"First the initial part of each string consisting entirely of non-digit "
"characters is determined.  These two parts (one of which may be empty) are "
"compared lexically.  If a difference is found it is returned.  The lexical "
"comparison is a comparison of ASCII values modified so that all the letters "
"sort earlier than all the non-letters and so that a tilde sorts before "
"anything, even the end of a part.  For example, the following parts are in "
"sorted order: '~~', '~~a', '~', the empty part, 'a'."
msgstr ""

#. type: Plain text
#: deb-version.5:100
msgid ""
"Then the initial part of the remainder of each string which consists "
"entirely of digit characters is determined.  The numerical values of these "
"two parts are compared, and any difference found is returned as the result "
"of the comparison.  For these purposes an empty string (which can only occur "
"at the end of one or both version strings being compared) counts as zero."
msgstr ""

#. type: Plain text
#: deb-version.5:104
msgid ""
"These two steps (comparing and removing initial non-digit strings and "
"initial digit strings) are repeated until a difference is found or both "
"strings are exhausted."
msgstr ""

#. type: Plain text
#: deb-version.5:112
msgid ""
"Note that the purpose of epochs is to allow us to leave behind mistakes in "
"version numbering, and to cope with situations where the version numbering "
"scheme changes.  It is B<not> intended to cope with version numbers "
"containing strings of letters which the package management system cannot "
"interpret (such as 'ALPHA' or 'pre-'), or with silly orderings."
msgstr ""

#. type: SH
#: deb-version.5:112 dpkg-parsechangelog.1:109
#, no-wrap
msgid "CAVEATS"
msgstr ""

#. type: Plain text
#: deb-version.5:116
msgid ""
"The tilde character and its special sorting properties were introduced in "
"dpkg, version 1.10 and some parts of dpkg-dev only gained support for it "
"later in the 1.10.x series."
msgstr ""

#. type: Plain text
#: deb-version.5:120
#, fuzzy
msgid "B<deb-control>(5), B<deb>(5), B<dpkg>(1)"
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: SH
#: deb-version.5:120 dpkg.1:783 dpkg-buildpackage.1:257 dpkg-distaddfile.1:47
#: dpkg-genchanges.1:148 dpkg-gencontrol.1:142 dpkg-gensymbols.1:460
#: dpkg-maintscript-helper.1:128 dpkg-parsechangelog.1:123
#: dpkg-shlibdeps.1:329 dpkg-source.1:730 dselect.1:451
#: start-stop-daemon.8:323 update-alternatives.8:494
#, no-wrap
msgid "AUTHORS"
msgstr "АВТОРЫ"

#. type: Plain text
#: deb-version.5:122
msgid "Copyright \\(co 1996,1997,1998 Ian Jackson and Christian Schwarz"
msgstr ""

#. type: Plain text
#: deb-version.5:124 dpkg-buildpackage.1:263
#, fuzzy
msgid "Copyright \\(co 2007 Frank Lichtenheld"
msgstr "Copyright 2001 Joey Hess"

#. type: Plain text
#: deb-version.5:126 deb-substvars.5:167 dpkg-buildflags.1:273
#: dpkg-buildpackage.1:267 dpkg-checkbuilddeps.1:44 dpkg-distaddfile.1:53
#: dpkg-deb.1:269 dpkg-divert.8:139 dpkg-genchanges.1:154
#: dpkg-gencontrol.1:150 dpkg-gensymbols.1:464 dpkg-maintscript-helper.1:139
#: dpkg-mergechangelogs.1:71 dpkg-name.1:108 dpkg-parsechangelog.1:131
#: dpkg-query.1:219 dpkg-shlibdeps.1:339 dpkg-source.1:738 dpkg-split.1:227
#: dpkg-statoverride.8:91 dpkg-vendor.1:53 update-alternatives.8:501
#, fuzzy
msgid ""
"This is free software; see the GNU General Public Licence version 2 or later "
"for copying conditions. There is NO WARRANTY."
msgstr ""
"Это свободная программа; смотрите Универсальную Общественную Лицензии GNU "
"версии 2 или более позднюю, где изложены условия распространения. НИКАКИХ "
"гарантий."

#. type: TH
#: deb-old.5:1
#, fuzzy, no-wrap
msgid "deb-old"
msgstr "deb-control"

#. type: Plain text
#: deb-old.5:4
msgid "deb-old - old style Debian binary package format"
msgstr ""

#. type: Plain text
#: deb-old.5:17
msgid ""
"The B<.deb> format is the Debian binary package file format. This manual "
"page describes the B<old> format, used before Debian 0.93. Please see B<deb>"
"(5)  for details of the new format."
msgstr ""

#. type: Plain text
#: deb-old.5:21
msgid ""
"The file is two lines of format information as ASCII text, followed by two "
"concatenated gzipped ustar files."
msgstr ""

#. type: Plain text
#: deb-old.5:25
msgid ""
"The first line is the format version number padded to 8 digits, and is "
"B<0.939000> for all old-format archives."
msgstr ""

#. type: Plain text
#: deb-old.5:28
msgid ""
"The second line is a decimal string (without leading zeroes) giving the "
"length of the first gzipped tarfile."
msgstr ""

#. type: Plain text
#: deb-old.5:30
msgid "Each of these lines is terminated with a single newline character."
msgstr ""

#. type: Plain text
#: deb-old.5:35
msgid ""
"The first tarfile contains the control information, as a series of ordinary "
"files. The file B<control> must be present, as it contains the core control "
"information."
msgstr ""

#. type: Plain text
#: deb-old.5:46
msgid ""
"In some very old archives, the files in the control tarfile may optionally "
"be in a B<DEBIAN> subdirectory. In that case, the B<DEBIAN> subdirectory "
"will be in the control tarfile too, and the control tarfile will have only "
"files in that directory. Optionally the control tarfile may contain an entry "
"for `B<.>', that is, the current directory."
msgstr ""

#. type: Plain text
#: deb-old.5:50
msgid ""
"The second gzipped tarfile is the filesystem archive, containing pathnames "
"relative to the root directory of the system to be installed on. The "
"pathnames do not have leading slashes."
msgstr ""

#. type: Plain text
#: deb-old.5:54
#, fuzzy
msgid "B<deb>(5), B<dpkg-deb>(1), B<deb-control>(5)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: TH
#: deb-override.5:15
#, fuzzy, no-wrap
msgid "deb-override"
msgstr "deb-control"

#. type: TH
#: deb-override.5:15 deb-extra-override.5:1 deb-shlibs.5:16 deb-substvars.5:2
#: deb-symbols.5:2 deb-triggers.5:1 dpkg-architecture.1:1
#: dpkg-buildpackage.1:1 dpkg-checkbuilddeps.1:1 dpkg-distaddfile.1:1
#: dpkg-divert.8:1 dpkg-genchanges.1:1 dpkg-gencontrol.1:1 dpkg-gensymbols.1:2
#: dpkg-name.1:6 dpkg-parsechangelog.1:1 dpkg-scanpackages.1:15
#: dpkg-scansources.1:1 dpkg-shlibdeps.1:1 dpkg-source.1:2 dpkg-split.1:2
#: dpkg-statoverride.8:1 start-stop-daemon.8:1 update-alternatives.8:8
#, no-wrap
msgid "dpkg utilities"
msgstr "утилиты dpkg"

#. type: Plain text
#: deb-override.5:18
msgid "deb-override - Debian archive override file"
msgstr ""

#. type: Plain text
#: deb-override.5:21 deb-extra-override.5:7
msgid "override"
msgstr ""

#. type: Plain text
#: deb-override.5:27
msgid ""
"While most information about a package can be found in the control file, "
"some is managed centrally by the distribution czars rather than by the "
"maintainer in order to offer some global consistency.  This information is "
"found in the override file."
msgstr ""

#. type: Plain text
#: deb-override.5:31
msgid ""
"The override file has a simple whitespace-delimited format. Comments are "
"allowed (denoted with a B<#>)."
msgstr ""

#. type: Plain text
#: deb-override.5:37
msgid "I<package> I<priority> I<section> [I<maintainerinfo>]"
msgstr ""

#. type: Plain text
#: deb-override.5:42
msgid ""
"I<package> is the name of the package. Entries in the override file for "
"packages not found in the tree of binary packages are ignored."
msgstr ""

#. type: Plain text
#: deb-override.5:48
msgid ""
"I<priority> and I<section> correspond to the respective control fields "
"available in the .deb. The allowed values are listed in the Debian policy."
msgstr ""

#. type: Plain text
#: deb-override.5:56
msgid ""
"I<maintainerinfo>, if present, can be either the name of a maintainer for an "
"unconditional override, or else I<oldmaintainer> B<=E<gt>> I<newmaintainer> "
"to perform a substitution."
msgstr ""

#. type: Plain text
#: deb-override.5:61
msgid ""
"The override files used to make the official Packages lists may be found in "
"the I<indices> directory on any Debian mirror."
msgstr ""

#. type: Plain text
#: deb-override.5:66
#, fuzzy
msgid ""
"B<dpkg-scanpackages>(1), B<dpkg-scansources>(1), B<apt-ftparchive>(1), B</"
"usr/share/doc/debian-policy/policy.html/index.html>."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: TH
#: deb-extra-override.5:1
#, fuzzy, no-wrap
msgid "deb-extra-override"
msgstr "deb-control"

#. type: TH
#: deb-extra-override.5:1
#, fuzzy, no-wrap
msgid "2009-08-16"
msgstr "2006-02-28"

#. type: Plain text
#: deb-extra-override.5:4
msgid "deb-extra-override - Debian archive extra override file"
msgstr ""

#. type: Plain text
#: deb-extra-override.5:12
msgid ""
"While most information about a binary/source package can be found in the "
"control/.dsc file, all of it can be overridden when it's exported to "
"Packages/Sources files. The extra override file contains those overrides."
msgstr ""

#. type: Plain text
#: deb-extra-override.5:16
msgid ""
"The extra override file has a simple whitespace-delimited format. Comments "
"are allowed (denoted with a B<#>)."
msgstr ""

#. type: Plain text
#: deb-extra-override.5:21
#, fuzzy
msgid "I<package> I<field-name> I<value>"
msgstr "B<-D>I<octal>B< | --debug=>I<octal>"

#. type: Plain text
#: deb-extra-override.5:25
msgid "I<package> is the name of the binary/source package."
msgstr ""

#. type: Plain text
#: deb-extra-override.5:31
msgid ""
"I<field-name> is the name of the field that is overridden.  I<value> is the "
"value to put in the field. It can contain spaces as the line is split in no "
"more than 3 columns when it's parsed."
msgstr ""

#. type: Plain text
#: deb-extra-override.5:36
msgid ""
"The extra override files used to make the official Packages lists may be "
"found in the I<indices> directory on any Debian mirror."
msgstr ""

#. type: Plain text
#: deb-extra-override.5:40
#, fuzzy
msgid "B<dpkg-scanpackages>(1), B<dpkg-scansources>(1), B<apt-ftparchive>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: TH
#: deb-shlibs.5:16
#, no-wrap
msgid "deb-shlibs"
msgstr ""

#. type: TH
#: deb-shlibs.5:16
#, fuzzy, no-wrap
msgid "2008-02-17"
msgstr "2006-02-28"

#. type: Plain text
#: deb-shlibs.5:19
msgid "deb-shlibs - Debian shared library information file"
msgstr ""

#. type: Plain text
#: deb-shlibs.5:29
msgid ""
"B<shlibs> files map shared library names and versions (I<sonames>)  to "
"dependencies suitable for a package control file.  There is one entry per "
"line. Blank lines are B<not> allowed.  Lines beginning with an B<#> "
"character are considered commentary, and are ignored.  All other lines must "
"have the format"
msgstr ""

#. type: Plain text
#: deb-shlibs.5:34
msgid "[I<type>B<:>] I<library> I<version> I<dependencies>"
msgstr ""

#. type: Plain text
#: deb-shlibs.5:38
msgid ""
"The I<library> and I<version> fields are whitespace-delimited, but the "
"I<dependencies> field extends to the end of the line.  The I<type> field is "
"optional and normally not needed."
msgstr ""

#. type: Plain text
#: deb-shlibs.5:40
msgid "See the Debian Policy Manual for further details."
msgstr ""

#. type: SH
#: deb-shlibs.5:41 deb-symbols.5:43 dpkg.1:714 dpkg-architecture.1:262
#: dpkg-divert.8:91 dpkg-name.1:65 update-alternatives.8:459
#, no-wrap
msgid "EXAMPLES"
msgstr "ПРИМЕРЫ"

#. type: Plain text
#: deb-shlibs.5:50
msgid ""
"The B<shlibs> file for a typical library package, named I<libcrunch1>, that "
"provides one library whose soname is I<libcrunch.so.1>, might read"
msgstr ""

#. type: Plain text
#: deb-shlibs.5:52
msgid "libcrunch 1 libcrunch1 (E<gt>= 1.2-1)"
msgstr ""

#. type: Plain text
#: deb-shlibs.5:60
msgid ""
"The I<dependencies> must mention the most recent version of the package that "
"added new symbols to the library: in the above example, new symbols were "
"added to version 1.2 of I<libcrunch>.  This is not the only reason the "
"dependencies might need to be tightened; again, see the Debian Policy Manual "
"for details."
msgstr ""

#. type: Plain text
#: deb-shlibs.5:63
#, fuzzy
msgid "B<dpkg-shlibdeps>(1), B<deb-symbols>(5)."
msgstr "B<dpkg-deb-actions>"

#. type: TH
#: deb-substvars.5:2
#, fuzzy, no-wrap
msgid "deb-substvars"
msgstr "B<deinstall>"

#. type: TH
#: deb-substvars.5:2
#, fuzzy, no-wrap
msgid "2009-07-15"
msgstr "2006-02-28"

#. type: Plain text
#: deb-substvars.5:5
msgid "deb-substvars - Debian source substitution variables"
msgstr ""

#. type: Plain text
#: deb-substvars.5:8
#, fuzzy
msgid "substvars"
msgstr "B<deinstall>"

#. type: Plain text
#: deb-substvars.5:19
msgid ""
"Before B<dpkg-source>, B<dpkg-gencontrol> and B<dpkg-genchanges> write their "
"control information (to the source control file B<.dsc> for B<dpkg-source> "
"and to standard output for B<dpkg-gencontrol> and B<dpkg-genchanges>)  they "
"perform some variable substitutions on the output file."
msgstr ""

#. type: Plain text
#: deb-substvars.5:26
msgid ""
"A variable substitution has the form B<${>I<variable-name>B<}>.  Variable "
"names consist of alphanumerics, hyphens and colons and start with an "
"alphanumeric. Variable substitutions are performed repeatedly until none are "
"left; the full text of the field after the substitution is rescanned to look "
"for more substitutions."
msgstr ""

#. type: Plain text
#: deb-substvars.5:33
msgid ""
"After all the substitutions have been done each occurrence of the string B<"
"${}> (which is not a legal substitution) is replaced with a B<$> sign."
msgstr ""

#. type: Plain text
#: deb-substvars.5:38
msgid ""
"While variable substitution is done on all control fields, some of those "
"fields are used and needed during the build when the substitution did not "
"yet occur. That's why you can't use variables in the B<Package>, B<Source> "
"and B<Architecture> fields."
msgstr ""

#. type: Plain text
#: deb-substvars.5:45
msgid ""
"Variable substitution happens on the content of the fields after they have "
"been parsed, thus if you want a variable to expand over multiple lines you "
"do not have to include a space after the newline. This is done implicitly "
"when the field is output. For example, if the variable B<${Description}> is "
"set to \"foo is bar.${Newline}foo is great.\" and if you have the following "
"field:"
msgstr ""

#. type: Plain text
#: deb-substvars.5:50
#, no-wrap
msgid ""
" Description: foo application\n"
"  ${Description}\n"
"  .\n"
"  More text.\n"
msgstr ""

#. type: Plain text
#: deb-substvars.5:52
msgid "It will result in:"
msgstr ""

#. type: Plain text
#: deb-substvars.5:58
#, no-wrap
msgid ""
" Description: foo application\n"
"  foo is bar.\n"
"  foo is great.\n"
"  .\n"
"  More text.\n"
msgstr ""

#. type: Plain text
#: deb-substvars.5:71
msgid ""
"Variables can be set using the B<-V> common option. They can be also "
"specified in the file B<debian/substvars> (or whatever other file is "
"specified using the B<-T> option). This file consists of lines of the form "
"I<name>B<=>I<value>.  Trailing whitespace on each line, blank lines, and "
"lines starting with a B<#> symbol (comments) are ignored."
msgstr ""

#. type: Plain text
#: deb-substvars.5:73
msgid "Additionally, the following standard variables are available:"
msgstr ""

#. type: TP
#: deb-substvars.5:73
#, fuzzy, no-wrap
msgid "B<Arch>"
msgstr "B<-B>"

#. type: Plain text
#: deb-substvars.5:77
msgid "The current build architecture (from B<dpkg --print-architecture>)."
msgstr ""

#. type: TP
#: deb-substvars.5:77
#, no-wrap
msgid "B<source:Version>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:80
msgid "The source package version."
msgstr ""

#. type: TP
#: deb-substvars.5:80
#, no-wrap
msgid "B<source:Upstream-Version>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:84
msgid ""
"The upstream source package version, including the Debian version epoch if "
"any."
msgstr ""

#. type: TP
#: deb-substvars.5:84
#, no-wrap
msgid "B<binary:Version>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:88
msgid ""
"The binary package version (which may differ from source:Version in a binNMU "
"for example)."
msgstr ""

#. type: TP
#: deb-substvars.5:88
#, fuzzy, no-wrap
msgid "B<Source-Version>"
msgstr "B<-V>|B<--version>"

#. type: Plain text
#: deb-substvars.5:93
msgid ""
"The source package version (from the changelog file). This variable is now "
"B<deprecated> as its meaning is different from its function, please use the "
"B<source:Version> or B<binary:Version> as appropriate."
msgstr ""

#. type: TP
#: deb-substvars.5:93
#, fuzzy, no-wrap
msgid "B<Installed-Size>"
msgstr "B<installed>"

#. type: Plain text
#: deb-substvars.5:102
msgid ""
"The total size of the package's installed files. This value is copied into "
"the corresponding control file field; setting it will modify the value of "
"that field. If this variable isn't set B<dpkg-gencontrol> will use B<du -k "
"debian/tmp> to find the default value."
msgstr ""

#. type: TP
#: deb-substvars.5:102
#, no-wrap
msgid "B<Extra-Size>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:111
msgid ""
"Additional disk space used when the package is installed. If this variable "
"is set its value is added to that of the B<Installed-Size> variable (whether "
"set explicitly or using the default value) before it is copied into the "
"B<Installed-Size> control file field."
msgstr ""

#. type: TP
#: deb-substvars.5:111
#, fuzzy, no-wrap
msgid "B<F:>I<fieldname>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: deb-substvars.5:118
msgid ""
"The value of the output field I<fieldname> (which must be given in the "
"canonical capitalisation). Setting these variables has no effect other than "
"on places where they are expanded explicitly."
msgstr ""

#. type: TP
#: deb-substvars.5:118
#, no-wrap
msgid "B<Format>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:128
msgid ""
"The B<.changes> file format version generated by this version of the source "
"packaging scripts. If you set this variable the contents of the B<Format> "
"field in the B<.changes> file will change too."
msgstr ""

#. type: TP
#: deb-substvars.5:128
#, no-wrap
msgid "B<Newline>, B<Space>, B<Tab>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:131
msgid "These variables each hold the corresponding character."
msgstr ""

#. type: TP
#: deb-substvars.5:131
#, no-wrap
msgid "B<shlibs:>I<dependencyfield>"
msgstr ""

#. type: Plain text
#: deb-substvars.5:135
msgid ""
"Variable settings with names of this form are generated by B<dpkg-shlibdeps>."
msgstr ""

#. type: TP
#: deb-substvars.5:135
#, fuzzy, no-wrap
msgid "B<dpkg:Upstream-Version>"
msgstr "B<dpkg --version>"

#. type: Plain text
#: deb-substvars.5:138
msgid "The upstream version of dpkg."
msgstr ""

#. type: TP
#: deb-substvars.5:138
#, fuzzy, no-wrap
msgid "B<dpkg:Version>"
msgstr "B<dpkg --version>"

#. type: Plain text
#: deb-substvars.5:141
msgid "The full version of dpkg."
msgstr ""

#. type: Plain text
#: deb-substvars.5:144
msgid ""
"If a variable is referred to but not defined it generates a warning and an "
"empty value is assumed."
msgstr ""

#. type: SH
#: deb-substvars.5:145 dpkg.1:627 dpkg-architecture.1:284 dpkg.cfg.5:12
#: dpkg-buildflags.1:121 dpkg-distaddfile.1:39 dpkg-divert.8:122
#: dpkg-genchanges.1:138 dpkg-gencontrol.1:128 dpkg-parsechangelog.1:115
#: dpkg-split.1:206 dpkg-statoverride.8:74 dselect.cfg.5:12
#: update-alternatives.8:360
#, no-wrap
msgid "FILES"
msgstr "ФАЙЛЫ"

#. type: TP
#: deb-substvars.5:146
#, fuzzy, no-wrap
msgid "B<debian/substvars>"
msgstr "B<deinstall>"

#. type: Plain text
#: deb-substvars.5:149
#, fuzzy
msgid "List of substitution variables and values."
msgstr "Список доступных пакетов."

#. type: SH
#: deb-substvars.5:150 dpkg.1:780 dpkg-buildpackage.1:244 dpkg-deb.1:238
#: dpkg-name.1:86 dpkg-source.1:722 dpkg-split.1:199 dselect.1:429
#: update-alternatives.8:486
#, no-wrap
msgid "BUGS"
msgstr "ОШИБКИ РЕАЛИЗАЦИИ"

#. type: Plain text
#: deb-substvars.5:153 dpkg-source.1:725
msgid ""
"The point at which field overriding occurs compared to certain standard "
"output field settings is rather confused."
msgstr ""

#. type: Plain text
#: deb-substvars.5:160
#, fuzzy
msgid ""
"B<dpkg>(1), B<dpkg-genchanges>(1), B<dpkg-gencontrol>(1), B<dpkg-shlibdeps>"
"(1), B<dpkg-source>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: SH
#: deb-substvars.5:161 dpkg-architecture.1:303 dpkg.cfg.5:19
#: dpkg-buildflags.1:266 dpkg-checkbuilddeps.1:40 dpkg-deb.1:265
#: dpkg-divert.8:135 dpkg-mergechangelogs.1:66 dpkg-name.1:104
#: dpkg-query.1:214 dpkg-scansources.1:76 dpkg-split.1:223
#: dpkg-statoverride.8:87 dpkg-vendor.1:48 dselect.cfg.5:19
#, no-wrap
msgid "AUTHOR"
msgstr "АВТОР"

#. type: Plain text
#: deb-substvars.5:163 dpkg-buildpackage.1:259 dpkg-distaddfile.1:49
#: dpkg-deb.1:267 dpkg-genchanges.1:150 dpkg-gencontrol.1:144
#: dpkg-parsechangelog.1:125 dpkg-shlibdeps.1:331 dpkg-source.1:732
#: dpkg-split.1:225
msgid "Copyright \\(co 1995-1996 Ian Jackson"
msgstr ""

#. type: Plain text
#: deb-substvars.5:165 dpkg-buildpackage.1:261 dpkg-distaddfile.1:51
#: dpkg-genchanges.1:152 dpkg-gencontrol.1:146 dpkg-parsechangelog.1:127
#: dpkg-shlibdeps.1:333 dpkg-source.1:734 dpkg-statoverride.8:89
#, fuzzy
msgid "Copyright \\(co 2000 Wichert Akkerman"
msgstr "Copyright 2001 Joey Hess"

#. type: TH
#: deb-symbols.5:2
#, fuzzy, no-wrap
msgid "deb-symbols"
msgstr "deb-control"

#. type: Plain text
#: deb-symbols.5:5
msgid "deb-symbols - Debian's extended shared library information file"
msgstr ""

#. type: Plain text
#: deb-symbols.5:8
msgid "symbols"
msgstr ""

#. type: Plain text
#: deb-symbols.5:12
msgid ""
"The format for an extended shared library dependency information entry in "
"these files is:"
msgstr ""

#. type: Plain text
#: deb-symbols.5:14
msgid "I<library-soname main-dependency-template>"
msgstr ""

#. type: Plain text
#: deb-symbols.5:16
msgid "[ | I<alternative-dependency-template> ]"
msgstr ""

#. type: Plain text
#: deb-symbols.5:18
msgid "[ ... ]"
msgstr ""

#. type: Plain text
#: deb-symbols.5:20
#, fuzzy
msgid "[ * I<field-name>: I<field-value> ]"
msgstr "B<-D>I<octal>B< | --debug=>I<octal>"

#. type: Plain text
#: deb-symbols.5:23
#, no-wrap
msgid ""
"[ ... ]\n"
" I<symbol> I<minimal-version>[ I<id-of-dependency-template> ]\n"
msgstr ""

#. type: Plain text
#: deb-symbols.5:29
msgid ""
"The I<library-soname> is exactly the value of the SONAME field as exported "
"by B<objdump>(1). A I<dependency-template> is a dependency where I<#MINVER#> "
"is dynamically replaced either by a version check like \"(E<gt>= I<minimal-"
"version>)\" or by nothing (if an unversioned dependency is deemed "
"sufficient)."
msgstr ""

#. type: Plain text
#: deb-symbols.5:36
msgid ""
"Each exported I<symbol> (listed as I<name>@I<version>, with I<version> being "
"\"Base\" if the library is not versioned) is associated to a I<minimal-"
"version> of its dependency template (the main dependency template is used if "
"I<id-of-dependency-template> is not present). The first alternative "
"dependency template is numbered 1, the second one 2, etc."
msgstr ""

#. type: Plain text
#: deb-symbols.5:43
msgid ""
"Each entry for a library can also have some fields of meta-information.  "
"Those fields are stored on lines starting with an asterisk. Currently, the "
"only valid field is I<Build-Depends-Package>, it indicates the name of the "
"\"-dev\" package associated to the library and is used by B<dpkg-shlibdeps> "
"to make sure that the dependency generated is at least as strict as the "
"corresponding build dependency."
msgstr ""

#. type: SS
#: deb-symbols.5:44
#, no-wrap
msgid "Simple symbols file"
msgstr ""

#. type: Plain text
#: deb-symbols.5:50
#, no-wrap
msgid ""
"libftp.so.3 libftp3 #MINVER#\n"
" DefaultNetbuf@Base 3.1-1-6\n"
" FtpAccess@Base 3.1-1-6\n"
" [...]\n"
msgstr ""

#. type: SS
#: deb-symbols.5:50
#, no-wrap
msgid "Advanced symbols file"
msgstr ""

#. type: Plain text
#: deb-symbols.5:53
msgid "libGL.so.1 libgl1"
msgstr ""

#. type: Plain text
#: deb-symbols.5:55
msgid "| libgl1-mesa-glx #MINVER#"
msgstr ""

#. type: Plain text
#: deb-symbols.5:61
#, no-wrap
msgid ""
"* Build-Depends-Package: libgl1-mesa-dev\n"
" publicGlSymbol@Base 6.3-1\n"
" [...]\n"
" implementationSpecificSymbol@Base 6.5.2-7 1\n"
" [...]\n"
msgstr ""

#. type: Plain text
#: deb-symbols.5:63
msgid "B<http://wiki.debian.org/Projects/ImprovedDpkgShlibdeps>"
msgstr ""

#. type: Plain text
#: deb-symbols.5:65
#, fuzzy
msgid "B<dpkg-shlibdeps>(1), B<dpkg-gensymbols>(1)."
msgstr "B<dpkg-deb-actions>"

#. type: TH
#: deb-triggers.5:1
#, fuzzy, no-wrap
msgid "deb-triggers"
msgstr "B<dpkg --version>"

#. type: Plain text
#: deb-triggers.5:4
msgid "deb-triggers - package triggers"
msgstr ""

#. type: Plain text
#: deb-triggers.5:7
msgid "triggers"
msgstr ""

#. type: Plain text
#: deb-triggers.5:12
msgid ""
"A package declares its relationship to some trigger(s) by including a "
"I<triggers> file in its control archive (i.e. I<DEBIAN/triggers> during "
"package creation)."
msgstr ""

#. type: Plain text
#: deb-triggers.5:16
msgid ""
"This file contains directives, one per line. Leading and trailing whitespace "
"and everything after the first B<#> on any line will be trimmed, and empty "
"lines will be ignored."
msgstr ""

#. type: Plain text
#: deb-triggers.5:18
msgid "The trigger control directives currently supported are:"
msgstr ""

#. type: Plain text
#: deb-triggers.5:22
#, fuzzy
msgid "B<interest> I<trigger-name>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: deb-triggers.5:26
#, fuzzy
msgid "B<interest-noawait> I<trigger-name>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: deb-triggers.5:33
msgid ""
"Specifies that the package is interested in the named trigger. All triggers "
"in which a package is interested must be listed using this directive in the "
"triggers control file. The \"noawait\" variant does not put the triggering "
"packages in triggers-awaited state. This should be used when the "
"functionality provided by the trigger is not crucial."
msgstr ""

#. type: Plain text
#: deb-triggers.5:37
msgid "B<activate> I<trigger-name>"
msgstr ""

#. type: Plain text
#: deb-triggers.5:41
#, fuzzy
msgid "B<activate-noawait> I<trigger-name>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: deb-triggers.5:50
msgid ""
"Arranges that changes to this package's state will activate the specified "
"trigger. The trigger will be activated at the start of the following "
"operations: unpack, configure, remove (including for the benefit of a "
"conflicting package), purge and deconfigure.  The \"noawait\" variant does "
"not put the triggering packages in triggers-awaited state. This should be "
"used when the functionality provided by the trigger is not crucial."
msgstr ""

#. type: Plain text
#: deb-triggers.5:58
msgid ""
"If this package disappears during the unpacking of another package the "
"trigger will be activated when the disappearance is noted towards the end of "
"the unpack. Trigger processing, and transition from triggers-awaited to "
"installed, does not cause activations.  In the case of unpack, triggers "
"mentioned in both the old and new versions of the package will be activated."
msgstr ""

#. type: Plain text
#: deb-triggers.5:61
msgid ""
"Unknown directives are an error which will prevent installation of the "
"package."
msgstr ""

#. type: Plain text
#: deb-triggers.5:66
msgid ""
"The \"-noawait\" variants are only supported by dpkg 1.16.1 or newer, and "
"will lead to errors if used with an older dpkg. It is thus recommended to "
"add a \"Pre-Depends: dpkg (E<gt>= 1.16.1)\" to any package that wish to use "
"those directives."
msgstr ""

#. type: Plain text
#: deb-triggers.5:70
#, fuzzy
msgid ""
"B<dpkg-trigger>(1), B<dpkg>(1), B</usr/share/doc/dpkg-dev/triggers.txt.gz>."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: TH
#: dpkg.1:1
#, no-wrap
msgid "dpkg"
msgstr "dpkg"

#. type: TH
#: dpkg.1:1 dpkg.cfg.5:1 dpkg-buildflags.1:1 dpkg-deb.1:1
#: dpkg-maintscript-helper.1:1 dpkg-mergechangelogs.1:1 dpkg-query.1:1
#: dpkg-trigger.1:1 dpkg-vendor.1:1 dselect.cfg.5:1
#, no-wrap
msgid "dpkg suite"
msgstr "комплект dpkg"

#. type: Plain text
#: dpkg.1:4
msgid "dpkg - package manager for Debian"
msgstr "dpkg -- менеджер пакетов Debian"

#. type: Plain text
#: dpkg.1:8
#, fuzzy
#| msgid "B<dpkg> [I<options>] I<action>"
msgid "B<dpkg> [I<option>...] I<action>"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: SH
#: dpkg.1:9
#, no-wrap
msgid "WARNING"
msgstr "ПРЕДУПРЕЖДЕНИЕ"

#. type: Plain text
#: dpkg.1:13
msgid ""
"This manual is intended for users wishing to understand B<dpkg>'s command "
"line options and package states in more detail than that provided by B<dpkg "
"--help>."
msgstr ""
"Это руководство предназначено для пользователей, желающих более подробно "
"ознакомиться с параметрами командной строки B<dpkg> и состояниями пакетов: "
"здесь это описано более детально, чем в B<dpkg --help>."

#. type: Plain text
#: dpkg.1:18
msgid ""
"It should I<not> be used by package maintainers wishing to understand how "
"B<dpkg> will install their packages. The descriptions of what B<dpkg> does "
"when installing and removing packages are particularly inadequate."
msgstr ""
"Это руководство I<не> следует использовать сопровождающим пакетов, которые "
"хотят понять, как B<dpkg> будет устанавливать их пакеты. Описание того, что "
"делает B<dpkg> при установке и удалении пакетов особенно не полно."

#. type: Plain text
#: dpkg.1:26
#, fuzzy
msgid ""
"B<dpkg> is a tool to install, build, remove and manage Debian packages. The "
"primary and more user-friendly front-end for B<dpkg> is B<aptitude>(1). "
"B<dpkg> itself is controlled entirely via command line parameters, which "
"consist of exactly one action and zero or more options. The action-parameter "
"tells B<dpkg> what to do and options control the behavior of the action in "
"some way."
msgstr ""
"B<dpkg> -- это инструмент для установки, создания, удаления и управления "
"пакетами Debian. Основная и более простая оболочка для B<dpkg> -- это "
"B<dselect>(8). B<dpkg> полностью управляется параметрами командной строки, "
"которые состоят из одного действия и нуля или более параметров. Действие "
"говорит B<dpkg> что ему нужно сделать, а параметры управляют выполнением "
"действия."

#. type: Plain text
#: dpkg.1:33
msgid ""
"B<dpkg> can also be used as a front-end to B<dpkg-deb>(1) and B<dpkg-query>"
"(1). The list of supported actions can be found later on in the B<ACTIONS> "
"section. If any such action is encountered B<dpkg> just runs B<dpkg-deb> or "
"B<dpkg-query> with the parameters given to it, but no specific options are "
"currently passed to them, to use any such option the back-ends need to be "
"called directly."
msgstr ""

#. type: SH
#: dpkg.1:34
#, no-wrap
msgid "INFORMATION ABOUT PACKAGES"
msgstr "ИНФОРМАЦИЯ О ПАКЕТАХ"

#. type: Plain text
#: dpkg.1:39
msgid ""
"B<dpkg> maintains some usable information about available packages. The "
"information is divided in three classes: B<states>, B<selection states> and "
"B<flags>. These values are intended to be changed mainly with B<dselect>."
msgstr ""
"B<dpkg> управляет некоторой полезной информацией о доступных пакетах. Эта "
"информация делится на три класса: B<состояния>, B<выбранные состояния> и "
"B<флаги>. Предполагается, что в большинстве случаев эта информация "
"изменяется с помощью B<dselect>."

#. type: SS
#: dpkg.1:39
#, no-wrap
msgid "PACKAGE STATES"
msgstr "СОСТОЯНИЯ ПАКЕТА"

#. type: TP
#: dpkg.1:40
#, no-wrap
msgid "B<not-installed>"
msgstr "B<not-installed>"

#. type: Plain text
#: dpkg.1:43
msgid "The package is not installed on your system."
msgstr "Пакет в системе не установлен."

#. type: TP
#: dpkg.1:43
#, no-wrap
msgid "B<config-files>"
msgstr "B<config-files>"

#. type: Plain text
#: dpkg.1:46
msgid "Only the configuration files of the package exist on the system."
msgstr "В системе остались только конфигурационные файлы пакета."

#. type: TP
#: dpkg.1:46
#, no-wrap
msgid "B<half-installed>"
msgstr "B<half-installed>"

#. type: Plain text
#: dpkg.1:50
msgid ""
"The installation of the package has been started, but not completed for some "
"reason."
msgstr "Установка пакета была запущена, но не закончена по какой-либо причине."

#. type: TP
#: dpkg.1:50
#, no-wrap
msgid "B<unpacked>"
msgstr "B<unpacked>"

#. type: Plain text
#: dpkg.1:53
msgid "The package is unpacked, but not configured."
msgstr "Пакет распакован, но не настроен."

#. type: TP
#: dpkg.1:53
#, no-wrap
msgid "B<half-configured>"
msgstr "B<half-configured>"

#. type: Plain text
#: dpkg.1:57
msgid ""
"The package is unpacked and configuration has been started, but not yet "
"completed for some reason."
msgstr ""
"Пакет распакован и настройка была запущена, но пока ещё не завершена по "
"какой-либо причине."

#. type: TP
#: dpkg.1:57
#, no-wrap
msgid "B<triggers-awaited>"
msgstr ""

#. type: Plain text
#: dpkg.1:60
msgid "The package awaits trigger processing by another package."
msgstr ""

#. type: TP
#: dpkg.1:60
#, no-wrap
msgid "B<triggers-pending>"
msgstr ""

#. type: Plain text
#: dpkg.1:63
#, fuzzy
msgid "The package has been triggered."
msgstr "Пакет распакован и успешно настроен."

#. type: TP
#: dpkg.1:63
#, no-wrap
msgid "B<installed>"
msgstr "B<installed>"

#. type: Plain text
#: dpkg.1:66
msgid "The package is unpacked and configured OK."
msgstr "Пакет распакован и успешно настроен."

#. type: SS
#: dpkg.1:66
#, no-wrap
msgid "PACKAGE SELECTION STATES"
msgstr "ВЫБРАННЫЕ СОСТОЯНИЯ ПАКЕТА"

#. type: TP
#: dpkg.1:67
#, no-wrap
msgid "B<install>"
msgstr "B<install>"

#. type: Plain text
#: dpkg.1:70
msgid "The package is selected for installation."
msgstr "Пакет выбран для установки."

#. type: TP
#: dpkg.1:70
#, no-wrap
msgid "B<hold>"
msgstr "B<hold>"

#. type: Plain text
#: dpkg.1:74
msgid ""
"A package marked to be on B<hold> is not handled by B<dpkg>, unless forced "
"to do that with option B<--force-hold>."
msgstr ""
"Пакет помечен как B<зафиксированный> и не обрабатывается B<dpkg>, только "
"если не указан параметр B<--force-hold>."

#. type: TP
#: dpkg.1:74
#, no-wrap
msgid "B<deinstall>"
msgstr "B<deinstall>"

#. type: Plain text
#: dpkg.1:78
msgid ""
"The package is selected for deinstallation (i.e. we want to remove all "
"files, except configuration files)."
msgstr ""
"Пакет выбран для удаления (т.е. будут удалены все файлы, кроме "
"конфигурационных)."

#. type: TP
#: dpkg.1:78
#, no-wrap
msgid "B<purge>"
msgstr "B<purge>"

#. type: Plain text
#: dpkg.1:82
#, fuzzy
#| msgid ""
#| "The package is selected to be purged (i.e. we want to remove everything, "
#| "even configuration files)."
msgid ""
"The package is selected to be purged (i.e. we want to remove everything from "
"system directories, even configuration files)."
msgstr ""
"Пакет выбран для полной очистки (т.е. будут удалены абсолютно все файлы, "
"включая конфигурационные)."

#. type: SS
#: dpkg.1:82
#, no-wrap
msgid "PACKAGE FLAGS"
msgstr "ФЛАГИ ПАКЕТА"

#. type: TP
#: dpkg.1:83
#, no-wrap
msgid "B<reinst-required>"
msgstr "B<reinst-required>"

#. type: Plain text
#: dpkg.1:88
msgid ""
"A package marked B<reinst-required> is broken and requires reinstallation. "
"These packages cannot be removed, unless forced with option B<--force-remove-"
"reinstreq>."
msgstr ""
"Пакет, помеченный как B<reinst-required>, является сломанным и требует "
"переустановки. Такие пакеты не могут быть удалены, пока не указан параметр "
"B<--force-reinstreq>."

#. type: SH
#: dpkg.1:89 dselect.1:120
#, no-wrap
msgid "ACTIONS"
msgstr "ДЕЙСТВИЯ"

#. type: TP
#: dpkg.1:90
#, fuzzy, no-wrap
msgid "B<-i>, B<--install> I<package-file>..."
msgstr "B<dpkg -i> | B<--install> I<имя файла пакета>..."

#. type: Plain text
#: dpkg.1:94
#, fuzzy
#| msgid ""
#| "Install the package. If B<--recursive> or B<-R> option is specified, "
#| "I<package_file> must refer to a directory instead."
msgid ""
"Install the package. If B<--recursive> or B<-R> option is specified, "
"I<package-file> must refer to a directory instead."
msgstr ""
"Установить заданный пакет. Если указан параметр B<--recursive> или B<-R>, то "
"вместо I<имени файла пакета> должен быть указан каталог."

#. type: Plain text
#: dpkg.1:96
msgid "Installation consists of the following steps:"
msgstr "Установка состоит из следующих шагов:"

#. type: Plain text
#: dpkg.1:99
msgid "B<1.> Extract the control files of the new package."
msgstr "B<1.> Извлечение управляющих файлов нового пакета."

#. type: Plain text
#: dpkg.1:103
msgid ""
"B<2.> If another version of the same package was installed before the new "
"installation, execute I<prerm> script of the old package."
msgstr ""
"B<2.> Если другая версия этого пакета была установлена ранее, то запускается "
"сценарий I<prerm> из старого пакета."

#. type: Plain text
#: dpkg.1:106
msgid "B<3.> Run I<preinst> script, if provided by the package."
msgstr "B<3.> Запускается сценарий I<preinst>, если он есть в пакете."

#. type: Plain text
#: dpkg.1:110
msgid ""
"B<4.> Unpack the new files, and at the same time back up the old files, so "
"that if something goes wrong, they can be restored."
msgstr ""
"B<4.> Распаковываются новые файлы, в тоже самое время сохраняя старые, чтобы "
"если что-то пойдет не так, можно было их восстановить."

#. type: Plain text
#: dpkg.1:117
msgid ""
"B<5.> If another version of the same package was installed before the new "
"installation, execute the I<postrm> script of the old package. Note that "
"this script is executed after the I<preinst> script of the new package, "
"because new files are written at the same time old files are removed."
msgstr ""
"B<5.> Если ранее была установлена другая версия этого пакета, то запускается "
"сценарий I<postrm> для старого пакета. Заметим, что этот сценарий "
"запускается после сценария I<preinst> нового пакета, потому что новые файлы "
"записываются в то же самое время, когда удаляются старые."

#. type: Plain text
#: dpkg.1:121
msgid ""
"B<6.> Configure the package. See B<--configure> for detailed information "
"about how this is done."
msgstr ""
"B<6.> Настройка пакета. Смотрите описание B<--configure>, где приведена "
"подробная информация об этом шаге."

#. type: TP
#: dpkg.1:121
#, fuzzy, no-wrap
msgid "B<--unpack >I<package-file>..."
msgstr "B<dpkg --unpack >I<имя файла пакета>..."

#. type: Plain text
#: dpkg.1:126
#, fuzzy
#| msgid ""
#| "Unpack the package, but don't configure it. If B<--recursive> or B<-R> "
#| "option is specified, I<package_file> must refer to a directory instead."
msgid ""
"Unpack the package, but don't configure it. If B<--recursive> or B<-R> "
"option is specified, I<package-file> must refer to a directory instead."
msgstr ""
"Распаковать пакет, но не настраивать. Если указан параметр B<--recursive> "
"или B<--R>, то вместо I<имени файла пакета> должен быть указан каталог."

#. type: TP
#: dpkg.1:126
#, fuzzy, no-wrap
msgid "B<--configure >I<package>...|B<-a>|B<--pending>"
msgstr "B<dpkg --configure >I<имя пакета> ... | B<-a> | B<--pending>"

#. type: Plain text
#: dpkg.1:131
#, fuzzy
#| msgid ""
#| "Reconfigure an unpacked package. If B<-a> or B<--pending> is given "
#| "instead of I<package>, all unpacked but unconfigured packages are "
#| "configured."
msgid ""
"Configure a package which has been unpacked but not yet configured.  If B<-"
"a> or B<--pending> is given instead of I<package>, all unpacked but "
"unconfigured packages are configured."
msgstr ""
"Повторно настроить распакованный пакет. Если вместо I<имени пакета> задан "
"параметр B<-a> или B<--pending>, то все распакованные, но не настроенные "
"пакеты будут настроены."

#. type: Plain text
#: dpkg.1:135
msgid ""
"To reconfigure a package which has already been configured, try the B<dpkg-"
"reconfigure>(8)  command instead."
msgstr ""

#. type: Plain text
#: dpkg.1:137
msgid "Configuring consists of the following steps:"
msgstr "Настройка состоит из следующих шагов:"

#. type: Plain text
#: dpkg.1:142
#, fuzzy
msgid ""
"B<1.> Unpack the conffiles, and at the same time back up the old conffiles, "
"so that they can be restored if something goes wrong."
msgstr ""
"B<1.> Распаковка конфигурационных файлов, в то же самое время сохраняя "
"старые конфигурационные файлы, чтобы можно было восстановить их, если что-то "
"пойдет не так."

#. type: Plain text
#: dpkg.1:145
msgid "B<2.> Run I<postinst> script, if provided by the package."
msgstr "B<2.> Запуск сценария I<postinst>, если он есть в пакете."

#. type: TP
#: dpkg.1:145
#, fuzzy, no-wrap
msgid "B<--triggers-only> I<package>...|B<-a>|B<--pending>"
msgstr "B<dpkg --configure >I<имя пакета> ... | B<-a> | B<--pending>"

#. type: Plain text
#: dpkg.1:152
msgid ""
"Processes only triggers. All pending triggers will be processed. If package "
"names are supplied only those packages' triggers will be processed, exactly "
"once each where necessary. Use of this option may leave packages in the "
"improper B<triggers-awaited> and B<triggers-pending> states. This can be "
"fixed later by running: B<dpkg --configure --pending>."
msgstr ""

#. type: TP
#: dpkg.1:152
#, fuzzy, no-wrap
msgid "B<-r>, B<--remove>, B<-P>, B<--purge >I<package>...|B<-a>|B<--pending>"
msgstr "B<dpkg -r> | B<--remove> | B<-P> | B<--purge >I<имя пакета> ... | B<-a> | B<--pending>"

#. type: Plain text
#: dpkg.1:169
#, fuzzy
msgid ""
"Remove an installed package. B<-r> or B<--remove> remove everything except "
"conffiles. This may avoid having to reconfigure the package if it is "
"reinstalled later. (Conffiles are configuration files that are listed in the "
"I<DEBIAN/conffiles> control file). B<-P> or B<--purge> removes everything, "
"including conffiles. If B<-a> or B<--pending> is given instead of a package "
"name, then all packages unpacked, but marked to be removed or purged in file "
"I</var/lib/dpkg/status>, are removed or purged, respectively. Note: some "
"configuration files might be unknown to B<dpkg> because they are created and "
"handled separately through the configuration scripts. In that case, B<dpkg> "
"won't remove them by itself, but the package's I<postrm> script (which is "
"called by B<dpkg>), has to take care of their removal during purge. Of "
"course, this only applies to files in system directories, not configuration "
"files written to individual users' home directories."
msgstr ""
"Удалить установленный пакет. Если указан параметр B<-r> или B<--remove> то "
"удаляется всё, кроме конфигурационных файлов. Это позволяет избежать "
"переконфигурации пакета, если он будет повторно установлен у будущем. "
"(Конфигурационные файлы -- это те, что указаны в управляющем файле I<debian/"
"confiles>). Если указан параметр B<-P> или B<--purge> то удаляется всё, "
"включая конфигурационные файлы. Если вместо I<имени пакета> задан параметр "
"B<-a> или B<--pending,> то все распакованные пакеты, но отмеченные в файле "
"I</var/lib/dpkg/status> для удаления или полной очистки, соответственно, "
"удаляются или полностью очищаются."

#. type: Plain text
#: dpkg.1:171
msgid "Removing of a package consists of the following steps:"
msgstr "Удаление пакета состоит из следующих шагов:"

#. type: Plain text
#: dpkg.1:174
msgid "B<1.> Run I<prerm> script"
msgstr "B<1.> Запуск сценария I<prerm>"

#. type: Plain text
#: dpkg.1:177
msgid "B<2.> Remove the installed files"
msgstr "B<2.> Удаление установленных фалов"

#. type: Plain text
#: dpkg.1:180
msgid "B<3.> Run I<postrm> script"
msgstr "B<3.> Запуск сценария I<postrm>"

#. type: TP
#: dpkg.1:181
#, fuzzy, no-wrap
msgid "B<--update-avail>, B<--merge-avail> I<Packages-file>"
msgstr "B<dpkg --update-avail> | B<--merge-avail > I <файл Packages>"

#. type: Plain text
#: dpkg.1:190
msgid ""
"Update B<dpkg>'s and B<dselect>'s idea of which packages are available. With "
"action B<--merge-avail>, old information is combined with information from "
"I<Packages-file>. With action B<--update-avail>, old information is replaced "
"with the information in the I<Packages-file>. The I<Packages-file> "
"distributed with Debian is simply named I<Packages>. B<dpkg> keeps its "
"record of available packages in I</var/lib/dpkg/available>."
msgstr ""
"Обновить информацию B<dpkg> и B<dselect> о доступных пакетах. Действие B<--"
"merge-avail> комбинирует старую информацию с информацией из I<файла "
"Packages>. Действие B<--update-avail> перезаписывает старую информацию "
"информацией из I<файла Packages>. I<Файл Packages> распространяется с Debian "
"под именем I<Packages>. B<dpkg> хранит информацию о доступных пакетах в "
"файле I</var/lib/dpkg/available>."

#. type: Plain text
#: dpkg.1:195
msgid ""
"A simpler one-shot command to retrieve and update the I<available> file is "
"B<dselect update>. Note that this file is mostly useless if you don't use "
"B<dselect> but an APT-based frontend: APT has its own system to keep track "
"of available packages."
msgstr ""

#. type: TP
#: dpkg.1:195
#, fuzzy, no-wrap
msgid "B<-A>, B<--record-avail> I<package-file>..."
msgstr "B<dpkg -A> | B<--record-avail> I<имя файла пакета> ..."

#. type: Plain text
#: dpkg.1:201
#, fuzzy
#| msgid ""
#| "Update B<dpkg> and B<dselect>'s idea of which packages are available with "
#| "information from the package I<package_file>. If B<--recursive> or B<-R> "
#| "option is specified, I<package_file> must refer to a directory instead."
msgid ""
"Update B<dpkg> and B<dselect>'s idea of which packages are available with "
"information from the package I<package-file>. If B<--recursive> or B<-R> "
"option is specified, I<package-file> must refer to a directory instead."
msgstr ""
"Обновить информацию B<dpkg> и B<dselect> о доступных пакетах информацией из "
"пакета I<имя файла пакета>. Если задан параметр B<--recursive> или B<-R>, то "
"вместо I<имени файла пакета> должен быть указан каталог."

#. type: TP
#: dpkg.1:201
#, fuzzy, no-wrap
msgid "B<--forget-old-unavail>"
msgstr "B<dpkg --forget-old-unavail>"

#. type: Plain text
#: dpkg.1:205
msgid ""
"Now B<obsolete> and a no-op as B<dpkg> will automatically forget uninstalled "
"unavailable packages."
msgstr ""

#. type: TP
#: dpkg.1:205
#, fuzzy, no-wrap
msgid "B<--clear-avail>"
msgstr "B<dpkg --clear-avail>"

#. type: Plain text
#: dpkg.1:208
msgid "Erase the existing information about what packages are available."
msgstr "Очистить имеющуюся информацию о том, какие пакеты доступны."

#. type: TP
#: dpkg.1:208
#, fuzzy, no-wrap
msgid " B<-C>, B<--audit>"
msgstr "B<-q>|B<--quiet>"

#. type: Plain text
#: dpkg.1:213
msgid ""
"Searches for packages that have been installed only partially on your "
"system. B<dpkg> will suggest what to do with them to get them working."
msgstr ""
"Найти пакеты, которые были установлены в системе только частично. B<dpkg> "
"посоветует, что делать, чтобы восстановить их работоспособность."

#. type: TP
#: dpkg.1:213
#, fuzzy, no-wrap
msgid "B<--get-selections> [I<package-name-pattern>...]"
msgstr "B<dpkg --get-selections> [I<шаблон имени пакета>...]"

#. type: Plain text
#: dpkg.1:218
#, fuzzy
msgid ""
"Get list of package selections, and write it to stdout. Without a pattern, "
"non-installed packages (i.e. those which have been previously purged)  will "
"not be shown."
msgstr ""
"Получить список выбранных пакетов и вывести его в стандартный выходной поток."

#. type: TP
#: dpkg.1:218 update-alternatives.8:299
#, fuzzy, no-wrap
msgid "B<--set-selections>"
msgstr "B<dpkg --set-selections>"

#. type: Plain text
#: dpkg.1:224
#, fuzzy
#| msgid ""
#| "Set package selections using file read from stdin. This file should be in "
#| "the format 'E<lt>packageE<gt> E<lt>stateE<gt>', where state is one of "
#| "install, hold, deinstall or purge. Blank lines and comment lines "
#| "beginning with '#' are also permitted."
msgid ""
"Set package selections using file read from stdin. This file should be in "
"the format 'I<package> I<state>', where state is one of B<install>, B<hold>, "
"B<deinstall> or B<purge>. Blank lines and comment lines beginning with '#' "
"are also permitted."
msgstr ""
"Установить список выбранных пакетов, принимая его со стандартного ввода. "
"Этот файл должен быть в формате 'E<lt>пакетE<gt> E<lt>состояниеE<gt>', где "
"состоянием может быть install, hold, deinstall или purge. Допускаются пустые "
"строки и строки комментариев (начинающиеся с #)."

#. type: TP
#: dpkg.1:224
#, fuzzy, no-wrap
msgid "B<--clear-selections>"
msgstr "B<dpkg --set-selections>"

#. type: Plain text
#: dpkg.1:229
msgid ""
"Set the requested state of every non-essential package to deinstall.  This "
"is intended to be used immediately before --set-selections, to deinstall any "
"packages not in list given to --set-selections."
msgstr ""

#. type: TP
#: dpkg.1:229
#, fuzzy, no-wrap
msgid "B<--yet-to-unpack>"
msgstr "B<dpkg --yet-to-unpack>"

#. type: Plain text
#: dpkg.1:233
msgid ""
"Searches for packages selected for installation, but which for some reason "
"still haven't been installed."
msgstr ""
"Найти пакеты, выбранные для установки, но по какой-то причине ещё не "
"установленные."

#. type: TP
#: dpkg.1:234
#, fuzzy, no-wrap
msgid "B<--print-architecture>"
msgstr "B<dpkg --print-architecture>"

#. type: Plain text
#: dpkg.1:237
#, fuzzy
msgid ""
"Print architecture of packages B<dpkg> installs (for example, \"i386\")."
msgstr ""
"Показать архитектуру устанавливаемых пакетов с помощью dpkg (например, "
"\"i386\")."

#. type: TP
#: dpkg.1:237
#, fuzzy, no-wrap
msgid "B<--compare-versions >I<ver1 op ver2>"
msgstr "B<dpkg --compare-versions >I<ver1 op ver2>"

#. type: Plain text
#: dpkg.1:248
msgid ""
"Compare version numbers, where I<op> is a binary operator. B<dpkg> returns "
"success (zero result) if the specified condition is satisfied, and failure "
"(nonzero result) otherwise. There are two groups of operators, which differ "
"in how they treat an empty I<ver1> or I<ver2>. These treat an empty version "
"as earlier than any version: B<lt le eq ne ge gt>. These treat an empty "
"version as later than any version: B<lt-nl le-nl ge-nl gt-nl>. These are "
"provided only for compatibility with control file syntax: B<E<lt> E<lt>E<lt> "
"E<lt>= = E<gt>= E<gt>E<gt> E<gt>>."
msgstr ""
"Сравнить номера версий, используя I<op> в качестве бинарного оператора. "
"B<dpkg> возвращает код успешного завершения (нуль), если указанное условие "
"удовлетворяется, или неудачу (не-нуль) в противном случае. Есть две группы "
"операторов, которые работают по-разному при отсутствующем параметре I<ver1> "
"или I<ver2>. Операторы B<lt le eq ne ge gt> считают отсутствующий номер "
"версии более ранним, чем любой другой. Операторы B<lt-nl le-nl ge-nl gt-nl> "
"считают отсутствующий номер версии более поздним, чем любой другой. "
"Операторы B<E<lt> E<lt>E<lt> E<lt>= = E<gt>= E<gt>E<gt> E<gt>> используются "
"только для совместимости с синтаксисом файла control."

#. type: TP
#: dpkg.1:248
#, fuzzy, no-wrap
msgid "B<--command-fd >I<n>"
msgstr "B<dpkg --command-fd E<lt>nE<gt>>"

#. type: Plain text
#: dpkg.1:253
#, fuzzy
msgid ""
"Accept a series of commands on input file descriptor I<n>. Note: additional "
"options set on the command line, and through this file descriptor, are not "
"reset for subsequent commands executed during the same run."
msgstr ""
"Принимает серию команд из входного файлового дескриптора B<E<lt>nE<gt>>. "
"Замечание: дополнительные параметры, заданные в командной строке, а также "
"через этот дескриптор, не сбрасываются для последующих команд, выполняющихся "
"далее в этом запуске."

#. type: TP
#: dpkg.1:253 dpkg-architecture.1:60 dpkg-buildflags.1:89 dpkg-divert.8:71
#: dpkg-mergechangelogs.1:38 dpkg-scansources.1:66 dpkg-statoverride.8:44
#: dpkg-vendor.1:28 dselect.1:113 update-alternatives.8:316
#, fuzzy, no-wrap
msgid "B<--help>"
msgstr "B<dpkg --help>"

#. type: Plain text
#: dpkg.1:256
msgid "Display a brief help message."
msgstr "Вывести небольшую подсказку."

#. type: TP
#: dpkg.1:256
#, fuzzy, no-wrap
msgid "B<--force-help>"
msgstr "B<dpkg --force-help>"

#. type: Plain text
#: dpkg.1:259
msgid "Give help about the B<--force->I<thing> options."
msgstr "Вывести подсказку о параметрах B<--force->I<что-нибудь>."

#. type: TP
#: dpkg.1:259
#, fuzzy, no-wrap
msgid "B<-Dh>, B<--debug=help>"
msgstr "B<--no-debsig>"

#. type: Plain text
#: dpkg.1:262
msgid "Give help about debugging options."
msgstr "Вывести подсказку о параметрах отладки."

#. type: TP
#: dpkg.1:262 dpkg-architecture.1:63 dpkg-buildflags.1:92
#: dpkg-buildpackage.1:226 dpkg-checkbuilddeps.1:36 dpkg-distaddfile.1:35
#: dpkg-deb.1:175 dpkg-divert.8:74 dpkg-genchanges.1:134 dpkg-gencontrol.1:124
#: dpkg-gensymbols.1:446 dpkg-mergechangelogs.1:41 dpkg-parsechangelog.1:36
#: dpkg-query.1:113 dpkg-scanpackages.1:99 dpkg-scansources.1:68
#: dpkg-shlibdeps.1:218 dpkg-source.1:99 dpkg-split.1:129
#: dpkg-statoverride.8:47 dpkg-trigger.1:34 dpkg-vendor.1:31 dselect.1:116
#: update-alternatives.8:319
#, fuzzy, no-wrap
msgid "B<--version>"
msgstr "B<dpkg --version>"

#. type: Plain text
#: dpkg.1:265
msgid "Display B<dpkg> version information."
msgstr "Показать информацию о версии B<dpkg>."

#. type: TP
#: dpkg.1:265
#, fuzzy, no-wrap
msgid "B<dpkg-deb actions>"
msgstr "B<dpkg-deb-actions>"

#. type: Plain text
#: dpkg.1:268
msgid "See B<dpkg-deb>(1) for more information about the following actions."
msgstr ""
"Смотрите B<dpkg-deb>(1) для более подробной информации о нижеследующих "
"действиях."

#. type: Plain text
#: dpkg.1:288
#, fuzzy, no-wrap
msgid ""
"B<-b>, B<--build> I<directory> [I<archive>|I<directory>]\n"
"    Build a deb package.\n"
"B<-c>, B<--contents> I<archive>\n"
"    List contents of a deb package.\n"
"B<-e>, B<--control> I<filename> [I<directory>]\n"
"    Extract control-information from a package.\n"
"B<-x>, B<--extract> I<archive directory>\n"
"    Extract the files contained by package.\n"
"B<-X>, B<--vextract> I<archive directory>\n"
"    Extract and display the filenames contained by a\n"
"    package.\n"
"B<-f>, B<--field>  I<archive> [I<control-field>...]\n"
"    Display control field(s) of a package.\n"
"B<--fsys-tarfile> I<archive>\n"
"    Display the filesystem tar-file contained by a\n"
"    Debian package.\n"
"B<-I>, B<--info> I<archive> [I<control-file>...]\n"
"    Show information about a package.\n"
msgstr ""
"B<dpkg -b> | B<--build> I<каталог> [I<имя файла>]\n"
"    Собирает deb пакет.\n"
"B<dpkg -c> | B<--contents> I<имя файла>\n"
"    Показывает содержимое deb пакета.\n"
"B<dpkg -e> | B<--control> I<имя файла> [I<каталог>]\n"
"    Извлекает управляющую информацию из пакета.\n"
"B<dpkg -x> | B<--extract> I<имя файла> <каталог>\n"
"    Извлекает файлы, содержащиеся в данном пакете.\n"
"B<dpkg -f> | B<--field>  I<имя файла> [I<управляющее-поле>] ...\n"
"    Показывает управляющее(ие) поле(я) пакета.\n"
"B<dpkg --fsys-tarfile> I<имя файла>\n"
"    Выдает на стандартный вывод tar-файл с файловой\n"
"    системой из указанного пакета Debian.\n"
"B<dpkg -I> | B<--info> I<имя файла> [I<файл control>]\n"
"    Выдает информацию о данном пакете.\n"
"B<dpkg -X> | B<--vextract> I<имя файла> I<каталог>\n"
"    Извлекает и выдает имена файлов, содержащиеся в пакете.\n"

#. type: TP
#: dpkg.1:290
#, fuzzy, no-wrap
msgid "B<dpkg-query actions>"
msgstr "B<dpkg-query-actions>"

#. type: Plain text
#: dpkg.1:293
msgid "See B<dpkg-query>(1) for more information about the following actions."
msgstr ""
"Смотрите B<dpkg-query>(1) для более подробной информации о нижеследующих "
"действиях."

#. type: Plain text
#: dpkg.1:308
#, fuzzy, no-wrap
msgid ""
"B<-l>, B<--list> I<package-name-pattern>...\n"
"    List packages matching given pattern.\n"
"B<-s>, B<--status> I<package-name>...\n"
"    Report status of specified package.\n"
"B<-L>, B<--listfiles> I<package-name>...\n"
"    List files installed to your system from I<package-name>.\n"
"B<-S>, B<--search> I<filename-search-pattern>...\n"
"    Search for a filename from installed packages.\n"
"B<-p>, B<--print-avail> I<package-name>...\n"
"    Display details about I<package-name>, as found in\n"
"    I</var/lib/dpkg/available>. Users of APT-based frontends\n"
"    should use B<apt-cache show> I<package-name> instead.\n"
msgstr ""
"B<dpkg -l> | B<--list > I<шаблон имени пакета> ...\n"
"    Показывает пакеты, соответствующие данному шаблону.\n"
"B<dpkg -s> | B<--status > I<имя пакета> ...\n"
"    Сообщает о состоянии указанного пакета.\n"
"B<dpkg -L> | B<--listfiles> I<имя пакета> ...\n"
"    Показывает файлы, установленные в системе из пакета с указанным именем.\n"
"B<dpkg -S> | B<--search> I<шаблон имени файла> ...\n"
"    Ищет в установленных пакетах имя файла по заданному шаблону.\n"
"B<dpkg -p> | B<--print-avail> I <имя пакета>\n"
"    Выводит детальную информацию о I<пакете>, которую извлекает\n"
"    из файла I</var/lib/dpkg/available>.\n"

#. type: SH
#: dpkg.1:310 dpkg-architecture.1:67 dpkg-buildpackage.1:50
#: dpkg-checkbuilddeps.1:18 dpkg-distaddfile.1:27 dpkg-deb.1:179
#: dpkg-divert.8:42 dpkg-genchanges.1:17 dpkg-gencontrol.1:37
#: dpkg-gensymbols.1:369 dpkg-mergechangelogs.1:27 dpkg-name.1:30
#: dpkg-parsechangelog.1:15 dpkg-query.1:117 dpkg-scanpackages.1:71
#: dpkg-scansources.1:44 dpkg-shlibdeps.1:106 dpkg-split.1:133
#: dpkg-statoverride.8:51 dpkg-trigger.1:38 dpkg-vendor.1:35 dselect.1:36
#: start-stop-daemon.8:103 update-alternatives.8:323
#, no-wrap
msgid "OPTIONS"
msgstr "ПАРАМЕТРЫ"

#. type: Plain text
#: dpkg.1:316
#, fuzzy
#| msgid ""
#| "All options can be specified both on the command line and in the B<dpkg> "
#| "configuration file I</etc/dpkg/dpkg.cfg>. Each line in the configuration "
#| "file is either an option (exactly the same as the command line option but "
#| "without leading dashes) or a comment (if it starts with a B<#>)."
msgid ""
"All options can be specified both on the command line and in the B<dpkg> "
"configuration file I</etc/dpkg/dpkg.cfg> or the files on the configuration "
"directory I</etc/dpkg/dpkg.cfg.d/>. Each line in the configuration file is "
"either an option (exactly the same as the command line option but without "
"leading dashes) or a comment (if it starts with a B<#>)."
msgstr ""
"Все параметры можно указывать как в командной строке, так и в "
"конфигурационном файле B<dpkg> -- I</etc/dpkg/dpkg.cfg>. Каждая строка в "
"конфигурационном файле должна быть либо параметром (в точности как в "
"командной строке, но без начальных дефисов), либо комментарием (если "
"начинается с B<#>)."

#. type: TP
#: dpkg.1:317
#, no-wrap
msgid "B<--abort-after=>I<number>"
msgstr "B<--abort-after=>I<число>"

#. type: Plain text
#: dpkg.1:320
#, fuzzy
msgid "Change after how many errors B<dpkg> will abort. The default is 50."
msgstr ""
"Задать количество ошибок после которого dpkg аварийно завершится. По "
"умолчанию 50."

#. type: TP
#: dpkg.1:320
#, fuzzy, no-wrap
msgid "B<-B>, B<--auto-deconfigure>"
msgstr "B<-B>|B<--auto-deconfigure>"

#. type: Plain text
#: dpkg.1:326
msgid ""
"When a package is removed, there is a possibility that another installed "
"package depended on the removed package. Specifying this option will cause "
"automatic deconfiguration of the package which depended on the removed "
"package."
msgstr ""
"При удалении пакета есть вероятность, что есть другой установленный пакет "
"зависящий от удаляемого пакета. Указание этого параметра приведёт к "
"автоматической деконфигурации пакета, который зависит от удаляемого пакета."

#. type: TP
#: dpkg.1:326
#, fuzzy, no-wrap
msgid "B<-D>I<octal>B<, --debug=>I<octal>"
msgstr "B<-D>I<octal>B< | --debug=>I<octal>"

#. type: Plain text
#: dpkg.1:332
#, fuzzy
msgid ""
"Switch debugging on. I<octal> is formed by bitwise-orring desired values "
"together from the list below (note that these values may change in future "
"releases). B<-Dh> or B<--debug=help> display these debugging values."
msgstr ""
"Включить отладку. I<octal> -- это восьмеричное число, сформированное побитно "
"из нижеуказанных битовых масок, (заметим, что эти величины могут быть "
"изменены в следующих версиях). Параметры B<-Dh> или B<--debug-help> выводят "
"эти отладочные значения."

#. type: Plain text
#: dpkg.1:347
#, fuzzy, no-wrap
msgid ""
"    Number   Description\n"
"         1   Generally helpful progress information\n"
"         2   Invocation and status of maintainer scripts\n"
"        10   Output for each file processed\n"
"       100   Lots of output for each file processed\n"
"        20   Output for each configuration file\n"
"       200   Lots of output for each configuration file\n"
"        40   Dependencies and conflicts\n"
"       400   Lots of dependencies/conflicts output\n"
"     10000   Trigger activation and processing\n"
"     20000   Lots of output regarding triggers\n"
"     40000   Silly amounts of output regarding triggers\n"
"      1000   Lots of drivel about e.g. the dpkg/info dir\n"
"      2000   Insane amounts of drivel\n"
msgstr ""
"Маска   Описание\n"
"    1   Основная полезная информация по ходу выполнения\n"
"    2   Вызов и состояния скриптов поддержки\n"
"   10   Вывод по каждому обработанному файлу\n"
"  100   Подробный вывод по каждому обработанному файлу\n"
"   20   Вывод по каждому конфигурационному файлу\n"
"  200   Подробный вывод по каждому конфигурационному файлу\n"
"   40   Зависимости и конфликты\n"
"  400   Подробное освещение зависимостей и конфликтов\n"
" 1000   Подробная ерунда, например о каталоге dpkg/info\n"
" 2000   Невероятное количество ерунды\n"

#. type: TP
#: dpkg.1:347
#, fuzzy, no-wrap
msgid "B<--force->I<things>, B<--no-force->I<things>, B<--refuse->I<things>"
msgstr "B<--force->I<things> | B<--no-force->I<things> | B<--refuse->I<things>"

#. type: Plain text
#: dpkg.1:354
msgid ""
"Force or refuse (B<no-force> and B<refuse> mean the same thing)  to do some "
"things. I<things> is a comma separated list of things specified below. B<--"
"force-help> displays a message describing them.  Things marked with (*) are "
"forced by default."
msgstr ""
"Принудительно выполнять или же отказываться выполнять (B<no-force> и B<--"
"refuse> означают одно и то же) те или иные вещи. I<things> -- это список "
"через запятую элементов описанных далее). B<--force-help> выдает сообщение, "
"описывающие их. Элементы, обозначенные звёздочкой (*), принудительно "
"выполняются по умолчанию."

#. type: Plain text
#: dpkg.1:358
msgid ""
"I<Warning: These options are mostly intended to be used by experts only. "
"Using them without fully understanding their effects may break your whole "
"system.>"
msgstr ""
"I<Предупреждение: Эти параметры предназначены только для использования "
"экспертами. Использование без полного понимания их действия может нарушить "
"работоспособность всей системы.>"

#. type: Plain text
#: dpkg.1:361
#, fuzzy
msgid "B<all>: Turns on (or off) all force options."
msgstr "B<all>: Включить (или выключить) все принудительные параметры."

#. type: Plain text
#: dpkg.1:364
msgid ""
"B<downgrade>(*): Install a package, even if newer version of it is already "
"installed."
msgstr ""
"B<downgrade>(*): Установить пакет, даже если уже установлена его более новая "
"версия."

#. type: Plain text
#: dpkg.1:371
msgid ""
"I<Warning: At present dpkg does not do any dependency checking on downgrades "
"and therefore will not warn you if the downgrade breaks the dependency of "
"some other package. This can have serious side effects, downgrading "
"essential system components can even make your whole system unusable. Use "
"with care.>"
msgstr ""
"I<Предупреждение: На данный момент dpkg не выполняет проверку зависимостей "
"при переходе на более старую версию и поэтому не предупредит если это "
"поломает зависимости с остальными пакетами. Это может иметь серьёзные "
"последствия: замена на более старую версию системных компонентов первой "
"необходимости может привести к полной неработоспособности системы. "
"Использовать осторожно.>"

#. type: Plain text
#: dpkg.1:375
msgid ""
"B<configure-any>: Configure also any unpacked but unconfigured packages on "
"which the current package depends."
msgstr ""
"B<configure-any>: Настроить также все распакованные, но ненастроенные "
"пакеты, от которых зависит текущий пакет."

#. type: Plain text
#: dpkg.1:378
msgid "B<hold>: Process packages even when marked \"hold\"."
msgstr "B<hold>: Обрабатывать даже пакеты, помеченные как \"зафиксированные\"."

#. type: Plain text
#: dpkg.1:383
msgid ""
"B<remove-reinstreq>: Remove a package, even if it's broken and marked to "
"require reinstallation. This may, for example, cause parts of the package to "
"remain on the system, which will then be forgotten by B<dpkg>."
msgstr ""
"B<remove-reinstreq>: Удалить пакет, даже если он сломан и отмечен как "
"требующий переустановки. Это может, например, привести к тому, что части "
"пакета останутся в системе, а B<dpkg> про них забудет."

#. type: Plain text
#: dpkg.1:388
msgid ""
"B<remove-essential>: Remove, even if the package is considered essential. "
"Essential packages contain mostly very basic Unix commands. Removing them "
"might cause the whole system to stop working, so use with caution."
msgstr ""
"B<remove-essential>: Удалить, даже если это пакет первой необходимости "
"(имеет приоритет \"Essential\"). Эти пакеты в основном содержат базовые "
"команды Unix. Удаление такого пакета может привести к потере "
"работоспособности системы, так что используйте данный параметр осторожно."

#. type: Plain text
#: dpkg.1:391
msgid "B<depends>: Turn all dependency problems into warnings."
msgstr "B<depends>: Превратить проблемы с зависимостями в предупреждения."

#. type: Plain text
#: dpkg.1:394
msgid ""
"B<depends-version>: Don't care about versions when checking dependencies."
msgstr ""
"B<depends-version>: Не обращать внимание на версии при проверке зависимостей."

#. type: Plain text
#: dpkg.1:397
msgid "B<breaks>: Install, even if this would break another package."
msgstr ""

#. type: Plain text
#: dpkg.1:401
msgid ""
"B<conflicts>: Install, even if it conflicts with another package. This is "
"dangerous, for it will usually cause overwriting of some files."
msgstr ""
"B<conflicts>: Установить, даже если пакет конфликтует с другим пакетом. Это "
"опасно, так как обычно приводит к перезаписи некоторых файлов."

#. type: Plain text
#: dpkg.1:406
#, fuzzy
msgid ""
"B<confmiss>: Always install a missing conffile. This is dangerous, since it "
"means not preserving a change (removing) made to the file."
msgstr ""
"B<confmiss>: Всегда устанавливать пропущенный конфигурационный файл. Это "
"опасно, так как не будут сохранены изменения (удаление) файла."

#. type: Plain text
#: dpkg.1:411
msgid ""
"B<confnew>: If a conffile has been modified always install the new version "
"without prompting, unless the B<--force-confdef> is also specified, in which "
"case the default action is preferred."
msgstr ""
"B<confnew>: Если конфигурационный файл был изменён, то всегда устанавливать "
"новую версию без запроса подтверждения, если не задан также параметр B<--"
"force-confdef>, при котором предпочтение отдаётся действию по умолчанию."

#. type: Plain text
#: dpkg.1:416
msgid ""
"B<confold>: If a conffile has been modified always keep the old version "
"without prompting, unless the B<--force-confdef> is also specified, in which "
"case the default action is preferred."
msgstr ""
"B<confold>: Если конфигурационный файл был изменён, всегда сохранять старую "
"версию без запроса подтверждения, если не задан также параметр B<--force-"
"confdef>, при котором предпочтение отдаётся действию по умолчанию."

#. type: Plain text
#: dpkg.1:422
msgid ""
"B<confdef>: If a conffile has been modified always choose the default "
"action. If there is no default action it will stop to ask the user unless "
"B<--force-confnew> or B<--force-confold> is also been given, in which case "
"it will use that to decide the final action."
msgstr ""
"B<confdef>: Если конфигурационный файл был изменён, всегда выбирать действие "
"по умолчанию. Если такового нет, то спросить у пользователя, если не задан "
"параметр B<--force-confnew> или B<--force-confold> (в этом случае "
"соответствующий параметр используется для выяснения, что именно нужно "
"делать)."

#. type: Plain text
#: dpkg.1:429
#, fuzzy
#| msgid ""
#| "B<confdef>: If a conffile has been modified always choose the default "
#| "action. If there is no default action it will stop to ask the user unless "
#| "B<--force-confnew> or B<--force-confold> is also been given, in which "
#| "case it will use that to decide the final action."
msgid ""
"B<confask>: If a conffile has been modified always offer to replace it with "
"the version in the package, even if the version in the package did not "
"change. If any of B<--force-confmiss>, B<--force-confnew>, B<--force-"
"confold>, or B<--force-confdef> is also given, it will be used to decide the "
"final action."
msgstr ""
"B<confdef>: Если конфигурационный файл был изменён, всегда выбирать действие "
"по умолчанию. Если такового нет, то спросить у пользователя, если не задан "
"параметр B<--force-confnew> или B<--force-confold> (в этом случае "
"соответствующий параметр используется для выяснения, что именно нужно "
"делать)."

#. type: Plain text
#: dpkg.1:432
msgid "B<overwrite>: Overwrite one package's file with another's file."
msgstr ""
"B<overwrite>: Перезаписать файл из одного пакета файлом из другого пакета."

#. type: Plain text
#: dpkg.1:435
msgid "B<overwrite-dir> Overwrite one package's directory with another's file."
msgstr ""
"B<overwrite-dir>: Перезаписать каталог из одного пакета файлом из другого."

#. type: Plain text
#: dpkg.1:438
msgid ""
"B<overwrite-diverted>: Overwrite a diverted file with an undiverted version."
msgstr ""
"B<overwrite-diverted>: Перезаписать файл с изменённым расположением"
"(diverted) его неизменённой версией."

#. type: Plain text
#: dpkg.1:446
msgid ""
"B<unsafe-io>: Do not perform safe I/O operations when unpacking. Currently "
"this implies not performing file system syncs before file renames, which is "
"known to cause substantial performance degradation on some file systems, "
"unfortunately the ones that require the safe I/O on the first place due to "
"their unreliable behaviour causing zero-length files on abrupt system "
"crashes."
msgstr ""

#. type: Plain text
#: dpkg.1:452
msgid ""
"I<Note>: For ext4, the main offender, consider using instead the mount "
"option B<nodelalloc>, which will fix both the performance degradation and "
"the data safety issues, the latter by making the file system not produce "
"zero-length files on abrupt system crashes with any software not doing syncs "
"before atomic renames."
msgstr ""

#. type: Plain text
#: dpkg.1:455
msgid ""
"I<Warning: Using this option might improve performance at the cost of losing "
"data, use with care.>"
msgstr ""

#. type: Plain text
#: dpkg.1:458
#, fuzzy
#| msgid "B<architecture>: Process even packages with the wrong architecture."
msgid "B<architecture>: Process even packages with wrong or no architecture."
msgstr "B<architecture>: Обрабатывать даже пакеты с неправильной архитектурой."

#. type: Plain text
#: dpkg.1:461
#, fuzzy
#| msgid "B<architecture>: Process even packages with the wrong architecture."
msgid "B<bad-version>: Process even packages with wrong versions."
msgstr "B<architecture>: Обрабатывать даже пакеты с неправильной архитектурой."

#. type: Plain text
#: dpkg.1:464
msgid ""
"B<bad-path>: B<PATH> is missing important programs, so problems are likely."
msgstr ""
"B<bad-path>: В B<PATH> отсутствуют важные программы, поэтому могут "
"возникнуть проблемы."

#. type: Plain text
#: dpkg.1:467
msgid "B<not-root>: Try to (de)install things even when not root."
msgstr ""
"B<not-root>: Попытаться установить или удалить пакет, даже если не нет прав "
"суперпользователя."

#. type: Plain text
#: dpkg.1:470
msgid "B<bad-verify>: Install a package even if it fails authenticity check."
msgstr ""
"B<bad-verify>: Устанавливать пакет, даже если он не прошёл проверку "
"подлинности."

#. type: TP
#: dpkg.1:471
#, no-wrap
msgid "B<--ignore-depends>=I<package>,..."
msgstr "B<--ignore-depends>=I<пакет>,..."

#. type: Plain text
#: dpkg.1:475
msgid ""
"Ignore dependency-checking for specified packages (actually, checking is "
"performed, but only warnings about conflicts are given, nothing else)."
msgstr ""
"Игнорировать проверку зависимостей для указанных пакетов (на самом деле, "
"проверка выполняется, но выдаются только предупреждения о конфликтах и "
"ничего более)."

#. type: TP
#: dpkg.1:475
#, fuzzy, no-wrap
msgid "B<--no-act>, B<--dry-run>, B<--simulate>"
msgstr "B<--no-act> | B<--dry-run> | B<--simulate>"

#. type: Plain text
#: dpkg.1:480
msgid ""
"Do everything which is supposed to be done, but don't write any changes. "
"This is used to see what would happen with the specified action, without "
"actually modifying anything."
msgstr ""
"Делать всё, что необходимо, но не записывать на диск изменения. Он "
"используется для того, чтобы посмотреть, что произошло бы при выполнении "
"указанного действия, но при этом ничего не меняется."

#. type: Plain text
#: dpkg.1:485
msgid ""
"Be sure to give B<--no-act> before the action-parameter, or you might end up "
"with undesirable results. (e.g. B<dpkg --purge foo --no-act> will first "
"purge package foo and then try to purge package --no-act, even though you "
"probably expected it to actually do nothing)"
msgstr ""
"Убедитесь, что указали B<--no-act> перед действием, или у вас могут "
"получиться нежелаемые результаты. (например, B<dpkg --purge foo --no-act> "
"сперва выполнит полное удаление пакета foo, а затем будет пытаться полностью "
"удалить пакет --no-act, хотя вы ожидали, что ничего выполнено не будет)"

#. type: TP
#: dpkg.1:485
#, fuzzy, no-wrap
msgid "B<-R>, B<--recursive>"
msgstr "B<-R> | B<--recursive>"

#. type: Plain text
#: dpkg.1:491
msgid ""
"Recursively handle all regular files matching pattern B<*.deb> found at "
"specified directories and all of its subdirectories. This can be used with "
"B<-i>, B<-A>, B<--install>, B<--unpack> and B<--avail> actions."
msgstr ""
"Рекурсивная обработать все файлы, отвечающие шаблону B<*.deb>, которые "
"найдены в заданных каталогах и во всех их подкаталогах. Этот параметр можно "
"использовать вместе с действиями B<-i>, B<-A>, B<--install>, B<--unpack> и "
"B<--avail>."

#. type: TP
#: dpkg.1:491
#, no-wrap
msgid "B<-G>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg.1:495
#, fuzzy
msgid ""
"Don't install a package if a newer version of the same package is already "
"installed. This is an alias of B<--refuse-downgrade>."
msgstr ""
"Не устанавливать пакет, если новая версия такого же пакета уже установлена. "
"Это синоним параметра B<--refuse-downgrade>."

#. type: TP
#: dpkg.1:495 dpkg-buildpackage.1:217 dpkg-checkbuilddeps.1:19
#: dpkg-query.1:118 dpkg-shlibdeps.1:211 dpkg-trigger.1:39
#, no-wrap
msgid "B<--admindir=>I<dir>"
msgstr ""

#. type: Plain text
#: dpkg.1:500
msgid ""
"Change default administrative directory, which contains many files that give "
"information about status of installed or uninstalled packages, etc.  "
"(Defaults to I</var/lib/dpkg>)"
msgstr ""

#. type: TP
#: dpkg.1:500
#, fuzzy, no-wrap
msgid "B<--instdir=>I<dir>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg.1:507
#, fuzzy
msgid ""
"Change default installation directory which refers to the directory where "
"packages are to be installed. B<instdir> is also the directory passed to "
"B<chroot>(2) before running package's installation scripts, which means that "
"the scripts see B<instdir> as a root directory.  (Defaults to I</>)"
msgstr ""
"Изменить каталоги по умолчанию. Каталог B<admindir> по умолчанию имеет "
"значение B</var/lib/dpkg> и содержит много файлов, в которых даётся "
"информация о состоянии установленных или удалённых пакетов и т.д. Каталог "
"B<instdir> по умолчанию равен I</> и указывает каталог, куда будут "
"устанавливаться пакеты. Он также передаётся функции B<chroot>(2) перед "
"запуском сценария установки B<пакета> -- это означает, что сценарии будут "
"считать B<instdir> корневым каталогом. Изменение каталога B<root> "
"устанавливает каталог B<instdir> в значение B<dir>, а каталога B<admindir> "
"-- в значение I<dir>B</var/lib/dpkg>."

#. type: TP
#: dpkg.1:507
#, fuzzy, no-wrap
msgid "B<--root=>I<dir>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg.1:511
msgid ""
"Changing B<root> changes B<instdir> to I<dir> and B<admindir> to I<dir>B</"
"var/lib/dpkg>."
msgstr ""

#. type: TP
#: dpkg.1:511
#, fuzzy, no-wrap
msgid "B<-O>, B<--selected-only>"
msgstr "B<-O> | B<--selected-only>"

#. type: Plain text
#: dpkg.1:517
msgid ""
"Only process the packages that are selected for installation. The actual "
"marking is done with B<dselect> or by B<dpkg>, when it handles packages. For "
"example, when a package is removed, it will be marked selected for "
"deinstallation."
msgstr ""
"Обрабатывать только пакеты, выбранные для установки. Такой выбор делается "
"программой B<dselect> или же самой программой B<dpkg> при работе с пакетами. "
"Например, когда пакет удаляется, он будет помечен для удаления."

#. type: TP
#: dpkg.1:517
#, fuzzy, no-wrap
msgid "B<-E>, B<--skip-same-version>"
msgstr "B<-E> | B<--skip-same-version>"

#. type: Plain text
#: dpkg.1:521
msgid ""
"Don't install the package if the same version of the package is already "
"installed."
msgstr ""
"Не устанавливать пакет, если та же версия этого пакета уже установлена."

#. type: Plain text
#: dpkg.1:523
msgid "B<--pre-invoke=>I<command>"
msgstr ""

#. type: Plain text
#: dpkg.1:525
msgid "B<--post-invoke=>I<command>"
msgstr ""

#. type: Plain text
#: dpkg.1:534
msgid ""
"Set an invoke hook I<command> to be run via ``sh -c'' before or after the "
"dpkg run for the I<unpack>, I<configure>, I<install>, I<triggers-only>, "
"I<remove> and I<purge> dpkg actions. This option can be specified multiple "
"times. The order the options are specified is preserved, with the ones from "
"the configuration files taking precedence.  The environment variable "
"B<DPKG_HOOK_ACTION> is set for the hooks to the current dpkg action. Note: "
"front-ends might call dpkg several times per invocation, which might run the "
"hooks more times than expected."
msgstr ""

#. type: Plain text
#: dpkg.1:537
#, fuzzy
msgid "B<--path-exclude=>I<glob-pattern>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg.1:539
#, fuzzy
msgid "B<--path-include=>I<glob-pattern>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg.1:542
msgid ""
"Set I<glob-pattern> as a path filter, either by excluding or re-including "
"previously excluded paths matching the specified patterns during install."
msgstr ""

#. type: Plain text
#: dpkg.1:545
msgid ""
"I<Warning: take into account that depending on the excluded paths you might "
"completely break your system, use with caution.>"
msgstr ""

#. type: Plain text
#: dpkg.1:555
msgid ""
"The glob patterns use the same wildcards used in the shell, were '*' matches "
"any sequence of characters, including the empty string and also '/'. For "
"example, I<'/usr/*/READ*'> matches I<'/usr/share/doc/package/README'>.  As "
"usual, '?' matches any single character (again, including '/'). And '[' "
"starts a character class, which can contain a list of characters, ranges and "
"complementations. See B<glob>(7) for detailed information about globbing. "
"Note: the current implementation might re-include more directories and "
"symlinks than needed, to be on the safe side and avoid possible unpack "
"failures, future work might fix this."
msgstr ""

#. type: Plain text
#: dpkg.1:558
msgid ""
"This can be used to remove all paths except some particular ones; a typical "
"case is:"
msgstr ""

#. type: Plain text
#: dpkg.1:562
#, no-wrap
msgid ""
"B<--path-exclude=/usr/share/doc/*>\n"
"B<--path-include=/usr/share/doc/*/copyright>\n"
msgstr ""

#. type: Plain text
#: dpkg.1:565
msgid "to remove all documentation files except the copyright files."
msgstr ""

#. type: Plain text
#: dpkg.1:569
msgid ""
"These two options can be specified multiple times, and interleaved with each "
"other. Both are processed in the given order, with the last rule that "
"matches a file name making the decision."
msgstr ""

#. type: TP
#: dpkg.1:570
#, fuzzy, no-wrap
msgid "B<--status-fd >I<n>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg.1:576
msgid ""
"Send machine-readable package status and progress information to file "
"descriptor I<n>. This option can be specified multiple times. The "
"information is generally one record per line, in one of the following forms:"
msgstr ""

#. type: TP
#: dpkg.1:577
#, no-wrap
msgid "B<status: >I<package>B<: >I<status>"
msgstr ""

#. type: Plain text
#: dpkg.1:580
msgid "Package status changed; I<status> is as in the status file."
msgstr ""

#. type: TP
#: dpkg.1:580
#, no-wrap
msgid "B<status: >I<package>B< : error : >I<extended-error-message>"
msgstr ""

#. type: Plain text
#: dpkg.1:584
msgid ""
"An error occurred. Any possible newlines in I<extended-error-message> will "
"be converted to spaces before output."
msgstr ""

#. type: TP
#: dpkg.1:584
#, no-wrap
msgid "B<status: >I<file>B< : conffile-prompt : '>I<real-old>B<' '>I<real-new>B<' >I<useredited>B< >I<distedited>"
msgstr ""

#. type: Plain text
#: dpkg.1:587
msgid "User is being asked a conffile question."
msgstr ""

#. type: TP
#: dpkg.1:587
#, no-wrap
msgid "B<processing: >I<stage>B<: >I<package>"
msgstr ""

#. type: Plain text
#: dpkg.1:592
msgid ""
"Sent just before a processing stage starts. I<stage> is one of B<upgrade>, "
"B<install> (both sent before unpacking), B<configure>, B<trigproc>, "
"B<disappear>, B<remove>, B<purge>."
msgstr ""

#. type: TP
#: dpkg.1:593
#, fuzzy, no-wrap
msgid "B<--status-logger>=I<command>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg.1:598
msgid ""
"Send machine-readable package status and progress information to the shell "
"I<command>'s standard input. This option can be specified multiple times. "
"The output format used is the same as in B<--status-fd.>"
msgstr ""

#. type: TP
#: dpkg.1:599
#, no-wrap
msgid "B<--log=>I<filename>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg.1:611
#, fuzzy
msgid ""
"Log status change updates and actions to I<filename>, instead of the default "
"I</var/log/dpkg.log>. If this option is given multiple times, the last "
"filename is used. Log messages are of the form `YYYY-MM-DD HH:MM:SS status "
"I<state> I<pkg> I<installed-version>' for status change updates; `YYYY-MM-DD "
"HH:MM:SS I<action> I<pkg> I<installed-version> I<available-version>' for "
"actions where I<action> is one of B<install>, B<upgrade>, B<remove>, "
"B<purge>; and `YYYY-MM-DD HH:MM:SS conffile I<filename> I<decision>' for "
"conffile changes where I<decision> is either B<install> or B<keep>."
msgstr ""
"Протоколировать изменения обновлений и действия в I<файл>, вместо файл по "
"умолчанию I</var/log/dpkg.log>. Если этот параметр указан несколько раз, то "
"используется последнее имя файла. Протоколируемые сообщения имеют вид `YYYY-"
"MM-DD HH:MM:SS status E<lt>stateE<gt> E<lt>pkgE<gt> E<lt>installed-"
"versionE<gt>' при изменении состояния обновлений; `YYYY-MM-DD HH:MM:SS "
"E<lt>actionE<gt> E<lt>pkgE<gt> E<lt>installed-versionE<gt> E<lt>available-"
"versionE<gt>' при выполнении действия, где I<E<lt>actionE<gt>> может быть "
"install, upgrade, remove, purge; и `YYYY-MM-DD HH:MM:SS conffile "
"E<lt>filenameE<gt> E<lt>decisionE<gt>' при изменении конфигурационных "
"файлов, \n"
"где I<E<lt>decision> может быть install или keep."

#. type: TP
#: dpkg.1:611
#, no-wrap
msgid "B<--no-debsig>"
msgstr "B<--no-debsig>"

#. type: Plain text
#: dpkg.1:614
msgid "Do not try to verify package signatures."
msgstr "Не пытаться проверять подпись пакета."

#. type: TP
#: dpkg.1:614
#, fuzzy, no-wrap
msgid "B<--no-triggers>"
msgstr "B<--no-debsig>"

#. type: Plain text
#: dpkg.1:623
msgid ""
"Do not run any triggers in this run (activations will still be recorded).  "
"If used with B<--configure> I<package> or B<--triggers-only> I<package> then "
"the named package postinst will still be run even if only a triggers run is "
"needed. Use of this option may leave packages in the improper B<triggers-"
"awaited> and B<triggers-pending> states. This can be fixed later by running: "
"B<dpkg --configure --pending>."
msgstr ""

#. type: TP
#: dpkg.1:623
#, fuzzy, no-wrap
msgid "B<--triggers>"
msgstr "B<-t>|B<--test>"

#. type: Plain text
#: dpkg.1:626
msgid "Cancels a previous B<--no-triggers>."
msgstr ""

#. type: Plain text
#: dpkg.1:628 dpkg.cfg.5:16
#, no-wrap
msgid "I</etc/dpkg/dpkg.cfg>"
msgstr "I</etc/dpkg/dpkg.cfg>"

#. type: Plain text
#: dpkg.1:631
msgid "Configuration file with default options."
msgstr "Файл конфигурации с параметрами по умолчанию."

#. type: TP
#: dpkg.1:631
#, no-wrap
msgid "I</var/log/dpkg.log>"
msgstr "I</var/log/dpkg.log>"

#. type: Plain text
#: dpkg.1:635
msgid "Default log file (see I</etc/dpkg/dpkg.cfg>(5) and option B<--log>)."
msgstr ""
"Файл журнала по умолчанию (смотрите I</etc/dpkg/dpkg.cfg>(5) и параметр B<--"
"log>)."

#. type: Plain text
#: dpkg.1:638
msgid ""
"The other files listed below are in their default directories, see option "
"B<--admindir> to see how to change locations of these files."
msgstr ""
"Остальные файлы перечислены с указанием их каталогов по умолчанию, смотрите "
"параметр B<admindir>, чтобы узнать, как изменить местоположение этих файлов."

#. type: TP
#: dpkg.1:638
#, no-wrap
msgid "I</var/lib/dpkg/available>"
msgstr "I</var/lib/dpkg/available>"

#. type: Plain text
#: dpkg.1:641
msgid "List of available packages."
msgstr "Список доступных пакетов."

#. type: TP
#: dpkg.1:641
#, no-wrap
msgid "I</var/lib/dpkg/status>"
msgstr "I</var/lib/dpkg/status>"

#. type: Plain text
#: dpkg.1:647
msgid ""
"Statuses of available packages. This file contains information about whether "
"a package is marked for removing or not, whether it is installed or not, "
"etc. See section B<INFORMATION ABOUT PACKAGES> for more info."
msgstr ""
"Состояния доступных пакетов. Этот файл содержит информацию о том, помечен ли "
"пакет для удаления или нет, установлен он или нет, и т.д. Смотрите раздел "
"B<ИНФОРМАЦИЯ О ПАКЕТАХ>, где приведена подробная информация."

#. type: Plain text
#: dpkg.1:650
msgid ""
"The status file is backed up daily in I</var/backups>. It can be useful if "
"it's lost or corrupted due to filesystems troubles."
msgstr ""

#. type: Plain text
#: dpkg.1:653
msgid ""
"The following files are components of a binary package. See B<deb>(5)  for "
"more information about them:"
msgstr ""
"Нижеследующие файлы являются компонентами бинарного пакета. Смотрите B<deb>"
"(5), где приведена подробная информация:"

#. type: TP
#: dpkg.1:653
#, no-wrap
msgid "I<control>"
msgstr "I<control>"

#. type: TP
#: dpkg.1:655
#, no-wrap
msgid "I<conffiles>"
msgstr "I<conffiles>"

#. type: TP
#: dpkg.1:657
#, no-wrap
msgid "I<preinst>"
msgstr "I<preinst>"

#. type: TP
#: dpkg.1:659
#, no-wrap
msgid "I<postinst>"
msgstr "I<postinst>"

#. type: TP
#: dpkg.1:661
#, no-wrap
msgid "I<prerm>"
msgstr "I<prerm>"

#. type: TP
#: dpkg.1:663
#, no-wrap
msgid "I<postrm>"
msgstr "I<postrm>"

#. type: SH
#: dpkg.1:666 dpkg-buildflags.1:128 dpkg-buildpackage.1:230 dpkg-deb.1:232
#: dpkg-divert.8:112 dpkg-query.1:204 dpkg-statoverride.8:68 dpkg-trigger.1:60
#: dpkg-vendor.1:42 dselect.1:423 update-alternatives.8:354
#, fuzzy, no-wrap
msgid "ENVIRONMENT"
msgstr "ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ"

#. type: TP
#: dpkg.1:667 dselect.1:424
#, fuzzy, no-wrap
#| msgid "B<SHELL>"
msgid "B<HOME>"
msgstr "B<SHELL>"

#. type: Plain text
#: dpkg.1:671
msgid ""
"If set, B<dpkg> will use it as the directory from which to read the user "
"specific configuration file."
msgstr ""

#. type: TP
#: dpkg.1:671 dpkg-deb.1:233
#, no-wrap
msgid "B<TMPDIR>"
msgstr ""

#. type: Plain text
#: dpkg.1:675
msgid ""
"If set, B<dpkg> will use it as the directory in which to create temporary "
"files and directories."
msgstr ""

#. type: TP
#: dpkg.1:675
#, fuzzy, no-wrap
#| msgid "B<-G>"
msgid "B<PAGER>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg.1:678
#, fuzzy
msgid "The program B<dpkg> will execute when displaying the conffiles."
msgstr "Программа, которую запустит B<dpkg> при старте новой оболочки."

#. type: TP
#: dpkg.1:678
#, no-wrap
msgid "B<SHELL>"
msgstr "B<SHELL>"

#. type: Plain text
#: dpkg.1:681
#, fuzzy
msgid "The program B<dpkg> will execute when starting a new shell."
msgstr "Программа, которую запустит B<dpkg> при старте новой оболочки."

#. type: TP
#: dpkg.1:681 dpkg-query.1:209
#, no-wrap
msgid "B<COLUMNS>"
msgstr "B<COLUMNS>"

#. type: Plain text
#: dpkg.1:685
msgid ""
"Sets the number of columns B<dpkg> should use when displaying formatted "
"text. Currently only used by -l."
msgstr ""
"Задаёт количество колонок текста, используемых программой B<dpkg> при "
"форматировании текста. В настоящий момент используется только с параметром "
"B<-l>."

#. type: TP
#: dpkg.1:685
#, fuzzy, no-wrap
#| msgid "B<DPKG_OLD_CONFFILE>"
msgid "B<DPKG_SHELL_REASON>"
msgstr "B<DPKG_OLD_CONFFILE>"

#. type: Plain text
#: dpkg.1:689
msgid ""
"Defined by B<dpkg> on the shell spawned on the conffile prompt to examine "
"the situation. Current valid value: B<conffile-prompt>."
msgstr ""

#. type: TP
#: dpkg.1:689
#, fuzzy, no-wrap
#| msgid "B<DPKG_OLD_CONFFILE>"
msgid "B<DPKG_CONFFILE_OLD>"
msgstr "B<DPKG_OLD_CONFFILE>"

#. type: Plain text
#: dpkg.1:693
msgid ""
"Defined by B<dpkg> on the shell spawned on the conffile prompt to examine "
"the situation. Contains the path to the old conffile."
msgstr ""

#. type: TP
#: dpkg.1:693
#, fuzzy, no-wrap
#| msgid "B<DPKG_OLD_CONFFILE>"
msgid "B<DPKG_CONFFILE_NEW>"
msgstr "B<DPKG_OLD_CONFFILE>"

#. type: Plain text
#: dpkg.1:697
msgid ""
"Defined by B<dpkg> on the shell spawned on the conffile prompt to examine "
"the situation. Contains the path to the new conffile."
msgstr ""

#. type: TP
#: dpkg.1:697
#, no-wrap
msgid "B<DPKG_RUNNING_VERSION>"
msgstr ""

#. type: Plain text
#: dpkg.1:701
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the version of "
"the currently running B<dpkg> instance."
msgstr ""

#. type: TP
#: dpkg.1:701 dpkg-divert.8:117
#, fuzzy, no-wrap
#| msgid "B<DPKG_NO_TSTP>"
msgid "B<DPKG_MAINTSCRIPT_PACKAGE>"
msgstr "B<DPKG_NO_TSTP>"

#. type: Plain text
#: dpkg.1:705
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the package name "
"being handled."
msgstr ""

#. type: TP
#: dpkg.1:705
#, fuzzy, no-wrap
#| msgid "B<DPKG_NO_TSTP>"
msgid "B<DPKG_MAINTSCRIPT_ARCH>"
msgstr "B<DPKG_NO_TSTP>"

#. type: Plain text
#: dpkg.1:709
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the architecture "
"the package got built for."
msgstr ""

#. type: TP
#: dpkg.1:709
#, fuzzy, no-wrap
#| msgid "B<DPKG_NO_TSTP>"
msgid "B<DPKG_MAINTSCRIPT_NAME>"
msgstr "B<DPKG_NO_TSTP>"

#. type: Plain text
#: dpkg.1:713
msgid ""
"Defined by B<dpkg> on the maintainer script environment to the name of the "
"script running (preinst, postinst, prerm, postrm)."
msgstr ""

#. type: Plain text
#: dpkg.1:716
#, fuzzy
msgid "To list packages related to the editor B<vi>(1):"
msgstr "Показать список пакетов, относящихся к редактору vi:"

#. type: Plain text
#: dpkg.1:718
#, fuzzy, no-wrap
msgid "     B<dpkg -l \\(aq*vi*\\(aq>\n"
msgstr "B< dpkg -l \\(aq*vi*\\(aq>"

#. type: Plain text
#: dpkg.1:721
#, fuzzy
msgid "To see the entries in I</var/lib/dpkg/available> of two packages:"
msgstr "Посмотреть записи о двух пакетах в файле B</var/lib/dpkg/available>:"

#. type: Plain text
#: dpkg.1:723
#, fuzzy, no-wrap
msgid "     B<dpkg --print-avail elvis vim | less>\n"
msgstr "B< dpkg --print-avail elvis vim | less>"

#. type: Plain text
#: dpkg.1:726
msgid "To search the listing of packages yourself:"
msgstr "Вручную просмотреть список пакетов:"

#. type: Plain text
#: dpkg.1:728
#, fuzzy, no-wrap
msgid "     B<less /var/lib/dpkg/available>\n"
msgstr "B< less /var/lib/dpkg/available>"

#. type: Plain text
#: dpkg.1:731
msgid "To remove an installed elvis package:"
msgstr "Удалить установленный пакет elvis:"

#. type: Plain text
#: dpkg.1:733
#, fuzzy, no-wrap
msgid "     B<dpkg -r elvis>\n"
msgstr "B< dpkg -r elvis>"

#. type: Plain text
#: dpkg.1:738
msgid ""
"To install a package, you first need to find it in an archive or CDROM. The "
"\"available\" file shows that the vim package is in section \"editors\":"
msgstr ""
"Чтобы установить пакет, сначала нужно найти его в архиве или на CDROM. Файл "
"\"available\" показывает, что пакет vim находится в секции \"editors"
"\" (\"редакторы\"):"

#. type: Plain text
#: dpkg.1:741
#, fuzzy, no-wrap
msgid ""
"     B<cd /media/cdrom/pool/main/v/vim>\n"
"     B<dpkg -i vim_4.5-3.deb>\n"
msgstr "B< cd /cdrom/hamm/hamm/binary/editors> B< dpkg -i vim_4.5-3.deb>"

#. type: Plain text
#: dpkg.1:744
msgid "To make a local copy of the package selection states:"
msgstr "Получить локальную копию состояний выбранных пакетов:"

#. type: Plain text
#: dpkg.1:746
#, fuzzy, no-wrap
msgid "     B<dpkg --get-selections E<gt>myselections>\n"
msgstr "B< dpkg --get-selections E<gt>myselections>"

#. type: Plain text
#: dpkg.1:750
msgid ""
"You might transfer this file to another computer, and install it there with:"
msgstr ""
"Вы можете перенести этот файл на другой компьютер и установить его там с "
"помощью:"

#. type: Plain text
#: dpkg.1:753
#, fuzzy, no-wrap
msgid ""
"     B<dpkg --clear-selections>\n"
"     B<dpkg --set-selections E<lt>myselections>\n"
msgstr "B< dpkg --set-selections E<lt>myselections>"

#. type: Plain text
#: dpkg.1:759
#, fuzzy
msgid ""
"Note that this will not actually install or remove anything, but just set "
"the selection state on the requested packages. You will need some other "
"application to actually download and install the requested packages. For "
"example, run B<apt-get dselect-upgrade>."
msgstr ""
"Заметим, что при этом ничего не будет ни установлено, ни удалено, просто "
"будут заданы состояния запрошенных пакетов. Для того, чтобы на самом деле "
"скачать и установить запрошенные пакеты, вам понадобится другая программа. "
"Например, запустите B<dselect> и выберите \"Установить\"."

#. type: Plain text
#: dpkg.1:762
msgid ""
"Ordinarily, you will find that B<dselect>(1) provides a more convenient way "
"to modify the package selection states."
msgstr ""
"Обычно B<dselect>(8) предоставляет более удобный способ изменить состояния "
"выбранных пакетов."

#. type: SH
#: dpkg.1:764
#, no-wrap
msgid "ADDITIONAL FUNCTIONALITY"
msgstr "ДОПОЛНИТЕЛЬНАЯ ФУНКЦИОНАЛЬНОСТЬ"

#. type: Plain text
#: dpkg.1:767
#, fuzzy
msgid ""
"Additional functionality can be gained by installing any of the following "
"packages: B<apt>, B<aptitude> and B<debsums>."
msgstr ""
"Дополнительная функциональность может быть получена установкой любых "
"следующих пакетов: I<apt>, I<aptitude> и I<debsums>."

#. type: Plain text
#: dpkg.1:779
#, fuzzy
msgid ""
"B<aptitude>(1), B<apt>(1), B<dselect>(1), B<dpkg-deb>(1), B<dpkg-query>(1), "
"B<deb>(5), B<deb-control>(5), B<dpkg.cfg>(5), and B<dpkg-reconfigure>(8)."
msgstr ""
"B<dselect>(1), B<dpkg-deb>(1), B<dpkg-query>(1), B<deb>(5), B<deb-control>"
"(5), B<dpkg.cfg>(5) и B<dpkg-reconfigure>(8)."

#. type: Plain text
#: dpkg.1:782
msgid "B<--no-act> usually gives less information than might be helpful."
msgstr "B<--no-act> обычно дает меньше информации, чем могло бы быть полезным."

#. type: Plain text
#: dpkg.1:785 dpkg.cfg.5:22
#, fuzzy
msgid ""
"See I</usr/share/doc/dpkg/THANKS> for the list of people who have "
"contributed to B<dpkg>."
msgstr ""
"Смотрите файл I</usr/share/doc/dpkg/THANKS>, где приведён список тех, кто "
"участвовал в разработке B<dpkg>.\n"

#. type: TH
#: dpkg-architecture.1:1
#, fuzzy, no-wrap
msgid "dpkg-architecture"
msgstr "B<dpkg --print-architecture>"

#. type: Plain text
#: dpkg-architecture.1:4
msgid ""
"dpkg-architecture - set and determine the architecture for package building"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:8
#, fuzzy
msgid "B<dpkg-architecture> [I<option>...] [I<command>]"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-architecture.1:13
msgid ""
"dpkg-architecture does provide a facility to determine and set the build and "
"host architecture for package building."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:16
msgid ""
"The build architecture is always determined by an external call to B<dpkg>"
"(1), and can not be set at the command line."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:25
msgid ""
"You can specify the host architecture by providing one or both of the "
"options B<-a> and B<-t>. The default is determined by an external call to "
"B<gcc>(1), or the same as the build architecture if \\s-1CC\\s0 or gcc are "
"both not available. One out of B<-a> and B<-t> is sufficient, the value of "
"the other will be set to a usable default. Indeed, it is often better to "
"only specify one, because B<dpkg-architecture> will warn you if your choice "
"does not match the default."
msgstr ""

#. type: SH
#: dpkg-architecture.1:26 dpkg-buildflags.1:45 dpkg-deb.1:27 dpkg-divert.8:24
#: dpkg-query.1:13 dpkg-source.1:18 dpkg-split.1:31 dpkg-statoverride.8:23
#: dpkg-trigger.1:24 dpkg-vendor.1:14 start-stop-daemon.8:34
#: update-alternatives.8:202
#, no-wrap
msgid "COMMANDS"
msgstr ""

#. type: TP
#: dpkg-architecture.1:27
#, fuzzy, no-wrap
msgid "B<-l>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-architecture.1:31
msgid ""
"Print the environment variables, one each line, in the format "
"I<VARIABLE=value>. This is the default action."
msgstr ""

#. type: TP
#: dpkg-architecture.1:31
#, fuzzy, no-wrap
msgid "B<-e>I<debian-architecture>"
msgstr "B<dpkg --print-architecture>"

#. type: Plain text
#: dpkg-architecture.1:37
msgid ""
"Check for equality of architecture. By default I<debian-architecture> is "
"compared against the current Debian architecture, being the host.  This "
"action will not expand the architecture wildcards. Command finishes with an "
"exit status of 0 if matched, 1 if not matched."
msgstr ""

#. type: TP
#: dpkg-architecture.1:37
#, no-wrap
msgid "B<-i>I<architecture-wildcard>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:43
msgid ""
"Check for identity of architecture by expanding I<architecture-wildcard> as "
"an architecture wildcard and comparing against the current Debian "
"architecture. Command finishes with an exit status of 0 if matched, 1 if not "
"matched."
msgstr ""

#. type: TP
#: dpkg-architecture.1:43
#, fuzzy, no-wrap
msgid "B<-q>I<variable-name>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg-architecture.1:46
msgid "Print the value of a single variable."
msgstr ""

#. type: TP
#: dpkg-architecture.1:46
#, fuzzy, no-wrap
msgid "B<-s>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-architecture.1:50
msgid ""
"Print an export command. This can be used to set the environment variables "
"using eval."
msgstr ""

#. type: TP
#: dpkg-architecture.1:50
#, fuzzy, no-wrap
msgid "B<-u>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-architecture.1:53
msgid "Print a similar command to B<-s> but to unset all variables."
msgstr ""

#. type: TP
#: dpkg-architecture.1:53
#, no-wrap
msgid "B<-c>I< command>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:57
msgid ""
"Execute a I<command> in an environment which has all variables set to the "
"determined value."
msgstr ""

#. type: TP
#: dpkg-architecture.1:57
#, fuzzy, no-wrap
msgid "B<-L>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-architecture.1:60
msgid "Print a list of valid architecture names."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:63 dpkg-buildflags.1:92 dpkg-buildpackage.1:226
#: dpkg-checkbuilddeps.1:36 dpkg-distaddfile.1:35 dpkg-deb.1:175
#: dpkg-divert.8:74 dpkg-genchanges.1:134 dpkg-gencontrol.1:124
#: dpkg-gensymbols.1:446 dpkg-mergechangelogs.1:41 dpkg-name.1:61
#: dpkg-parsechangelog.1:36 dpkg-query.1:113 dpkg-scanpackages.1:99
#: dpkg-scansources.1:68 dpkg-shlibdeps.1:218 dpkg-source.1:99
#: dpkg-split.1:129 dpkg-statoverride.8:47 dpkg-trigger.1:34 dpkg-vendor.1:31
#: update-alternatives.8:319
msgid "Show the usage message and exit."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:66 dpkg-buildflags.1:95 dpkg-buildpackage.1:229
#: dpkg-checkbuilddeps.1:39 dpkg-distaddfile.1:38 dpkg-deb.1:178
#: dpkg-divert.8:77 dpkg-genchanges.1:137 dpkg-gencontrol.1:127
#: dpkg-gensymbols.1:449 dpkg-mergechangelogs.1:44 dpkg-name.1:64
#: dpkg-parsechangelog.1:39 dpkg-query.1:116 dpkg-scanpackages.1:102
#: dpkg-scansources.1:70 dpkg-shlibdeps.1:221 dpkg-source.1:102
#: dpkg-split.1:132 dpkg-statoverride.8:50 dpkg-trigger.1:37 dpkg-vendor.1:34
#: update-alternatives.8:322
#, fuzzy
msgid "Show the version and exit."
msgstr "Выдать информацию о версии и завершить работу."

#. type: TP
#: dpkg-architecture.1:68
#, fuzzy, no-wrap
msgid "B<-a>I<debian-architecture>"
msgstr "B<dpkg --print-architecture>"

#. type: Plain text
#: dpkg-architecture.1:71
msgid "Set the Debian architecture."
msgstr ""

#. type: TP
#: dpkg-architecture.1:71 dpkg-buildpackage.1:110
#, no-wrap
msgid "B<-t>I<gnu-system-type>"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:74
msgid "Set the GNU system type."
msgstr ""

#. type: TP
#: dpkg-architecture.1:74
#, fuzzy, no-wrap
msgid "B<-f>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-architecture.1:81
msgid ""
"Values set by existing environment variables with the same name as used by "
"the scripts are honored (i.e. used by B<dpkg-architecture>), except if this "
"force flag is present. This allows the user to override a value even when "
"the call to B<dpkg-architecture> is buried in some other script (for example "
"B<dpkg-buildpackage>(1))."
msgstr ""

#. type: SH
#: dpkg-architecture.1:82
#, no-wrap
msgid "TERMS"
msgstr ""

#. type: IP
#: dpkg-architecture.1:83
#, no-wrap
msgid "build machine"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:85
msgid "The machine the package is built on."
msgstr ""

#. type: IP
#: dpkg-architecture.1:85
#, no-wrap
msgid "host machine"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:87
msgid "The machine the package is built for."
msgstr ""

#. type: IP
#: dpkg-architecture.1:87
#, fuzzy, no-wrap
msgid "Debian architecture"
msgstr "Проект Debian"

#. type: Plain text
#: dpkg-architecture.1:90
msgid ""
"The Debian architecture string, which specifies the binary tree in the "
"\\s-1FTP\\s0 archive. Examples: i386, sparc, hurd-i386."
msgstr ""

#. type: IP
#: dpkg-architecture.1:90
#, no-wrap
msgid "architecture wildcard"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:94
msgid ""
"An architecture wildcard is a special architecture string that will match "
"any real architecture being part of it. The general form is E<lt>kernelE<gt>-"
"E<lt>cpuE<gt>.  Examples: linux-any, any-i386, hurd-any."
msgstr ""

#. type: IP
#: dpkg-architecture.1:94
#, no-wrap
msgid "\\s-1GNU\\s0 system type"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:98
msgid ""
"An architecture specification string consisting of two parts separated by a "
"dash: cpu and system. Examples: i386-linux-gnu, sparc-linux-gnu, i386-gnu, "
"x86_64-netbsd."
msgstr ""

#. type: SH
#: dpkg-architecture.1:99
#, fuzzy, no-wrap
msgid "VARIABLES"
msgstr "ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ"

#. type: Plain text
#: dpkg-architecture.1:101
msgid "The following variables are set by B<dpkg-architecture>:"
msgstr ""

#. type: IP
#: dpkg-architecture.1:101
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:103
msgid "The Debian architecture of the build machine."
msgstr ""

#. type: IP
#: dpkg-architecture.1:103
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH_OS\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:105
msgid "The Debian system name of the build machine."
msgstr ""

#. type: IP
#: dpkg-architecture.1:105
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH_CPU\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:107
msgid "The Debian cpu name of the build machine."
msgstr ""

#. type: IP
#: dpkg-architecture.1:107
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH_BITS\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:109
msgid "The pointer size of the build machine (in bits)."
msgstr ""

#. type: IP
#: dpkg-architecture.1:109
#, no-wrap
msgid "\\s-1DEB_BUILD_ARCH_ENDIAN\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:111
msgid "The endianness of the build machine (little / big)."
msgstr ""

#. type: IP
#: dpkg-architecture.1:111
#, no-wrap
msgid "\\s-1DEB_BUILD_GNU_CPU\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:113
msgid "The \\s-1CPU\\s0 part of \\s-1DEB_BUILD_GNU_TYPE\\s0."
msgstr ""

#. type: IP
#: dpkg-architecture.1:113
#, no-wrap
msgid "\\s-1DEB_BUILD_GNU_SYSTEM\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:115
msgid "The System part of \\s-1DEB_BUILD_GNU_TYPE\\s0."
msgstr ""

#. type: IP
#: dpkg-architecture.1:115
#, no-wrap
msgid "\\s-1DEB_BUILD_GNU_TYPE\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:117
msgid "The \\s-1GNU\\s0 system type of the build machine."
msgstr ""

#. type: IP
#: dpkg-architecture.1:117
#, no-wrap
msgid "\\s-1DEB_BUILD_MULTIARCH\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:120
msgid ""
"The clarified \\s-1GNU\\s0 system type of the build machine, used for "
"filesystem paths."
msgstr ""

#. type: IP
#: dpkg-architecture.1:120
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:122
msgid "The Debian architecture of the host machine."
msgstr ""

#. type: IP
#: dpkg-architecture.1:122
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH_OS\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:124
msgid "The Debian system name of the host machine."
msgstr ""

#. type: IP
#: dpkg-architecture.1:124
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH_CPU\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:126
msgid "The Debian cpu name of the host machine."
msgstr ""

#. type: IP
#: dpkg-architecture.1:126
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH_BITS\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:128
msgid "The pointer size of the host machine (in bits)."
msgstr ""

#. type: IP
#: dpkg-architecture.1:128
#, no-wrap
msgid "\\s-1DEB_HOST_ARCH_ENDIAN\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:130
msgid "The endianness of the host machine (little / big)."
msgstr ""

#. type: IP
#: dpkg-architecture.1:130
#, no-wrap
msgid "\\s-1DEB_HOST_GNU_CPU\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:132
msgid "The \\s-1CPU\\s0 part of \\s-1DEB_HOST_GNU_TYPE\\s0."
msgstr ""

#. type: IP
#: dpkg-architecture.1:132
#, no-wrap
msgid "\\s-1DEB_HOST_GNU_SYSTEM\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:134
msgid "The System part of \\s-1DEB_HOST_GNU_TYPE\\s0."
msgstr ""

#. type: IP
#: dpkg-architecture.1:134
#, no-wrap
msgid "\\s-1DEB_HOST_GNU_TYPE\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:136
msgid "The \\s-1GNU\\s0 system type of the host machine."
msgstr ""

#. type: IP
#: dpkg-architecture.1:136
#, no-wrap
msgid "\\s-1DEB_HOST_MULTIARCH\\s0"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:139
msgid ""
"The clarified \\s-1GNU\\s0 system type of the host machine, used for "
"filesystem paths."
msgstr ""

#. type: SH
#: dpkg-architecture.1:140
#, no-wrap
msgid "DEBIAN/RULES"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:148
msgid ""
"The environment variables set by B<dpkg-architecture> are passed to I<debian/"
"rules> as make variables (see make documentation). However, you should not "
"rely on them, as this breaks manual invocation of the script. Instead, you "
"should always initialize them using B<dpkg-architecture> with the -q option. "
"Here are some examples, which also show how you can improve the cross "
"compilation support in your package:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:151 dpkg-architecture.1:168
msgid "Instead of:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:155
#, no-wrap
msgid ""
"ARCH=\\`dpkg --print-architecture\\`\n"
"configure $(\\s-1ARCH\\s0)-linux\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:158
msgid "please use the following:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:162
#, no-wrap
msgid ""
"\\&\\s-1DEB_BUILD_GNU_TYPE\\s0 := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)\n"
"\\&\\s-1DEB_HOST_GNU_TYPE\\s0 := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:164
#, no-wrap
msgid "configure --build=$(\\s-1DEB_BUILD_GNU_TYPE\\s0) --host=$(\\s-1DEB_HOST_GNU_TYPE\\s0)\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:174
#, no-wrap
msgid ""
"ARCH=\\`dpkg --print-architecture\\`\n"
"ifeq ($(\\s-1ARCH\\s0),alpha)\n"
"  ...\n"
"endif\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:177
msgid "please use:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:180
#, no-wrap
msgid "\\&\\s-1DEB_HOST_ARCH\\s0 := $(shell dpkg-architecture -qDEB_HOST_ARCH)\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:184
#, no-wrap
msgid ""
"ifeq ($(\\s-1DEB_HOST_ARCH\\s0),alpha)\n"
"  ...\n"
"endif\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:188
msgid ""
"or if you only need to check the CPU or OS type, use the DEB_HOST_ARCH_CPU "
"or DEB_HOST_ARCH_OS variables."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:193
msgid ""
"In general, calling dpkg in the rules file to get architecture information "
"is deprecated (unless you want to provide backward compatibility, see "
"below).  Especially the --print-architecture option is unreliable since we "
"have Debian architectures which don't equal a processor name."
msgstr ""

#. type: SH
#: dpkg-architecture.1:194
#, no-wrap
msgid "BACKWARD COMPATIBILITY"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:198
msgid ""
"The DEB_*_ARCH_BITS and DEB_*_ARCH_ENDIAN variables were introduced in dpkg-"
"dev 1.15.4. Using them in I<debian/rules> thus requires a build-dependency "
"on dpkg-dev (E<gt>= 1.15.4)."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:203
msgid ""
"The DEB_HOST_ARCH_CPU and DEB_HOST_ARCH_OS variables were introduced in dpkg-"
"dev 1.13.2. Before this I<debian/rules> files tended to check the values of "
"the DEB_HOST_GNU_CPU or DEB_HOST_GNU_TYPE variables which have been subject "
"to change."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:208
msgid ""
"Where I<debian/rules> files check these variables to decide how or what to "
"compile, this should be updated to use the new variables and values.  You "
"may wish to retain backwards compatibility with older version of dpkg-dev by "
"using the following code:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:212
#, no-wrap
msgid ""
"DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU 2E<gt>/dev/null)\n"
"DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS 2E<gt>/dev/null)\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:226
#, no-wrap
msgid ""
"# Take account of old dpkg-architecture output.\n"
"ifeq ($(DEB_HOST_ARCH_CPU),)\n"
"  DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)\n"
"  ifeq ($(DEB_HOST_ARCH_CPU),x86_64)\n"
"    DEB_HOST_ARCH_CPU := amd64\n"
"  endif\n"
"endif\n"
"ifeq ($(DEB_HOST_ARCH_OS),)\n"
"  DEB_HOST_ARCH_OS := $(subst -gnu,,$(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM))\n"
"  ifeq ($(DEB_HOST_ARCH_OS),gnu)\n"
"    DEB_HOST_ARCH_OS := hurd\n"
"  endif\n"
"endif\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:229
msgid "And similarly for DEB_BUILD_ARCH_CPU and DEB_BUILD_ARCH_OS."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:232
msgid ""
"If you still wish to support versions of dpkg-dev that did not include "
"B<dpkg-architecture>, the following does the job:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:242
#, no-wrap
msgid ""
"\\&\\s-1DEB_BUILD_ARCH\\s0 := $(shell dpkg --print-architecture)\n"
"\\&\\s-1DEB_BUILD_GNU_CPU\\s0 := $(patsubst hurd-%,%,$(\\s-1DEB_BUILD_ARCH\\s0))\n"
"ifeq ($(filter-out hurd-%,$(\\s-1DEB_BUILD_ARCH\\s0)),)\n"
"  \\s-1DEB_BUILD_GNU_SYSTEM\\s0 := gnu\n"
"else\n"
"  \\s-1DEB_BUILD_GNU_SYSTEM\\s0 := linux-gnu\n"
"endif\n"
"DEB_BUILD_GNU_TYPE=$(\\s-1DEB_BUILD_GNU_CPU\\s0)-$(\\s-1DEB_BUILD_GNU_SYSTEM\\s0)\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:247
#, no-wrap
msgid ""
"\\&\\s-1DEB_HOST_ARCH\\s0 := $(\\s-1DEB_BUILD_ARCH\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_CPU\\s0 := $(\\s-1DEB_BUILD_GNU_CPU\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_SYSTEM\\s0 := $(\\s-1DEB_BUILD_GNU_SYSTEM\\s0)\n"
"\\&\\s-1DEB_HOST_GNU_TYPE\\s0 := $(\\s-1DEB_BUILD_GNU_TYPE\\s0)\n"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:251
msgid ""
"Put a subset of these lines at the top of your debian/rules file; these "
"default values will be overwritten if dpkg-architecture is used."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:258
msgid ""
"You don't need the full set. Choose a consistent set which contains the "
"values you use in the rules file. For example, if you only need the host "
"Debian architecture, `DEB_HOST_ARCH=\\`dpkg --print-architecture\\`' is "
"sufficient (this is indeed the Debian architecture of the build machine, but "
"remember that we are only trying to be backward compatible with native "
"compilation)."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:261
msgid ""
"The B<-e> and B<-i> options were only introduced in relatively recent "
"versions of B<dpkg-architecture> (since dpkg 1.13.13)."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:265
msgid ""
"B<dpkg-buildpackage> accepts the B<-a> option and passes it to B<dpkg-"
"architecture>. Other examples:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:267
msgid "CC=i386-gnu-gcc dpkg-architecture -c debian/rules build"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:269
#, fuzzy
msgid "eval \\`dpkg-architecture -u\\`"
msgstr "B<dpkg --print-architecture>"

#. type: Plain text
#: dpkg-architecture.1:272
msgid ""
"Check if an architecture is equal to the current architecture or a given one:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:274
msgid "dpkg-architecture -elinux-alpha"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:276
msgid "dpkg-architecture -amips -elinux-mips"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:279
msgid ""
"Check if the current architecture or an architecture provided with -a are "
"Linux systems:"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:281
msgid "dpkg-architecture -ilinux-any"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:283
msgid "dpkg-architecture -ai386 -ilinux-any"
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:288
msgid ""
"All these files have to be present for B<dpkg-architecture> to work. Their "
"location can be overridden at runtime with the environment variable "
"B<DPKG_DATADIR>."
msgstr ""

#. type: TP
#: dpkg-architecture.1:288
#, fuzzy, no-wrap
msgid "I</usr/share/dpkg/cputable>"
msgstr "I</var/lib/dpkg/available>"

#. type: Plain text
#: dpkg-architecture.1:291
msgid "Table of known CPU names and mapping to their GNU name."
msgstr ""

#. type: TP
#: dpkg-architecture.1:291
#, fuzzy, no-wrap
msgid "I</usr/share/dpkg/ostable>"
msgstr "I</var/lib/dpkg/available>"

#. type: Plain text
#: dpkg-architecture.1:294
msgid "Table of known operating system names and mapping to their GNU name."
msgstr ""

#. type: TP
#: dpkg-architecture.1:294
#, fuzzy, no-wrap
msgid "I</usr/share/dpkg/triplettable>"
msgstr "I</var/lib/dpkg/available>"

#. type: Plain text
#: dpkg-architecture.1:298
msgid ""
"Mapping between Debian architecture triplets and Debian architecture names."
msgstr ""

#. type: Plain text
#: dpkg-architecture.1:302
#, fuzzy
msgid "B<dpkg-buildpackage>(1), B<dpkg-cross>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: Plain text
#: dpkg-architecture.1:307
msgid ""
"B<dpkg-architecture> and this man page were initially written by Marcus "
"Brinkmann E<lt>brinkmd@debian.orgE<gt>."
msgstr ""

#. type: TH
#: dpkg.cfg.5:1
#, fuzzy, no-wrap
msgid "dpkg.cfg"
msgstr "dpkg"

#. type: TH
#: dpkg.cfg.5:1
#, fuzzy, no-wrap
msgid "2009-09-05"
msgstr "2006-02-28"

#. type: Plain text
#: dpkg.cfg.5:4
msgid "dpkg.cfg - dpkg configuration file"
msgstr ""

#. type: Plain text
#: dpkg.cfg.5:11
msgid ""
"This file contains default options for dpkg. Each line contains a single "
"option which is exactly the same as a normal command line option for dpkg "
"except for the leading dashes which are not used here. Quotes surrounding "
"option values are stripped. Comments are allowed by starting a line with a "
"hash sign (\"B<#>\")."
msgstr ""

#. type: Plain text
#: dpkg.cfg.5:14
#, fuzzy
#| msgid "I</etc/dpkg/dpkg.cfg>"
msgid "I</etc/dpkg/dpkg.cfg.d/[0-9a-zA-Z_-]*>"
msgstr "I</etc/dpkg/dpkg.cfg>"

#. type: Plain text
#: dpkg.cfg.5:18
#, fuzzy
msgid "I<~/.dpkg.cfg>"
msgstr "I</etc/dpkg/dpkg.cfg>"

#. type: Plain text
#: dpkg.cfg.5:24 dpkg-divert.8:134 dpkg-query.1:222 dpkg-statoverride.8:86
#, fuzzy
msgid "B<dpkg>(1)."
msgstr "B<date>(1)."

#. type: TH
#: dpkg-buildflags.1:1
#, fuzzy, no-wrap
msgid "dpkg-buildflags"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: TH
#: dpkg-buildflags.1:1
#, fuzzy, no-wrap
msgid "2011-09-13"
msgstr "2006-02-28"

#. type: Plain text
#: dpkg-buildflags.1:4
msgid "dpkg-buildflags - returns build flags to use during package build"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:8
#, fuzzy
msgid "B<dpkg-buildflags> [I<option>...] [I<command>]"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-buildflags.1:12
msgid ""
"B<dpkg-buildflags> is a tool to retrieve compilation flags to use during "
"build of Debian packages."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:15
msgid ""
"The default flags are defined by the vendor but they can be extended/"
"overriden in several ways:"
msgstr ""

#. type: IP
#: dpkg-buildflags.1:15
#, no-wrap
msgid "1."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:17
msgid "system-wide with B</etc/dpkg/buildflags.conf>;"
msgstr ""

#. type: IP
#: dpkg-buildflags.1:17
#, no-wrap
msgid "2."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:20
msgid ""
"for the current user with B<$XDG_CONFIG_HOME/dpkg/buildflags.conf> where B<"
"$XDG_CONFIG_HOME> defaults to B<$HOME/.config>;"
msgstr ""

#. type: IP
#: dpkg-buildflags.1:20
#, no-wrap
msgid "3."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:23
msgid ""
"temporarily by the user with environment variables (see section "
"B<ENVIRONMENT>);"
msgstr ""

#. type: IP
#: dpkg-buildflags.1:23
#, no-wrap
msgid "4."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:26
msgid ""
"dynamically by the package maintainer with environment variables set via "
"B<debian/rules> (see section B<ENVIRONMENT>)."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:28
msgid "The configuration files can contain two types of directives:"
msgstr ""

#. type: TP
#: dpkg-buildflags.1:28
#, no-wrap
msgid "B<SET>I< flag value>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:31
msgid "Override the flag named I<flag> to have the value I<value>."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:31
#, no-wrap
msgid "B<STRIP>I< flag value>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:34
msgid ""
"Strip from the flag named I<flag> all the build flags listed in I<value>."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:34
#, no-wrap
msgid "B<APPEND>I< flag value>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:38
msgid ""
"Extend the flag named I<flag> by appending the options given in I<value>.  A "
"space is prepended to the appended value if the flag's current value is non-"
"empty."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:38
#, no-wrap
msgid "B<PREPEND>I< flag value>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:42
msgid ""
"Extend the flag named I<flag> by prepending the options given in I<value>.  "
"A space is appended to the prepended value if the flag's current value is "
"non-empty."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:45
msgid ""
"The configuration files can contain comments on lines starting with a hash "
"(#). Empty lines are also ignored."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:46
#, fuzzy, no-wrap
msgid "B<--dump>"
msgstr "B<--no-debsig>"

#. type: Plain text
#: dpkg-buildflags.1:51
msgid ""
"Print to standard output all compilation flags and their values. It prints "
"one flag per line separated from its value by an equal sign "
"(\"I<flag>=I<value>\"). This is the default action."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:51
#, fuzzy, no-wrap
msgid "B<--list>"
msgstr "B<install>"

#. type: Plain text
#: dpkg-buildflags.1:56
msgid ""
"Print the list of flags supported by the current vendor (one per line). See "
"the B<SUPPORTED FLAGS> section for more information about them."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:56
#, fuzzy, no-wrap
msgid "B<--export=>I<format>"
msgstr "B<-r>|B<--chroot> I<root>"

#. type: Plain text
#: dpkg-buildflags.1:66
msgid ""
"Print to standard output shell (if I<format> is B<sh>) or make (if I<format> "
"is B<make>) commands that can be used to export all the compilation flags in "
"the environment. If I<format> is B<configure> then the output can be used on "
"a B<./configure> command-line. If the I<format> value is not given, B<sh> is "
"assumed. Only compilation flags starting with an upper case character are "
"included, others are assumed to not be suitable for the environment."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:66
#, fuzzy, no-wrap
msgid "B<--get>I< flag>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg-buildflags.1:70
msgid ""
"Print the value of the flag on standard output. Exits with 0 if the flag is "
"known otherwise exits with 1."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:70
#, fuzzy, no-wrap
msgid "B<--origin>I< flag>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg-buildflags.1:75
msgid ""
"Print the origin of the value that is returned by B<--get>. Exits with 0 if "
"the flag is known otherwise exits with 1. The origin can be one of the "
"following values:"
msgstr ""

#. type: TP
#: dpkg-buildflags.1:76
#, fuzzy, no-wrap
msgid "B<vendor>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg-buildflags.1:79
msgid "the original flag set by the vendor is returned;"
msgstr ""

#. type: TP
#: dpkg-buildflags.1:79
#, fuzzy, no-wrap
msgid "B<system>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-buildflags.1:82
msgid "the flag is set/modified by a system-wide configuration;"
msgstr ""

#. type: TP
#: dpkg-buildflags.1:82
#, fuzzy, no-wrap
msgid "B<user>"
msgstr "B<purge>"

#. type: Plain text
#: dpkg-buildflags.1:85
msgid "the flag is set/modified by a user-specific configuration;"
msgstr ""

#. type: TP
#: dpkg-buildflags.1:85
#, fuzzy, no-wrap
msgid "B<env>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg-buildflags.1:88
msgid "the flag is set/modified by an environment-specific configuration."
msgstr ""

#. type: SH
#: dpkg-buildflags.1:96
#, no-wrap
msgid "SUPPORTED FLAGS"
msgstr ""

#. type: TP
#: dpkg-buildflags.1:97
#, fuzzy, no-wrap
msgid "B<CFLAGS>"
msgstr "B<COLUMNS>"

#. type: Plain text
#: dpkg-buildflags.1:103
msgid ""
"Options for the C compiler. The default value set by the vendor includes I<-"
"g> and the default optimization level (I<-O2> usually, or I<-O0> if the "
"B<DEB_BUILD_OPTIONS> environment variable defines I<noopt>)."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:103
#, no-wrap
msgid "B<CPPFLAGS>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:106
msgid "Options for the C preprocessor. Default value: empty."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:106
#, no-wrap
msgid "B<CXXFLAGS>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:109
msgid "Options for the C++ compiler. Same as B<CFLAGS>."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:109
#, no-wrap
msgid "B<FFLAGS>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:112
msgid "Options for the Fortran compiler. Same as B<CFLAGS>."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:112
#, no-wrap
msgid "B<LDFLAGS>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:120
msgid ""
"Options passed to the compiler when linking executables or shared objects "
"(if the linker is called directly, then B<-Wl> and B<,> have to be stripped "
"from these options). Default value: empty."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:122
#, fuzzy, no-wrap
#| msgid "I</etc/dpkg/dpkg.cfg>"
msgid "B</etc/dpkg/buildflags.conf>"
msgstr "I</etc/dpkg/dpkg.cfg>"

#. type: Plain text
#: dpkg-buildflags.1:125
msgid "System wide configuration file."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:125
#, no-wrap
msgid "B<$XDG_CONFIG_HOME/dpkg/buildflags.conf> or B<$HOME/.config/dpkg/buildflags.conf>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:128
msgid "User configuration file."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:135
msgid ""
"There are 2 sets of environment variables doing the same operations, the "
"first one (DEB_I<flag>_I<op>) should never be used within B<debian/rules>. "
"It's meant for any user that wants to rebuild the source package with "
"different build flags. The second set (DEB_I<flag>_MAINT_I<op>) should only "
"be used in B<debian/rules> by package maintainers to change the resulting "
"build flags."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:135
#, no-wrap
msgid "B<DEB_>I<flag>B<_SET>"
msgstr ""

#. type: TQ
#: dpkg-buildflags.1:137
#, no-wrap
msgid "B<DEB_>I<flag>B<_MAINT_SET>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:141
msgid ""
"This variable can be used to force the value returned for the given I<flag>."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:141
#, no-wrap
msgid "B<DEB_>I<flag>B<_STRIP>"
msgstr ""

#. type: TQ
#: dpkg-buildflags.1:143
#, no-wrap
msgid "B<DEB_>I<flag>B<_MAINT_STRIP>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:148
msgid ""
"This variable can be used to provide a space separated list of options that "
"will be stripped from the set of flags returned for the given I<flag>."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:148
#, no-wrap
msgid "B<DEB_>I<flag>B<_APPEND>"
msgstr ""

#. type: TQ
#: dpkg-buildflags.1:150
#, no-wrap
msgid "B<DEB_>I<flag>B<_MAINT_APPEND>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:154
msgid ""
"This variable can be used to append supplementary options to the value "
"returned for the given I<flag>."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:154
#, no-wrap
msgid "B<DEB_>I<flag>B<_PREPEND>"
msgstr ""

#. type: TQ
#: dpkg-buildflags.1:156
#, no-wrap
msgid "B<DEB_>I<flag>B<_MAINT_PREPEND>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:160
msgid ""
"This variable can be used to prepend supplementary options to the value "
"returned for the given I<flag>."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:160
#, no-wrap
msgid "B<DEB_BUILD_MAINT_OPTIONS>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:165
msgid ""
"This variable can be used to disable/enable various hardening build flags "
"through the B<hardening> option. See the B<HARDENING> section for details."
msgstr ""

#. type: SH
#: dpkg-buildflags.1:166
#, fuzzy, no-wrap
#| msgid "WARNING"
msgid "HARDENING"
msgstr "ПРЕДУПРЕЖДЕНИЕ"

#. type: Plain text
#: dpkg-buildflags.1:171
msgid ""
"Several compile-time options (detailed below) can be used to help harden a "
"resulting binary against memory corruption attacks, or provide additional "
"warning messages during compilation. Except as noted below, these are "
"enabled by default for architectures that support them."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:177
msgid ""
"Each hardening feature can be enabled and disabled in the "
"B<DEB_BUILD_MAINT_OPTIONS> environment variable's B<hardening> value with "
"the \"+\" and \"-\" modifier. For example, to enable the \"pie\" feature and "
"disable the \"fortify\" feature you can do this in B<debian/rules>:"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:179
#, no-wrap
msgid "  export DEB_BUILD_MAINT_OPTIONS=hardening=+pie,-fortify\n"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:183
msgid ""
"The special feature B<all> can be used to enable or disable all hardening "
"features at the same time. Thus disabling everything and enabling only "
"\"format\" and \"fortify\" can be achieved with:"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:185
#, no-wrap
msgid "  export DEB_BUILD_MAINT_OPTIONS=hardening=-all,+format,+fortify\n"
msgstr ""

#. type: TP
#: dpkg-buildflags.1:186
#, fuzzy, no-wrap
msgid "B<format>"
msgstr "B<--abort-after=>I<число>"

#. type: Plain text
#: dpkg-buildflags.1:198
msgid ""
"This setting (enabled by default) adds B<-Wformat -Wformat-security -"
"Werror=format-security> to B<CFLAGS> and B<CXXFLAGS>. This will warn about "
"improper format string uses, and will fail when format functions are used in "
"a way that that represent possible security problems. At present, this warns "
"about calls to B<printf> and B<scanf> functions where the format string is "
"not a string literal and there are no format arguments, as in B<printf(foo);"
"> instead of B<printf(\"%s\", foo);> This may be a security hole if the "
"format string came from untrusted input and contains \"%n\"."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:199
#, no-wrap
msgid "B<fortify>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:210
msgid ""
"This setting (enabled by default) adds B<-D_FORTIFY_SOURCE=2> to B<CFLAGS> "
"and B<CXXFLAGS>. During code generation the compiler knows a great deal of "
"information about buffer sizes (where possible), and attempts to replace "
"insecure unlimited length buffer function calls with length-limited ones. "
"This is especially useful for old, crufty code.  Additionally, format "
"strings in writable memory that contain '%n' are blocked. If an application "
"depends on such a format string, it will need to be worked around."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:213
msgid ""
"Note that for this option to have any effect, the source must also be "
"compiled with B<-O1> or higher."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:213
#, no-wrap
msgid "B<stackprotector>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:222
msgid ""
"This setting (enabled by default) adds B<-fstack-protector --param=ssp-"
"buffer-size=4> to B<CFLAGS> and B<CXXFLAGS>. This adds safety checks against "
"stack overwrites. This renders many potential code injection attacks into "
"aborting situations. In the best case this turns code injection "
"vulnerabilities into denial of service or into non-issues (depending on the "
"application)."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:226
msgid ""
"This feature requires linking against glibc (or another provider of "
"B<__stack_chk_fail>), so needs to be disabled when building with B<-"
"nostdlib> or B<-ffreestanding> or similar."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:227
#, fuzzy, no-wrap
#| msgid "B<purge>"
msgid "B<relro>"
msgstr "B<purge>"

#. type: Plain text
#: dpkg-buildflags.1:235
msgid ""
"This setting (enabled by default) adds B<-Wl,-z,relro> to B<LDFLAGS>.  "
"During program load, several ELF memory sections need to be written to by "
"the linker. This flags the loader to turn these sections read-only before "
"turning over control to the program. Most notably this prevents GOT "
"overwrite attacks."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:236
#, no-wrap
msgid "B<bindnow>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:243
msgid ""
"This setting (disabled by default) adds B<-Wl,-z,now> to B<LDFLAGS>. During "
"program load, all dynamic symbols are resolved, allowing for the entire PLT "
"to be marked read-only (due to B<relro> above)."
msgstr ""

#. type: TP
#: dpkg-buildflags.1:244
#, no-wrap
msgid "B<pie>"
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:256
msgid ""
"This setting (disabled by default) adds B<-fPIE> to B<CFLAGS> and "
"B<CXXFLAGS>, and B<-fPIE -pie> to B<LDFLAGS>. Position Independent "
"Executable are needed to take advantage of Address Space Layout "
"Randomization, supported by some kernel versions. While ASLR can already be "
"enforced for data areas in the stack and heap (brk and mmap), the code areas "
"must be compiled as position-independent. Shared libraries already do this (-"
"fPIC), so they gain ASLR automatically, but binary .text regions need to be "
"build PIE to gain ASLR. When this happens, ROP (Return Oriented Programming) "
"attacks are much harder since there are no static locations to bounce off of "
"during a memory corruption attack."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:259
msgid ""
"This is not compatible with B<-fPIC> so care must be taken when building "
"shared objects."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:265
msgid ""
"Additionally, since PIE is implemented via a general register, some "
"architectures (most notably i386) can see performance losses of up to 15% in "
"very text-segment-heavy application workloads; most workloads see less than "
"1%. Architectures with more general registers (e.g. amd64)  do not see as "
"high a worst-case penalty."
msgstr ""

#. type: Plain text
#: dpkg-buildflags.1:268
#, fuzzy
msgid "Copyright \\(co 2010-2011 Rapha\\[:e]l Hertzog"
msgstr "Copyright 2001 Joey Hess"

#. type: Plain text
#: dpkg-buildflags.1:270
#, fuzzy
msgid "Copyright \\(co 2011 Kees Cook"
msgstr "Copyright 2001 Joey Hess"

#. type: TH
#: dpkg-buildpackage.1:1
#, fuzzy, no-wrap
msgid "dpkg-buildpackage"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-buildpackage.1:4
msgid "dpkg-buildpackage - build binary or source packages from sources"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:8
#, fuzzy
msgid "B<dpkg-buildpackage> [I<option>...]"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-buildpackage.1:13
msgid ""
"B<dpkg-buildpackage> is a program that automates the process of building a "
"Debian package. It consists of the following steps:"
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:13
#, fuzzy, no-wrap
msgid "B<1.>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg-buildpackage.1:17
msgid ""
"It prepares the build environment by setting various environment variables "
"(see B<ENVIRONMENT>) and calls B<dpkg-source --before-build> (unless B<-T> "
"or B<--target> has been used)."
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:17
#, fuzzy, no-wrap
msgid "B<2.>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg-buildpackage.1:20
#, fuzzy
msgid ""
"It checks that the build-dependencies and build-conflicts are satisfied "
"(unless B<-d> is specified)."
msgstr "dpkg-checkbuilddeps -- проверяет сборочные зависимости и конфликты"

#. type: IP
#: dpkg-buildpackage.1:20
#, fuzzy, no-wrap
msgid "B<3.>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg-buildpackage.1:25
msgid ""
"If a specific target has been selected with the B<-T> or B<--target> option, "
"it calls that target and stops here. Otherwise it calls B<fakeroot debian/"
"rules clean> to clean the build-tree (unless B<-nc> is specified)."
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:25
#, fuzzy, no-wrap
msgid "B<4.>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg-buildpackage.1:29
msgid ""
"It calls B<dpkg-source -b> to generate the source package (unless a binary-"
"only build has been requested with B<-b>, B<-B> or B<-A>)."
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:29
#, fuzzy, no-wrap
msgid "B<5.>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg-buildpackage.1:36
msgid ""
"It calls B<debian/rules> B<build> followed by B<fakeroot debian/rules> "
"I<binary-target> (unless a source-only build has been requested with B<-S>). "
"Note that I<binary-target> is either B<binary> (default case, or if B<-b> is "
"specified)  or B<binary-arch> (if B<-B> is specified) or B<binary-indep> (if "
"B<-A> is specified)."
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:36
#, fuzzy, no-wrap
msgid "B<6.>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg-buildpackage.1:39
msgid ""
"It calls B<gpg> to sign the B<.dsc> file (if any, unless B<-us> is "
"specified)."
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:39
#, fuzzy, no-wrap
msgid "B<7.>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg-buildpackage.1:43
msgid ""
"It calls B<dpkg-genchanges> to generate a B<.changes> file.  Many B<dpkg-"
"buildpackage> options are forwarded to B<dpkg-genchanges>."
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:43
#, fuzzy, no-wrap
msgid "B<8.>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg-buildpackage.1:46
msgid ""
"It calls B<gpg> to sign the B<.changes> file (unless B<-uc> is specified)."
msgstr ""

#. type: IP
#: dpkg-buildpackage.1:46
#, fuzzy, no-wrap
msgid "B<9.>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg-buildpackage.1:49
msgid ""
"If B<-tc> is specified, it will call B<fakeroot debian/rules clean> again. "
"Finally it calls B<dpkg-source --after-build>."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:51
#, fuzzy, no-wrap
msgid "B<-b>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-buildpackage.1:55
msgid ""
"Specifies a binary-only build, no source files are to be built and/or "
"distributed. Passed to B<dpkg-genchanges>."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:55 dpkg-checkbuilddeps.1:23
#, no-wrap
msgid "B<-B>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-buildpackage.1:59
msgid ""
"Specifies a binary-only build, limited to architecture dependent packages.  "
"Passed to B<dpkg-genchanges>."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:59
#, fuzzy, no-wrap
msgid "B<-A>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg-buildpackage.1:63
msgid ""
"Specifies a binary-only build, limited to architecture independent packages. "
"Passed to B<dpkg-genchanges>."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:63 dpkg-genchanges.1:27
#, fuzzy, no-wrap
msgid "B<-S>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg-buildpackage.1:67
msgid ""
"Specifies a source-only build, no binary packages need to be made.  Passed "
"to B<dpkg-genchanges>."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:67
#, no-wrap
msgid "B<-F>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:71
msgid ""
"Specifies a normal full build, binary and source packages will be built.  "
"This is the same as the default case when no build option is specified."
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:73
#, fuzzy
msgid "B<--target=>I<target>"
msgstr "B<--abort-after=>I<число>"

#. type: Plain text
#: dpkg-buildpackage.1:75
#, fuzzy
msgid "B<--target >I<target>"
msgstr "B<--abort-after=>I<число>"

#. type: Plain text
#: dpkg-buildpackage.1:77
#, fuzzy
msgid "B<-T>I<target>"
msgstr "B<-t>|B<--test>"

#. type: Plain text
#: dpkg-buildpackage.1:83
msgid ""
"Calls B<debian/rules> I<target> after having setup the build environment and "
"stops the package build process here. If B<--as-root> is also given, then "
"the command is executed as root (see B<-r>). Note that official targets that "
"are required to be run as root by the Debian policy do not need this option."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:84
#, fuzzy, no-wrap
msgid "B<--as-root>"
msgstr "B<-t>|B<--test>"

#. type: Plain text
#: dpkg-buildpackage.1:88
msgid ""
"Only meaningful together with B<--target>. Requires that the target be run "
"with root rights."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:90 dpkg-genchanges.1:36
#, fuzzy, no-wrap
msgid "B<-si>"
msgstr "B<-B>"

#. type: TP
#: dpkg-buildpackage.1:92 dpkg-genchanges.1:42
#, fuzzy, no-wrap
msgid "B<-sa>"
msgstr "B<-B>"

#. type: TP
#: dpkg-buildpackage.1:94 dpkg-genchanges.1:45
#, fuzzy, no-wrap
msgid "B<-sd>"
msgstr "B<-B>"

#. type: TP
#: dpkg-buildpackage.1:96 dpkg-genchanges.1:49 dpkg-gencontrol.1:38
#: dpkg-gensymbols.1:377
#, fuzzy, no-wrap
msgid "B<-v>I<version>"
msgstr "B<-V>|B<--version>"

#. type: TP
#: dpkg-buildpackage.1:98 dpkg-genchanges.1:54
#, fuzzy, no-wrap
msgid "B<-C>I<changesdescription>"
msgstr "B< >E<lt>длинное описаниеE<gt>"

#. type: TP
#: dpkg-buildpackage.1:100 dpkg-genchanges.1:60
#, no-wrap
msgid "B<-m>I<maintaineraddress>"
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:102 dpkg-genchanges.1:66
#, no-wrap
msgid "B<-e>I<maintaineraddress>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:104
msgid "Passed unchanged to B<dpkg-genchanges>. See its manual page."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:105
#, fuzzy, no-wrap
msgid "B<-a>I<architecture>"
msgstr "B<dpkg --print-architecture>"

#. type: Plain text
#: dpkg-buildpackage.1:110
msgid ""
"Specify the Debian architecture we build for. The architecture of the "
"machine we build on is determined automatically, and is also the default for "
"the host machine."
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:115
msgid ""
"Specify the GNU system type we build for. It can be used in place of -a or "
"as a complement to override the default GNU system type of the target Debian "
"architecture."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:115
#, fuzzy, no-wrap
msgid "B<-j>I<jobs>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg-buildpackage.1:126
msgid ""
"Number of jobs allowed to be run simultaneously, equivalent to the B<make>"
"(1)  option of the same name. Will add itself to the MAKEFLAGS environment "
"variable, which should cause all subsequent make invocations to inherit the "
"option. Also adds B<parallel=>I<jobs> to the DEB_BUILD_OPTIONS environment "
"variable which allows debian/rules files to use this information for their "
"own purposes.  The B<parallel=>I<jobs> in DEB_BUILD_OPTIONS environment "
"variable will override the B<-j> value if this option is given."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:126
#, fuzzy, no-wrap
msgid "B<-D>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-buildpackage.1:130
#, fuzzy
msgid ""
"Check build dependencies and conflicts; abort if unsatisfied. This is the "
"default behavior."
msgstr "dpkg-checkbuilddeps -- проверяет сборочные зависимости и конфликты"

#. type: TP
#: dpkg-buildpackage.1:130 dpkg-gensymbols.1:432
#, fuzzy, no-wrap
msgid "B<-d>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-buildpackage.1:133
#, fuzzy
msgid "Do not check build dependencies and conflicts."
msgstr "dpkg-checkbuilddeps -- проверяет сборочные зависимости и конфликты"

#. type: TP
#: dpkg-buildpackage.1:133
#, fuzzy, no-wrap
msgid "B<-nc>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-buildpackage.1:137
msgid ""
"Do not clean the source tree (implies B<-b> if nothing else has been "
"selected among B<-B>, B<-A> or B<-S>)."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:137
#, fuzzy, no-wrap
msgid "B<-tc>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-buildpackage.1:143
msgid ""
"Clean the source tree (using I<gain-root-command> B<debian/rules clean>)  "
"after the package has been built."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:143
#, no-wrap
msgid "B<-r>I<gain-root-command>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:167
msgid ""
"When B<dpkg-buildpackage> needs to execute part of the build process as "
"root, it prefixes the command it executes with I<gain-root-command> if one "
"has been specified. Otherwise, if none has been specified, B<fakeroot> will "
"be used by default, if the command is present.  I<gain-root-command> should "
"start with the name of a program on the B<PATH> and will get as arguments "
"the name of the real command to run and the arguments it should take.  "
"I<gain-root-command> can include parameters (they must be space-separated) "
"but no shell metacharacters.  I<gain-root-command> might typically be "
"B<fakeroot>, B<sudo>, B<super> or B<really>.  B<su> is not suitable, since "
"it can only invoke the user's shell with B<-c> instead of passing arguments "
"individually to the command to be run."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:167
#, fuzzy, no-wrap
msgid "B<-R>I<rules-file>"
msgstr "I<control>"

#. type: Plain text
#: dpkg-buildpackage.1:178
msgid ""
"Building a Debian package usually involves invoking B<debian/rules> as a "
"command with several standard parameters. With this option it's possible to "
"use another program invocation to build the package (it can include space "
"separated parameters).  Alternatively it can be used to execute the standard "
"rules file with another make program (for example by using B</usr/local/bin/"
"make -f debian/rules> as I<rules-file>)."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:178
#, no-wrap
msgid "B<-p>I<sign-command>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:188
msgid ""
"When B<dpkg-buildpackage> needs to execute GPG or PGP to sign a source "
"control (B<.dsc>) file or a B<.changes> file it will run I<sign-command> "
"(searching the B<PATH> if necessary) instead of B<gpg>. I<sign-command> will "
"get all the arguments that B<pgp> would have gotten. If I<sign-command> "
"takes its arguments in GPG rather than PGP style, you should give the B<-"
"sgpg> option. I<sign-command> should not contain spaces or any other shell "
"metacharacters."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:188
#, no-wrap
msgid "B<-k>I<key-id>"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:191
msgid "Specify a key-ID to use when signing packages."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:191
#, fuzzy, no-wrap
msgid "B<-us>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-buildpackage.1:194
msgid "Do not sign the source package."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:194
#, fuzzy, no-wrap
msgid "B<-uc>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-buildpackage.1:197
msgid "Do not sign the B<.changes> file."
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:199
msgid "B<-i>[I<regexp>]"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:201
#, fuzzy
msgid "B<-I>I<[pattern]>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg-buildpackage.1:203
msgid "B<-s>[B<nsAkurKUR>]"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:205
#, fuzzy
msgid "B<-z>, B<-Z>"
msgstr "B<-t>|B<--test>"

#. type: Plain text
#: dpkg-buildpackage.1:208
msgid "Passed unchanged to B<dpkg-source>. See its manual page."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:209
#, fuzzy, no-wrap
msgid "B<--source-option=>I<opt>"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-buildpackage.1:212
msgid "Pass option I<opt> to B<dpkg-source>."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:212
#, fuzzy, no-wrap
msgid "B<--changes-option=>I<opt>"
msgstr "B< >E<lt>длинное описаниеE<gt>"

#. type: Plain text
#: dpkg-buildpackage.1:215
msgid "Pass option I<opt> to B<dpkg-genchanges>."
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:219
#, fuzzy
msgid "B<--admindir >I<dir>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg-buildpackage.1:222 dpkg-checkbuilddeps.1:23 dpkg-query.1:122
#: dpkg-shlibdeps.1:215 dpkg-trigger.1:43
msgid ""
"Change the location of the B<dpkg> database. The default location is I</var/"
"lib/dpkg>."
msgstr ""

#. type: TP
#: dpkg-buildpackage.1:223 dpkg-checkbuilddeps.1:33 dpkg-distaddfile.1:32
#: dpkg-deb.1:172 dpkg-genchanges.1:131 dpkg-gencontrol.1:121
#: dpkg-gensymbols.1:443 dpkg-name.1:58 dpkg-parsechangelog.1:33
#: dpkg-query.1:110 dpkg-scanpackages.1:96 dpkg-shlibdeps.1:215
#: dpkg-source.1:96 dpkg-split.1:126 dpkg-trigger.1:31
#, fuzzy, no-wrap
msgid "B<-h>, B<--help>"
msgstr "B<-H>|B<--help>"

#. type: Plain text
#: dpkg-buildpackage.1:234
msgid ""
"Even if B<dpkg-buildpackage> exports some variables, B<debian/rules> should "
"not rely on their presence and should instead use the respective interface "
"to retrieve the needed values."
msgstr ""

#. type: SS
#: dpkg-buildpackage.1:234
#, fuzzy, no-wrap
msgid "Variables set by dpkg-architecture"
msgstr "B<dpkg --print-architecture>"

#. type: Plain text
#: dpkg-buildpackage.1:238
msgid ""
"B<dpkg-architecture> is called with the B<-a> and B<-t> parameters "
"forwarded. Any variable that is output by its B<-s> option is integrated in "
"the build environment."
msgstr ""

#. type: SS
#: dpkg-buildpackage.1:238
#, no-wrap
msgid "Compiler flags are no longer exported"
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:243
msgid ""
"Between versions 1.14.17 and 1.16.1, B<dpkg-buildpackage> exported compiler "
"flags (B<CFLAGS>, B<CXXFLAGS>, B<FFLAGS>, B<CPPFLAGS> and B<LDFLAGS>) with "
"values as returned by B<dpkg-buildflags>. This is no longer the case."
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:248
msgid ""
"It should be possible to specify spaces and shell metacharacters in and "
"initial arguments for I<gain-root-command> and I<sign-command>."
msgstr ""

#. type: Plain text
#: dpkg-buildpackage.1:256
#, fuzzy
msgid ""
"B<dpkg-source>(1), B<dpkg-architecture>(1), B<dpkg-buildflags>(1), B<dpkg-"
"genchanges>(1), B<fakeroot>(1), B<gpg>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: Plain text
#: dpkg-buildpackage.1:265
#, fuzzy
msgid "Copyright \\(co 2008-2010 Rapha\\[:e]l Hertzog"
msgstr "Copyright 2001 Joey Hess"

#. type: TH
#: dpkg-checkbuilddeps.1:1
#, no-wrap
msgid "dpkg-checkbuilddeps"
msgstr "dpkg-checkbuilddeps"

#. type: Plain text
#: dpkg-checkbuilddeps.1:4
msgid "dpkg-checkbuilddeps - check build dependencies and conflicts"
msgstr "dpkg-checkbuilddeps -- проверяет сборочные зависимости и конфликты"

#. type: Plain text
#: dpkg-checkbuilddeps.1:9
#, fuzzy
msgid "B<dpkg-checkbuilddeps> [I<option>...] [I<control-file>]"
msgstr "B<dpkg-checkbuilddeps> -B<-B> [I<файл control>]"

#. type: Plain text
#: dpkg-checkbuilddeps.1:14
msgid ""
"This program checks the installed packages in the system against the build "
"dependencies and build conflicts listed in the control file. If any are not "
"met, it displays them and exits with a nonzero return code."
msgstr ""
"Эта программа проверяет установленные в системе пакеты на предмет сборочных "
"зависимостей и конфликтов, описанных в файле control. Если какие-то из этих "
"зависимостей или конфликтов не удовлетворены, то об этом сообщается и работа "
"завершается с ненулевым кодом возврата."

#. type: Plain text
#: dpkg-checkbuilddeps.1:17
#, fuzzy
#| msgid ""
#| "By default, I<debian/control> is read, but an alternate control filename "
#| "may be specified on the command line."
msgid ""
"By default, B<debian/control> is read, but an alternate control filename may "
"be specified on the command line."
msgstr ""
"По умолчанию читается I<debian/control>, но в командной строке можно задать "
"другое имя файла control."

#. type: Plain text
#: dpkg-checkbuilddeps.1:27
msgid ""
"Ignore I<Build-Depends-Indep> lines. Use when no arch-indep packages will be "
"built."
msgstr ""
"Игнорировать строки I<Build-Depends-Indep>. Используется, если пакеты, "
"независящие от архитектуры не собираются."

#. type: TP
#: dpkg-checkbuilddeps.1:27
#, no-wrap
msgid "B<-d >I<build-depends-string>"
msgstr ""

#. type: TP
#: dpkg-checkbuilddeps.1:29
#, no-wrap
msgid "B<-c >I<build-conflicts-string>"
msgstr ""

#. type: Plain text
#: dpkg-checkbuilddeps.1:33
msgid ""
"Use the given build dependencies/conflicts instead of those contained in the "
"I<debian/control> file."
msgstr ""

#. type: Plain text
#: dpkg-checkbuilddeps.1:42
#, fuzzy
msgid "Copyright \\(co 2001 Joey Hess"
msgstr "Copyright 2001 Joey Hess"

#. type: TH
#: dpkg-distaddfile.1:1
#, no-wrap
msgid "dpkg-distaddfile"
msgstr ""

#. type: Plain text
#: dpkg-distaddfile.1:4
msgid "dpkg-distaddfile - add entries to debian/files"
msgstr ""

#. type: Plain text
#: dpkg-distaddfile.1:8
#, fuzzy
msgid "B<dpkg-distaddfile> [I<option>...]I< filename section priority>"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-distaddfile.1:13
msgid "B<dpkg-distaddfile> adds an entry for a named file to B<debian/files>."
msgstr ""

#. type: Plain text
#: dpkg-distaddfile.1:18
msgid ""
"It takes three non-option arguments, the filename and the section and "
"priority for the B<.changes> file."
msgstr ""

#. type: Plain text
#: dpkg-distaddfile.1:26
msgid ""
"The filename should be specified relative to the directory where B<dpkg-"
"genchanges> will expect to find the files, usually B<..>, rather than being "
"a pathname relative to the current directory when B<dpkg-distaddfile> is run."
msgstr ""

#. type: TP
#: dpkg-distaddfile.1:28 dpkg-genchanges.1:103 dpkg-gencontrol.1:69
#, no-wrap
msgid "B<-f>I<fileslistfile>"
msgstr ""

#. type: Plain text
#: dpkg-distaddfile.1:32 dpkg-gencontrol.1:73
msgid ""
"Read or write the list of files to be uploaded here, rather than using "
"B<debian/files>."
msgstr ""

#. type: TP
#: dpkg-distaddfile.1:40 dpkg-genchanges.1:139 dpkg-gencontrol.1:134
#, fuzzy, no-wrap
msgid "B<debian/files>"
msgstr "B<config-files>"

#. type: Plain text
#: dpkg-distaddfile.1:46
msgid ""
"The list of generated files which are part of the upload being prepared.  "
"B<dpkg-distaddfile> can be used to add additional files."
msgstr ""

#. type: TH
#: dpkg-deb.1:1
#, fuzzy, no-wrap
msgid "dpkg-deb"
msgstr "dpkg"

#. type: Plain text
#: dpkg-deb.1:4
msgid "dpkg-deb - Debian package archive (.deb) manipulation tool"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:8
#, fuzzy
msgid "B<dpkg-deb> [I<option>...] I<command>"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-deb.1:12
#, fuzzy
msgid ""
"B<dpkg-deb> packs, unpacks and provides information about Debian archives."
msgstr ""
"Смотрите B<dpkg-deb>(1) для более подробной информации о нижеследующих "
"действиях."

#. type: Plain text
#: dpkg-deb.1:16
msgid "Use B<dpkg> to install and remove packages from your system."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:26
msgid ""
"You can also invoke B<dpkg-deb> by calling B<dpkg> with whatever options you "
"want to pass to B<dpkg-deb>. B<dpkg> will spot that you wanted B<dpkg-deb> "
"and run it for you."
msgstr ""

#. type: TP
#: dpkg-deb.1:28
#, no-wrap
msgid "B<-b>, B<--build> I<directory> [I<archive>|I<directory>]"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:40
msgid ""
"Creates a debian archive from the filesystem tree stored in I<directory>. "
"I<directory> must have a B<DEBIAN> subdirectory, which contains the control "
"information files such as the control file itself. This directory will "
"I<not> appear in the binary package's filesystem archive, but instead the "
"files in it will be put in the binary package's control information area."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:52
msgid ""
"Unless you specify B<--nocheck>, B<dpkg-deb> will read B<DEBIAN/control> and "
"parse it. It will check it for syntax errors and other problems, and display "
"the name of the binary package being built.  B<dpkg-deb> will also check the "
"permissions of the maintainer scripts and other files found in the B<DEBIAN> "
"control information directory."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:59
msgid ""
"If no I<archive> is specified then B<dpkg-deb> will write the package into "
"the file I<directory>B<.deb>."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:61
msgid "If the archive to be created already exists it will be overwritten."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:77
msgid ""
"If the second argument is a directory then B<dpkg-deb> will write to the "
"file I<package>B<_>I<version>B<_>I<arch>B<.deb>, or "
"I<package>B<_>I<version>B<.deb> if no B<Architecture> field is present in "
"the package control file. When a target directory is specified, rather than "
"a file, the B<--nocheck> option may not be used (since B<dpkg-deb> needs to "
"read and parse the package control file to determine which filename to use)."
msgstr ""

#. type: TP
#: dpkg-deb.1:77
#, fuzzy, no-wrap
msgid "B<-I>, B<--info> I<archive> [I<control-file-name>...]"
msgstr "B<dpkg-checkbuilddeps> -B<-B> [I<файл control>]"

#. type: Plain text
#: dpkg-deb.1:80
#, fuzzy
msgid "Provides information about a binary package archive."
msgstr "Очистить имеющуюся информацию о том, какие пакеты доступны."

#. type: Plain text
#: dpkg-deb.1:85
msgid ""
"If no I<control-file-name>s are specified then it will print a summary of "
"the contents of the package as well as its control file."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:93
msgid ""
"If any I<control-file-name>s are specified then B<dpkg-deb> will print them "
"in the order they were specified; if any of the components weren't present "
"it will print an error message to stderr about each one and exit with status "
"2."
msgstr ""

#. type: TP
#: dpkg-deb.1:93
#, fuzzy, no-wrap
msgid "B<-W>, B<--show> I<archive>"
msgstr "B<-d>|B<--chdir> I<путь>"

#. type: Plain text
#: dpkg-deb.1:100
msgid ""
"Provides information about a binary package archive in the format specified "
"by the B<--showformat> argument. The default format displays the package's "
"name and version on one line, separated by a tabulator."
msgstr ""

#. type: TP
#: dpkg-deb.1:100
#, fuzzy, no-wrap
msgid "B<-f>, B<--field> I<archive> [I<control-field-name>...]"
msgstr "B<dpkg-checkbuilddeps> -B<-B> [I<файл control>]"

#. type: Plain text
#: dpkg-deb.1:103
#, fuzzy
msgid "Extracts control file information from a binary package archive."
msgstr "B<1.> Извлечение управляющих файлов нового пакета."

#. type: Plain text
#: dpkg-deb.1:107
msgid ""
"If no B<control-file-field>s are specified then it will print the whole "
"control file."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:116
msgid ""
"If any are specified then B<dpkg-deb> will print their contents, in the "
"order in which they appear in the control file. If more than one B<control-"
"file-field> is specified then B<dpkg-deb> will precede each with its field "
"name (and a colon and space)."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:118
msgid "No errors are reported for fields requested but not found."
msgstr ""

#. type: TP
#: dpkg-deb.1:118
#, fuzzy, no-wrap
msgid "B<-c>, B<--contents> I<archive>"
msgstr "B<--new> | B<--old>"

#. type: Plain text
#: dpkg-deb.1:124
msgid ""
"Lists the contents of the filesystem tree archive portion of the package "
"archive. It is currently produced in the format generated by B<tar>'s "
"verbose listing."
msgstr ""

#. type: TP
#: dpkg-deb.1:124
#, fuzzy, no-wrap
msgid "B<-x>, B<--extract> I<archive directory>"
msgstr "B<-x>|B<--exec> I<исполняемый_файл>"

#. type: Plain text
#: dpkg-deb.1:128
msgid ""
"Extracts the filesystem tree from a package archive into the specified "
"directory."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:134
msgid ""
"Note that extracting a package to the root directory will I<not> result in a "
"correct installation! Use B<dpkg> to install packages."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:138
msgid ""
"I<directory> (but not its parents) will be created if necessary, and its "
"permissions modified to match the contents of the package."
msgstr ""

#. type: TP
#: dpkg-deb.1:138
#, no-wrap
msgid "B<-X>, B<--vextract> I<archive directory>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:145
msgid ""
"Is like B<--extract> (B<-x>)  with B<--verbose> (B<-v>)  which prints a "
"listing of the files extracted as it goes."
msgstr ""

#. type: TP
#: dpkg-deb.1:145
#, fuzzy, no-wrap
msgid "B<-R>, B<--raw-extract> I<archive directory>"
msgstr "B<-x>|B<--exec> I<исполняемый_файл>"

#. type: Plain text
#: dpkg-deb.1:150
msgid ""
"Extracts the filesystem tree from a package archive into a specified "
"directory, and the control information files into a DEBIAN subdirectory of "
"the specified directory."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:152 dpkg-deb.1:172
msgid ""
"The target directory (but not its parents) will be created if necessary."
msgstr ""

#. type: TP
#: dpkg-deb.1:152
#, no-wrap
msgid "B<--fsys-tarfile> I<archive>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:161
msgid ""
"Extracts the filesystem tree data from a binary package and sends it to "
"standard output in B<tar> format. Together with B<tar>(1)  this can be used "
"to extract a particular file from a package archive.  The input archive will "
"always be processed sequentially."
msgstr ""

#. type: TP
#: dpkg-deb.1:161
#, fuzzy, no-wrap
msgid "B<-e>, B<--control> I<archive> [I<directory>]"
msgstr "B<-x>|B<--exec> I<исполняемый_файл>"

#. type: Plain text
#: dpkg-deb.1:165
msgid ""
"Extracts the control information files from a package archive into the "
"specified directory."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:169
msgid ""
"If no directory is specified then a subdirectory B<DEBIAN> in the current "
"directory is used."
msgstr ""

#. type: TP
#: dpkg-deb.1:180
#, no-wrap
msgid "B<--showformat=>I<format>"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:185 dpkg-query.1:127
msgid ""
"This option is used to specify the format of the output B<--show> will "
"produce. The format is a string that will be output for each package listed."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:194
msgid ""
"The string may reference any status field using the \"${I<field-name>}\" "
"form, a list of the valid fields can be easily produced using B<-I> on the "
"same package. A complete explanation of the formatting options (including "
"escape sequences and field tabbing) can be found in the explanation of the "
"B<--showformat> option in B<dpkg-query>(1)."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:196
msgid "The default for this field is \"${Package}\\et${Version}\\en\"."
msgstr ""

#. type: TP
#: dpkg-deb.1:196
#, fuzzy, no-wrap
msgid "B<-z>I<compress-level>"
msgstr "B<-t>|B<--test>"

#. type: Plain text
#: dpkg-deb.1:200
msgid ""
"Specify which compression level to use on the compressor backend, when "
"building a package (default is 9 for gzip and bzip2, 6 for xz and lzma)."
msgstr ""

#. type: TP
#: dpkg-deb.1:200
#, fuzzy, no-wrap
msgid "B<-Z>I<compress-type>"
msgstr "B<-t>|B<--test>"

#. type: Plain text
#: dpkg-deb.1:205
msgid ""
"Specify which compression type to use when building a package. Allowed "
"values are I<gzip>, I<xz>, I<bzip2>, I<lzma>, and I<none> (default is "
"I<gzip>)."
msgstr ""

#. type: TP
#: dpkg-deb.1:205
#, fuzzy, no-wrap
msgid "B<--new>"
msgstr "B<--nocheck>"

#. type: Plain text
#: dpkg-deb.1:210
msgid ""
"Ensures that B<dpkg-deb> builds a `new' format archive. This is the default."
msgstr ""

#. type: TP
#: dpkg-deb.1:210
#, fuzzy, no-wrap
msgid "B<--old>"
msgstr "B<hold>"

#. type: Plain text
#: dpkg-deb.1:218
msgid ""
"Forces B<dpkg-deb> to build an `old' format archive. This old archive format "
"is less easily parsed by non-Debian tools and is now obsolete; its only use "
"is when building packages to be parsed by versions of dpkg older than "
"0.93.76 (September 1995), which was released as i386 a.out only."
msgstr ""

#. type: TP
#: dpkg-deb.1:218
#, no-wrap
msgid "B<--nocheck>"
msgstr "B<--nocheck>"

#. type: Plain text
#: dpkg-deb.1:224
msgid ""
"Inhibits B<dpkg-deb --build>'s usual checks on the proposed contents of an "
"archive. You can build any archive you want, no matter how broken, this way."
msgstr ""

#. type: TP
#: dpkg-deb.1:224 start-stop-daemon.8:255
#, fuzzy, no-wrap
msgid "B<-v>, B<--verbose>"
msgstr "B<-v>|B<--verbose>"

#. type: Plain text
#: dpkg-deb.1:228
msgid ""
"Enables verbose output. This currently only affects B<--extract> making it "
"behave like B<--vextract>."
msgstr ""

#. type: TP
#: dpkg-deb.1:228
#, fuzzy, no-wrap
msgid "B<-D>, B<--debug>"
msgstr "B<--no-debsig>"

#. type: Plain text
#: dpkg-deb.1:231
msgid "Enables debugging output. This is not very interesting."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:237
msgid ""
"If set, B<dpkg-deb> will use it as the directory in which to create "
"temporary files and directories."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:243
msgid ""
"B<dpkg-deb -I> I<package1>B<.deb> I<package2>B<.deb> does the wrong thing."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:251
msgid ""
"There is no authentication on B<.deb> files; in fact, there isn't even a "
"straightforward checksum.  (Higher level tools like APT support "
"authenticating B<.deb> packages retrieved from a given repository, and most "
"packages nowadays provide an md5sum control file generated by debian/rules. "
"Though this is not directly supported by the lower level tools.)"
msgstr ""

#. type: Plain text
#: dpkg-deb.1:258
msgid ""
"Do not attempt to use just B<dpkg-deb> to install software! You must use "
"B<dpkg> proper to ensure that all the files are correctly placed and the "
"package's scripts run and its status and contents recorded."
msgstr ""

#. type: Plain text
#: dpkg-deb.1:264
#, fuzzy
msgid "B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dselect>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: TH
#: dpkg-divert.8:1
#, no-wrap
msgid "dpkg-divert"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:4
msgid "dpkg-divert - override a package's version of a file"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:9
#, fuzzy
msgid "B<dpkg-divert> [I<option>...] I<command>"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-divert.8:13
msgid ""
"B<dpkg-divert> is the utility used to set up and update the list of "
"diversions."
msgstr ""

#. type: Plain text
#: dpkg-divert.8:23
msgid ""
"File I<diversions> are a way of forcing B<dpkg>(1)  not to install a file "
"into its location, but to a I<diverted> location. Diversions can be used "
"through the Debian package scripts to move a file away when it causes a "
"conflict. System administrators can also use it to override some package's "
"configuration file, or whenever some files (which aren't marked as "
"'conffiles') need to be preserved by dpkg, when installing a newer version "
"of a package which contains those files."
msgstr ""

#. type: TP
#: dpkg-divert.8:25
#, fuzzy, no-wrap
msgid "[B<--add>] I<file>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg-divert.8:28
msgid "Add a diversion for I<file>."
msgstr ""

#. type: TP
#: dpkg-divert.8:28 dpkg-statoverride.8:35
#, fuzzy, no-wrap
msgid "B<--remove>I< file>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg-divert.8:31
msgid "Remove a diversion for I<file>."
msgstr ""

#. type: TP
#: dpkg-divert.8:31
#, fuzzy, no-wrap
msgid "B<--list>I< glob-pattern>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg-divert.8:34
msgid "List diversions matching I<glob-pattern>."
msgstr ""

#. type: TP
#: dpkg-divert.8:34
#, fuzzy, no-wrap
msgid "B<--listpackage>I< file>"
msgstr "B<Package:> E<lt>имя пакетаE<gt>"

#. type: Plain text
#: dpkg-divert.8:38
msgid ""
"Print the name of the package that diverts I<file>.  Prints LOCAL if I<file> "
"is locally diverted and nothing if I<file> is not diverted."
msgstr ""

#. type: TP
#: dpkg-divert.8:38
#, fuzzy, no-wrap
msgid "B<--truename>I< file>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg-divert.8:41
msgid "Print the real name for a diverted file."
msgstr ""

#. type: TP
#: dpkg-divert.8:43 dpkg-statoverride.8:52 dselect.1:44
#: update-alternatives.8:328
#, fuzzy, no-wrap
msgid "B<--admindir>I< directory>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg-divert.8:46
msgid ""
"Set the dpkg data directory to I<directory> (default: I</var/lib/dpkg>)."
msgstr ""

#. type: TP
#: dpkg-divert.8:46
#, fuzzy, no-wrap
msgid "B<--divert>I< divert-to>"
msgstr "B<Priority:> E<lt>приоритетE<gt>"

#. type: Plain text
#: dpkg-divert.8:50
msgid ""
"I<divert-to> is the location where the versions of I<file>, as provided by "
"other packages, will be diverted."
msgstr ""

#. type: TP
#: dpkg-divert.8:50
#, fuzzy, no-wrap
msgid "B<--local>"
msgstr "B<--nocheck>"

#. type: Plain text
#: dpkg-divert.8:56
msgid ""
"Specifies that all packages' versions of this file are diverted.  This "
"means, that there are no exceptions, and whatever package is installed, the "
"file is diverted. This can be used by an admin to install a locally modified "
"version."
msgstr ""

#. type: TP
#: dpkg-divert.8:56
#, fuzzy, no-wrap
msgid "B<--package>I< package>"
msgstr "B<Package:> E<lt>имя пакетаE<gt>"

#. type: Plain text
#: dpkg-divert.8:61
msgid ""
"I<package> is the name of a package whose copy of I<file> will not be "
"diverted. i.e. I<file> will be diverted for all packages except I<package>."
msgstr ""

#. type: TP
#: dpkg-divert.8:61 dpkg-statoverride.8:64 update-alternatives.8:350
#, fuzzy, no-wrap
msgid "B<--quiet>"
msgstr "B<-q>|B<--quiet>"

#. type: Plain text
#: dpkg-divert.8:64
msgid "Quiet mode, i.e. no verbose output."
msgstr ""

#. type: TP
#: dpkg-divert.8:64
#, fuzzy, no-wrap
msgid "B<--rename>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg-divert.8:68
msgid ""
"Actually move the file aside (or back). B<dpkg-divert> will abort operation "
"in case the destination file already exists."
msgstr ""

#. type: TP
#: dpkg-divert.8:68
#, fuzzy, no-wrap
msgid "B<--test>"
msgstr "B<-t>|B<--test>"

#. type: Plain text
#: dpkg-divert.8:71
msgid "Test mode, i.e. don't actually perform any changes, just demonstrate."
msgstr ""

#. type: SH
#: dpkg-divert.8:78
#, no-wrap
msgid "NOTES"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:82
msgid ""
"When adding, default is B<--local> and B<--divert> I<original>B<.distrib>. "
"When removing, B<--package> or B<--local> and B<--divert> must match if "
"specified."
msgstr ""

#. type: Plain text
#: dpkg-divert.8:84
msgid "Directories can't be diverted with B<dpkg-divert>."
msgstr ""

#. type: Plain text
#: dpkg-divert.8:90
msgid ""
"Care should be taken when diverting shared libraries, B<ldconfig>(8)  "
"creates a symbolic link based on the DT_SONAME field embedded in the "
"library.  Because ldconfig doesn't honour diverts (only dpkg does), the "
"symlink may end up pointing at the diverted library, if a diverted library "
"has the same SONAME as the undiverted one."
msgstr ""

#. type: Plain text
#: dpkg-divert.8:95
msgid ""
"To divert all copies of a I</usr/bin/example> to I</usr/bin/example.foo>, i."
"e. directs all packages providing I</usr/bin/example> to install it as I</"
"usr/bin/example.foo>, performing the rename if required:"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:97
msgid "dpkg-divert --divert /usr/bin/example.foo --rename /usr/bin/example"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:99 dpkg-divert.8:109
msgid "To remove that diversion:"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:101
msgid "dpkg-divert --rename --remove /usr/bin/example"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:105
msgid ""
"To divert any package trying to install I</usr/bin/example> to I</usr/bin/"
"example.foo>, except your own I<wibble> package:"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:107
msgid ""
"dpkg-divert --package wibble --divert /usr/bin/example.foo --rename /usr/bin/"
"example"
msgstr ""

#. type: Plain text
#: dpkg-divert.8:111
msgid "dpkg-divert --package wibble --rename --remove /usr/bin/example"
msgstr ""

#. type: TP
#: dpkg-divert.8:113 dpkg-query.1:205 dpkg-statoverride.8:69 dpkg-trigger.1:61
#: update-alternatives.8:355
#, fuzzy, no-wrap
#| msgid "B<DPKG_NO_TSTP>"
msgid "B<DPKG_ADMINDIR>"
msgstr "B<DPKG_NO_TSTP>"

#. type: Plain text
#: dpkg-divert.8:117 dpkg-query.1:209 dpkg-statoverride.8:73 dpkg-trigger.1:65
msgid ""
"If set and the B<--admindir> option has not been specified, it will be used "
"as the dpkg data directory."
msgstr ""

#. type: Plain text
#: dpkg-divert.8:121
msgid ""
"If set and the B<--local> and B<--package> options have not been specified, "
"B<dpkg-divert> will use it as the package name."
msgstr ""

#. type: TP
#: dpkg-divert.8:123
#, fuzzy, no-wrap
msgid "I</var/lib/dpkg/diversions>"
msgstr "I</var/lib/dpkg/status>"

#. type: Plain text
#: dpkg-divert.8:128
msgid ""
"File which contains the current list of diversions of the system. It is "
"located in the dpkg administration directory, along with other files "
"important to dpkg, such as I<status> or I<available>."
msgstr ""

#. type: Plain text
#: dpkg-divert.8:131
msgid ""
"Note: B<dpkg-divert> preserves the old copy of this file, with extension I<-"
"old>, before replacing it with the new one."
msgstr ""

#. type: Plain text
#: dpkg-divert.8:137 update-alternatives.8:496
msgid "Copyright \\(co 1995 Ian Jackson"
msgstr ""

#. type: TH
#: dpkg-genchanges.1:1
#, fuzzy, no-wrap
msgid "dpkg-genchanges"
msgstr "dpkg"

#. type: Plain text
#: dpkg-genchanges.1:4
msgid "dpkg-genchanges - generate Debian .changes files"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:8
#, fuzzy
msgid "B<dpkg-genchanges> [I<option>...]"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-genchanges.1:16
msgid ""
"B<dpkg-genchanges> reads information from an unpacked and built Debian "
"source tree and from the files it has generated and generates a Debian "
"upload control file (B<.changes> file)."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:18
#, fuzzy, no-wrap
msgid "B<-b>, B<-B>, B<-A>"
msgstr "B<-t>|B<--test>"

#. type: Plain text
#: dpkg-genchanges.1:27
msgid ""
"Specifies that a binary-only build is taking place (no source files are to "
"be included). There's no distinction between B<-b>, B<-B> and B<-A>, the "
"produced B<.changes> file will include whatever files were created by the "
"B<binary-*> target(s) of the package being built."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:31
msgid ""
"Specifies that only the source should be uploaded (no binary packages will "
"be included)."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:36
msgid ""
"The B<-s>I<x> options control whether the original source archive is "
"included in the upload if any source is being generated (i.e.  B<-b> or B<-"
"B> haven't been used)."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:42
msgid ""
"By default, or if specified, the original source will be included only if "
"the upstream version number (the version without epoch and without Debian "
"revision) differs from the upstream version number of the previous changelog "
"entry."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:45
msgid "Forces the inclusion of the original source."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:48
msgid "Forces the exclusion of the original source and includes only the diff."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:54
msgid ""
"Causes changelog information from all versions strictly later than "
"I<version> to be used."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:60
msgid ""
"Read the description of the changes from the file I<changesdescription> "
"rather than using the information from the source tree's changelog file."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:66
msgid ""
"Use I<maintaineraddress> as the name and email address of the maintainer for "
"this package, rather than using the information from the source tree's "
"control file."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:72
msgid ""
"Use I<maintaineraddress> as the name and email address of the maintainer for "
"this upload, rather than using the information from the source tree's "
"changelog."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:72 dpkg-gencontrol.1:41 dpkg-source.1:127
#, no-wrap
msgid "B<-V>I<name>B<=>I<value>"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:76 dpkg-source.1:131
msgid ""
"Set an output substitution variable.  See B<deb-substvars>(5) for a "
"discussion of output substitution."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:76 dpkg-gencontrol.1:45 dpkg-shlibdeps.1:169
#: dpkg-source.1:131
#, no-wrap
msgid "B<-T>I<substvarsfile>"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:86
msgid ""
"Read substitution variables in I<substvarsfile>; the default is B<debian/"
"substvars>.  No variable substitution is done on any of the fields that are "
"output, however the special variable I<Format> will override the field of "
"the same name. This option can be used multiple times to read substitution "
"variables from multiple files."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:87 dpkg-gencontrol.1:53 dpkg-source.1:137
#, fuzzy, no-wrap
msgid "B<-D>I<field>B<=>I<value>"
msgstr "B<-D>I<octal>B< | --debug=>I<octal>"

#. type: Plain text
#: dpkg-genchanges.1:90 dpkg-gencontrol.1:56 dpkg-source.1:140
msgid "Override or add an output control file field."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:90 dpkg-gencontrol.1:56 dpkg-source.1:140
#, fuzzy, no-wrap
msgid "B<-U>I<field>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg-genchanges.1:93 dpkg-gencontrol.1:59 dpkg-source.1:143
msgid "Remove an output control file field."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:93 dpkg-gencontrol.1:59 dpkg-source.1:104
#, fuzzy, no-wrap
msgid "B<-c>I<controlfile>"
msgstr "I<control>"

#. type: Plain text
#: dpkg-genchanges.1:98 dpkg-gencontrol.1:64
msgid ""
"Specifies the main source control file to read information from. The default "
"is B<debian/control>."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:98 dpkg-gencontrol.1:64 dpkg-parsechangelog.1:16
#: dpkg-source.1:111
#, no-wrap
msgid "B<-l>I<changelogfile>"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:103 dpkg-gencontrol.1:69 dpkg-parsechangelog.1:21
msgid ""
"Specifies the change log file to read information from. The default is "
"B<debian/changelog>."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:107
msgid ""
"Read the list of files to be uploaded here, rather than using B<debian/"
"files>."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:107 dpkg-gencontrol.1:73 dpkg-parsechangelog.1:21
#: dpkg-source.1:118
#, no-wrap
msgid "B<-F>I<changelogformat>"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:112 dpkg-gencontrol.1:78 dpkg-parsechangelog.1:26
#: dpkg-source.1:123
msgid ""
"Specifies the format of the changelog. By default the format is read from a "
"special line near the bottom of the changelog or failing that defaults to "
"the debian standard format."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:112
#, no-wrap
msgid "B<-u>I<uploadfilesdir>"
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:123
msgid ""
"Look for the files to be uploaded in I<uploadfilesdir> rather than B<..> "
"(B<dpkg-genchanges> needs to find these files so that it can include their "
"sizes and checksums in the B<.changes> file)."
msgstr ""

#. type: TP
#: dpkg-genchanges.1:123 dpkg-gensymbols.1:421
#, fuzzy, no-wrap
msgid "B<-q>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-genchanges.1:131
msgid ""
"Usually B<dpkg-genchanges> will produce informative messages on standard "
"error, for example about how many of the package's source files are being "
"uploaded.  B<-q> suppresses these messages."
msgstr ""

#. type: Plain text
#: dpkg-genchanges.1:147
msgid ""
"The list of generated files which are part of the upload being prepared.  "
"B<dpkg-genchanges> reads the data here when producing a B<.changes> file."
msgstr ""

#. type: TH
#: dpkg-gencontrol.1:1
#, fuzzy, no-wrap
msgid "dpkg-gencontrol"
msgstr "deb-control"

#. type: Plain text
#: dpkg-gencontrol.1:4
msgid "dpkg-gencontrol - generate Debian control files"
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:8
#, fuzzy
msgid "B<dpkg-gencontrol> [I<option>...]"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-gencontrol.1:14
msgid ""
"B<dpkg-gencontrol> reads information from an unpacked Debian source tree and "
"generates a binary package control file (which defaults to debian/tmp/DEBIAN/"
"control); during this process it will simplify the relation fields."
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:27
msgid ""
"Thus I<Pre-Depends>, I<Depends>, I<Recommends> and I<Suggests> are "
"simplified in this order by removing dependencies which are known to be true "
"according to the stronger dependencies already parsed. It will also remove "
"any self-dependency (in fact it will remove any dependency which evaluates "
"to true given the current version of the package as installed). Logically it "
"keeps the intersection of multiple dependencies on the same package. The "
"order of dependencies is preserved as best as possible: if any dependency "
"must be discarded due to another dependency appearing further in the field, "
"the superseding dependency will take the place of the discarded one."
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:32
msgid ""
"The other relation fields (I<Enhances>, I<Conflicts>, I<Breaks>, I<Replaces> "
"and I<Provides>)  are also simplified individually by computing the union of "
"the various dependencies when a package is listed multiple times in the "
"field."
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:36
msgid ""
"B<dpkg-gencontrol> also adds an entry for the binary package to B<debian/"
"files>."
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:41
msgid "Sets the version number of the binary package which will be generated."
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:45
msgid ""
"Set an output substitution variable. See B<deb-substvars>(5) for discussion "
"of output substitution."
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:53
msgid ""
"Read substitution variables in I<substvarsfile>; the default is B<debian/"
"substvars>.  This option can be used multiple times to read substitution "
"variables from multiple files."
msgstr ""

#. type: TP
#: dpkg-gencontrol.1:78 dpkg-gensymbols.1:373
#, fuzzy, no-wrap
msgid "B<-p>I<package>"
msgstr "B<unpacked>"

#. type: Plain text
#: dpkg-gencontrol.1:85
msgid ""
"Generate information for the binary package I<package>.  If the source "
"control file lists only one binary package then this option may be omitted; "
"otherwise it is essential to select which binary package's information to "
"generate."
msgstr ""

#. type: TP
#: dpkg-gencontrol.1:85
#, fuzzy, no-wrap
msgid "B<-n>I<filename>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg-gencontrol.1:90
msgid ""
"Assume the filename of the package will be I<filename> instead of the normal "
"package_version_arch.deb filename."
msgstr ""

#. type: TP
#: dpkg-gencontrol.1:90
#, no-wrap
msgid "B<-is>, B<-ip>, B<-isp>"
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:99
msgid ""
"These options are ignored for compatibility with older versions of dpkg-dev "
"but are now deprecated. Previously they were used to tell dpkg-gencontrol to "
"include the Section and Priority fields in the control file. This is now the "
"default behaviour. If you want to get the old behaviour you can use the B<-"
"U> option to delete the fields from the control file."
msgstr ""

#. type: TP
#: dpkg-gencontrol.1:99
#, no-wrap
msgid "B<-P>I<packagebuilddir>"
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:112
msgid ""
"Tells B<dpkg-source> that the package is being built in I<packagebuilddir> "
"instead of B<debian/tmp>.  This value is used to find the default value of "
"the B<Installed-Size> substitution variable and control file field (using "
"B<du>), and for the default location of the output file."
msgstr ""

#. type: TP
#: dpkg-gencontrol.1:112 dpkg-gensymbols.1:391 dpkg-shlibdeps.1:150
#, fuzzy, no-wrap
msgid "B<-O>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-gencontrol.1:121
msgid ""
"Print the control file to standard output, rather than to B<debian/tmp/"
"DEBIAN/control> (or I<packagebuilddir>B</DEBIAN/control> if B<-P> was used)."
msgstr ""

#. type: TP
#: dpkg-gencontrol.1:129
#, fuzzy, no-wrap
msgid "B<debian/control>"
msgstr "deb-control"

#. type: Plain text
#: dpkg-gencontrol.1:134
msgid ""
"The main source control information file, giving version-independent "
"information about the source package and the binary packages it can produce."
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:141
msgid ""
"The list of generated files which are part of the upload being prepared.  "
"B<dpkg-gencontrol> adds the presumed filenames of binary packages whose "
"control files it generates here."
msgstr ""

#. type: Plain text
#: dpkg-gencontrol.1:148 dpkg-shlibdeps.1:337
#, fuzzy
msgid "Copyright \\(co 2007-2008 Rapha\\[:e]l Hertzog"
msgstr "Copyright 2001 Joey Hess"

#. type: TH
#: dpkg-gensymbols.1:2
#, fuzzy, no-wrap
msgid "dpkg-gensymbols"
msgstr "deb-control"

#. type: Plain text
#: dpkg-gensymbols.1:5
msgid ""
"dpkg-gensymbols - generate symbols files (shared library dependency "
"information)"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:9
#, fuzzy
msgid "B<dpkg-gensymbols> [I<option>...]"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-gensymbols.1:16
msgid ""
"B<dpkg-gensymbols> scans a temporary build tree (debian/tmp by default) "
"looking for libraries and generate a I<symbols> file describing them. This "
"file, if non-empty, is then installed in the DEBIAN subdirectory of the "
"build tree so that it ends up included in the control information of the "
"package."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:20
msgid ""
"When generating those files, it uses as input some symbols files provided by "
"the maintainer. It looks for the following files (and use the first that is "
"found):"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:22
msgid "debian/I<package>.symbols.I<arch>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:24
#, fuzzy
msgid "debian/symbols.I<arch>"
msgstr "B<deinstall>"

#. type: Plain text
#: dpkg-gensymbols.1:26
msgid "debian/I<package>.symbols"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:28
#, fuzzy
msgid "debian/symbols"
msgstr "deb-control"

#. type: Plain text
#: dpkg-gensymbols.1:36
msgid ""
"The main interest of those files is to provide the minimal version "
"associated to each symbol provided by the libraries. Usually it corresponds "
"to the first version of that package that provided the symbol, but it can be "
"manually incremented by the maintainer if the ABI of the symbol is extended "
"without breaking backwards compatibility. It's the responsibility of the "
"maintainer to keep those files up-to-date and accurate, but B<dpkg-"
"gensymbols> helps him."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:42
msgid ""
"When the generated symbols files differ from the maintainer supplied one, "
"B<dpkg-gensymbols> will print a diff between the two versions.  Furthermore "
"if the difference is too significant, it will even fail (you can customize "
"how much difference you can tolerate, see the B<-c> option)."
msgstr ""

#. type: SH
#: dpkg-gensymbols.1:42
#, no-wrap
msgid "MAINTAINING SYMBOLS FILES"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:55
msgid ""
"The symbols files are really useful only if they reflect the evolution of "
"the package through several releases. Thus the maintainer has to update them "
"every time that a new symbol is added so that its associated minimal version "
"matches reality. To do this properly he can use the diffs contained in the "
"build logs. In most cases, the diff applies directly to his debian/"
"I<package>.symbols file. That said, further tweaks are usually needed: it's "
"recommended for example to drop the Debian revision from the minimal version "
"so that backports with a lower version number but the same upstream version "
"still satisfy the generated dependencies.  If the Debian revision can't be "
"dropped because the symbol really got added by the Debian specific change, "
"then one should suffix the version with \"~\"."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:59
msgid ""
"Before applying any patch to the symbols file, the maintainer should double-"
"check that it's sane. Public symbols are not supposed to disappear, so the "
"patch should ideally only add new lines."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:64
msgid ""
"Note that you can put comments in symbols files: any line with '#' as the "
"first character is a comment except if it starts with '#include' (see "
"section B<Using includes>). Lines starting with '#MISSING:' are special "
"comments documenting symbols that have disappeared."
msgstr ""

#. type: SS
#: dpkg-gensymbols.1:64
#, no-wrap
msgid "Using #PACKAGE# substitution"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:72
msgid ""
"In some rare cases, the name of the library varies between architectures.  "
"To avoid hardcoding the name of the package in the symbols file, you can use "
"the marker I<#PACKAGE#>. It will be replaced by the real package name during "
"installation of the symbols files. Contrary to the I<#MINVER#> marker, "
"I<#PACKAGE#> will never appear in a symbols file inside a binary package."
msgstr ""

#. type: SS
#: dpkg-gensymbols.1:72
#, no-wrap
msgid "Using symbol tags"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:79
msgid ""
"Symbol tagging is useful for marking symbols that are special in some way.  "
"Any symbol can have an arbitrary number of tags associated with it. While "
"all tags are parsed and stored, only a some of them are understood by B<dpkg-"
"gensymbols> and trigger special handling of the symbols. See subsection "
"B<Standard symbol tags> for reference of these tags."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:91
msgid ""
"Tag specification comes right before the symbol name (no whitespace is "
"allowed in between). It always starts with an opening bracket B<(>, ends "
"with a closing bracket B<)> and must contain at least one tag. Multiple tags "
"are separated by the B<|> character. Each tag can optionally have a value "
"which is separated form the tag name by the B<=> character. Tag names and "
"values can be arbitrary strings except they cannot contain any of the "
"special B<)> B<|> B<=> characters. Symbol names following a tag "
"specification can optionally be quoted with either B<'> or B<\"> characters "
"to allow whitespaces in them. However, if there are no tags specified for "
"the symbol, quotes are treated as part of the symbol name which continues up "
"until the first space."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:95
#, no-wrap
msgid ""
" (tag1=i am marked|tag name with space)\"tagged quoted symbol\"@Base 1.0\n"
" (optional)tagged_unquoted_symbol@Base 1.0 1\n"
" untagged_symbol@Base 1.0\n"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:101
msgid ""
"The first symbol in the example is named I<tagged quoted symbol> and has two "
"tags: I<tag1> with value I<i am marked> and I<tag name with space> that has "
"no value. The second symbol named I<tagged_unquoted_symbol> is only tagged "
"with the tag named I<optional>. The last symbol is an example of the normal "
"untagged symbol."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:113
msgid ""
"Since symbol tags are an extension of the I<deb-symbols(5)> format, they can "
"only be part of the symbols files used in source packages (those files "
"should then be seen as templates used to build the symbols files that are "
"embedded in binary packages). When B<dpkg-gensymbols> is called without the "
"I<-t> option, it will output symbols files compatible to the I<deb-symbols(5)"
"> format: it fully processes symbols according to the requirements of their "
"standard tags and strips all tags from the output. On the contrary, in "
"template mode (I<-t>) all symbols and their tags (both standard and unknown "
"ones)  are kept in the output and are written in their original form as they "
"were loaded."
msgstr ""

#. type: SS
#: dpkg-gensymbols.1:113
#, no-wrap
msgid "Standard symbol tags"
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:114
#, fuzzy, no-wrap
#| msgid "B<not-installed>"
msgid "B<optional>"
msgstr "B<not-installed>"

#. type: Plain text
#: dpkg-gensymbols.1:124
msgid ""
"A symbol marked as optional can disappear from the library at any time and "
"that will never cause B<dpkg-gensymbols> to fail. However, disappeared "
"optional symbols will continuously appear as MISSING in the diff in each new "
"package revision.  This behaviour serves as a reminder for the maintainer "
"that such a symbol needs to be removed from the symbol file or readded to "
"the library. When the optional symbol, which was previously declared as "
"MISSING, suddenly reappears in the next revision, it will be upgraded back "
"to the \"existing\" status with its minimum version unchanged."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:129
msgid ""
"This tag is useful for symbols which are private where their disappearance "
"do not cause ABI breakage. For example, most of C++ template instantiations "
"fall into this category. Like any other tag, this one may also have an "
"arbitrary value: it could be used to indicate why the symbol is considered "
"optional."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:129
#, fuzzy, no-wrap
msgid "B<arch=>I<architecture list>"
msgstr "B<dpkg --print-architecture>"

#. type: Plain text
#: dpkg-gensymbols.1:142
msgid ""
"This tag allows one to restrict the set of architectures where the symbol is "
"supposed to exist. When the symbols list is updated with the symbols "
"discovered in the library, all arch-specific symbols which do not concern "
"the current host architecture are treated as if they did not exist. If an "
"arch-specific symbol matching the current host architecture does not exist "
"in the library, normal procedures for missing symbols apply and it may cause "
"B<dpkg-gensymbols> to fail. On the other hand, if the arch-specific symbol "
"is found when it was not supposed to exist (because the current host "
"architecture is not listed in the tag), it is made arch neutral (i.e. the "
"arch tag is dropped and the symbol will appear in the diff due to this "
"change), but it is not considered as new."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:148
msgid ""
"When operating in the default non-template mode, among arch-specific symbols "
"only those that match the current host architecture are written to the "
"symbols file. On the contrary, all arch-specific symbols (including those "
"from foreign arches) are always written to the symbol file when operating in "
"template mode."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:154
msgid ""
"The format of I<architecture list> is the same as the one used in the "
"I<Build-Depends> field of I<debian/control> (except the enclosing square "
"brackets []). For example, the first symbol from the list below will be "
"considered only on alpha, amd64, kfreebsd-amd64 and ia64 architectures while "
"the second one anywhere except on armel."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:157
#, no-wrap
msgid ""
" (arch=alpha amd64 kfreebsd-amd64 ia64)a_64bit_specific_symbol@Base 1.0\n"
" (arch=!armel)symbol_armel_does_not_have@Base 1.0\n"
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:157
#, fuzzy, no-wrap
msgid "B<ignore-blacklist>"
msgstr "B<--nocheck>"

#. type: Plain text
#: dpkg-gensymbols.1:165
msgid ""
"dpkg-gensymbols has an internal blacklist of symbols that should not appear "
"in symbols files as they are usually only side-effects of implementation "
"details of the toolchain. If for some reason, you really want one of those "
"symbols to be included in the symbols file, you should tag the symbol with "
"B<ignore-blacklist>. It can be necessary for some low level toolchain "
"libraries like libgcc."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:165 dpkg-gensymbols.1:202
#, fuzzy, no-wrap
msgid "B<c++>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-gensymbols.1:169
msgid ""
"Denotes I<c++> symbol pattern. See B<Using symbol patterns> subsection below."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:169 dpkg-gensymbols.1:233
#, fuzzy, no-wrap
msgid "B<symver>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-gensymbols.1:173
msgid ""
"Denotes I<symver> (symbol version) symbol pattern. See B<Using symbol "
"patterns> subsection below."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:173 dpkg-gensymbols.1:258
#, fuzzy, no-wrap
#| msgid "B<purge>"
msgid "B<regex>"
msgstr "B<purge>"

#. type: Plain text
#: dpkg-gensymbols.1:177
msgid ""
"Denotes I<regex> symbol pattern. See B<Using symbol patterns> subsection "
"below."
msgstr ""

#. type: SS
#: dpkg-gensymbols.1:177
#, no-wrap
msgid "Using symbol patterns"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:185
msgid ""
"Unlike a standard symbol specification, a pattern may cover multiple real "
"symbols from the library. B<dpkg-gensymbols> will attempt to match each "
"pattern against each real symbol that does I<not> have a specific symbol "
"counterpart defined in the symbol file. Whenever the first matching pattern "
"is found, all its tags and properties will be used as a basis specification "
"of the symbol. If none of the patterns matches, the symbol will be "
"considered as new."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:193
msgid ""
"A pattern is considered lost if it does not match any symbol in the library. "
"By default this will trigger a B<dpkg-gensymbols> failure under I<-c1> or "
"higher level. However, if the failure is undesired, the pattern may be "
"marked with the I<optional> tag. Then if the pattern does not match "
"anything, it will only appear in the diff as MISSING. Moreover, like any "
"symbol, the pattern may be limited to the specific architectures with the "
"I<arch> tag. Please refer to B<Standard symbol tags> subsection above for "
"more information."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:200
msgid ""
"Patterns are an extension of the I<deb-symbols(5)> format hence they are "
"only valid in symbol file templates. Pattern specification syntax is not any "
"different from the one of a specific symbol. However, symbol name part of "
"the specification serves as an expression to be matched against "
"I<name@version> of the real symbol. In order to distinguish among different "
"pattern types, a pattern will typically be tagged with a special tag."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:202
msgid "At the moment, B<dpkg-gensymbols> supports three basic pattern types:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:214
msgid ""
"This pattern is denoted by the I<c++> tag. It matches only C++ symbols by "
"their demangled symbol name (as emitted by B<c++filt>(1) utility). This "
"pattern is very handy for matching symbols which mangled names might vary "
"across different architectures while their demangled names remain the same. "
"One group of such symbols is I<non-virtual thunks> which have architecture "
"specific offsets embedded in their mangled names. A common instance of this "
"case is a virtual destructor which under diamond inheritance needs a non-"
"virtual thunk symbol. For example, even if _ZThn8_N3NSB6ClassDD1Ev@Base on "
"32bit architectures will probably be _ZThn16_N3NSB6ClassDD1Ev@Base on 64bit "
"ones, it can be matched with a single I<c++> pattern:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:220
#, no-wrap
msgid ""
"libdummy.so.1 libdummy1 #MINVER#\n"
" [...]\n"
" (c++)\"non-virtual thunk to NSB::ClassD::~ClassD()@Base\" 1.0\n"
" [...]\n"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:222
msgid ""
"The demangled name above can be obtained by executing the following command:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:224
#, no-wrap
msgid " $ echo '_ZThn8_N3NSB6ClassDD1Ev@Base' | c++filt\n"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:232
msgid ""
"Please note that while mangled name is unique in the library by definition, "
"this is not necessarily true for demangled names. A couple of distinct real "
"symbols may have the same demangled name. For example, that's the case with "
"non-virtual thunk symbols in complex inheritance configurations or with most "
"constructors and destructors (since g++ typically generates two real symbols "
"for them). However, as these collisions happen on the ABI level, they should "
"not degrade quality of the symbol file."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:239
msgid ""
"This pattern is denoted by the I<symver> tag. Well maintained libraries have "
"versioned symbols where each version corresponds to the upstream version "
"where the symbol got added. If that's the case, you can use a I<symver> "
"pattern to match any symbol associated to the specific version. For example:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:246
#, no-wrap
msgid ""
"libc.so.6 libc6 #MINVER#\n"
" (symver)GLIBC_2.0 2.0\n"
" [...]\n"
" (symver)GLIBC_2.7 2.7\n"
" access@GLIBC_2.0 2.2\n"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:252
msgid ""
"All symbols associated with versions GLIBC_2.0 and GLIBC_2.7 will lead to "
"minimal version of 2.0 and 2.7 respectively with the exception of the symbol "
"access@GLIBC_2.0. The latter will lead to a minimal dependency on libc6 "
"version 2.2 despite being in the scope of the \"(symver)GLIBC_2.0\" pattern "
"because specific symbols take precedence over patterns."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:257
msgid ""
"Please note that while old style wildcard patterns (denoted by \"*@version\" "
"in the symbol name field) are still supported, they have been deprecated by "
"new style syntax \"(symver|optional)version\". For example, \"*@GLIBC_2.0 "
"2.0\" should be written as \"(symver|optional)GLIBC_2.0 2.0\" if the same "
"behaviour is needed."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:265
msgid ""
"Regular expression patterns are denoted by the I<regex> tag. They match by "
"the perl regular expression specified in the symbol name field. A regular "
"expression is matched as it is, therefore do not forget to start it with the "
"I<^> character or it may match any part of the real symbol I<name@version> "
"string. For example:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:270
#, no-wrap
msgid ""
"libdummy.so.1 libdummy1 #MINVER#\n"
" (regex)\"^mystack_.*@Base$\" 1.0\n"
" (regex|optional)\"private\" 1.0\n"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:275
msgid ""
"Symbols like \"mystack_new@Base\", \"mystack_push@Base\", \"mystack_pop@Base"
"\" etc.  will be matched by the first pattern while e.g. "
"\"ng_mystack_new@Base\" won't.  The second pattern will match all symbols "
"having the string \"private\" in their names and matches will inherit "
"I<optional> tag from the pattern."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:280
msgid ""
"Basic patterns listed above can be combined where it makes sense. In that "
"case, they are processed in the order in which the tags are specified. For "
"example, both"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:283
#, no-wrap
msgid ""
" (c++|regex)\"^NSA::ClassA::Private::privmethod\\ed\\e(int\\e)@Base\" 1.0\n"
" (regex|c++)N3NSA6ClassA7Private11privmethod\\edEi@Base 1.0\n"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:293
msgid ""
"will match symbols \"_ZN3NSA6ClassA7Private11privmethod1Ei@Base\" and "
"\"_ZN3NSA6ClassA7Private11privmethod2Ei@Base\". When matching the first "
"pattern, the raw symbol is first demangled as C++ symbol, then the demangled "
"name is matched against the regular expression. On the other hand, when "
"matching the second pattern, regular expression is matched against the raw "
"symbol name, then the symbol is tested if it is C++ one by attempting to "
"demangle it. A failure of any basic pattern will result in the failure of "
"the whole pattern.  Therefore, for example, "
"\"__N3NSA6ClassA7Private11privmethod\\edEi@Base\" will not match either of "
"the patterns because it is not a valid C++ symbol."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:299
msgid ""
"In general, all patterns are divided into two groups: aliases (basic I<c++> "
"and I<symver>) and generic patterns (I<regex>, all combinations of multiple "
"basic patterns). Matching of basic alias-based patterns is fast (O(1))  "
"while generic patterns are O(N) (N - generic pattern count) for each "
"symbol.  Therefore, it is recommended not to overuse generic patterns."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:306
msgid ""
"When multiple patterns match the same real symbol, aliases (first I<c++>, "
"then I<symver>) are preferred over generic patterns. Generic patterns are "
"matched in the order they are found in the symbol file template until the "
"first success.  Please note, however, that manual reordering of template "
"file entries is not recommended because B<dpkg-gensymbols> generates diffs "
"based on the alphanumerical order of their names."
msgstr ""

#. type: SS
#: dpkg-gensymbols.1:306
#, no-wrap
msgid "Using includes"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:311
msgid ""
"When the set of exported symbols differ between architectures, it may become "
"inefficient to use a single symbol file. In those cases, an include "
"directive may prove to be useful in a couple of ways:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:315
msgid ""
"You can factorize the common part in some external file and include that "
"file in your I<package>.symbols.I<arch> file by using an include directive "
"like this:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:317
msgid "#include \"I<packages>.symbols.common\""
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:319
msgid "The include directive may also be tagged like any symbol:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:321
msgid "(tag|..|tagN)#include \"file-to-include\""
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:326
msgid ""
"As a result, all symbols included from I<file-to-include> will be considered "
"to be tagged with I<tag> .. I<tagN> by default. You can use this feature to "
"create a common I<package>.symbols file which includes architecture specific "
"symbol files:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:331
#, no-wrap
msgid ""
"  common_symbol1@Base 1.0\n"
" (arch=amd64 ia64 alpha)#include \"package.symbols.64bit\"\n"
" (arch=!amd64 !ia64 !alpha)#include \"package.symbols.32bit\"\n"
"  common_symbol2@Base 1.0\n"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:340
msgid ""
"The symbols files are read line by line, and include directives are "
"processed as soon as they are encountered. This means that the content of "
"the included file can override any content that appeared before the include "
"directive and that any content after the directive can override anything "
"contained in the included file. Any symbol (or even another #include "
"directive) in the included file can specify additional tags or override "
"values of the inherited tags in its tag specification. However, there is no "
"way for the symbol to remove any of the inherited tags."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:345
msgid ""
"An included file can repeat the header line containing the SONAME of the "
"library. In that case, it overrides any header line previously read.  "
"However, in general it's best to avoid duplicating header lines. One way to "
"do it is the following:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:348
#, no-wrap
msgid ""
"#include \"libsomething1.symbols.common\"\n"
" arch_specific_symbol@Base 1.0\n"
msgstr ""

#. type: SS
#: dpkg-gensymbols.1:348
#, no-wrap
msgid "Good library management"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:351
msgid "A well-maintained library has the following features:"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:355
msgid ""
"its API is stable (public symbols are never dropped, only new public symbols "
"are added) and changes in incompatible ways only when the SONAME changes;"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:358
msgid ""
"ideally, it uses symbol versioning to achieve ABI stability despite internal "
"changes and API extension;"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:361
msgid ""
"it doesn't export private symbols (such symbols can be tagged optional as "
"workaround)."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:369
msgid ""
"While maintaining the symbols file, it's easy to notice appearance and "
"disappearance of symbols. But it's more difficult to catch incompatible API "
"and ABI change. Thus the maintainer should read thoroughly the upstream "
"changelog looking for cases where the rules of good library management have "
"been broken. If potential problems are discovered, the upstream author "
"should be notified as an upstream fix is always better than a Debian "
"specific work-around."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:370
#, fuzzy, no-wrap
msgid "B<-P>I<package-build-dir>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg-gensymbols.1:373
msgid "Scan I<package-build-dir> instead of debian/tmp."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:377
msgid ""
"Define the package name. Required if more than one binary package is listed "
"in debian/control (or if there's no debian/control file)."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:381
msgid ""
"Define the package version. Defaults to the version extracted from debian/"
"changelog. Required if called outside of a source package tree."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:381
#, fuzzy, no-wrap
msgid "B<-e>I<library-file>"
msgstr "I<control>"

#. type: Plain text
#: dpkg-gensymbols.1:387
msgid ""
"Only analyze libraries explicitly listed instead of finding all public "
"libraries. You can use a regular expression in I<library-file> to match "
"multiple libraries with a single argument (otherwise you need multiple B<-"
"e>)."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:387
#, fuzzy, no-wrap
msgid "B<-I>I<filename>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg-gensymbols.1:391
msgid ""
"Use I<filename> as reference file to generate the symbols file that is "
"integrated in the package itself."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:395
msgid ""
"Print the generated symbols file to standard output, rather than being "
"stored in the package build tree."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:395
#, fuzzy, no-wrap
msgid "B<-O>I<filename>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg-gensymbols.1:401
msgid ""
"Store the generated symbols file as I<filename>. If I<filename> is pre-"
"existing, its content is used as basis for the generated symbols file.  You "
"can use this feature to update a symbols file so that it matches a newer "
"upstream version of your library."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:401
#, fuzzy, no-wrap
msgid "B<-t>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-gensymbols.1:410
msgid ""
"Write the symbol file in template mode rather than the format compatible "
"with I<deb-symbols(5)>. The main difference is that in the template mode "
"symbol names and tags are written in their original form contrary to the "
"post-processed symbol names with tags stripped in the compatibility mode.  "
"Moreover, some symbols might be omitted when writing a standard I<deb-symbols"
"(5)> file (according to the tag processing rules) while all symbols are "
"always written to the symbol file template."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:410
#, fuzzy, no-wrap
msgid "B<-c>I<[0-4]>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg-gensymbols.1:418
msgid ""
"Define the checks to do when comparing the generated symbols file with the "
"template file used as starting point. By default the level is 1. Increasing "
"levels do more checks and include all checks of lower levels. Level 0 never "
"fails. Level 1 fails if some symbols have disappeared. Level 2 fails if some "
"new symbols have been introduced. Level 3 fails if some libraries have "
"disappeared. Level 4 fails if some libraries have been introduced."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:421
msgid ""
"This value can be overridden by the environment variable "
"DPKG_GENSYMBOLS_CHECK_LEVEL."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:427
msgid ""
"Keep quiet and never generate a diff between generated symbols file and the "
"template file used as starting point or show any warnings about new/lost "
"libraries or new/lost symbols. This option only disables informational "
"output but not the checks themselves (see I<-c> option)."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:427
#, fuzzy, no-wrap
msgid "B<-a>I<arch>"
msgstr "B<dpkg --print-architecture>"

#. type: Plain text
#: dpkg-gensymbols.1:432
msgid ""
"Assume I<arch> as host architecture when processing symbol files. Use this "
"option to generate a symbol file or diff for any architecture provided its "
"binaries are already available."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:437
msgid ""
"Enable debug mode. Numerous messages are displayed to explain what B<dpkg-"
"gensymbols> does."
msgstr ""

#. type: TP
#: dpkg-gensymbols.1:437
#, fuzzy, no-wrap
#| msgid "B<-G>"
msgid "B<-V>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg-gensymbols.1:443
msgid ""
"Enable verbose mode. The generated symbols file contains deprecated symbols "
"as comments. Furthermore in template mode, pattern symbols are followed by "
"comments listing real symbols that have matched the pattern."
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:452
msgid "B<http://people.redhat.com/drepper/symbol-versioning>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:454
msgid "B<http://people.redhat.com/drepper/goodpractice.pdf>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:456
msgid "B<http://people.redhat.com/drepper/dsohowto.pdf>"
msgstr ""

#. type: Plain text
#: dpkg-gensymbols.1:459
#, fuzzy
msgid "B<deb-symbols>(5), B<dpkg-shlibdeps>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: Plain text
#: dpkg-gensymbols.1:462
#, fuzzy
msgid "Copyright \\(co 2007-2009 Rapha\\[:e]l Hertzog"
msgstr "Copyright 2001 Joey Hess"

#. type: TH
#: dpkg-maintscript-helper.1:1
#, no-wrap
msgid "dpkg-maintscript-helper"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:4
msgid ""
"dpkg-maintscript-helper - works around known dpkg limitations in maintainer "
"scripts"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:8
msgid ""
"B<dpkg-maintscript-helper> I<command> [I<parameter>...] B<--> I<maint-script-"
"parameter>..."
msgstr ""

#. type: SH
#: dpkg-maintscript-helper.1:9
#, no-wrap
msgid "COMMANDS AND PARAMETERS"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:12
msgid "B<rm_conffile> I<conffile> [I<lastversion> [I<package>]]"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:14
msgid ""
"B<mv_conffile> I<oldconffile> I<newconffile> [I<lastversion> [I<package>]]"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:20
msgid ""
"This program is designed to be run within maintainer scripts to achieve some "
"tasks that dpkg can't (yet) handle natively either because of design "
"decisions or due to current limitations."
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:27
msgid ""
"Many of those tasks require coordinated actions from several maintainer "
"scripts (B<preinst>, B<postinst>, B<prerm>, B<postrm>). To avoid mistakes "
"the same call simply needs to be put in all scripts and the program will "
"automatically adapt its behaviour based on the environment variable "
"B<DPKG_MAINTSCRIPT_NAME> and on the maintainer scripts arguments that you "
"have to forward after a double dash."
msgstr ""

#. type: SH
#: dpkg-maintscript-helper.1:28
#, no-wrap
msgid "CONFFILE RELATED TASKS"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:38
msgid ""
"When upgrading a package, dpkg will not automatically remove a conffile (a "
"configuration file for which dpkg should preserve user changes) if it is not "
"present in the newer version. There are two principal reasons for this; the "
"first is that the conffile could've been dropped by accident and the next "
"version could restore it, users wouldn't want their changes thrown away. The "
"second is to allow packages to transition files from a dpkg-maintained "
"conffile to a file maintained by the package's maintainer scripts, usually "
"with a tool like debconf or ucf."
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:43
msgid ""
"This means that if a package is intended to rename or remove a conffile, it "
"must explicitly do so and B<dpkg-maintscript-helper> can be used to "
"implement graceful deletion and moving of conffiles within maintainer "
"scripts."
msgstr ""

#. type: SS
#: dpkg-maintscript-helper.1:44
#, no-wrap
msgid "REMOVING A CONFFILE"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:50
msgid ""
"If a conffile is completely removed, it should be removed from disk, unless "
"the user has modified it. If there are local modifications, they should be "
"preserved. If the package upgrades aborts, the newly obsolete conffile "
"should not disappear."
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:53
msgid ""
"All of this is implemented by putting the following shell snippet in the "
"B<preinst>, B<postinst> and B<postrm> maintainer scripts:"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:56
#, no-wrap
msgid ""
"    dpkg-maintscript-helper rm_conffile \\e\n"
"        I<conffile> I<lastversion> I<package> -- \"$@\"\n"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:66
msgid ""
"I<conffile> is the filename of the conffile to remove.  I<lastversion> is "
"the last version of the package that contained the conffile (or the last "
"version of the package that did not take care to remove the obsolete "
"conffile if this was not immediately implemented).  If I<lastversion> is "
"empty or omitted, then the operation is tried on every upgrade. I<package> "
"is the package name, it's optional as it will default to "
"$DPKG_MAINTSCRIPT_PACKAGE (this variable is set by dpkg to the name of the "
"package acted upon). All the parameters of the maintainer scripts have to be "
"forwarded to the program after \"--\"."
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:75
msgid ""
"Current implementation: in the B<preinst>, it checks if the conffile was "
"modified and renames it either to I<conffile>B<.dpkg-remove> (if not "
"modified) or to I<conffile>B<.dpkg-backup> (if modified). In the "
"B<postinst>, the latter file is renamed to I<conffile>B<.dpkg-bak> and kept "
"for reference as it contains user modifications but the former will be "
"removed. If the package upgrade aborts, the B<postrm> reinstalls the "
"original conffile. During purge, the B<postrm> will also delete the B<.dpkg-"
"bak> file kept up to now."
msgstr ""

#. type: SS
#: dpkg-maintscript-helper.1:76
#, no-wrap
msgid "RENAMING A CONFFILE"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:83
msgid ""
"If a conffile is moved from one location to another, you need to make sure "
"you move across any changes the user has made. This may seem a simple change "
"to the B<preinst> script at first, however that will result in the user "
"being prompted by dpkg to approve the conffile edits even though they are "
"not responsible of them."
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:87
msgid ""
"Graceful renaming can be implemented by putting the following shell snippet "
"in the B<preinst>, B<postinst> and B<postrm> maintainer scripts:"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:90
#, no-wrap
msgid ""
"    dpkg-maintscript-helper mv_conffile \\e\n"
"        I<oldconffile> I<newconffile> I<lastversion> I<package> -- \"$@\"\n"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:100
msgid ""
"I<oldconffile> and I<newconffile> are the old and new name of the conffile "
"to rename. I<lastversion> is the last version of the package that contained "
"the conffile with the old name. If I<lastversion> is empty or omitted, then "
"the operation is tried on every upgrade (note: it's safer to give the "
"version and have the operation tried only once). I<package> is the package "
"name, it's optional as it will default to $DPKG_MAINTSCRIPT_PACKAGE (this "
"variable is set by dpkg to the name of the package acted upon). All the "
"parameters of the maintainer scripts have to be forwarded to the program "
"after \"--\"."
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:108
msgid ""
"Current implementation: the B<preinst> checks if the conffile has been "
"modified, if yes it's left on place otherwise it's renamed to "
"I<oldconffile>B<.dpkg-remove>. On configuration, the B<postinst> removes "
"I<oldconffile>B<.dpkg-remove> and renames I<oldconffile> to I<newconffile> "
"if I<oldconffile> is still available. On abort-upgrade/abort-install, the "
"B<postrm> renames I<oldconffile>B<.dpkg-remove> back to I<oldconffile> if "
"required."
msgstr ""

#. type: SH
#: dpkg-maintscript-helper.1:109
#, fuzzy, no-wrap
#| msgid "INFORMATION ABOUT PACKAGES"
msgid "INTEGRATION IN PACKAGES"
msgstr "ИНФОРМАЦИЯ О ПАКЕТАХ"

#. type: Plain text
#: dpkg-maintscript-helper.1:116
msgid ""
"Given that B<dpkg-maintscript-helper> is used in the B<preinst>, using it "
"unconditionally requires a pre-dependency to ensure that the required "
"version of dpkg has been unpacked before. The required version depends on "
"the command used, for B<rm_conffile> and B<mv_conffile> it is 1.15.7.2:"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:118
#, fuzzy, no-wrap
#| msgid "B<Pre-Depends:> E<lt>package listE<gt>"
msgid "    B<Pre-Depends:> dpkg (E<gt>= 1.15.7.2)\n"
msgstr "B<Pre-Depends:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: dpkg-maintscript-helper.1:123
msgid ""
"But in many cases the operation done by the program is not critical for the "
"package, and instead of using a pre-dependency we can call the program only "
"if we know that the required command is supported by the currently installed "
"dpkg:"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:127
#, no-wrap
msgid ""
"    if dpkg-maintscript-helper supports I<command>; then\n"
"        dpkg-maintscript-helper I<command> ...\n"
"    fi\n"
msgstr ""

#. type: Plain text
#: dpkg-maintscript-helper.1:130
#, fuzzy
msgid "Copyright \\(co 2010 Rapha\\[:e]l Hertzog"
msgstr "Copyright 2001 Joey Hess"

#. type: Plain text
#: dpkg-maintscript-helper.1:132
#, fuzzy
msgid "Copyright \\(co 2008 Joey Hess"
msgstr "Copyright 2001 Joey Hess"

#. type: Plain text
#: dpkg-maintscript-helper.1:134
#, fuzzy
msgid "Copyright \\(co 2007 Guillem Jover"
msgstr "Copyright 2001 Joey Hess"

#. type: Plain text
#: dpkg-maintscript-helper.1:136
#, fuzzy
msgid "Copyright \\(co 2005 Scott James Remnant"
msgstr "Copyright 2001 Joey Hess"

#. type: TH
#: dpkg-mergechangelogs.1:1
#, fuzzy, no-wrap
msgid "dpkg-mergechangelogs"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-mergechangelogs.1:4
msgid "dpkg-mergechangelogs - 3-way merge of debian/changelog files"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:8
#, fuzzy
msgid ""
"B<dpkg-mergechangelogs> [I<option>...] I<old> I<new-a> I<new-b> [I<out>]"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-mergechangelogs.1:15
msgid ""
"This program will use the 3 provided versions of the Debian changelog to "
"generate a merged changelog file. The resulting changelog is stored in the "
"file I<out> or output to the standard output if that parameter is not given."
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:26
msgid ""
"Each entry is identified by its version number and they are assumed to be "
"not conflicting, they are simply merged in the right order (by decreasing "
"version number). When B<--merge-prereleases> is used, the part of the "
"version number after the last tilde is dropped so that 1.0-1~exp1 and "
"1.0-1~exp5 are considered to be the same entry. When the same version is "
"available in both I<new-a> and I<new-b>, a standard line-based 3-way merge "
"is attempted (provided that the module Algorithm::Merge is available \\[em] "
"it's part of the package libalgorithm-merge-perl \\[em] otherwise you get a "
"global conflict on the content of the entry)."
msgstr ""

#. type: TP
#: dpkg-mergechangelogs.1:28
#, no-wrap
msgid "B<--merge-prereleases>, B<-m>"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:33
msgid ""
"Drop the part after the last tilde in the version number when doing version "
"comparison to identify if two entries are supposed to be the same or not."
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:38
msgid ""
"This is useful when you keep using the same changelog entry but you increase "
"its version number regularly. For instance, you might have 2.3-1~exp1, "
"2.3-1~exp2, ... until the official release 2.3-1 and they are all the same "
"changelog entry that has evolved over time."
msgstr ""

#. type: SH
#: dpkg-mergechangelogs.1:45
#, fuzzy, no-wrap
#| msgid "ACTIONS"
msgid "LIMITATIONS"
msgstr "ДЕЙСТВИЯ"

#. type: Plain text
#: dpkg-mergechangelogs.1:50
msgid ""
"Anything that is not parsed by Dpkg::Changelog is lost during the merge.  "
"This might include stuff like vim modelines, comments which were not "
"supposed to be there, etc."
msgstr ""

#. type: SH
#: dpkg-mergechangelogs.1:51
#, no-wrap
msgid "INTEGRATION WITH GIT"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:56
msgid ""
"If you want to use this program to merge Debian changelog files in a git "
"repository, you have first to register a new merge driver in B<.git/config> "
"or B<~/.gitconfig>:"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:60
#, no-wrap
msgid ""
" [merge \"dpkg-mergechangelogs\"]\n"
"     name = debian/changelog merge driver\n"
"     driver = dpkg-mergechangelogs -m %O %A %B %A\n"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:64
msgid ""
"Then you have to setup the merge attribute for the debian/changelog file "
"either in B<.gitattributes> in the repository itself, or in B<.git/info/"
"attributes>:"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:66
#, no-wrap
msgid " debian/changelog merge=dpkg-mergechangelogs\n"
msgstr ""

#. type: Plain text
#: dpkg-mergechangelogs.1:68
#, fuzzy
msgid "Copyright \\(co 2009-2010 Rapha\\[:e]l Hertzog"
msgstr "Copyright 2001 Joey Hess"

#. type: TH
#: dpkg-name.1:6
#, fuzzy, no-wrap
msgid "dpkg-name"
msgstr "dpkg"

#. type: Plain text
#: dpkg-name.1:9
msgid "dpkg-name - rename Debian packages to full package names"
msgstr ""

#. type: Plain text
#: dpkg-name.1:15
#, fuzzy
msgid "B<dpkg-name> [I<option>...] [B<-->] I<file>..."
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-name.1:29
msgid ""
"This manual page documents the B<dpkg-name> program which provides an easy "
"way to rename B<Debian> packages into their full package names. A full "
"package name consists of I<package>B<_>I<version>B<_>I<architecture>B<."
">I<package-type> as specified in the control file of the package. The "
"I<version> part of the filename consists of the upstream version information "
"optionally followed by a hyphen and the revision information. The I<package-"
"type> part comes from that field if present or fallbacks to B<deb>."
msgstr ""

#. type: TP
#: dpkg-name.1:31
#, fuzzy, no-wrap
msgid "B<-a>, B<--no-architecture>"
msgstr "B<dpkg --print-architecture>"

#. type: Plain text
#: dpkg-name.1:34
msgid "The destination filename will not have the architecture information."
msgstr ""

#. type: TP
#: dpkg-name.1:34
#, fuzzy, no-wrap
msgid "B<-k>, B<--symlink>"
msgstr "B<dpkg --version>"

#. type: Plain text
#: dpkg-name.1:37
msgid "Create a symlink, instead of moving."
msgstr ""

#. type: TP
#: dpkg-name.1:37
#, fuzzy, no-wrap
msgid "B<-o>, B<--overwrite>"
msgstr "B<-o>|B<--oknodo>"

#. type: Plain text
#: dpkg-name.1:41
msgid ""
"Existing files will be overwritten if they have the same name as the "
"destination filename."
msgstr ""

#. type: TP
#: dpkg-name.1:41
#, fuzzy, no-wrap
msgid "B<-s>, B<--subdir> [I<dir>]"
msgstr "B<-s>|B<--signal> I<сигнал>"

#. type: Plain text
#: dpkg-name.1:53
msgid ""
"Files will be moved into a subdirectory. If the directory given as argument "
"exists the files will be moved into that directory otherwise the name of the "
"target directory is extracted from the section field in the control part of "
"the package. The target directory will be `unstable/binary-I<architecture>/"
"I<section>'. If the section is not found in the control, then `no-section' "
"is assumed, and in this case, as well as for sections `non-free' and "
"`contrib' the target directory is `I<section>/binary-I<architecture>'. The "
"section field isn't required so a lot of packages will find their way to the "
"`no-section' area. Use this option with care, it's messy."
msgstr ""

#. type: TP
#: dpkg-name.1:53
#, fuzzy, no-wrap
msgid "B<-c>, B<--create-dir>"
msgstr "B<-o>|B<--oknodo>"

#. type: Plain text
#: dpkg-name.1:58
msgid ""
"This option can used together with the -s option. If a target directory "
"isn't found it will be created automatically.  B<Use this option with care.>"
msgstr ""

#. type: TP
#: dpkg-name.1:61
#, fuzzy, no-wrap
msgid "B<-v>, B<--version>"
msgstr "B<dpkg --version>"

#. type: TP
#: dpkg-name.1:66
#, no-wrap
msgid "B<dpkg-name bar-foo.deb>"
msgstr ""

#. type: Plain text
#: dpkg-name.1:71
msgid ""
"The file `bar-foo.deb' will be renamed to bar-foo_1.0-2_i386.deb or "
"something similar (depending on whatever information is in the control part "
"of `bar-foo.deb')."
msgstr ""

#. type: TP
#: dpkg-name.1:71
#, no-wrap
msgid "B<find /root/debian/ -name \\(aq*.deb\\(aq | xargs -n 1 dpkg-name -a>"
msgstr ""

#. type: Plain text
#: dpkg-name.1:76
msgid ""
"All files with the extension `deb' in the directory /root/debian and its "
"subdirectory's will be renamed by dpkg-name if required into names with no "
"architecture information."
msgstr ""

#. type: TP
#: dpkg-name.1:76
#, no-wrap
msgid "B<find -name \\(aq*.deb\\(aq | xargs -n 1 dpkg-name -a -o -s -c>"
msgstr ""

#. type: Plain text
#: dpkg-name.1:82
msgid ""
"B<Don't do this.> Your archive will be messed up completely because a lot of "
"packages don't come with section information.  B<Don't do this.>"
msgstr ""

#. type: TP
#: dpkg-name.1:82
#, no-wrap
msgid "B<dpkg --build debian-tmp && dpkg-name -o -s .. debian-tmp.deb>"
msgstr ""

#. type: Plain text
#: dpkg-name.1:85
msgid "This can be used when building new packages."
msgstr ""

#. type: Plain text
#: dpkg-name.1:95
msgid ""
"Some packages don't follow the name structure "
"I<package>B<_>I<version>B<_>I<architecture>B<.deb>.  Packages renamed by "
"dpkg-name will follow this structure. Generally this will have no impact on "
"how packages are installed by B<dselect>(1)/B<dpkg>(1), but other "
"installation tools might depend on this naming structure."
msgstr ""

#. type: Plain text
#: dpkg-name.1:103
#, fuzzy
msgid ""
"B<deb>(5), B<deb-control>(5), B<dpkg>(1), B<dpkg-deb>(1), B<find>(1), "
"B<xargs>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: Plain text
#: dpkg-name.1:106
msgid "Copyright \\(co 1995,1996 Erick Branderhorst"
msgstr ""

#. type: TH
#: dpkg-parsechangelog.1:1
#, fuzzy, no-wrap
msgid "dpkg-parsechangelog"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-parsechangelog.1:4
msgid "dpkg-parsechangelog - parse Debian changelog files"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:8
#, fuzzy
msgid "B<dpkg-parsechangelog> [I<option>...]"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-parsechangelog.1:14
msgid ""
"B<dpkg-parsechangelog> reads and parses the changelog of an unpacked Debian "
"source tree and outputs the information in it to standard output in a "
"machine-readable form."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:26
#, fuzzy, no-wrap
msgid "B<-L>I<libdir>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg-parsechangelog.1:33
msgid ""
"Specify an additional directory to search for parser scripts.  This "
"directory is searched before the default directories which are currently B</"
"usr/local/lib/dpkg/parsechangelog> and B</usr/lib/dpkg/parsechangelog>."
msgstr ""

#. type: SS
#: dpkg-parsechangelog.1:39
#, no-wrap
msgid "Parser Options"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:44
msgid ""
"The following options can be used to influence the output of the changelog "
"parser, e.g. the range of entries or the format of the output. They need to "
"be supported by the parser script in question. See also B<CAVEATS>."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:44
#, fuzzy, no-wrap
msgid "B<--format>I< outputformat>"
msgstr "B<-r>|B<--chroot> I<root>"

#. type: Plain text
#: dpkg-parsechangelog.1:53
msgid ""
"Set the output format. Currently supported values are I<dpkg> and "
"I<rfc822>.  I<dpkg> is the classic output format (from before this option "
"existed) and the default. It consists of one paragraph in Debian control "
"format (see B<deb-control>(5)). If more than one entry is requested, then "
"most fields are taken from the latest entry, except otherwise stated:"
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:54
#, fuzzy, no-wrap
msgid "B<Source:>I< pkg-name>"
msgstr "B<Source:> E<lt>имя архивов с исходникамиE<gt>"

#. type: TP
#: dpkg-parsechangelog.1:56
#, fuzzy, no-wrap
msgid "B<Version:>I< version>"
msgstr "B<Version:> E<lt>строка с версиейE<gt>"

#. type: TP
#: dpkg-parsechangelog.1:58
#, fuzzy, no-wrap
msgid "B<Distribution:>I< target-distribution>"
msgstr "B<Description:> E<lt>короткое описаниеE<gt>"

#. type: TP
#: dpkg-parsechangelog.1:60
#, fuzzy, no-wrap
msgid "B<Urgency:>I< urgency>"
msgstr "B<Replaces:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: dpkg-parsechangelog.1:63
msgid "The highest urgency of all included entries is used."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:63
#, fuzzy, no-wrap
msgid "B<Maintainer:>I< author>"
msgstr "B<Maintainer:> E<lt>полное имя и адрес эл.почтыE<gt>"

#. type: TP
#: dpkg-parsechangelog.1:65
#, fuzzy, no-wrap
msgid "B<Date:>I< date>"
msgstr "B<Replaces:> E<lt>список пакетовE<gt>"

#. type: TP
#: dpkg-parsechangelog.1:67
#, fuzzy, no-wrap
msgid "B<Closes:>I< bug-number>"
msgstr "B<Source:> E<lt>имя архивов с исходникамиE<gt>"

#. type: Plain text
#: dpkg-parsechangelog.1:70
msgid "The Closes fields of all included entries are merged."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:70
#, fuzzy, no-wrap
msgid "B<Changes:>I< changelog-entries>"
msgstr "B<Package:> E<lt>имя пакетаE<gt>"

#. type: Plain text
#: dpkg-parsechangelog.1:77
msgid ""
"The text of all changelog entries is concatenated. To make this field a "
"valid Debian control format multiline field empty lines are replaced with a "
"single full stop and all lines is intended by one space character. The exact "
"content depends on the changelog format."
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:80
msgid "There might be additional user-defined fields present."
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:84
msgid ""
"The B<rfc822> format uses the same fields but outputs a separate paragraph "
"for each changelog entry so that all metadata for each entry is preserved."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:84
#, fuzzy, no-wrap
msgid "B<--since> I<version>, B<-s>I<version>,B< -v>I<version>"
msgstr "B<-s>|B<--signal> I<сигнал>"

#. type: Plain text
#: dpkg-parsechangelog.1:87
msgid "include all changes later than I<version>."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:87
#, fuzzy, no-wrap
msgid "B<--until> I<version>, B<-u>I<version>"
msgstr "B<dpkg --version>"

#. type: Plain text
#: dpkg-parsechangelog.1:90
msgid "include all changes earlier than I<version>."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:90
#, fuzzy, no-wrap
msgid "B<--from> I<version>, B<-f>I<version>"
msgstr "B<dpkg --version>"

#. type: Plain text
#: dpkg-parsechangelog.1:93
msgid "include all changes equal or later than I<version>."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:93
#, fuzzy, no-wrap
msgid "B<--to> I<version>, B<-t>I<version>"
msgstr "B<dpkg --version>"

#. type: Plain text
#: dpkg-parsechangelog.1:96
msgid "include all changes up to or equal than I<version>."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:96
#, fuzzy, no-wrap
msgid "B<--count> I<number>, B<-c>I<number>, B<-n>I<number>"
msgstr "B<start-stop-daemon> B<-S>|B<--start> I<параметры> [B<-->] I<аргументы>"

#. type: Plain text
#: dpkg-parsechangelog.1:100
msgid ""
"include I<number> entries from the top (or the tail if I<number> is lower "
"than 0)."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:100
#, fuzzy, no-wrap
msgid "B<--offset> I<number>, B<-o>I<number>"
msgstr "B<--abort-after=>I<число>"

#. type: Plain text
#: dpkg-parsechangelog.1:104
msgid ""
"change the starting point for --count, counted from the top (or the tail if "
"I<number> is lower than 0)."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:104 update-alternatives.8:268
#, fuzzy, no-wrap
msgid "B<--all>"
msgstr "B<install>"

#. type: Plain text
#: dpkg-parsechangelog.1:108
msgid ""
"include all changes. Note: other options have no effect when this is in use."
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:114
msgid ""
"All B<Parser Options> except for -v are only supported in B<dpkg>, version "
"1.14.16 and later. Third party parsers for changelog formats other than "
"I<debian> might not support all options."
msgstr ""

#. type: TP
#: dpkg-parsechangelog.1:116
#, no-wrap
msgid "B<debian/changelog>"
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:122
msgid ""
"The changelog file, used to obtain version-dependent information about the "
"source package, such as the urgency and distribution of an upload, the "
"changes made since a particular release, and the source version number "
"itself."
msgstr ""

#. type: Plain text
#: dpkg-parsechangelog.1:129
#, fuzzy
msgid "Copyright \\(co 2007, 2008 Frank Lichtenheld"
msgstr "Copyright 2001 Joey Hess"

#. type: TH
#: dpkg-query.1:1
#, fuzzy, no-wrap
msgid "dpkg-query"
msgstr "B<dpkg-query-actions>"

#. type: Plain text
#: dpkg-query.1:4
msgid "dpkg-query - a tool to query the dpkg database"
msgstr ""

#. type: Plain text
#: dpkg-query.1:8
#, fuzzy
msgid "B<dpkg-query> [I<option>...] I<command>"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-query.1:12
msgid ""
"B<dpkg-query> is a tool to show information about packages listed in the "
"B<dpkg> database."
msgstr ""

#. type: TP
#: dpkg-query.1:14
#, fuzzy, no-wrap
msgid "B<-l>, B<--list> [I<package-name-pattern>...]"
msgstr "B<dpkg --get-selections> [I<шаблон имени пакета>...]"

#. type: Plain text
#: dpkg-query.1:24
msgid ""
"List packages matching given pattern. If no I<package-name-pattern> is "
"given, list all packages in I</var/lib/dpkg/status>, excluding the ones "
"marked as not-installed (i.e. those which have been previously purged). "
"Normal shell wildchars are allowed in I<package-name-pattern>. Please note "
"you will probably have to quote I<package-name-pattern> to prevent the shell "
"from performing filename expansion. For example this will list all package "
"names starting with ``libc6'':"
msgstr ""

#. type: Plain text
#: dpkg-query.1:27
#, fuzzy, no-wrap
msgid "  B<dpkg-query -l \\(aqlibc6*\\(aq>\n"
msgstr "B< dpkg -l \\(aq*vi*\\(aq>"

#. type: Plain text
#: dpkg-query.1:31
msgid ""
"The first three columns of the output show the desired action, the package "
"status, and errors, in that order."
msgstr ""

#. type: Plain text
#: dpkg-query.1:33
msgid "Desired action:"
msgstr ""

#. type: Plain text
#: dpkg-query.1:39
#, no-wrap
msgid ""
"  u = Unknown\n"
"  i = Install\n"
"  h = Hold\n"
"  r = Remove\n"
"  p = Purge\n"
msgstr ""

#. type: Plain text
#: dpkg-query.1:42
msgid "Package status:"
msgstr ""

#. type: Plain text
#: dpkg-query.1:51
#, no-wrap
msgid ""
"  n = Not-installed\n"
"  c = Config-files\n"
"  H = Half-installed\n"
"  U = Unpacked\n"
"  F = Half-configured\n"
"  W = Triggers-awaiting\n"
"  t = Triggers-pending\n"
"  i = Installed\n"
msgstr ""

#. type: Plain text
#: dpkg-query.1:54
msgid "Error flags:"
msgstr ""

#. type: Plain text
#: dpkg-query.1:57
#, no-wrap
msgid ""
"  E<lt>emptyE<gt> = (none)\n"
"  R = Reinst-required\n"
msgstr ""

#. type: Plain text
#: dpkg-query.1:62
msgid ""
"An uppercase status or error letter indicates the package is likely to cause "
"severe problems. Please refer to B<dpkg>(1) for information about the above "
"states and flags."
msgstr ""

#. type: Plain text
#: dpkg-query.1:67
msgid ""
"The output format of this option is not configurable, but varies "
"automatically to fit the terminal width. It is intended for human readers, "
"and is not easily machine-readable. See B<-W> (B<--show>)  and B<--"
"showformat> for a way to configure the output format."
msgstr ""

#. type: TP
#: dpkg-query.1:67
#, fuzzy, no-wrap
msgid "B<-W>, B<--show> [I<package-name-pattern>...]"
msgstr "B<dpkg --get-selections> [I<шаблон имени пакета>...]"

#. type: Plain text
#: dpkg-query.1:74
msgid ""
"Just like the B<--list> option this will list all packages matching the "
"given pattern. However the output can be customized using the B<--"
"showformat> option.  The default output format gives one line per matching "
"package, each line having the name and installed version of the package, "
"separated by a tab."
msgstr ""

#. type: TP
#: dpkg-query.1:74
#, fuzzy, no-wrap
msgid "B<-s>, B<--status> I<package-name>..."
msgstr "B<-a>|B<--startas> I<полное_имя>"

#. type: Plain text
#: dpkg-query.1:79
msgid ""
"Report status of specified package. This just displays the entry in the "
"installed package status database. When multiple I<package-name> are listed, "
"the requested status entries are separated by an empty line."
msgstr ""

#. type: TP
#: dpkg-query.1:79
#, fuzzy, no-wrap
msgid "B<-L>, B<--listfiles> I<package-name>..."
msgstr "B<dpkg -i> | B<--install> I<имя файла пакета>..."

#. type: Plain text
#: dpkg-query.1:85
msgid ""
"List files installed to your system from I<package-name>. When multiple "
"I<package-name> are listed, the requested lists of files are separated by an "
"empty line. However, note that files created by package-specific "
"installation-scripts are not listed."
msgstr ""

#. type: TP
#: dpkg-query.1:85
#, fuzzy, no-wrap
msgid "B<-c>, B<--control-path> I<package-name> [I<control-file>]"
msgstr "B<dpkg-checkbuilddeps> -B<-B> [I<файл control>]"

#. type: Plain text
#: dpkg-query.1:93
msgid ""
"List paths for control files installed to your system from I<package-name>.  "
"If I<control-file> is specified then only list the path for that control "
"file if it is present. B<Warning>: this command is semi-public, it should be "
"used only as a last resort solution, and if no other interface is available. "
"It might get deprecated later on if better interfaces or the current "
"architectural deficiencies have been solved."
msgstr ""

#. type: TP
#: dpkg-query.1:93
#, fuzzy, no-wrap
msgid "B<-S>, B<--search> I<filename-search-pattern>..."
msgstr "B<dpkg --get-selections> [I<шаблон имени пакета>...]"

#. type: Plain text
#: dpkg-query.1:99
msgid ""
"Search for packages that own files corresponding to the given pattern.  "
"Standard shell wildchars can be used in the pattern.  This command will not "
"list extra files created by maintainer scripts, nor will it list "
"alternatives."
msgstr ""

#. type: TP
#: dpkg-query.1:99
#, fuzzy, no-wrap
msgid "B<-p>, B<--print-avail> I<package-name>..."
msgstr "B<-n>|B<--name> I<имя_процесса>"

#. type: Plain text
#: dpkg-query.1:105
msgid ""
"Display details about I<package-name>, as found in I</var/lib/dpkg/"
"available>. When multiple I<package-name> are listed, the requested "
"I<available> entries are separated by an empty line."
msgstr ""

#. type: Plain text
#: dpkg-query.1:110
msgid ""
"Users of APT-based frontends should use B<apt-cache show> I<package-name> "
"instead as the I<available> file is only kept up-to-date when using "
"B<dselect>."
msgstr ""

#. type: TP
#: dpkg-query.1:122
#, fuzzy, no-wrap
msgid "B<-f>, B<--showformat=>I<format>"
msgstr "B<-r>|B<--chroot> I<root>"

#. type: Plain text
#: dpkg-query.1:129
msgid "In the format string, \\(lqB<\\e>\\(rq introduces escapes:"
msgstr ""

#. type: Plain text
#: dpkg-query.1:134
#, no-wrap
msgid ""
"    B<\\en>  newline\n"
"    B<\\er>  carriage return\n"
"    B<\\et>  tab\n"
msgstr ""

#. type: Plain text
#: dpkg-query.1:139
msgid ""
"\\(lqB<\\e>\\(rq before any other character suppresses any special meaning "
"of the following character, which is useful for \\(lqB<\\e>\\(rq and \\(lqB<"
"$>\\(rq."
msgstr ""

#. type: Plain text
#: dpkg-query.1:147
msgid ""
"Package information can be included by inserting variable references to "
"package fields using the syntax \\(lqB<${>I<field>[B<;>I<width>]B<}>\\(rq. "
"Fields are printed right-aligned unless the width is negative in which case "
"left alignment will be used. The following I<field>s are recognised but they "
"are not necessarily available in the status file (only internal fields or "
"fields stored in the binary package end up in it):"
msgstr ""

#. type: Plain text
#: dpkg-query.1:182
#, no-wrap
msgid ""
"    B<Architecture>\n"
"    B<Bugs>\n"
"    B<Conffiles> (internal)\n"
"    B<Config-Version> (internal)\n"
"    B<Conflicts>\n"
"    B<Breaks>\n"
"    B<Depends>\n"
"    B<Description>\n"
"    B<Enhances>\n"
"    B<Essential>\n"
"    B<Filename> (internal, front-end related)\n"
"    B<Homepage>\n"
"    B<Installed-Size>\n"
"    B<MD5sum> (internal, front-end related)\n"
"    B<MSDOS-Filename> (internal, front-end related)\n"
"    B<Maintainer>\n"
"    B<Origin>\n"
"    B<Package>\n"
"    B<Pre-Depends>\n"
"    B<Priority>\n"
"    B<Provides>\n"
"    B<Recommends>\n"
"    B<Replaces>\n"
"    B<Revision> (obsolete)\n"
"    B<Section>\n"
"    B<Size> (internal, front-end related)\n"
"    B<Source>\n"
"    B<Status> (internal)\n"
"    B<Suggests>\n"
"    B<Tag> (usually not in the .deb but in the repository Packages files)\n"
"    B<Triggers-Awaited> (internal)\n"
"    B<Triggers-Pending> (internal)\n"
"    B<Version>\n"
msgstr ""

#. type: Plain text
#: dpkg-query.1:190
msgid ""
"The default format string is \\(lqB<${Package}\\et${Version}\\en>\\(rq.  "
"Actually, all other fields found in the status file (i.e. user defined "
"fields) can be requested, too. They will be printed as-is, though, no "
"conversion nor error checking is done on them.  To get the name of the dpkg "
"maintainer and the installed version, you could run:"
msgstr ""

#. type: Plain text
#: dpkg-query.1:193
#, no-wrap
msgid "  B<dpkg-query -W -f=\\(aq${Package} ${Version}\\et${Maintainer}\\en\\(aq dpkg>\n"
msgstr ""

#. type: SH
#: dpkg-query.1:195 dpkg-split.1:179 start-stop-daemon.8:259
#: update-alternatives.8:374
#, no-wrap
msgid "EXIT STATUS"
msgstr ""

#. type: TP
#: dpkg-query.1:196 dpkg-split.1:180 start-stop-daemon.8:260
#: start-stop-daemon.8:289 update-alternatives.8:375
#, no-wrap
msgid "B<0>"
msgstr ""

#. type: Plain text
#: dpkg-query.1:199
msgid "The requested query was successfully performed."
msgstr ""

#. type: TP
#: dpkg-query.1:199 dpkg-split.1:186 start-stop-daemon.8:270
#: start-stop-daemon.8:292
#, no-wrap
msgid "B<1>"
msgstr ""

#. type: Plain text
#: dpkg-query.1:203
msgid ""
"Problems were encountered while parsing the command line or performing the "
"query, including no file or package being found (except for --control-path)."
msgstr ""

#. type: Plain text
#: dpkg-query.1:213
msgid ""
"This setting influences the output of the B<--list> option by changing the "
"width of its output."
msgstr ""

#. type: Plain text
#: dpkg-query.1:216
#, fuzzy
msgid "Copyright \\(co 2001 Wichert Akkerman"
msgstr "Copyright 2001 Joey Hess"

#. type: TH
#: dpkg-scanpackages.1:15
#, no-wrap
msgid "dpkg-scanpackages"
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:18
msgid "dpkg-scanpackages - create Packages index files"
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:26
msgid ""
"B<dpkg-scanpackages> [I<option>...] I<binary-dir> [I<override-file> [I<path-"
"prefix>]] B<E<gt>> I<Packages>"
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:39
msgid ""
"B<dpkg-scanpackages> sorts through a tree of Debian binary packages and "
"creates a Packages file, used by B<apt>(8), B<dselect>(1), etc, to tell the "
"user what packages are available for installation. These Packages files are "
"the same as those found on Debian archive sites and CD-ROMs. You might use "
"B<dpkg-scanpackages> yourself if making a directory of local packages to "
"install on a cluster of machines."
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:51
msgid ""
"B<Note:> If you want to access the generated Packages file with B<apt> you "
"will probably need to compress the file with B<bzip2>(1)  (generating a "
"Packages.bz2 file) or B<gzip>(1)  (generating a Packages.gz file). apt "
"ignores uncompressed Packages files except on local access (i.e.  B<file://> "
"sources)."
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:58
msgid ""
"I<binarydir> is the name of the tree of the binary packages to process (for "
"example, B<contrib/binary-i386>).  It is best to make this relative to the "
"root of the Debian archive, because every Filename field in the new Packages "
"file will start with this string."
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:63
msgid ""
"I<overridefile> is the name of a file to read which contains information "
"about how the package fits into the distribution (it can be a compressed "
"file); see B<deb-override>(5)."
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:66
msgid ""
"I<pathprefix> is an optional string to be prepended to the Filename fields."
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:70
msgid ""
"If more than one version of a package is found only the newest one is "
"included in the output. If they have the same version and only differ in "
"architecture only the first one found is used."
msgstr ""

#. type: TP
#: dpkg-scanpackages.1:72
#, fuzzy, no-wrap
msgid "B<-t>, B<--type> I<type>"
msgstr "B<-t>|B<--test>"

#. type: Plain text
#: dpkg-scanpackages.1:75
msgid "Scan for *.I<type> packages, instead of *.deb."
msgstr ""

#. type: TP
#: dpkg-scanpackages.1:75
#, fuzzy, no-wrap
msgid "B<-u>, B<--udeb>"
msgstr "B<-q>|B<--quiet>"

#. type: Plain text
#: dpkg-scanpackages.1:78
msgid "B<Obsolete> alias for B<-tudeb>."
msgstr ""

#. type: IP
#: dpkg-scanpackages.1:78 dpkg-scansources.1:49
#, fuzzy, no-wrap
msgid "B<-e>, B<--extra-override> I<file>"
msgstr "B<-p>|B<--pidfile> I<pid-файл>"

#. type: Plain text
#: dpkg-scanpackages.1:84 dpkg-scansources.1:54
msgid ""
"Scan I<file> to find supplementary overrides (the file can be compressed). "
"See B<deb-extra-override>(5)  for more information on its format."
msgstr ""

#. type: TP
#: dpkg-scanpackages.1:84
#, fuzzy, no-wrap
msgid "B<-a>, B<--arch> I<arch>"
msgstr "B<-d>|B<--chdir> I<путь>"

#. type: Plain text
#: dpkg-scanpackages.1:88
msgid ""
"Use a pattern consisting of I<*_all.deb> and I<*_arch.deb> instead of "
"scanning for all debs."
msgstr ""

#. type: TP
#: dpkg-scanpackages.1:88
#, fuzzy, no-wrap
msgid "B<-m>, B<--multiversion>"
msgstr "B<-V>|B<--version>"

#. type: Plain text
#: dpkg-scanpackages.1:91
msgid "Include all found packages in the output."
msgstr ""

#. type: TP
#: dpkg-scanpackages.1:91
#, fuzzy, no-wrap
msgid "B<-M>, B<--medium> I<id-string>"
msgstr "B<-p>|B<--pidfile> I<pid-файл>"

#. type: Plain text
#: dpkg-scanpackages.1:96
msgid ""
"Add an X-Medium field containing the value I<id-string>. This field is "
"required if you want to generate B<Packages.cd> files for use by the multicd "
"access method of dselect."
msgstr ""

#. type: SH
#: dpkg-scanpackages.1:103 update-alternatives.8:448
#, no-wrap
msgid "DIAGNOSTICS"
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:109
msgid ""
"B<dpkg-scanpackages> outputs the usual self-explanatory errors. It also "
"warns about packages that are in the wrong subdirectory, are duplicated, "
"have a Filename field in their control file, are missing from the override "
"file, or have maintainer substitutions which do not take effect."
msgstr ""

#. type: Plain text
#: dpkg-scanpackages.1:115
#, fuzzy
msgid ""
"B<dpkg>(1), B<dselect>(1), B<deb-override>(5), B<deb-extra-override>(5), "
"B<dpkg-scansources>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: TH
#: dpkg-scansources.1:1
#, no-wrap
msgid "dpkg-scansources"
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:4
msgid "dpkg-scansources - create Sources index files"
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:12
msgid ""
"B<dpkg-scansources> [I<option>...] I<binary-dir> [I<override-file> [I<path-"
"prefix>]] B<E<gt>> I<Sources>"
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:17
msgid ""
"B<dpkg-scansources> scans the given I<binary-dir> for I<.dsc> files.  These "
"are used to create a Debian source index, which is output to stdout."
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:28
msgid ""
"The I<override-file>, if given, is used to set priorities in the resulting "
"index records and to override the maintainer field given in the I<.dsc> "
"files. The file can be compressed. See B<deb-override>(5)  for the format of "
"this file. \\s-1NB:\\s0 Since the override file is indexed by binary, not "
"source, packages, there's a bit of a problem here. The current "
"implementation uses the highest priority of all the binary packages produced "
"by a I<.dsc> file for the priority of the source package, and the override "
"entry for the first binary package listed in the I<.dsc> file to modify "
"maintainer information. This might change."
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:32
msgid ""
"The I<path-prefix>, if given, is prepended to the directory field in the "
"generated source index. You generally use this to make the directory fields "
"contain the path from the top of the Debian archive hierarchy."
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:43
msgid ""
"B<Note:> If you want to access the generated Sources file with B<apt>(8)  "
"you will probably need to compress the file with B<gzip>(1)  (generating a "
"Sources.gz file). apt ignores uncompressed Sources files except on local "
"access (i.e.  B<file://> sources)."
msgstr ""

#. type: IP
#: dpkg-scansources.1:45
#, fuzzy, no-wrap
msgid "B<-n>, B<--no-sort>"
msgstr "B<-o>|B<--oknodo>"

#. type: Plain text
#: dpkg-scansources.1:48
msgid ""
"Don't sort the index records. Normally they are sorted by source package "
"name."
msgstr ""

#. type: IP
#: dpkg-scansources.1:54
#, fuzzy, no-wrap
msgid "B<-s>, B<--source-override> I<file>"
msgstr "B<-p>|B<--pidfile> I<pid-файл>"

#. type: Plain text
#: dpkg-scansources.1:58
msgid ""
"Use I<file> as the source override file (the file can be compressed).  The "
"default is the name of the override file you specified with I<.src> appended."
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:64
msgid ""
"The source override file is in a different format from the binary override "
"file. It contains only two whitespace separated fields, the first is the "
"source package name and the second is the section. Blank lines and comment "
"lines are ignored in the normal manner. If a package appears in both files "
"the source override takes precedence for setting the section."
msgstr ""

#. type: IP
#: dpkg-scansources.1:64
#, fuzzy, no-wrap
msgid "B<--debug>"
msgstr "B<--no-debsig>"

#. type: Plain text
#: dpkg-scansources.1:66
msgid "Turn debugging on."
msgstr ""

#. type: Plain text
#: dpkg-scansources.1:75
#, fuzzy
msgid "B<deb-override>(5), B<deb-extra-override>(5), B<dpkg-scanpackages>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: Plain text
#: dpkg-scansources.1:77
msgid "Roderick Schertler E<lt>roderick@argon.orgE<gt>"
msgstr ""

#. type: TH
#: dpkg-shlibdeps.1:1
#, fuzzy, no-wrap
msgid "dpkg-shlibdeps"
msgstr "dpkg-checkbuilddeps"

#. type: Plain text
#: dpkg-shlibdeps.1:4
msgid "dpkg-shlibdeps - generate shared library substvar dependencies"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:8
#, fuzzy
msgid "B<dpkg-shlibdeps> [I<option>...] [B<-e>]I<executable> [I<option>...]"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-shlibdeps.1:22
msgid ""
"B<dpkg-shlibdeps> calculates shared library dependencies for executables "
"named in its arguments. The dependencies are added to the substitution "
"variables file B<debian/substvars> as variable names B<shlibs:"
">I<dependencyfield> where I<dependencyfield> is a dependency field name. Any "
"other variables starting with B<shlibs:> are removed from the file."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:45
msgid ""
"B<dpkg-shlibdeps> has two possible sources of information to generate "
"dependency information. Either I<symbols> files or I<shlibs> files. For each "
"binary that B<dpkg-shlibdeps> analyzes, it finds out the list of libraries "
"that it's linked with.  Then, for each library, it looks up either the "
"I<symbols> file, or the I<shlibs> file (if the former doesn't exist or if "
"debian/shlibs.local contains the relevant dependency). Both files are "
"supposed to be provided by the library package and should thus be available "
"as /var/lib/dpkg/info/I<package>.I<symbols> or /var/lib/dpkg/info/I<package>."
"I<shlibs>. The package name is identified in two steps: find the library "
"file on the system (looking in the same directories that B<ld.so> would "
"use), then use B<dpkg -S >I<library-file> to lookup the package providing "
"the library."
msgstr ""

#. type: SS
#: dpkg-shlibdeps.1:45
#, no-wrap
msgid "Symbols files"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:50
msgid ""
"Symbols files contain finer-grained dependency information by providing the "
"minimum dependency for each symbol that the library exports. The script "
"tries to find a symbols file associated to a library package in the "
"following places (first match is used):"
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:50
#, no-wrap
msgid "debian/*/DEBIAN/symbols"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:58
msgid ""
"Shared library information generated by the current build process that also "
"invoked B<dpkg-shlibdeps>.  They are generated by B<dpkg-gensymbols>(1).  "
"They are only used if the library is found in a package's build tree. The "
"symbols file in that build tree takes precedence over symbols files from "
"other binary packages."
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:58
#, no-wrap
msgid "/etc/dpkg/symbols/I<package>.symbols.I<arch>"
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:59
#, no-wrap
msgid "/etc/dpkg/symbols/I<package>.symbols"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:63
msgid ""
"Per-system overriding shared library dependency information.  I<arch> is the "
"architecture of the current system (obtained by B<dpkg-architecture -"
"qDEB_HOST_ARCH>)."
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:63
#, no-wrap
msgid "Output from \\(lqB<dpkg-query --control-path> I<package> symbols\\(rq"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:66 dpkg-shlibdeps.1:100
msgid ""
"Package-provided shared library dependency information.  Unless overridden "
"by --admindir, those files are located in /var/lib/dpkg."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:73
msgid ""
"While scanning the symbols used by all binaries, B<dpkg-shlibdeps> remembers "
"the (biggest) minimal version needed for each library. At the end of the "
"process, it is able to write out the minimal dependency for every library "
"used (provided that the information of the I<symbols> files are accurate)."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:80
msgid ""
"As a safe-guard measure, a symbols file can provide a I<Build-Depends-"
"Package> meta-information field and B<dpkg-shlibdeps> will extract the "
"minimal version required by the corresponding package in the Build-Depends "
"field and use this version if it's higher than the minimal version computed "
"by scanning symbols."
msgstr ""

#. type: SS
#: dpkg-shlibdeps.1:80
#, no-wrap
msgid "Shlibs files"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:84
msgid ""
"Shlibs files associate directly a library to a dependency (without looking "
"at the symbols). It's thus often stronger than really needed but very safe "
"and easy to handle."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:87
msgid ""
"The dependencies for a library are looked up in several places. The first "
"file providing information for the library of interest is used:"
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:87
#, no-wrap
msgid "debian/shlibs.local"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:89
msgid "Package-local overriding shared library dependency information."
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:89
#, no-wrap
msgid "/etc/dpkg/shlibs.override"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:91
msgid "Per-system overriding shared library dependency information."
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:91
#, no-wrap
msgid "debian/*/DEBIAN/shlibs"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:97
msgid ""
"Shared library information generated by the current build process that also "
"invoked B<dpkg-shlibdeps>.  They are only used if the library is found in a "
"package's build tree. The shlibs file in that build tree takes precedence "
"over shlibs files from other binary packages."
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:97
#, no-wrap
msgid "Output from \\(lqB<dpkg-query --control-path> I<package> shlibs\\(rq"
msgstr ""

#. type: IP
#: dpkg-shlibdeps.1:100
#, no-wrap
msgid "/etc/dpkg/shlibs.default"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:102
msgid "Per-system default shared library dependency information."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:106
msgid ""
"The extracted dependencies are then directly used (except if they are "
"filtered out because they have been identified as duplicate, or as weaker "
"than another dependency)."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:111
msgid ""
"B<dpkg-shlibdeps> interprets non-option arguments as executable names, just "
"as if they'd been supplied as B<-e>I<executable>."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:111
#, fuzzy, no-wrap
msgid "B<-e>I<executable>"
msgstr "B<-x>|B<--exec> I<исполняемый_файл>"

#. type: Plain text
#: dpkg-shlibdeps.1:115
msgid ""
"Include dependencies appropriate for the shared libraries required by "
"I<executable>."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:115
#, no-wrap
msgid "B<-d>I<dependencyfield>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:121
msgid ""
"Add dependencies to be added to the control file dependency field "
"I<dependencyfield>.  (The dependencies for this field are placed in the "
"variable B<shlibs:>I<dependencyfield>.)"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:131
msgid ""
"The B<-d>I<dependencyfield> option takes effect for all executables after "
"the option, until the next B<-d>I<dependencyfield>.  The default "
"I<dependencyfield> is B<Depends>."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:139
msgid ""
"If the same dependency entry (or set of alternatives) appears in more than "
"one of the recognised dependency field names B<Pre-Depends>, B<Depends>, "
"B<Recommends>, B<Enhances> or B<Suggests> then B<dpkg-shlibdeps> will "
"automatically remove the dependency from all fields except the one "
"representing the most important dependencies."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:139
#, no-wrap
msgid "B<-p>I<varnameprefix>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:150
msgid ""
"Start substitution variables with I<varnameprefix>B<:> instead of B<shlibs:"
">.  Likewise, any existing substitution variables starting with "
"I<varnameprefix>B<:> (rather than B<shlibs:>)  are removed from the the "
"substitution variables file."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:156
msgid ""
"Print substitution variable settings to standard output, rather than being "
"added to the substitution variables file (B<debian/substvars> by default)."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:156
#, fuzzy, no-wrap
msgid "B<-t>I<type>"
msgstr "B<-t>|B<--test>"

#. type: Plain text
#: dpkg-shlibdeps.1:163
msgid ""
"Prefer shared library dependency information tagged for the given package "
"type. If no tagged information is available, falls back to untagged "
"information. The default package type is \"deb\". Shared library dependency "
"information is tagged for a given type by prefixing it with the name of the "
"type, a colon, and whitespace."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:163
#, no-wrap
msgid "B<-L>I<localshlibsfile>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:169
msgid ""
"Read overriding shared library dependency information from "
"I<localshlibsfile> instead of B<debian/shlibs.local>."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:175
msgid ""
"Write substitution variables in I<substvarsfile>; the default is B<debian/"
"substvars>."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:175
#, fuzzy, no-wrap
msgid "B<-v>"
msgstr "B<-G>"

#. type: Plain text
#: dpkg-shlibdeps.1:180
msgid ""
"Enable verbose mode. Numerous messages are displayed to explain what B<dpkg-"
"shlibdeps> does."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:180
#, fuzzy, no-wrap
msgid "B<-x>I<package>"
msgstr "B<unpacked>"

#. type: Plain text
#: dpkg-shlibdeps.1:187
msgid ""
"Exclude the package from the generated dependencies. This is useful to avoid "
"self-dependencies for packages which provide ELF binaries (executables or "
"library plugins) using a library contained in the same package. This option "
"can be used multiple times to exclude several packages."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:187
#, fuzzy, no-wrap
msgid "B<-S>I<pkgbuilddir>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg-shlibdeps.1:194
msgid ""
"Look into I<pkgbuilddir> first when trying to find a library. This is useful "
"when the source package builds multiple flavors of the same library and you "
"want to ensure that you get the dependency from a given binary package. You "
"can use this option multiple times: directories will be tried in the same "
"order before directories of other binary packages."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:194
#, no-wrap
msgid "B<--ignore-missing-info>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:200
msgid ""
"Do not fail if dependency information can't be found for a shared library.  "
"Usage of this option is discouraged, all libraries should provide dependency "
"information (either with shlibs files, or with symbols files)  even if they "
"are not yet used by other packages."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:200
#, no-wrap
msgid "B<--warnings=>I<value>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:211
msgid ""
"I<value> is a bit field defining the set of warnings that can be emitted by "
"B<dpkg-shlibdeps>.  Bit 0 (value=1) enables the warning \"symbol I<sym> used "
"by I<binary> found in none of the libraries\", bit 1 (value=2) enables the "
"warning \"dependency on I<library> could be avoided\" and bit 2 (value=4)  "
"enables the warning \"I<binary> shouldn't be linked with I<library>\".  The "
"default I<value> is 3: the first two warnings are active by default, the "
"last one is not. Set I<value> to 7 if you want all warnings to be active."
msgstr ""

#. type: SH
#: dpkg-shlibdeps.1:222
#, fuzzy, no-wrap
msgid "WARNINGS"
msgstr "ПРЕДУПРЕЖДЕНИЕ"

#. type: Plain text
#: dpkg-shlibdeps.1:230
msgid ""
"Since B<dpkg-shlibdeps> analyzes the set of symbols used by each binary of "
"the generated package, it is able to emit warnings in several cases. They "
"inform you of things that can be improved in the package. In most cases, "
"those improvements concern the upstream sources directly. By order of "
"decreasing importance, here are the various warnings that you can encounter:"
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:230
#, no-wrap
msgid "B<symbol>I< sym>B< used by >I<binary>B< found in none of the libraries.>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:236
msgid ""
"The indicated symbol has not been found in the libraries linked with the "
"binary. The I<binary> is most likely a library and it needs to be linked "
"with an additional library during the build process (option B<-l>I<library> "
"of the linker)."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:236
#, no-wrap
msgid "I<binary>B< contains an unresolvable reference to symbol >I<sym>B<: it's probably a plugin>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:249
msgid ""
"The indicated symbol has not been found in the libraries linked with the "
"binary. The I<binary> is most likely a plugin and the symbol is probably "
"provided by the program that loads this plugin. In theory a plugin doesn't "
"have any SONAME but this binary does have one and as such it could not be "
"clearly identified as such. However the fact that the binary is stored in a "
"non-public directory is a strong indication that's it's not a normal shared "
"library. If the binary is really a plugin, then disregard this warning. But "
"there's always the possibility that it's a real library and that programs "
"linking to it are using an RPATH so that the dynamic loader finds it. In "
"that case, the library is broken and needs to be fixed."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:249
#, no-wrap
msgid "B<dependency on >I<library>B< could be avoided if >I<binaries>B< were not uselessly linked against it (they use none of its symbols).>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:255
msgid ""
"None of the I<binaries> that are linked with I<library> use any of the "
"symbols provided by the library. By fixing all the binaries, you would avoid "
"the dependency associated to this library (unless the same dependency is "
"also generated by another library that is really used)."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:255
#, no-wrap
msgid "I<binary>B< shouldn't be linked with >I<library>B< (it uses none of its symbols).>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:262
msgid ""
"The I<binary> is linked to a library that it doesn't need. It's not a "
"problem but some small performance improvements in binary load time can be "
"obtained by not linking this library to this binary. This warning checks the "
"same information than the previous one but does it for each binary instead "
"of doing the check globally on all binaries analyzed."
msgstr ""

#. type: SH
#: dpkg-shlibdeps.1:262
#, no-wrap
msgid "ERRORS"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:269
msgid ""
"B<dpkg-shlibdeps> will fail if it can't find a public library used by a "
"binary or if this library has no associated dependency information (either "
"shlibs file or symbols file). A public library has a SONAME and is versioned "
"(libsomething.so.I<X>). A private library (like a plugin) should not have a "
"SONAME and doesn't need to be versioned."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:269
#, no-wrap
msgid "B<couldn't find library >I<library-soname>B< needed by >I<binary>B< (its RPATH is '>I<rpath>B<')>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:285
msgid ""
"The I<binary> uses a library called I<library-soname> but B<dpkg-shlibdeps> "
"has been unable to find the library.  B<dpkg-shlibdeps> creates a list of "
"directories to check as following: directories listed in the RPATH of the "
"binary, directories listed in /etc/ld.so.conf, directories listed in the "
"LD_LIBRARY_PATH environment variable, and standard public directories (/"
"lib, /usr/lib, /lib32, /usr/lib32, /lib64, /usr/lib64). Then it checks those "
"directories in the package's build tree of the binary being analyzed, in the "
"packages' build trees indicated with the -S command-line option, in other "
"packages' build trees that contains a DEBIAN/shlibs or DEBIAN/symbols file "
"and finally in the root directory.  If the library is not found in any of "
"those directories, then you get this error."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:291
msgid ""
"If the library not found is in a private directory of the same package, then "
"you want to add the directory to LD_LIBRARY_PATH. If it's in another binary "
"package being built, you want to make sure that the shlibs/symbols file of "
"this package is already created and that LD_LIBRARY_PATH contains the "
"appropriate directory if it also is in a private directory."
msgstr ""

#. type: TP
#: dpkg-shlibdeps.1:291
#, no-wrap
msgid "B<no dependency information found for >I<library-file>B< (used by >I<binary>B<).>"
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:304
msgid ""
"The library needed by I<binary> has been found by B<dpkg-shlibdeps> in "
"I<library-file> but B<dpkg-shlibdeps> has been unable to find any dependency "
"information for that library. To find out the dependency, it has tried to "
"map the library to a Debian package with the help of B<dpkg -S >I<library-"
"file>.  Then it checked the corresponding shlibs and symbols files in /var/"
"lib/dpkg/info/, and in the various package's build trees (debian/*/DEBIAN/)."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:318
msgid ""
"This failure can be caused by a bad or missing shlibs or symbols file in the "
"package of the library. It might also happen if the library is built within "
"the same source package and if the shlibs files has not yet been created (in "
"which case you must fix debian/rules to create the shlibs before calling "
"B<dpkg-shlibdeps>). Bad RPATH can also lead to the library being found under "
"a non-canonical name (example: /usr/lib/openoffice.org/../lib/libssl."
"so.0.9.8 instead of /usr/lib/libssl.so.0.9.8) that's not associated to any "
"package, B<dpkg-shlibdeps> tries to work around this by trying to fallback "
"on a canonical name (using B<realpath>(3))  but it might not always work. "
"It's always best to clean up the RPATH of the binary to avoid problems."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:324
msgid ""
"Calling B<dpkg-shlibdeps> in verbose mode (-v) will provide much more "
"information about where it tried to find the dependency information. This "
"might be useful if you don't understand why it's giving you this error."
msgstr ""

#. type: Plain text
#: dpkg-shlibdeps.1:328
#, fuzzy
msgid "B<deb-shlibs>(5), B<deb-symbols>(5), B<dpkg-gensymbols>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: Plain text
#: dpkg-shlibdeps.1:335
#, fuzzy
msgid "Copyright \\(co 2006 Frank Lichtenheld"
msgstr "Copyright 2001 Joey Hess"

#. type: TH
#: dpkg-source.1:2
#, fuzzy, no-wrap
msgid "dpkg-source"
msgstr "комплект dpkg"

#. type: Plain text
#: dpkg-source.1:5
msgid "dpkg-source - Debian source package (.dsc) manipulation tool"
msgstr ""

#. type: Plain text
#: dpkg-source.1:9
#, fuzzy
msgid "B<dpkg-source> [I<option>...] I<command>"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-source.1:13
msgid "B<dpkg-source> packs and unpacks Debian source archives."
msgstr ""

#. type: Plain text
#: dpkg-source.1:17
msgid ""
"None of these commands allow multiple options to be combined into one, and "
"they do not allow the value for an option to be specified in a separate "
"argument."
msgstr ""

#. type: TP
#: dpkg-source.1:19
#, no-wrap
msgid "B<-x >I<filename>B<.dsc >[I<output-directory>]"
msgstr ""

#. type: Plain text
#: dpkg-source.1:29
msgid ""
"Extract a source package. One non-option argument must be supplied, the name "
"of the Debian source control file (B<.dsc>).  An optional second non-option "
"argument may be supplied to specify the directory to extract the source "
"package to, this must not exist. If no output directory is specified, the "
"source package is extracted into a directory named I<source>-I<version> "
"under the current working directory."
msgstr ""

#. type: Plain text
#: dpkg-source.1:35
msgid ""
"B<dpkg-source> will read the names of the other file(s) making up the source "
"package from the control file; they are assumed to be in the same directory "
"as the B<.dsc>."
msgstr ""

#. type: Plain text
#: dpkg-source.1:43
msgid ""
"The files in the extracted package will have their permissions and "
"ownerships set to those which would have been expected if the files and "
"directories had simply been created - directories and executable files will "
"be 0777 and plain files will be 0666, both modified by the extractors' "
"umask; if the parent directory is setgid then the extracted directories will "
"be too, and all the files and directories will inherit its group ownership."
msgstr ""

#. type: Plain text
#: dpkg-source.1:48
msgid ""
"If the source package uses a non-standard format (currently this means all "
"formats except \"1.0\"), its name will be stored in B<debian/source/format> "
"so that the following builds of the source package use the same format by "
"default."
msgstr ""

#. type: TP
#: dpkg-source.1:49
#, no-wrap
msgid "B<-b> I<directory> [I<format-specific-parameters>]"
msgstr ""

#. type: Plain text
#: dpkg-source.1:56
msgid ""
"Build a source package. The first non-option argument is taken as the name "
"of the directory containing the debianized source tree (i.e. with a debian "
"sub-directory and maybe changes to the original files).  Depending on the "
"source package format used to build the package, additional parameters might "
"be accepted."
msgstr ""

#. type: Plain text
#: dpkg-source.1:65
msgid ""
"B<dpkg-source> will build the source package with the first format found in "
"this ordered list: the format indicated with the I<--format> command line "
"option, the format indicated in B<debian/source/format>, \"1.0\". The "
"fallback to \"1.0\" is deprecated and will be removed at some point in the "
"future, you should always document the desired source format in B<debian/"
"source/format>. See section B<SOURCE PACKAGE FORMATS> for an extensive "
"description of the various source package formats."
msgstr ""

#. type: TP
#: dpkg-source.1:66
#, fuzzy, no-wrap
msgid "B<--print-format> I<directory>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg-source.1:71
msgid ""
"Print the source format that would be used to build the source package if "
"B<dpkg-source -b >I<directory> was called (in the same conditions and with "
"the same parameters)."
msgstr ""

#. type: TP
#: dpkg-source.1:72
#, fuzzy, no-wrap
msgid "B<--before-build> I<directory>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg-source.1:81
msgid ""
"Run the corresponding hook of the source package format. This hook is called "
"before any build of the package (B<dpkg-buildpackage> calls it very early "
"even before B<debian/rules clean>). This command is idempotent and can be "
"called multiple times. Not all source formats implement something in this "
"hook, and those that do usually prepare the source tree for the build for "
"example by ensuring that the Debian patches are applied."
msgstr ""

#. type: TP
#: dpkg-source.1:82
#, fuzzy, no-wrap
msgid "B<--after-build> I<directory>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg-source.1:89
msgid ""
"Run the corresponding hook of the source package format. This hook is called "
"after any build of the package (B<dpkg-buildpackage> calls it last). This "
"command is idempotent and can be called multiple times. Not all source "
"formats implement something in this hook, and those that do usually use it "
"to undo what B<--before-build> has done."
msgstr ""

#. type: TP
#: dpkg-source.1:90
#, fuzzy, no-wrap
msgid "B<--commit> [I<directory>] ..."
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg-source.1:95
msgid ""
"Record changes in the source tree unpacked in I<directory>. This command can "
"take supplementary parameters depending on the source format.  It will error "
"out for formats where this operation doesn't mean anything."
msgstr ""

#. type: SH
#: dpkg-source.1:103
#, no-wrap
msgid "GENERIC BUILD OPTIONS"
msgstr ""

#. type: Plain text
#: dpkg-source.1:111
msgid ""
"Specifies the main source control file to read information from. The default "
"is B<debian/control>.  If given with relative pathname this is interpreted "
"starting at the source tree's top level directory."
msgstr ""

#. type: Plain text
#: dpkg-source.1:118
msgid ""
"Specifies the change log file to read information from. The default is "
"B<debian/changelog>.  If given with relative pathname this is interpreted "
"starting at the source tree's top level directory."
msgstr ""

#. type: TP
#: dpkg-source.1:123
#, fuzzy, no-wrap
msgid "B<--format=>I<value>"
msgstr "B<--abort-after=>I<число>"

#. type: Plain text
#: dpkg-source.1:127
msgid ""
"Use the given format for building the source package. It does override any "
"format given in B<debian/source/format>."
msgstr ""

#. type: Plain text
#: dpkg-source.1:137
msgid ""
"Read substitution variables in I<substvarsfile>; the default is to not read "
"any file. This option can be used multiple times to read substitution "
"variables from multiple files."
msgstr ""

#. type: TP
#: dpkg-source.1:143
#, no-wrap
msgid "B<-Z>I<compression>, B<--compression>=I<compression>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:151
msgid ""
"Specify the compression to use for created files (tarballs and diffs).  Note "
"that this option will not cause existing tarballs to be recompressed, it "
"only affects new files. Supported values are: I<gzip>, I<bzip2>, I<lzma> and "
"I<xz>.  I<gzip> is the default. I<xz> is only supported since dpkg-dev "
"1.15.5."
msgstr ""

#. type: TP
#: dpkg-source.1:151
#, no-wrap
msgid "B<-z>I<level>, B<--compression-level>=I<level>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:157
msgid ""
"Compression level to use. As with B<-Z> it only affects newly created files. "
"Supported values are: I<1> to I<9>, I<best>, and I<fast>.  The default is "
"I<9> for gzip and bzip2, I<6> for xz and lzma."
msgstr ""

#. type: TP
#: dpkg-source.1:157
#, no-wrap
msgid "B<-i>[I<regexp>], B<--diff-ignore>[=I<regexp>]"
msgstr ""

#. type: Plain text
#: dpkg-source.1:169
msgid ""
"You may specify a perl regular expression to match files you want filtered "
"out of the list of files for the diff. (This list is generated by a find "
"command.) (If the source package is being built as a version 3 source "
"package using a VCS, this can be used to ignore uncommited changes on "
"specific files. Using -i.* will ignore all of them.)  B<-i> by itself "
"enables the option, with a default regexp that will filter out control files "
"and directories of the most common revision control systems, backup and swap "
"files and Libtool build output directories. There can only be one active "
"regexp, of multiple B<-i> options only the last one will take effect."
msgstr ""

#. type: Plain text
#: dpkg-source.1:179
msgid ""
"This is very helpful in cutting out extraneous files that get included in "
"the diff, e.g. if you maintain your source in a revision control system and "
"want to use a checkout to build a source package without including the "
"additional files and directories that it will usually contain (e.g. CVS/, ."
"cvsignore, .svn/). The default regexp is already very exhaustive, but if you "
"need to replace it, please note that by default it can match any part of a "
"path, so if you want to match the begin of a filename or only full "
"filenames, you will need to provide the necessary anchors (e.g. '(^|/)', "
"'($|/)') yourself."
msgstr ""

#. type: TP
#: dpkg-source.1:179
#, no-wrap
msgid "B<--extend-diff-ignore>=I<regexp>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:186
msgid ""
"The perl regular expression specified will extend the default value of B<--"
"diff-ignore> and its current value (if set). It does this by concatenating "
"\"B<|>I<regexp>\" to the existing value.  This option is convenient to use "
"in B<debian/source/options> to exclude some auto-generated files from the "
"automatic patch generation."
msgstr ""

#. type: TP
#: dpkg-source.1:186
#, no-wrap
msgid "B<-I>[I<file-pattern>], B<--tar-ignore>[=I<file-pattern>]"
msgstr ""

#. type: Plain text
#: dpkg-source.1:195
msgid ""
"If this option is specified, the pattern will be passed to B<tar>(1)'s --"
"exclude option when it is called to generate a .orig.tar or .tar file. For "
"example, -ICVS will make tar skip over CVS directories when generating a ."
"tar.gz file. The option may be repeated multiple times to list multiple "
"patterns to exclude."
msgstr ""

#. type: Plain text
#: dpkg-source.1:200
msgid ""
"B<-I> by itself adds default --exclude options that will filter out control "
"files and directories of the most common revision control systems, backup "
"and swap files and Libtool build output directories."
msgstr ""

#. type: Plain text
#: dpkg-source.1:212
msgid ""
"B<Note:> While they have similar purposes, B<-i> and B<-I> have very "
"different syntax and semantics. B<-i> can only be specified once and takes a "
"perl compatible regular expression which is matched against the full "
"relative path of each file. B<-I> can specified multiple times and takes a "
"filename pattern with shell wildcards.  The pattern is applied to the full "
"relative path but also to each part of the path individually. The exact "
"semantic of tar's --exclude option is somewhat complicated, see http://www."
"gnu.org/software/tar/manual/tar.html#wildcards for a full documentation."
msgstr ""

#. type: Plain text
#: dpkg-source.1:215
msgid ""
"The default regexp and patterns for both options can be seen in the output "
"of the B<--help> command."
msgstr ""

#. type: SH
#: dpkg-source.1:215
#, no-wrap
msgid "GENERIC EXTRACT OPTIONS"
msgstr ""

#. type: TP
#: dpkg-source.1:216
#, fuzzy, no-wrap
msgid "B<--no-copy>"
msgstr "B<--nocheck>"

#. type: Plain text
#: dpkg-source.1:219
msgid "Do not copy original tarballs near the extracted source package."
msgstr ""

#. type: TP
#: dpkg-source.1:219
#, fuzzy, no-wrap
msgid "B<--no-check>"
msgstr "B<--nocheck>"

#. type: Plain text
#: dpkg-source.1:222
msgid "Do not check signatures and checksums before unpacking."
msgstr ""

#. type: TP
#: dpkg-source.1:222
#, no-wrap
msgid "B<--require-valid-signature>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:230
msgid ""
"Refuse to unpack the source package if it doesn't contain an OpenPGP "
"signature that can be verified either with the user's I<trustedkeys.gpg> "
"keyring, one of the vendor-specific keyrings, or one of the official Debian "
"keyrings (I</usr/share/keyrings/debian-keyring.gpg> and I</usr/share/"
"keyrings/debian-maintainers.gpg>)."
msgstr ""

#. type: SH
#: dpkg-source.1:231
#, fuzzy, no-wrap
msgid "SOURCE PACKAGE FORMATS"
msgstr "ФЛАГИ ПАКЕТА"

#. type: Plain text
#: dpkg-source.1:236
msgid ""
"If you don't know what source format to use, you should probably pick either "
"\"3.0 (quilt)\" or \"3.0 (native)\". See http://wiki.debian.org/Projects/"
"DebSrc3.0 for information on the deployment of those formats within Debian."
msgstr ""

#. type: SS
#: dpkg-source.1:237
#, no-wrap
msgid "Format: 1.0"
msgstr ""

#. type: Plain text
#: dpkg-source.1:241
msgid ""
"A source package in this format consists either of a B<.orig.tar.gz> "
"associated to a B<.diff.gz> or a single B<.tar.gz> (in that case the package "
"is said to be I<native>)."
msgstr ""

#. type: Plain text
#: dpkg-source.1:243 dpkg-source.1:411 dpkg-source.1:586 dpkg-source.1:625
msgid "B<Extracting>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:253
msgid ""
"Extracting a native package is a simple extraction of the single tarball in "
"the target directory. Extracting a non-native package is done by first "
"unpacking the B<.orig.tar.gz> and then applying the patch contained in the "
"B<.diff.gz> file. The timestamp of all patched files is reset to the "
"extraction time of the source package (this avoids timestamp skews leading "
"to problems when autogenerated files are patched). The diff can create new "
"files (the whole debian directory is created that way) but can't remove "
"files (empty files will be left over)."
msgstr ""

#. type: Plain text
#: dpkg-source.1:255 dpkg-source.1:439 dpkg-source.1:597 dpkg-source.1:630
msgid "B<Building>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:261
msgid ""
"Building a native package is just creating a single tarball with the source "
"directory. Building a non-native package involves extracting the original "
"tarball in a separate \".orig\" directory and regenerating the B<.diff.gz> "
"by comparing the source package I<directory> with the .orig directory."
msgstr ""

#. type: TP
#: dpkg-source.1:262
#, no-wrap
msgid "B<Build options (with -b):>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:275
msgid ""
"If a second non-option argument is supplied it should be the name of the "
"original source directory or tarfile or the empty string if the package is a "
"Debian-specific one and so has no Debianisation diffs. If no second argument "
"is supplied then B<dpkg-source> will look for the original source tarfile "
"I<package>B<_>I<upstream-version>B<.orig.tar.gz> or the original source "
"directory I<directory>B<.orig> depending on the B<-sX> arguments."
msgstr ""

#. type: Plain text
#: dpkg-source.1:281
msgid ""
"B<-sa>, B<-sp>, B<-sk>, B<-su> and B<-sr> will not overwrite existing "
"tarfiles or directories. If this is desired then B<-sA>, B<-sP>, B<-sK>, B<-"
"sU> and B<-sR> should be used instead."
msgstr ""

#. type: TP
#: dpkg-source.1:281
#, fuzzy, no-wrap
msgid "B<-sk>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-source.1:290
msgid ""
"Specifies to expect the original source as a tarfile, by default "
"I<package>B<_>I<upstream-version>B<.orig.tar.>I<extension>.  It will leave "
"this original source in place as a tarfile, or copy it to the current "
"directory if it isn't already there. The tarball will be unpacked into "
"I<directory>B<.orig> for the generation of the diff."
msgstr ""

#. type: TP
#: dpkg-source.1:290 dpkg-source.1:359
#, fuzzy, no-wrap
msgid "B<-sp>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-source.1:295
msgid "Like B<-sk> but will remove the directory again afterwards."
msgstr ""

#. type: TP
#: dpkg-source.1:295 dpkg-source.1:365
#, fuzzy, no-wrap
msgid "B<-su>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-source.1:303
msgid ""
"Specifies that the original source is expected as a directory, by default "
"I<package>B<->I<upstream-version>B<.orig> and B<dpkg-source> will create a "
"new original source archive from it."
msgstr ""

#. type: TP
#: dpkg-source.1:303
#, fuzzy, no-wrap
msgid "B<-sr>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-source.1:308
msgid "Like B<-su> but will remove that directory after it has been used."
msgstr ""

#. type: TP
#: dpkg-source.1:308
#, fuzzy, no-wrap
msgid "B<-ss>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-source.1:316
msgid ""
"Specifies that the original source is available both as a directory and as a "
"tarfile. dpkg-source will use the directory to create the diff, but the "
"tarfile to create the B<.dsc>.  This option must be used with care - if the "
"directory and tarfile do not match a bad source archive will be generated."
msgstr ""

#. type: TP
#: dpkg-source.1:316 dpkg-source.1:368
#, fuzzy, no-wrap
msgid "B<-sn>"
msgstr "B<-B>"

#. type: Plain text
#: dpkg-source.1:322
msgid ""
"Specifies to not look for any original source, and to not generate a diff.  "
"The second argument, if supplied, must be the empty string. This is used for "
"Debian-specific packages which do not have a separate upstream source and "
"therefore have no debianisation diffs."
msgstr ""

#. type: TP
#: dpkg-source.1:322
#, fuzzy, no-wrap
msgid "B<-sa> or B<-sA>"
msgstr "B<-t>|B<--test>"

#. type: Plain text
#: dpkg-source.1:348
msgid ""
"Specifies to look for the original source archive as a tarfile or as a "
"directory - the second argument, if any, may be either, or the empty string "
"(this is equivalent to using B<-sn>).  If a tarfile is found it will unpack "
"it to create the diff and remove it afterwards (this is equivalent to B<-"
"sp>); if a directory is found it will pack it to create the original source "
"and remove it afterwards (this is equivalent to B<-sr>); if neither is found "
"it will assume that the package has no debianisation diffs, only a "
"straightforward source archive (this is equivalent to B<-sn>).  If both are "
"found then B<dpkg-source> will ignore the directory, overwriting it, if B<-"
"sA> was specified (this is equivalent to B<-sP>)  or raise an error if B<-"
"sa> was specified.  B<-sA> is the default."
msgstr ""

#. type: TP
#: dpkg-source.1:348 dpkg-source.1:541
#, no-wrap
msgid "B<--abort-on-upstream-changes>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:354
msgid ""
"The process fails if the generated diff contains changes to files outside of "
"the debian sub-directory. This option is not allowed in B<debian/source/"
"options> but can be used in B<debian/source/local-options>."
msgstr ""

#. type: TP
#: dpkg-source.1:355
#, no-wrap
msgid "B<Extract options (with -x):>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:359
msgid "In all cases any existing original source tree will be removed."
msgstr ""

#. type: Plain text
#: dpkg-source.1:365
msgid ""
"Used when extracting then the original source (if any) will be left as a "
"tarfile. If it is not already located in the current directory or if an "
"existing but different file is there it will be copied there.  (B<This is "
"the default>)."
msgstr ""

#. type: Plain text
#: dpkg-source.1:368
msgid "Unpacks the original source tree."
msgstr ""

#. type: Plain text
#: dpkg-source.1:373
msgid ""
"Ensures that the original source is neither copied to the current directory "
"nor unpacked. Any original source tree that was in the current directory is "
"still removed."
msgstr ""

#. type: Plain text
#: dpkg-source.1:378
msgid ""
"All the B<-s>I<X> options are mutually exclusive. If you specify more than "
"one only the last one will be used."
msgstr ""

#. type: TP
#: dpkg-source.1:378 dpkg-source.1:555
#, fuzzy, no-wrap
msgid "B<--skip-debianization>"
msgstr "B<dpkg-deb-actions>"

#. type: Plain text
#: dpkg-source.1:381
msgid "Skips application of the debian diff on top of the upstream sources."
msgstr ""

#. type: SS
#: dpkg-source.1:382
#, no-wrap
msgid "Format: 2.0"
msgstr ""

#. type: Plain text
#: dpkg-source.1:386
msgid ""
"Also known as wig&pen. This format is not recommended for wide-spread usage, "
"the format \"3.0 (quilt)\" replaces it. Wig&pen was the first specification "
"of a new-generation source package format."
msgstr ""

#. type: Plain text
#: dpkg-source.1:391
msgid ""
"The behaviour of this format is the same as the \"3.0 (quilt)\" format "
"except that it doesn't use an explicit list of patches. All files in "
"B<debian/patches/> matching the perl regular expression B<[\\ew-]+> must be "
"valid patches: they are applied at extraction time."
msgstr ""

#. type: Plain text
#: dpkg-source.1:394
msgid ""
"When building a new source package, any change to the upstream source is "
"stored in a patch named B<zz_debian-diff-auto>."
msgstr ""

#. type: SS
#: dpkg-source.1:395
#, no-wrap
msgid "Format: 3.0 (native)"
msgstr ""

#. type: Plain text
#: dpkg-source.1:401
msgid ""
"This format is an extension of the native package format as defined in the "
"1.0 format. It supports all compression methods and will ignore by default "
"any VCS specific files and directories as well as many temporary files (see "
"default value associated to B<-I> option in the B<--help> output)."
msgstr ""

#. type: SS
#: dpkg-source.1:402
#, no-wrap
msgid "Format: 3.0 (quilt)"
msgstr ""

#. type: Plain text
#: dpkg-source.1:409
msgid ""
"A source package in this format contains at least an original tarball (B<."
"orig.tar.>I<ext> where I<ext> can be B<gz>, B<bz2>, B<lzma> and B<xz>) and a "
"debian tarball (B<.debian.tar.>I<ext>). It can also contain additional "
"original tarballs (B<.orig->I<component>B<.tar.>I<ext>).  I<component> can "
"only contain alphanumeric characters and dashes (\"-\")."
msgstr ""

#. type: Plain text
#: dpkg-source.1:420
msgid ""
"The main original tarball is extracted first, then all additional original "
"tarballs are extracted in subdirectories named after the I<component> part "
"of their filename (any pre-existing directory is replaced). The debian "
"tarball is extracted on top of the source directory after prior removal of "
"any pre-existing B<debian> directory. Note that the debian tarball must "
"contain a B<debian> sub-directory but it can also contain binary files "
"outside of that directory (see B<--include-binaries> option)."
msgstr ""

#. type: Plain text
#: dpkg-source.1:432
msgid ""
"All patches listed in B<debian/patches/debian.series> or B<debian/patches/"
"series> are then applied.  If the former file is used and the latter one "
"doesn't exist (or is a symlink), then the latter is replaced with a symlink "
"to the former. This is meant to simplify usage of quilt to manage the set of "
"patches. Note however that while B<dpkg-source> parses correctly series "
"files with explicit options used for patch application (stored on each line "
"after the patch filename and one or more spaces), it does ignore those "
"options and always expect patches that can be applied with the B<-p1> option "
"of B<patch>. It will thus emit a warning when it encounters such options, "
"and the build is likely to fail."
msgstr ""

#. type: Plain text
#: dpkg-source.1:434
msgid ""
"Similarly to quilt's default behaviour, the patches can remove files too."
msgstr ""

# type: Plain text
#. type: Plain text
#: dpkg-source.1:437
msgid ""
"The file B<.pc/applied-patches> is created if some patches have been applied "
"during the extraction."
msgstr ""

#. type: Plain text
#: dpkg-source.1:451
msgid ""
"All original tarballs found in the current directory are extracted in a "
"temporary directory by following the same logic as for the unpack, the "
"debian directory is copied over in the temporary directory, and all patches "
"except the automatic patch (B<debian-changes->I<version> or B<debian-"
"changes>, depending on B<--single-debian-patch>) are applied. The temporary "
"directory is compared to the source package directory. When the diff is non-"
"empty, the build fails unless B<--single-debian-patch> or B<--auto-commit> "
"has been used, in which case the diff is stored in the automatic patch.  If "
"the automatic patch is created/deleted, it's added/removed from the series "
"file and from the quilt metadata."
msgstr ""

# type: Plain text
#. type: Plain text
#: dpkg-source.1:459
msgid ""
"Any change on a binary file is not representable in a diff and will thus "
"lead to a failure unless the maintainer deliberately decided to include that "
"modified binary file in the debian tarball (by listing it in B<debian/source/"
"include-binaries>). The build will also fail if it finds binary files in the "
"debian sub-directory unless they have been whitelisted through B<debian/"
"source/include-binaries>."
msgstr ""

#. type: Plain text
#: dpkg-source.1:462
msgid ""
"The updated debian directory and the list of modified binaries is then used "
"to generate the debian tarball."
msgstr ""

#. type: Plain text
#: dpkg-source.1:468
msgid ""
"The automatically generated diff doesn't include changes on VCS specific "
"files as well as many temporary files (see default value associated to B<-i> "
"option in the B<--help> output). In particular, the B<.pc> directory used by "
"quilt is ignored during generation of the automatic patch."
msgstr ""

#. type: Plain text
#: dpkg-source.1:477
msgid ""
"Note: B<dpkg-source> B<--before-build> (and B<-b>) will ensure that all "
"patches listed in the series file are applied so that a package build always "
"has all patches applied. It does this by finding unapplied patches (they are "
"listed in the B<series> file but not in B<.pc/applied-patches>), and if the "
"first patch in that set can be applied without errors, it will apply them "
"all. The option B<--no-preparation> can be used to disable this behavior."
msgstr ""

#. type: Plain text
#: dpkg-source.1:480
msgid "B<Recording changes>"
msgstr ""

#. type: TP
#: dpkg-source.1:480
#, fuzzy, no-wrap
msgid "B<--commit> [I<directory>] [I<patch-name>] [I<patch-file>]"
msgstr "B<dpkg-checkbuilddeps> -B<-B> [I<файл control>]"

#. type: Plain text
#: dpkg-source.1:490
msgid ""
"Generates a patch corresponding to the local changes that are not managed by "
"the quilt patch system and integrates it in the patch system under the name "
"I<patch-name>. If the name is missing, it will be asked interactively. If "
"I<patch-file> is given, it is used as the patch corresponding to the local "
"changes to integrate. This is mainly useful after a build failure that pre-"
"generated this file. Once integrated, an editor is launched so that you can "
"edit the meta-information in the patch header."
msgstr ""

#. type: Plain text
#: dpkg-source.1:493 dpkg-source.1:567 dpkg-source.1:606
#, fuzzy
msgid "B<Build options>"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: TP
#: dpkg-source.1:493
#, fuzzy, no-wrap
msgid "B<--allow-version-of-quilt-db=>I<version>"
msgstr "B<dpkg --version>"

# type: Plain text
#. type: Plain text
#: dpkg-source.1:501
msgid ""
"Allow B<dpkg-source> to build the source package if the version of the quilt "
"metadata is the one specified, even if B<dpkg-source> doesn't know about it. "
"Effectively this says that the given version of the quilt metadata is "
"compatible with the version 2 that B<dpkg-source> currently supports. The "
"version of the quilt metadata is stored in B<.pc/.version>."
msgstr ""

#. type: TP
#: dpkg-source.1:501
#, fuzzy, no-wrap
msgid "B<--include-removal>"
msgstr "B<dpkg --clear-avail>"

#. type: Plain text
#: dpkg-source.1:505
msgid ""
"Do not ignore removed files and include them in the automatically generated "
"patch."
msgstr ""

#. type: TP
#: dpkg-source.1:505
#, no-wrap
msgid "B<--include-timestamp>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:508
msgid "Include timestamp in the automatically generated patch."
msgstr ""

#. type: TP
#: dpkg-source.1:508
#, fuzzy, no-wrap
msgid "B<--include-binaries>"
msgstr "B<config-files>"

#. type: Plain text
#: dpkg-source.1:513
msgid ""
"Add all modified binaries in the debian tarball. Also add them to B<debian/"
"source/include-binaries>: they will be added by default in subsequent builds "
"and this option is thus no more needed."
msgstr ""

#. type: TP
#: dpkg-source.1:513
#, fuzzy, no-wrap
msgid "B<--no-preparation>"
msgstr "B<dpkg --version>"

#. type: Plain text
#: dpkg-source.1:517
msgid ""
"Do not try to prepare the build tree by applying patches which are "
"apparently unapplied."
msgstr ""

#. type: TP
#: dpkg-source.1:517
#, fuzzy, no-wrap
msgid "B<--single-debian-patch>"
msgstr "B<dpkg-deb-actions>"

#. type: Plain text
#: dpkg-source.1:528
msgid ""
"Use B<debian/patches/debian-changes> instead of B<debian/patches/debian-"
"changes->I<version> for the name of the automatic patch generated during "
"build. This option is particularly useful when the package is maintained in "
"a VCS and a patch set can't reliably be generated. Instead the current diff "
"with upstream should be stored in a single patch. The option would be put in "
"B<debian/source/local-options> and would be accompanied by a B<debian/source/"
"local-patch-header> file explaining how the Debian changes can be best "
"reviewed, for example in the VCS that is used."
msgstr ""

#. type: TP
#: dpkg-source.1:528
#, no-wrap
msgid "B<--create-empty-orig>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:534
msgid ""
"Automatically create the main original tarball as empty if it's missing and "
"if there are supplementary original tarballs. This option is meant to be "
"used when the source package is just a bundle of multiple upstream software "
"and where there's no \"main\" software."
msgstr ""

#. type: TP
#: dpkg-source.1:534
#, fuzzy, no-wrap
msgid "B<--unapply-patches>"
msgstr "B<822-date>"

#. type: Plain text
#: dpkg-source.1:541
msgid ""
"Unapply the patches in the B<--after-build> hook. You usually don't need "
"this option as dpkg-source will automatically unapply the patches if it did "
"apply them during B<--before-build>. This option is only allowed in B<debian/"
"source/local-options> so that all generated source packages have the same "
"behavior by default."
msgstr ""

#. type: Plain text
#: dpkg-source.1:548
msgid ""
"The process fails if an automatic patch has been generated. This option can "
"be used to ensure that all changes were properly recorded in separate quilt "
"patches prior to the source package build. This option is not allowed in "
"B<debian/source/options> but can be used in B<debian/source/local-options>."
msgstr ""

#. type: TP
#: dpkg-source.1:548
#, fuzzy, no-wrap
msgid "B<--auto-commit>"
msgstr "B<--nocheck>"

#. type: Plain text
#: dpkg-source.1:552
msgid ""
"The process doesn't fail if an automatic patch has been generated, instead "
"it's immediately recorded in the quilt series."
msgstr ""

#. type: Plain text
#: dpkg-source.1:555
msgid "B<Extract options>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:558
msgid "Skips extraction of the debian tarball on top of the upstream sources."
msgstr ""

#. type: TP
#: dpkg-source.1:558
#, fuzzy, no-wrap
msgid "B<--skip-patches>"
msgstr "B<822-date>"

#. type: Plain text
#: dpkg-source.1:561
msgid "Do not apply patches at the end of the extraction."
msgstr ""

#. type: SS
#: dpkg-source.1:562
#, no-wrap
msgid "Format: 3.0 (custom)"
msgstr ""

#. type: Plain text
#: dpkg-source.1:565
msgid ""
"This format is special. It doesn't represent a real source package format "
"but can be used to create source packages with arbitrary files."
msgstr ""

#. type: Plain text
#: dpkg-source.1:571
msgid ""
"All non-option arguments are taken as files to integrate in the generated "
"source package. They must exist and are preferably in the current directory. "
"At least one file must be given."
msgstr ""

#. type: TP
#: dpkg-source.1:571
#, fuzzy, no-wrap
msgid "B<--target-format=>I<value>"
msgstr "B<--abort-after=>I<число>"

#. type: Plain text
#: dpkg-source.1:576
msgid ""
"B<Required>. Defines the real format of the generated source package.  The "
"generated .dsc file will contain this value in its I<Format> field and not "
"\"3.0 (custom)\"."
msgstr ""

#. type: SS
#: dpkg-source.1:577
#, no-wrap
msgid "Format: 3.0 (git)"
msgstr ""

#. type: Plain text
#: dpkg-source.1:579
msgid "This format is experimental."
msgstr ""

#. type: Plain text
#: dpkg-source.1:584
msgid ""
"A source package in this format consists of a single bundle of a git "
"repository B<.git> to hold the source of a package.  There may also be a B<."
"gitshallow> file listing revisions for a shallow git clone."
msgstr ""

#. type: Plain text
#: dpkg-source.1:590
msgid ""
"The bundle is cloned as a git repository to the target directory.  If there "
"is a gitshallow file, it is installed as `.git/shallow` inside the cloned "
"git repository."
msgstr ""

#. type: Plain text
#: dpkg-source.1:595
msgid ""
"Note that by default the new repository will have the same branch checked "
"out that was checked out in the original source. (Typically \"master\", but "
"it could be anything.) Any other branches will be available under `remotes/"
"origin/`."
msgstr ""

#. type: Plain text
#: dpkg-source.1:600 dpkg-source.1:633
msgid ""
"Before going any further, some checks are done to ensure that we don't have "
"any non-ignored uncommitted changes."
msgstr ""

#. type: Plain text
#: dpkg-source.1:604
msgid ""
"B<git-bundle>(1) is used to generate a bundle of the git repository.  By "
"default, all branches and tags in the repository are included in the bundle."
msgstr ""

#. type: TP
#: dpkg-source.1:606
#, fuzzy, no-wrap
msgid "B<--git-ref=>I<ref>"
msgstr "B<--abort-after=>I<число>"

#. type: Plain text
#: dpkg-source.1:616
msgid ""
"Allows specifying a git ref to include in the git bundle. Use disables the "
"default behavior of including all branches and tags. May be specified "
"multiple times. The I<ref> can be the name of a branch or tag to include. It "
"may also be any parameter that can be passed to B<git-rev-list>(1). For "
"example, to include only the master branch, use --git-ref=master. To include "
"all tags and branches, except for the private branch, use --git-ref=--all --"
"git-ref=^private"
msgstr ""

#. type: TP
#: dpkg-source.1:616
#, fuzzy, no-wrap
#| msgid "B<--abort-after=>I<number>"
msgid "B<--git-depth=>I<number>"
msgstr "B<--abort-after=>I<число>"

#. type: Plain text
#: dpkg-source.1:620
msgid ""
"Creates a shallow clone with a history truncated to the specified number of "
"revisions."
msgstr ""

#. type: SS
#: dpkg-source.1:620
#, no-wrap
msgid "Format: 3.0 (bzr)"
msgstr ""

#. type: Plain text
#: dpkg-source.1:623
msgid ""
"This format is experimental. It generates a single tarball containing the "
"bzr repository."
msgstr ""

#. type: Plain text
#: dpkg-source.1:628
msgid ""
"The tarball is unpacked and then bzr is used to checkout the current branch."
msgstr ""

#. type: Plain text
#: dpkg-source.1:637
msgid ""
"Then the VCS specific part of the source directory is copied over to a "
"temporary directory. Before this temporary directory is packed in a tarball, "
"various cleanup are done to save space."
msgstr ""

#. type: SH
#: dpkg-source.1:637
#, no-wrap
msgid "WARNINGS AND ERRORS"
msgstr ""

#. type: SS
#: dpkg-source.1:638
#, no-wrap
msgid "no source format specified in debian/source/format"
msgstr ""

#. type: Plain text
#: dpkg-source.1:644
msgid ""
"The file B<debian/source/format> should always exist and indicate the "
"desired source format. For backwards compatibility, format \"1.0\" is "
"assumed when the file doesn't exist but you should not rely on this: at some "
"point in the future dpkg-source will be modified to fail when that file "
"doesn't exist."
msgstr ""

#. type: Plain text
#: dpkg-source.1:650
msgid ""
"The rationale is that format \"1.0\" is no longer the recommended format, "
"you should usually pick one of the newer formats (\"3.0 (quilt)\", \"3.0 "
"(native)\") but B<dpkg-source> will not do this automatically for you.  If "
"you want to continue using the old format, you should be explicit about it "
"and put \"1.0\" in B<debian/source/format>."
msgstr ""

#. type: SS
#: dpkg-source.1:650
#, no-wrap
msgid "the diff modifies the following upstream files"
msgstr ""

#. type: Plain text
#: dpkg-source.1:657
msgid ""
"When using source format \"1.0\" it is usually a bad idea to modify upstream "
"files directly as the changes end up hidden and mostly undocumented in the ."
"diff.gz file. Instead you should store your changes as patches in the debian "
"directory and apply them at build-time. To avoid this complexity you can "
"also use the format \"3.0 (quilt)\" that offers this natively."
msgstr ""

#. type: SS
#: dpkg-source.1:657
#, no-wrap
msgid "cannot represent change to I<file>"
msgstr ""

#. type: Plain text
#: dpkg-source.1:663
msgid ""
"Changes to upstream sources are usually stored with patch files, but not all "
"changes can be represented with patches: they can only alter the content of "
"plain text files. If you try replacing a file with something of a different "
"type (for example replacing a plain file with a symlink or a directory), you "
"will get this error message."
msgstr ""

#. type: SS
#: dpkg-source.1:663
#, no-wrap
msgid "newly created empty file I<file> will not be represented in diff"
msgstr ""

#. type: Plain text
#: dpkg-source.1:666
msgid ""
"Empty files can't be created with patch files. Thus this change is not "
"recorded in the source package and you are warned about it."
msgstr ""

#. type: SS
#: dpkg-source.1:666
#, no-wrap
msgid "executable mode I<perms> of I<file> will not be represented in diff"
msgstr ""

#. type: SS
#: dpkg-source.1:667
#, no-wrap
msgid "special mode I<perms> of I<file> will not be represented in diff"
msgstr ""

#. type: Plain text
#: dpkg-source.1:671
msgid ""
"Patch files do not record permissions of files and thus modified permissions "
"are not stored in the source package. This warning reminds you of that fact."
msgstr ""

#. type: SH
#: dpkg-source.1:671
#, no-wrap
msgid "FILE FORMATS"
msgstr ""

#. type: SS
#: dpkg-source.1:672
#, no-wrap
msgid "debian/source/format"
msgstr ""

#. type: Plain text
#: dpkg-source.1:676
msgid ""
"This file contains on a single line the format that should be used to build "
"the source package (possible formats are described above). No leading or "
"trailing spaces are allowed."
msgstr ""

#. type: SS
#: dpkg-source.1:676
#, fuzzy, no-wrap
msgid "debian/source/include-binaries"
msgstr "B<config-files>"

#. type: Plain text
#: dpkg-source.1:680
msgid ""
"This file contains a list of binary files (one per line) that should be "
"included in the debian tarball. Leading and trailing spaces are stripped.  "
"Lines starting with \"#\" are comments and are skipped. Empty lines are "
"ignored."
msgstr ""

#. type: SS
#: dpkg-source.1:680
#, fuzzy, no-wrap
msgid "debian/source/options"
msgstr "B<config-files>"

#. type: Plain text
#: dpkg-source.1:686
msgid ""
"This file contains a list of long options that should be automatically "
"prepended to the set of command line options of a B<dpkg-source -b> or "
"B<dpkg-source --print-format> call. Options like B<--compression> and B<--"
"compression-level> are well suited for this file."
msgstr ""

#. type: Plain text
#: dpkg-source.1:692
msgid ""
"Each option should be put on a separate line. Empty lines and lines starting "
"with \"#\" are ignored. The leading \"--\" should be stripped and short "
"options are not allowed. Optional spaces are allowed around the \"=\" symbol "
"and optional quotes are allowed around the value.  Here's an example of such "
"a file:"
msgstr ""

#. type: Plain text
#: dpkg-source.1:700
#, no-wrap
msgid ""
"  # let dpkg-source create a debian.tar.bz2 with maximal compression\n"
"  compression = \"bzip2\"\n"
"  compression-level = 9\n"
"  # use debian/patches/debian-changes as automatic patch\n"
"  single-debian-patch\n"
"  # ignore changes on config.{sub,guess}\n"
"  extend-diff-ignore = \"(^|/)(config.sub|config.guess)$\"\n"
msgstr ""

#. type: Plain text
#: dpkg-source.1:703
msgid ""
"Note: B<format> options are not accepted in this file, you should use "
"B<debian/source/format> instead."
msgstr ""

#. type: SS
#: dpkg-source.1:703
#, fuzzy, no-wrap
msgid "debian/source/local-options"
msgstr "B<config-files>"

#. type: Plain text
#: dpkg-source.1:708
msgid ""
"Exactly like B<debian/source/options> except that the file is not included "
"in the generated source package. It can be useful to store a preference tied "
"to the maintainer or to the VCS repository where the source package is "
"maintained."
msgstr ""

#. type: SS
#: dpkg-source.1:708
#, fuzzy, no-wrap
msgid "debian/source/local-patch-header"
msgstr "B<config-files>"

#. type: SS
#: dpkg-source.1:709
#, fuzzy, no-wrap
msgid "debian/source/patch-header"
msgstr "B<config-files>"

#. type: Plain text
#: dpkg-source.1:713
msgid ""
"Free form text that is put on top of the automatic patch generated in "
"formats \"2.0\" or \"3.0 (quilt)\". B<local-patch-header> is not included in "
"the generated source package while B<patch-header> is."
msgstr ""

#. type: SS
#: dpkg-source.1:713
#, no-wrap
msgid "debian/patches/series"
msgstr ""

#. type: Plain text
#: dpkg-source.1:722
msgid ""
"This file lists all patches that have to be applied (in the given order)  on "
"top of the upstream source package. Leading and trailing spaces are "
"stripped. Lines starting with \"#\" are comments and are skipped. Empty "
"lines are ignored. Remaining lines start with a patch filename (relative to "
"the B<debian/patches/> directory) up to the first space character or the end "
"of line. Optional quilt options can follow up to the end of line or the "
"first \"#\" preceded by one or more spaces (which marks the start of a "
"comment up to the end of line)."
msgstr ""

#. type: Plain text
#: dpkg-source.1:729
#, fuzzy
msgid "B<dpkg-deb>(1), B<dpkg>(1), B<dselect>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: Plain text
#: dpkg-source.1:736
#, fuzzy
msgid "Copyright \\(co 2008-2011 Rapha\\[:e]l Hertzog"
msgstr "Copyright 2001 Joey Hess"

#. type: TH
#: dpkg-split.1:2
#, fuzzy, no-wrap
msgid "dpkg-split"
msgstr "комплект dpkg"

#. type: Plain text
#: dpkg-split.1:5
msgid "dpkg-split - Debian package archive split/join tool"
msgstr ""

#. type: Plain text
#: dpkg-split.1:9
#, fuzzy
msgid "B<dpkg-split> [I<option>...] I<command>"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-split.1:15
msgid ""
"B<dpkg-split> splits Debian binary package files into smaller parts and "
"reassembles them again, to support the storage of large package files on "
"small media such as floppy disks."
msgstr ""

#. type: Plain text
#: dpkg-split.1:19
msgid ""
"It can be operated manually using the B<--split>, B<--join> and B<--info> "
"options."
msgstr ""

#. type: Plain text
#: dpkg-split.1:27
msgid ""
"It also has an automatic mode, invoked using the B<--auto> option, where it "
"maintains a queue of parts seen but not yet reassembled and reassembles a "
"package file when it has seen all of its parts. The B<--listq> and B<--"
"discard> options allow the management of the queue."
msgstr ""

#. type: Plain text
#: dpkg-split.1:30
msgid ""
"All splitting, joining and queueing operations produce informative messages "
"on standard output; these may safely be ignored."
msgstr ""

#. type: TP
#: dpkg-split.1:32
#, no-wrap
msgid "B<-s>, B<--split> I<complete-archive> [I<prefix>]"
msgstr ""

#. type: Plain text
#: dpkg-split.1:35
msgid "Splits a single Debian binary package into several parts."
msgstr ""

#. type: Plain text
#: dpkg-split.1:43
msgid ""
"The parts are named I<prefix>B<.>I<N>B<of>I<M>B<.deb> where I<N> is the part "
"number, starting at 1, and I<M> is the total number of parts (both in "
"decimal)."
msgstr ""

#. type: Plain text
#: dpkg-split.1:51
msgid ""
"If no I<prefix> is supplied then the I<complete-archive> filename is taken, "
"including directory, with any trailing B<.deb> removed."
msgstr ""

#. type: TP
#: dpkg-split.1:51
#, fuzzy, no-wrap
msgid "B<-j>, B<--join> I<part>..."
msgstr "B<dpkg -i> | B<--install> I<имя файла пакета>..."

#. type: Plain text
#: dpkg-split.1:55
msgid ""
"Joins the parts of a package file together, reassembling the original file "
"as it was before it was split."
msgstr ""

#. type: Plain text
#: dpkg-split.1:59
msgid ""
"The part files given as arguments must be all the parts of exactly the same "
"original binary file. Each part must occur exactly once in the argument "
"list, though the parts to not need to be listed in order."
msgstr ""

#. type: Plain text
#: dpkg-split.1:64
msgid ""
"The parts must of course all have been generated with the same part size "
"specified at split time, which means that they must usually have been "
"generated by the same invocation of B<dpkg-split --split>."
msgstr ""

#. type: Plain text
#: dpkg-split.1:66
msgid "The parts' filenames are not significant for the reassembly process."
msgstr ""

#. type: Plain text
#: dpkg-split.1:69
msgid ""
"By default the output file is called I<package>B<_>I<version>B<_>I<arch>B<."
"deb>."
msgstr ""

#. type: TP
#: dpkg-split.1:70
#, fuzzy, no-wrap
msgid "B<-I>, B<--info> I<part>..."
msgstr "B<dpkg -i> | B<--install> I<имя файла пакета>..."

#. type: Plain text
#: dpkg-split.1:75
msgid ""
"Prints information, in a human-readable format, about the part file(s)  "
"specified. Arguments which are not binary package parts produce a message "
"saying so instead (but still on standard output)."
msgstr ""

#. type: TP
#: dpkg-split.1:75
#, no-wrap
msgid "B<-a>, B<--auto -o> I<complete-output part>"
msgstr ""

#. type: Plain text
#: dpkg-split.1:78
msgid "Automatically queue parts and reassemble a package if possible."
msgstr ""

#. type: Plain text
#: dpkg-split.1:83
msgid ""
"The I<part> specified is examined, and compared with other parts of the same "
"package (if any) in the queue of packages file parts."
msgstr ""

#. type: Plain text
#: dpkg-split.1:90
msgid ""
"If all parts of the package file of which I<part> is a part are available "
"then the package is reassembled and written to I<complete-output> (which "
"should not usually already exist, though this is not an error)."
msgstr ""

#. type: Plain text
#: dpkg-split.1:96
msgid ""
"If not then the I<part> is copied into the queue and I<complete-output> is "
"not created."
msgstr ""

#. type: Plain text
#: dpkg-split.1:103
msgid ""
"If I<part> is not a split binary package part then B<dpkg-split> will exit "
"with status B<1>; if some other trouble occurs then it will exit with status "
"B<2>."
msgstr ""

#. type: Plain text
#: dpkg-split.1:110
msgid ""
"The B<--output> or B<-o> option must be supplied when using B<--auto>.  (If "
"this were not mandatory the calling program would not know what output file "
"to expect.)"
msgstr ""

#. type: TP
#: dpkg-split.1:110
#, fuzzy, no-wrap
msgid "B<-l>, B<--listq>"
msgstr "B<-o>|B<--oknodo>"

#. type: Plain text
#: dpkg-split.1:113
msgid "Lists the contents of the queue of packages to be reassembled."
msgstr ""

#. type: Plain text
#: dpkg-split.1:117
msgid ""
"For each package file of which parts are in the queue the output gives the "
"name of the package, the parts in the queue, and the total number of bytes "
"stored in the queue."
msgstr ""

#. type: TP
#: dpkg-split.1:117
#, fuzzy, no-wrap
msgid "B<-d>, B<--discard> [I<package>...]"
msgstr "B<dpkg -i> | B<--install> I<имя файла пакета>..."

#. type: Plain text
#: dpkg-split.1:121
msgid ""
"This discards parts from the queue of those waiting for the remaining parts "
"of their packages."
msgstr ""

#. type: Plain text
#: dpkg-split.1:126
msgid ""
"If no I<package> is specified then the queue is cleared completely; if any "
"are specified then only parts of the relevant package(s) are deleted."
msgstr ""

#. type: TP
#: dpkg-split.1:134
#, no-wrap
msgid "B<--depotdir>I< directory>"
msgstr ""

#. type: Plain text
#: dpkg-split.1:139
msgid ""
"Specifies an alternative directory for the queue of parts awaiting automatic "
"reassembly. The default is B</var/lib/dpkg>."
msgstr ""

#. type: TP
#: dpkg-split.1:139
#, fuzzy, no-wrap
msgid "B<-S>, B<--partsize> I<kibibytes>"
msgstr "B<-a>|B<--startas> I<полное_имя>"

#. type: Plain text
#: dpkg-split.1:143
msgid ""
"Specifies the maximum part size when splitting, in kibibytes (1024 bytes). "
"The default is 450 KiB."
msgstr ""

#. type: TP
#: dpkg-split.1:143
#, no-wrap
msgid "B<-o>, B<--output> I<complete-output>"
msgstr ""

#. type: Plain text
#: dpkg-split.1:146
msgid "Specifies the output file name for a reassembly."
msgstr ""

#. type: Plain text
#: dpkg-split.1:151
msgid ""
"This overrides the default for a manual reassembly (B<--join>)  and is "
"mandatory for an automatic queue-or-reassemble (B<--auto>)."
msgstr ""

#. type: TP
#: dpkg-split.1:151
#, fuzzy, no-wrap
msgid "B<-Q>, B<--npquiet>"
msgstr "B<-q>|B<--quiet>"

#. type: Plain text
#: dpkg-split.1:162
msgid ""
"When doing automatic queue-or-reassembly B<dpkg-split> usually prints a "
"message if it is given a I<part> that is not a binary package part. This "
"option suppresses this message, to allow programs such as B<dpkg> to cope "
"with both split and unsplit packages without producing spurious messages."
msgstr ""

#. type: TP
#: dpkg-split.1:162
#, no-wrap
msgid "B<--msdos>"
msgstr ""

#. type: Plain text
#: dpkg-split.1:167
msgid ""
"Forces the output filenames generated by B<--split> to be msdos-compatible."
msgstr ""

#. type: Plain text
#: dpkg-split.1:173
msgid ""
"This mangles the prefix - either the default derived from the input filename "
"or the one supplied as an argument: alphanumerics are lowercased, plus signs "
"are replaced by B<x>'s and all other characters are discarded."
msgstr ""

#. type: Plain text
#: dpkg-split.1:178
msgid ""
"The result is then truncated as much as is necessary, and filenames of the "
"form I<prefixN>B<of>I<M>B<.deb> are generated."
msgstr ""

#. type: Plain text
#: dpkg-split.1:186
msgid ""
"The requested split, merge, or other command succeeded.  B<--info> commands "
"count as successful even if the files are not binary package parts."
msgstr ""

#. type: Plain text
#: dpkg-split.1:193
msgid ""
"Only occurs with B<--auto> and indicates that the I<part> file was not a "
"binary package part."
msgstr ""

#. type: TP
#: dpkg-split.1:193 start-stop-daemon.8:275 update-alternatives.8:378
#, no-wrap
msgid "B<2>"
msgstr ""

#. type: Plain text
#: dpkg-split.1:198
msgid ""
"Some kind of trouble happened, such as a system call failure, a file that "
"looked like a package part file but was corrupted, a usage error or some "
"other problem."
msgstr ""

#. type: Plain text
#: dpkg-split.1:202
msgid ""
"Full details of the packages in the queue are impossible to get without "
"digging into the queue directory yourself."
msgstr ""

#. type: Plain text
#: dpkg-split.1:205
msgid ""
"There is no easy way to test whether a file that may be a binary package "
"part is one."
msgstr ""

#. type: TP
#: dpkg-split.1:207
#, fuzzy, no-wrap
msgid "I</var/lib/dpkg/parts>"
msgstr "I</var/lib/dpkg/status>"

#. type: Plain text
#: dpkg-split.1:211
msgid ""
"The default queue directory for part files awaiting automatic reassembly."
msgstr ""

#. type: Plain text
#: dpkg-split.1:216
msgid ""
"The filenames used in this directory are in a format internal to B<dpkg-"
"split> and are unlikely to be useful to other programs, and in any case the "
"filename format should not be relied upon."
msgstr ""

#. type: Plain text
#: dpkg-split.1:222
#, fuzzy
msgid "B<deb>(5), B<deb-control>(5), B<dpkg-deb>(1), B<dpkg>(1)."
msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#. type: TH
#: dpkg-statoverride.8:1
#, no-wrap
msgid "dpkg-statoverride"
msgstr ""

#. type: TH
#: dpkg-statoverride.8:1
#, fuzzy, no-wrap
msgid "Debian project"
msgstr "Проект Debian"

#. type: Plain text
#: dpkg-statoverride.8:4
msgid "dpkg-statoverride - override ownership and mode of files"
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:8
#, fuzzy
msgid "B<dpkg-statoverride> [I<option>...] I<command>"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-statoverride.8:18
msgid ""
"`B<stat overrides>' are a way to tell B<dpkg>(1)  to use a different owner "
"or mode for a file when a package is installed. (note: I use the word `file' "
"here, but in reality this can be any filesystem object that dpkg handles, "
"including directories, devices, etc.). This can be used to force programs "
"that are normally setuid to be install without a setuid flag, or only "
"executable by a certain group."
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:22
msgid ""
"B<dpkg-statoverride> is a utility to manage the list of stat overrides. It "
"has three basic functions: adding, removing and listing overrides."
msgstr ""

#. type: TP
#: dpkg-statoverride.8:24
#, no-wrap
msgid "B<--add>I< user group mode file>"
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:32
msgid ""
"Add an override for I<file>. I<file> does not need to exist when this "
"command is used; the override will be stored and used later.  Users and "
"groups can be specified by their name (for example B<root> or B<nobody>), or "
"by their number by prepending the number with a `B<#>' (for example B<#0> or "
"B<#65534>). The I<mode> needs to be specified in octal."
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:35
msgid ""
"If --update is specified and I<file> exists, it is immediately set to the "
"new owner and mode."
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:39
msgid ""
"Remove an override for I<file>, the status of I<file> is left unchanged by "
"this command."
msgstr ""

#. type: TP
#: dpkg-statoverride.8:39
#, fuzzy, no-wrap
msgid "B<--list> [I<glob-pattern>]"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg-statoverride.8:44
msgid ""
"List all overrides. If a glob pattern is specified restrict the output to "
"overrides which match the glob. If there are no overrides or none match the "
"glob B<dpkg-statoverride> will exit with an exitcode of 1."
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:56
msgid ""
"Change the I<directory> of the dpkg database where the statoverride file is "
"also stored. Defaults to I</var/lib/dpkg>."
msgstr ""

#. type: TP
#: dpkg-statoverride.8:56 update-alternatives.8:336
#, fuzzy, no-wrap
msgid "B<--force>"
msgstr "B<--nocheck>"

#. type: Plain text
#: dpkg-statoverride.8:60
msgid ""
"Force an action, even if a sanity check would otherwise prohibit it.  This "
"is necessary to override an existing override."
msgstr ""

#. type: TP
#: dpkg-statoverride.8:60
#, fuzzy, no-wrap
msgid "B<--update>"
msgstr "B<822-date>"

#. type: Plain text
#: dpkg-statoverride.8:64
msgid ""
"Immediately try to change the file to the new owner and mode if it exists."
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:67
msgid "Be less verbose about what we do."
msgstr ""

#. type: TP
#: dpkg-statoverride.8:75
#, fuzzy, no-wrap
msgid "I</var/lib/dpkg/statoverride>"
msgstr "I</var/lib/dpkg/status>"

#. type: Plain text
#: dpkg-statoverride.8:80
msgid ""
"File which contains the current list of stat overrides of the system. It is "
"located in the dpkg administration directory, along with other files "
"important to dpkg, such as `status' or `available'."
msgstr ""

#. type: Plain text
#: dpkg-statoverride.8:83
msgid ""
"Note: B<dpkg-statoverride> preserves the old copy of this file, with "
"extension \"-old\", before replacing it with the new one."
msgstr ""

#. type: TH
#: dpkg-trigger.1:1
#, fuzzy, no-wrap
msgid "dpkg-trigger"
msgstr "B<dpkg-query-actions>"

#. type: Plain text
#: dpkg-trigger.1:4
msgid "dpkg-trigger - a package trigger utility"
msgstr ""

#. type: Plain text
#: dpkg-trigger.1:8
#, fuzzy
msgid "B<dpkg-trigger> [I<option>...] I<trigger-name>"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-trigger.1:11
#, fuzzy
msgid "B<dpkg-trigger> [I<option>...] I<command>"
msgstr "B<dpkg> [I<параметры>] I<действие>"

# type: Plain text
#. type: Plain text
#: dpkg-trigger.1:15
msgid ""
"B<dpkg-trigger> is a tool to explicitly activate triggers and check for its "
"support on the running B<dpkg>."
msgstr ""

#. type: Plain text
#: dpkg-trigger.1:21
msgid ""
"This can be used by maintainer scripts in complex and conditional situations "
"where the file triggers, or the declarative B<activate> triggers control "
"file directive, are insufficiently rich. It can also be used for testing and "
"by system administrators (but note that the triggers won't actually be run "
"by B<dpkg-trigger>)."
msgstr ""

#. type: Plain text
#: dpkg-trigger.1:23
msgid "Unrecognised trigger name syntaxes are an error for B<dpkg-trigger>."
msgstr ""

#. type: TP
#: dpkg-trigger.1:25
#, fuzzy, no-wrap
msgid "B<--check-supported>"
msgstr "B<--nocheck>"

#. type: Plain text
#: dpkg-trigger.1:31
msgid ""
"Check if the running B<dpkg> supports triggers (usually called from a "
"postinst). Will exit B<0> if a triggers-capable B<dpkg> has run, or B<1> "
"with an error message to stderr if not. Normally, however, it is better just "
"to activate the desired trigger with B<dpkg-trigger>."
msgstr ""

#. type: TP
#: dpkg-trigger.1:43
#, fuzzy, no-wrap
msgid "B<--by-package=>I<package>"
msgstr "B<Package:> E<lt>имя пакетаE<gt>"

#. type: Plain text
#: dpkg-trigger.1:49
msgid ""
"Override trigger awaiter (normally set by B<dpkg> through the "
"B<DPKG_MAINTSCRIPT_PACKAGE> environment variable of the maintainer scripts, "
"naming the package to which the script belongs, and this will be used by "
"default)."
msgstr ""

#. type: TP
#: dpkg-trigger.1:49
#, fuzzy, no-wrap
msgid "B<--no-await>"
msgstr "B<--no-debsig>"

#. type: Plain text
#: dpkg-trigger.1:56
msgid ""
"This option arranges that the calling package T (if any) need not await the "
"processing of this trigger; the interested package(s) I, will not be added "
"to T's trigger processing awaited list and T's status is unchanged.  T may "
"be considered installed even though I may not yet have processed the trigger."
msgstr ""

#. type: TP
#: dpkg-trigger.1:56
#, fuzzy, no-wrap
msgid "B<--no-act>"
msgstr "B<--nocheck>"

#. type: Plain text
#: dpkg-trigger.1:59
msgid "Just test, do not actually change anything."
msgstr ""

#. type: Plain text
#: dpkg-trigger.1:69
#, fuzzy
msgid ""
"B<dpkg>(1), B<deb-triggers>(5), B</usr/share/doc/dpkg-dev/triggers.txt.gz>."
msgstr "B<dpkg-deb-actions>"

#. type: TH
#: dpkg-vendor.1:1
#, fuzzy, no-wrap
msgid "dpkg-vendor"
msgstr "deb-control"

#. type: Plain text
#: dpkg-vendor.1:4
msgid "dpkg-vendor - queries information about distribution vendors"
msgstr ""

#. type: Plain text
#: dpkg-vendor.1:8
#, fuzzy
msgid "B<dpkg-vendor> [I<option>...] I<command>"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dpkg-vendor.1:13
msgid ""
"B<dpkg-vendor> is a tool to query information about vendors listed in B</etc/"
"dpkg/origins>. B</etc/dpkg/origins/default> contains information about the "
"current vendor."
msgstr ""

#. type: TP
#: dpkg-vendor.1:15
#, fuzzy, no-wrap
msgid "B<--is>I< vendor>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: dpkg-vendor.1:19
msgid ""
"Exits with B<0> if the current vendor is I<vendor>. Otherwise exits with non-"
"zero."
msgstr ""

#. type: TP
#: dpkg-vendor.1:19
#, fuzzy, no-wrap
msgid "B<--derives-from>I< vendor>"
msgstr "B<Priority:> E<lt>приоритетE<gt>"

#. type: Plain text
#: dpkg-vendor.1:24
msgid ""
"Exits with B<0> if the current vendor distribution is a derivative of "
"I<vendor>, otherwise exits with non-zero. It uses the \"Parent\" field to "
"browse all ancestors of the current vendor."
msgstr ""

#. type: TP
#: dpkg-vendor.1:24
#, fuzzy, no-wrap
msgid "B<--query>I< field>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: dpkg-vendor.1:28
msgid ""
"Print on standard output the value of the vendor-specific I<field> for the "
"current vendor."
msgstr ""

#. type: TP
#: dpkg-vendor.1:36
#, fuzzy, no-wrap
msgid "B<--vendor>I< vendor>"
msgstr "B<Priority:> E<lt>приоритетE<gt>"

#. type: Plain text
#: dpkg-vendor.1:41
msgid ""
"Assumes the current vendor is I<vendor> instead of discovering it with the "
"B<DEB_VENDOR> environment variable or B</etc/dpkg/origins/default>."
msgstr ""

#. type: TP
#: dpkg-vendor.1:43
#, no-wrap
msgid "B<DEB_VENDOR>"
msgstr ""

#. type: Plain text
#: dpkg-vendor.1:47
msgid ""
"This setting defines the current vendor. If not set, it will discover the "
"current vendor by reading B</etc/dpkg/origins/default>."
msgstr ""

#. type: Plain text
#: dpkg-vendor.1:50 update-alternatives.8:498
#, fuzzy
msgid "Copyright \\(co 2009 Rapha\\[:e]l Hertzog"
msgstr "Copyright 2001 Joey Hess"

#. type: TH
#: dselect.1:1
#, no-wrap
msgid "dselect"
msgstr ""

#. type: Plain text
#: dselect.1:4
#, fuzzy
msgid "dselect - Debian package management frontend"
msgstr "deb-control -- формат мастер файла control пакетов Debian"

#. type: Plain text
#: dselect.1:8
#, fuzzy
#| msgid "B<dpkg> [I<options>] I<action>"
msgid "B<dselect> [I<option>...] [I<action>]"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: dselect.1:17
#, no-wrap
msgid ""
"B<dselect>\n"
"is one of the primary user interfaces for managing packages on a Debian\n"
"system. At the B<dselect> main menu, the system administrator can:\n"
" - Update the list of available package versions,\n"
" - View the status of installed and available packages,\n"
" - Alter package selections and manage dependencies,\n"
" - Install new packages or upgrade to newer versions.\n"
msgstr ""

#. type: Plain text
#: dselect.1:29
msgid ""
"B<dselect> operates as a front-end to B<dpkg>(1), the low-level debian "
"package handling tool. It features a full-screen package selections manager "
"with package depends and conflicts resolver. When run with administrator "
"privileges, packages can be installed, upgraded and removed. Various access "
"methods can be configured to retrieve available package version information "
"and installable packages from package repositories.  Depending on the used "
"access method, these repositories can be public archive servers on the "
"internet, local archive servers or cdroms.  The recommended access method is "
"I<apt>, which is provided by the package B<apt>."
msgstr ""

#. type: Plain text
#: dselect.1:35
msgid ""
"Normally B<dselect> is invoked without parameters. An interactive menu is "
"presented, offering the user a list of actions. If an action is given as "
"argument, then that action is started immediately. Several command line "
"parameters are still available to modify the running behaviour of B<dselect> "
"or show additional information about the program."
msgstr ""

#. type: Plain text
#: dselect.1:43
#, fuzzy
msgid ""
"All options can be specified both on the command line and in the B<dselect> "
"configuration file I</etc/dpkg/dselect.cfg> or the files on the "
"configuration directory I</etc/dpkg/dselect.cfg.d/>. Each line in the "
"configuration file is either an option (exactly the same as the command line "
"option but without leading dashes) or a comment (if it starts with a B<#>)."
msgstr ""
"Все параметры можно указывать как в командной строке, так и в "
"конфигурационном файле B<dpkg> -- I</etc/dpkg/dpkg.cfg>. Каждая строка в "
"конфигурационном файле должна быть либо параметром (в точности как в "
"командной строке, но без начальных дефисов), либо комментарием (если "
"начинается с B<#>)."

#. type: Plain text
#: dselect.1:49
msgid ""
"Changes the directory where the dpkg `I<status>', `I<available>' and similar "
"files are located. This defaults to I</var/lib/dpkg> and normally there "
"shouldn't be any need to change it."
msgstr ""

#. type: TP
#: dselect.1:49
#, fuzzy, no-wrap
msgid "B<--debug>I< file >|I< >B<-D>I<file>"
msgstr "B<--new> | B<--old>"

#. type: Plain text
#: dselect.1:52
msgid "Turn on debugging. Debugging information is sent to I<file>."
msgstr ""

#. type: TP
#: dselect.1:52
#, no-wrap
msgid "B<--expert>"
msgstr ""

#. type: Plain text
#: dselect.1:56
msgid ""
"Turns on expert mode, i.e. doesn't display possibly annoying help messages."
msgstr ""

#. type: TP
#: dselect.1:56
#, no-wrap
msgid "B<--colour>|B<--color> I<screenpart:>[I<foreground>],[I<background>][I<:attr>[I<+attr+..>]]"
msgstr ""

#. type: Plain text
#: dselect.1:63
msgid ""
"Configures screen colors. This works only if your display supports colors.  "
"This option may be used multiple times (and is best used in I<dselect.cfg>). "
"Each use changes the color (and optionally, other attributes) of one part of "
"the screen.  The parts of the screen (from top to bottom) are:"
msgstr ""

#. type: TP
#: dselect.1:64
#, fuzzy, no-wrap
msgid "B<title>"
msgstr "B<installed>"

#. type: Plain text
#: dselect.1:67
msgid "The screen title."
msgstr ""

#. type: TP
#: dselect.1:67
#, fuzzy, no-wrap
msgid "B<listhead>"
msgstr "B<installed>"

#. type: Plain text
#: dselect.1:70
#, fuzzy
msgid "The header line above the list of packages."
msgstr "Вручную просмотреть список пакетов:"

#. type: TP
#: dselect.1:70
#, fuzzy, no-wrap
msgid "B<list>"
msgstr "B<install>"

#. type: Plain text
#: dselect.1:73
msgid "The scrolling list of packages (and also some help text)."
msgstr ""

#. type: TP
#: dselect.1:73
#, fuzzy, no-wrap
msgid "B<listsel>"
msgstr "B<install>"

#. type: Plain text
#: dselect.1:76
msgid "The selected item in the list."
msgstr ""

#. type: TP
#: dselect.1:76
#, fuzzy, no-wrap
msgid "B<pkgstate>"
msgstr "B<purge>"

#. type: Plain text
#: dselect.1:80
msgid ""
"In the list of packages, the text indicating the current state of each "
"package."
msgstr ""

#. type: TP
#: dselect.1:80
#, no-wrap
msgid "B<pkgstatesel>"
msgstr ""

#. type: Plain text
#: dselect.1:84
msgid ""
"In the list of packages, the text indicating the current state of the "
"currently selected package."
msgstr ""

#. type: TP
#: dselect.1:84
#, fuzzy, no-wrap
msgid "B<infohead>"
msgstr "B<installed>"

#. type: Plain text
#: dselect.1:87
msgid ""
"The header line that displays the state of the currently selected package."
msgstr ""

#. type: TP
#: dselect.1:87
#, fuzzy, no-wrap
msgid "B<infodesc>"
msgstr "B<--no-debsig>"

#. type: Plain text
#: dselect.1:90
#, fuzzy
msgid "The package's short description."
msgstr "Пакет выбран для установки."

#. type: TP
#: dselect.1:90
#, no-wrap
msgid "B<info>"
msgstr ""

#. type: Plain text
#: dselect.1:93
msgid "Used to display package info such as the package's description."
msgstr ""

#. type: TP
#: dselect.1:93
#, no-wrap
msgid "B<infofoot>"
msgstr ""

#. type: Plain text
#: dselect.1:96
msgid "The last line of the screen when selecting packages."
msgstr ""

#. type: TP
#: dselect.1:96
#, fuzzy, no-wrap
msgid "B<query>"
msgstr "B<purge>"

#. type: Plain text
#: dselect.1:99
msgid "Used to display query lines"
msgstr ""

#. type: TP
#: dselect.1:99
#, no-wrap
msgid "B<helpscreen>"
msgstr ""

#. type: Plain text
#: dselect.1:102
msgid "Color of help screens."
msgstr ""

#. type: Plain text
#: dselect.1:107
msgid ""
"After the part of the screen comes a colon and the color specification. You "
"can specify either the foreground color, the background color, or both, "
"overriding the compiled-in colors. Use standard curses color names."
msgstr ""

#. type: Plain text
#: dselect.1:113
msgid ""
"Optionally, after the color specification is another colon, and an attribute "
"specification. This is a list of one or more attributes, separated by plus "
"(\"+\") characters. Available attributes include (not all of these will work "
"on all terminals): normal, standout, underline, reverse, blink, bright, dim, "
"bold"
msgstr ""

#. type: Plain text
#: dselect.1:116
msgid "Print a brief help text and exit successfully."
msgstr ""

#. type: Plain text
#: dselect.1:119
#, fuzzy
msgid "Print version information and exit successfully."
msgstr "Выдать информацию о версии и завершить работу."

#. type: Plain text
#: dselect.1:126
msgid ""
"When B<dselect> is started it can perform the following actions, either "
"directly if it was specified on the command line or by prompting the user "
"with a menu of available actions if running interactively:"
msgstr ""

#. type: SS
#: dselect.1:126
#, no-wrap
msgid "access"
msgstr ""

#. type: Plain text
#: dselect.1:128
msgid "Choose and configure an access method to access package repositories."
msgstr ""

#. type: Plain text
#: dselect.1:134
msgid ""
"By default, B<dselect> provides several methods such as I<cdrom>, "
"I<multi_cd>, I<nfs>, I<multi_nfs>, I<harddisk>, I<mounted>, I<multi_mount>, "
"I<floppy> or I<ftp>, but other packages may provide additional methods, eg. "
"the I<apt> access method provided by the B<apt> package."
msgstr ""

#. type: Plain text
#: dselect.1:136
msgid "The use of the I<apt> access method is strongly recommended."
msgstr ""

#. type: SS
#: dselect.1:137
#, no-wrap
msgid "update"
msgstr ""

#. type: Plain text
#: dselect.1:139
#, fuzzy
msgid "Refresh the available packages database."
msgstr "Список доступных пакетов."

#. type: Plain text
#: dselect.1:146
msgid ""
"Retrieves a list of available package versions from the package repository, "
"configured for the current access method, and update the dpkg database. The "
"package lists are commonly provided by the repository as files named "
"I<Packages> or I<Packages.gz>.  These files can be generated by repository "
"maintainers, using the program B<dpkg-scanpackages>(1)."
msgstr ""

#. type: Plain text
#: dselect.1:149
msgid ""
"Details of the update action depend on the access method's implementation.  "
"Normally the process is straightforward and requires no user interaction."
msgstr ""

#. type: SS
#: dselect.1:150
#, no-wrap
msgid "select"
msgstr ""

#. type: Plain text
#: dselect.1:152
msgid "View or manage package selections and dependencies."
msgstr ""

#. type: Plain text
#: dselect.1:158
msgid ""
"This is the main function of B<dselect>. In the select screen, the user can "
"review a list of all available and installed packages. When run with "
"administrator privileges, it is also possible to interactively change "
"packages selection state. B<dselect> tracks the implications of these "
"changes to other depending or conflicting packages."
msgstr ""

#. type: Plain text
#: dselect.1:165
msgid ""
"When a conflict or failed depends is detected, a dependency resolution "
"subscreen is prompted to the user. In this screen, a list of conflicting or "
"depending packages is shown, and for each package listed, the reason for its "
"listing is shown. The user may apply the suggestions proposed by B<dselect>, "
"override them, or back out all the changes, including the ones that created "
"the unresolved depends or conflicts."
msgstr ""

#. type: Plain text
#: dselect.1:168
msgid ""
"The use of the interactive package selections management screen is explained "
"in more detail below."
msgstr ""

#. type: SS
#: dselect.1:169
#, fuzzy, no-wrap
msgid "install"
msgstr "B<install>"

#. type: Plain text
#: dselect.1:171
msgid "Installs selected packages."
msgstr ""

#. type: Plain text
#: dselect.1:177
msgid ""
"The configured access method will fetch installable or upgradable packages "
"from the relevant repositories and install these using B<dpkg>.  Depending "
"on the implementation of the access method, all packages can be prefetched "
"before installation, or fetched when needed.  Some access methods may also "
"remove packages that were marked for removal."
msgstr ""

#. type: Plain text
#: dselect.1:185
msgid ""
"If an error occurred during install, it is usually advisable to run install "
"again. In most cases, the problems will disappear or be solved.  If problems "
"persist or the installation performed was incorrect, please investigate into "
"the causes and circumstances, and file a bug in the Debian bug tracking "
"system. Instructions on how to do this can be found at http://bugs.debian."
"org/ or by reading the documentation for B<bug>(1) or B<reportbug>(1), if "
"these are installed."
msgstr ""

#. type: Plain text
#: dselect.1:192
msgid ""
"Details of the install action depend on the access method's implementation.  "
"The user's attention and input may be required during installation, "
"configuration or removal of packages. This depends on the maintainer scripts "
"in the package. Some packages make use of the B<debconf>(1)  library, "
"allowing for more flexible or even automated installation setups."
msgstr ""

#. type: SS
#: dselect.1:193
#, no-wrap
msgid "config"
msgstr ""

#. type: Plain text
#: dselect.1:195
msgid "Configures any previously installed, but not fully configured packages."
msgstr ""

#. type: SS
#: dselect.1:196
#, no-wrap
msgid "remove"
msgstr ""

#. type: Plain text
#: dselect.1:198
msgid "Removes or purges installed packages, that are marked for removal."
msgstr ""

#. type: SS
#: dselect.1:199
#, no-wrap
msgid "quit"
msgstr ""

#. type: Plain text
#: dselect.1:201
msgid "Quit B<dselect>"
msgstr ""

#. type: Plain text
#: dselect.1:203
msgid "Exits the program with zero (successful) errorcode."
msgstr ""

#. type: SH
#: dselect.1:205
#, no-wrap
msgid "Package selections management"
msgstr ""

#. type: SS
#: dselect.1:207
#, no-wrap
msgid "Introduction"
msgstr ""

#. type: Plain text
#: dselect.1:223
msgid ""
"B<dselect> directly exposes the administrator to some of the complexities "
"involved with managing large sets of packages with many interdependencies. "
"For a user who is unfamiliar with the concepts and the ways of the debian "
"package management system, it can be quite overwhelming. Although B<dselect> "
"is aimed at easing package management and administration, it is only "
"instrumental in doing so and can not be assumed to be a sufficient "
"substitute for administrator skill and understanding. The user is required "
"to be familiar with the concepts underlying the Debian packaging system.  In "
"case of doubt, consult the B<dpkg>(1) manpage and the Debian Policy manual, "
"contained in the B<debian-policy> package."
msgstr ""

#. type: Plain text
#: dselect.1:229
msgid ""
"Unless B<dselect> is run in expert or immediate mode, a help screen is first "
"displayed when choosing this action from the menu. The user is I<strongly> "
"advised to study all of the information presented in the online help "
"screens, when one pops up.  The online help screens can at any time be "
"invoked with the B<'?'> key."
msgstr ""

#. type: SS
#: dselect.1:230
#, no-wrap
msgid "Screen layout"
msgstr ""

#. type: Plain text
#: dselect.1:238
msgid ""
"The select screen is by default split in a top and a bottom half.  The top "
"half shows a list of packages. A cursor bar can select an individual "
"package, or a group of packages, if applicable, by selecting the group "
"header. The bottom half of the screen shows some details about the package "
"currently selected in the top half of the screen.  The type of detail that "
"is displayed can be varied."
msgstr ""

#. type: Plain text
#: dselect.1:241
msgid ""
"Pressing the B<'I'> key toggles a full-screen display of the packages list, "
"an enlarged view of the package details, or the equally split screen."
msgstr ""

#. type: SS
#: dselect.1:242
#, no-wrap
msgid "Package details view"
msgstr ""

#. type: Plain text
#: dselect.1:251
#, no-wrap
msgid ""
"The package details view by default shows the extended package description\n"
"for the package that is currently selected in the packages status list.\n"
"The type of detail can be toggled by pressing the B<'i'> key. This\n"
"alternates between:\n"
" - the extended description\n"
" - the control information for the installed version\n"
" - the control information for the available version\n"
msgstr ""

#. type: Plain text
#: dselect.1:255
msgid ""
"In a dependency resolution screen, there is also the possibility of viewing "
"the specific unresolved depends or conflicts related to the package and "
"causing it to be listed."
msgstr ""

#. type: SS
#: dselect.1:256
#, no-wrap
msgid "Packages status list"
msgstr ""

#. type: Plain text
#: dselect.1:261
msgid ""
"The main select screen displays a list of all packages known to the debian "
"package management system. This includes packages installed on the system "
"and packages known from the available packages database."
msgstr ""

#. type: Plain text
#: dselect.1:269
msgid ""
"For every package, the list shows the package's status, priority, section, "
"installed and available versions, the package name and its short "
"description, all in one line. By pressing the B<'V'> key, the display of the "
"installed and available version can be toggled between on an off. By "
"pressing the B<'v'> key, the package status display is toggled between "
"verbose and shorthand.  Shorthand display is the default."
msgstr ""

#. type: Plain text
#: dselect.1:275
msgid ""
"The shorthand status indication consists of four parts: an error flag, which "
"should normally be clear, the current status, the last selection state and "
"the current selection state.  The first two relate to the actual state of "
"the package, the second pair are about the selections set by the user."
msgstr ""

#. type: Plain text
#: dselect.1:293
#, no-wrap
msgid ""
"These are the meanings of the shorthand package status indicator codes:\n"
" Error flag:\n"
"  I<empty>   no error\n"
"  B<R>       serious error, needs reinstallation;\n"
" Installed state:\n"
"  I<empty>   not installed;\n"
"  B<*>       fully installed and configured;\n"
"  B<->       not installed but some config files may remain;\n"
"  B<U>       unpacked but not yet configured;\n"
"  B<C>       half-configured (an error happened);\n"
"  B<I>       half-installed (an error happened).\n"
" Current and requested selections:\n"
"  B<*>       marked for installation or upgrade;\n"
"  B<->       marked for removal, configuration files remain;\n"
"  B<=>       on hold: package will not be processed at all;\n"
"  B<_>       marked for purge, also remove configuration;\n"
"  B<n>       package is new and has yet to be marked.\n"
msgstr ""

#. type: SS
#: dselect.1:294
#, no-wrap
msgid "Cursor and screen movement"
msgstr ""

#. type: Plain text
#: dselect.1:299
msgid ""
"The package selection list and the dependency conflict resolution screens "
"can be navigated using motion commands mapped to the following keys:"
msgstr ""

#. type: Plain text
#: dselect.1:316
#, no-wrap
msgid ""
"  B<p, Up, k>           move cursor bar up\n"
"  B<n, Down, j>         move cursor bar down\n"
"  B<P, Pgup, Backspace> scroll list 1 page up\n"
"  B<N, Pgdn, Space>     scroll list 1 page down\n"
"  B<^p>                 scroll list 1 line up\n"
"  B<^n>                 scroll list 1 line down\n"
"  B<t, Home>            jump to top of list\n"
"  B<e, End>             jump to end of list\n"
"  B<u>                  scroll info 1 page up\n"
"  B<d>                  scroll info 1 page down\n"
"  B<^u>                 scroll info 1 line up\n"
"  B<^d>                 scroll info 1 line down\n"
"  B<B, Left-arrow>      pan display 1/3 screen left\n"
"  B<F, Right-arrow>     pan display 1/3 screen right\n"
"  B<^b>                 pan display 1 character left\n"
"  B<^f>                 pan display 1 character right\n"
msgstr ""

#. type: SS
#: dselect.1:317
#, no-wrap
msgid "Searching and sorting"
msgstr ""

#. type: Plain text
#: dselect.1:331
msgid ""
"The list of packages can be searched by package name. This is done by "
"pressing B<'/'>, and typing a simple search string. The string is "
"interpreted as a B<regex>(7)  regular expression.  If you add B<'/d'> to the "
"search expression, dselect will also search in descriptions. If you add B<'/"
"i'> the search will be case insensitive.  You may combine these two suffixes "
"like this: B<'/id'>.  Repeated searching is accomplished by repeatedly "
"pressing the B<'n'> or B<'\\e'> keys, until the wanted package is found.  If "
"the search reaches the bottom of the list, it wraps to the top and continues "
"searching from there."
msgstr ""

#. type: Plain text
#: dselect.1:338
#, no-wrap
msgid ""
"The list sort order can be varied by pressing\n"
"the B<'o'> and B<'O'> keys repeatedly.\n"
"The following nine sort orderings can be selected:\n"
" alphabet          available           status\n"
" priority+section  available+priority  status+priority\n"
" section+priority  available+section   status+section\n"
msgstr ""

#. type: Plain text
#: dselect.1:341
msgid ""
"Where not listed above explicitly, alphabetic order is used as the final "
"subordering sort key."
msgstr ""

#. type: SS
#: dselect.1:342
#, no-wrap
msgid "Altering selections"
msgstr ""

#. type: Plain text
#: dselect.1:351
#, no-wrap
msgid ""
"The requested selection state of individual packages may be\n"
"altered with the following commands:\n"
"  B<+, Insert>    install or upgrade\n"
"  B<=, H>         hold in present state and version\n"
"  B<:, G>         unhold: upgrade or leave uninstalled\n"
"  B<-, Delete>    remove, but leave configuration\n"
"  B<_>            remove & purge configuration\n"
msgstr ""

#. type: Plain text
#: dselect.1:355
msgid ""
"When the change request results in one or more unsatisfied depends or "
"conflicts, B<dselect> prompts the user with a dependency resolution screen. "
"This will be further explained below."
msgstr ""

#. type: Plain text
#: dselect.1:360
msgid ""
"It is also possible to apply these commands to groups of package selections, "
"by pointing the cursor bar onto a group header. The exact grouping of "
"packages is dependent on the current list ordering settings."
msgstr ""

#. type: Plain text
#: dselect.1:366
msgid ""
"Proper care should be taken when altering large groups of selections, "
"because this can instantaneously create large numbers of unresolved depends "
"or conflicts, all of which will be listed in one dependency resolution "
"screen, making them very hard to handle. In practice, only hold and unhold "
"operations are useful when applied to groups."
msgstr ""

#. type: SS
#: dselect.1:367
#, no-wrap
msgid "Resolving depends and conflicts"
msgstr ""

#. type: Plain text
#: dselect.1:372
msgid ""
"When the change request results in one or more unsatisfied depends or "
"conflicts, B<dselect> prompts the user with a dependency resolution screen. "
"First however, an informative help screen is displayed."
msgstr ""

#. type: Plain text
#: dselect.1:379
msgid ""
"The top half of this screen lists all the packages that will have unresolved "
"depends or conflicts, as a result of the requested change, and all the "
"packages whose installation can resolve any of these depends or whose "
"removal can resolve any of the conflicts.  The bottom half defaults to show "
"the depends or conflicts that cause the currently selected package to be "
"listed."
msgstr ""

#. type: Plain text
#: dselect.1:385
msgid ""
"When the sublist of packages is displayed initially, B<dselect> may have "
"already set the requested selection status of some of the listed packages, "
"in order to resolve the depends or conflicts that caused the dependency "
"resolution screen to be displayed. Usually, it is best to follow up the "
"suggestions made by B<dselect>."
msgstr ""

#. type: Plain text
#: dselect.1:393
msgid ""
"The listed packages' selection state may be reverted to the original "
"settings, as they were before the unresolved depends or conflicts were "
"created, by pressing the B<'R'> key. By pressing the B<'D'> key, the "
"automatic suggestions are reset, but the change that caused the dependency "
"resolution screen to be prompted is kept as requested.  Finally, by pressing "
"B<'U'>, the selections are again set to the automatic suggestion values."
msgstr ""

#. type: SS
#: dselect.1:394
#, no-wrap
msgid "Establishing the requested selections"
msgstr ""

#. type: Plain text
#: dselect.1:401
msgid ""
"By pressing B<enter>, the currently displayed set of selections is accepted. "
"If B<dselect> detects no unresolved depends as a result of the requested "
"selections, the new selections will be set.  However, if there are any "
"unresolved depends, B<dselect> will again prompt the user with a dependency "
"resolution screen."
msgstr ""

#. type: Plain text
#: dselect.1:407
msgid ""
"To alter a set of selections that creates unresolved depends or conflicts "
"and forcing B<dselect> to accept it, press the B<'Q'> key. This sets the "
"selections as specified by the user, unconditionally. Generally, don't do "
"this unless you've read the fine print."
msgstr ""

#. type: Plain text
#: dselect.1:414
msgid ""
"The opposite effect, to back out any selections change requests and go back "
"to the previous list of selections, is attained by pressing the B<'X'> or "
"B<escape> keys. By repeatedly pressing these keys, any possibly detrimental "
"changes to the requested package selections can be backed out completely to "
"the last established settings."
msgstr ""

#. type: Plain text
#: dselect.1:421
msgid ""
"If you mistakenly establish some settings and wish to revert all the "
"selections to what is currently installed on the system, press the B<'C'> "
"key.  This is somewhat similar to using the unhold command on all packages, "
"but provides a more obvious panic button in cases where the user pressed "
"B<enter> by accident."
msgstr ""

#. type: Plain text
#: dselect.1:428
msgid ""
"If set, B<dselect> will use it as the directory from which to read the user "
"specific configuration file."
msgstr ""

#. type: Plain text
#: dselect.1:434
msgid ""
"The B<dselect> package selection interface is confusing to some new users.  "
"Reportedly, it even makes seasoned kernel developers cry."
msgstr ""

#. type: Plain text
#: dselect.1:436
msgid "The documentation is lacking."
msgstr ""

#. type: Plain text
#: dselect.1:438
msgid "There is no help option in the main menu."
msgstr ""

#. type: Plain text
#: dselect.1:440
#, fuzzy
msgid "The visible list of available packages cannot be reduced."
msgstr "Список доступных пакетов."

#. type: Plain text
#: dselect.1:444
msgid ""
"The built in access methods can no longer stand up to current quality "
"standards. Use the access method provided by apt, it is not only not broken, "
"it is also much more flexible than the built in access methods."
msgstr ""

#. type: Plain text
#: dselect.1:450
msgid "B<dpkg>(1), B<apt-get>(8), B<sources.list>(5), B<deb>(5)."
msgstr ""

#. type: Plain text
#: dselect.1:455
msgid ""
"B<dselect> was written by Ian Jackson (ijackson@gnu.ai.mit.edu). Full list "
"of contributors may be found in 'dselect --version'."
msgstr ""

#. type: Plain text
#: dselect.1:458
msgid ""
"This manual page was written by Juho Vuori E<lt>javuori@cc.helsinki.fiE<gt>, "
"Josip Rodin and Joost kooij."
msgstr ""

#. type: TH
#: dselect.cfg.5:1
#, no-wrap
msgid "dselect.cfg"
msgstr ""

#. type: TH
#: dselect.cfg.5:1
#, fuzzy, no-wrap
msgid "2011-07-03"
msgstr "2006-02-28"

#. type: Plain text
#: dselect.cfg.5:4
msgid "dselect.cfg - dselect configuration file"
msgstr ""

#. type: Plain text
#: dselect.cfg.5:11
msgid ""
"This file contains default options for dselect. Each line contains a single "
"option which is exactly the same as a normal command line option for dselect "
"except for the leading dashes which are not used here. Quotes surrounding "
"option values are stripped. Comments are allowed by starting a line with a "
"hash sign (\"B<#>\")."
msgstr ""

#. type: Plain text
#: dselect.cfg.5:14
#, fuzzy
msgid "I</etc/dpkg/dselect.cfg.d/[0-9a-zA-Z_-]*>"
msgstr "I</etc/dpkg/dpkg.cfg>"

#. type: Plain text
#: dselect.cfg.5:16
#, fuzzy
msgid "I</etc/dpkg/dselect.cfg>"
msgstr "I</etc/dpkg/dpkg.cfg>"

#. type: Plain text
#: dselect.cfg.5:18
msgid "I<~/.dselect.cfg>"
msgstr ""

#. type: Plain text
#: dselect.cfg.5:22
#, fuzzy
msgid ""
"See I</usr/share/doc/dpkg/THANKS> for the list of people who have "
"contributed to B<dselect>."
msgstr ""
"Смотрите файл I</usr/share/doc/dpkg/THANKS>, где приведён список тех, кто "
"участвовал в разработке B<dpkg>.\n"

#. type: Plain text
#: dselect.cfg.5:24
#, fuzzy
msgid "B<dselect>(1)."
msgstr "B<date>(1)."

#. type: TH
#: start-stop-daemon.8:1
#, no-wrap
msgid "start-stop-daemon"
msgstr "start-stop-daemon"

#. type: Plain text
#: start-stop-daemon.8:4
msgid "start-stop-daemon - start and stop system daemon programs"
msgstr ""
"start-stop-daemon -- запускает и останавливает системные программы-демоны"

#. type: Plain text
#: start-stop-daemon.8:8
#, fuzzy
msgid "B<start-stop-daemon> [I<option>...] I<command>"
msgstr "B<start-stop-daemon> B<-K>|B<--stop> I<параметры>"

#. type: Plain text
#: start-stop-daemon.8:14
#, fuzzy
msgid ""
"B<start-stop-daemon> is used to control the creation and termination of "
"system-level processes.  Using one of the matching options, B<start-stop-"
"daemon> can be configured to find existing instances of a running process."
msgstr ""
"B<start-stop-daemon> используется для управления созданием и завершением "
"системных процессов. Используя параметры B<--exec>, B<--pidfile>, B<--user> "
"и B<--name>, B<start-stop-daemon> может быть настроен для поиска уже "
"запущенных экземпляров процесса."

#. type: Plain text
#: start-stop-daemon.8:33
#, fuzzy
msgid ""
"Note: unless B<--pidfile> is specified, B<start-stop-daemon> behaves similar "
"to B<killall>(1).  B<start-stop-daemon> will scan the process table looking "
"for any processes which match the process name, uid, and/or gid (if "
"specified). Any matching process will prevent B<--start> from starting the "
"daemon. All matching processes will be sent the TERM signal (or the one "
"specified via B<--signal> or B<--retry>) if B<--stop> is specified. For "
"daemons which have long-lived children which need to live through a B<--"
"stop>, you must specify a pidfile."
msgstr ""
"Заметим, что если не указан параметр B<--pidfile>, то B<start-stop-daemon> "
"действует подобно B<killall(1).> B<start-stop-daemon> сканирует таблицу "
"процессов в поисках любых процессов с нужным именем, uid, и/или gid (если "
"указаны). Любой подходящий процесс предотвратит запуск демона, если указан "
"параметр B<--start>. Всем подходящим процессам будет послан сигнал KILL, "
"если указан параметр B<--stop>. Для демонов, у которых есть долго живущие "
"потомки, которых нужно оставить работать при параметре B<--stop>нужно "
"указывать pidfile."

#. type: TP
#: start-stop-daemon.8:35
#, fuzzy, no-wrap
msgid "B<-S>, B<--start> [B<-->] I<arguments>"
msgstr "B<start-stop-daemon> B<-S>|B<--start> I<параметры> [B<-->] I<аргументы>"

#. type: Plain text
#: start-stop-daemon.8:52
#, fuzzy
msgid ""
"Check for the existence of a specified process.  If such a process exists, "
"B<start-stop-daemon> does nothing, and exits with error status 1 (0 if B<--"
"oknodo> is specified).  If such a process does not exist, it starts an "
"instance, using either the executable specified by B<--exec> or, if "
"specified, by B<--startas>.  Any arguments given after B<--> on the command "
"line are passed unmodified to the program being started."
msgstr ""
"B<start-stop-daemon> с параметром B<--start> проверяет существование "
"указанного процесса. Если такой процесс существует, B<start-stop-daemon> "
"ничего не делает и прекращает работу с кодом завершения 1 (или 0, если задан "
"параметр B<--oknodo>). Если же такой процесс не существует, то он "
"запускается, используя либо исполняемый файл, заданный параметром B<--exec>, "
"(либо параметром B<--startas>). Все аргументы, заданные в командной строке "
"после B<-->, будут без изменений переданы запускаемой программе."

#. type: TP
#: start-stop-daemon.8:52
#, fuzzy, no-wrap
msgid "B<-K>, B<--stop>"
msgstr "B<-o>|B<--oknodo>"

#. type: Plain text
#: start-stop-daemon.8:70
#, fuzzy
msgid ""
"Checks for the existence of a specified process.  If such a process exists, "
"B<start-stop-daemon> sends it the signal specified by B<--signal>, and exits "
"with error status 0.  If such a process does not exist, B<start-stop-daemon> "
"exits with error status 1 (0 if B<--oknodo> is specified). If B<--retry> is "
"specified, then B<start-stop-daemon> will check that the process(es) have "
"terminated."
msgstr ""
"B<start-stop-daemon> с параметром B<--stop> также проверяет существование "
"заданного процесса. Если такой процесс существует, то B<start-stop-daemon> "
"посылает ему сигнал, заданный параметром B<--signal> и прекращает работу с "
"кодом завершения 0. Если такой процесс не существует, то B<start-stop-"
"daemon> прекращает работу с кодом завершения 1 (или 0, если задан параметр "
"B<--oknodo>). Если указан параметр B<--retry>, то B<start-stop-daemon> будет "
"проверять, что процесс(ы) завершили работу."

#. type: TP
#: start-stop-daemon.8:70
#, fuzzy, no-wrap
msgid "B<-T>, B<--status>"
msgstr "B<-o>|B<--oknodo>"

#. type: Plain text
#: start-stop-daemon.8:74
msgid ""
"Check for the existence of a specified process, and returns an exit status "
"code, according to the LSB Init Script Actions."
msgstr ""

#. type: TP
#: start-stop-daemon.8:74
#, fuzzy, no-wrap
msgid "B<-H>, B<--help>"
msgstr "B<-H>|B<--help>"

#. type: Plain text
#: start-stop-daemon.8:77
#, fuzzy
msgid "Show usage information and exit."
msgstr "Выдать подсказку и завершить работу."

#. type: TP
#: start-stop-daemon.8:77
#, fuzzy, no-wrap
msgid "B<-V>, B<--version>"
msgstr "B<-V>|B<--version>"

#. type: Plain text
#: start-stop-daemon.8:80
#, fuzzy
msgid "Show the program version and exit."
msgstr "Выдать информацию о версии и завершить работу."

#. type: SH
#: start-stop-daemon.8:81
#, fuzzy, no-wrap
msgid "MATCHING OPTIONS"
msgstr "ПАРАМЕТРЫ"

#. type: TP
#: start-stop-daemon.8:82
#, fuzzy, no-wrap
msgid "B<-p>, B<--pidfile> I<pid-file>"
msgstr "B<-p>|B<--pidfile> I<pid-файл>"

#. type: Plain text
#: start-stop-daemon.8:86
msgid "Check whether a process has created the file I<pid-file>."
msgstr "Проверить какой процесс создал I<pid-файл>."

#. type: TP
#: start-stop-daemon.8:86
#, fuzzy, no-wrap
msgid "B<-x>, B<--exec> I<executable>"
msgstr "B<-x>|B<--exec> I<исполняемый_файл>"

#. type: Plain text
#: start-stop-daemon.8:90
msgid ""
"Check for processes that are instances of this executable (according to B</"
"proc/>I<pid>B</exe>)."
msgstr ""
"Проверить процессы, которые являются экземплярами данного исполняемого файла "
"(согласно B</proc/>I<pid>B</exe>)."

#. type: TP
#: start-stop-daemon.8:90
#, fuzzy, no-wrap
msgid "B<-n>, B<--name> I<process-name>"
msgstr "B<-n>|B<--name> I<имя_процесса>"

#. type: Plain text
#: start-stop-daemon.8:96
msgid ""
"Check for processes with the name I<process-name> (according to B</proc/"
">I<pid>B</stat>)."
msgstr ""
"Проверить процессы с именем I<имя_процесса> (согласно B</proc/>I<pid>B</"
"stat>)."

#. type: TP
#: start-stop-daemon.8:96
#, fuzzy, no-wrap
msgid "B<-u>, B<--user> I<username>|I<uid>"
msgstr "B<-u>|B<--user> I<имя_пользователя>|I<uid>"

#. type: Plain text
#: start-stop-daemon.8:102
msgid ""
"Check for processes owned by the user specified by I<username> or I<uid>."
msgstr ""
"Проверить процессы, принадлежащие пользователю, указанному с помощью "
"I<имени_пользователя> или I<uid>."

#. type: TP
#: start-stop-daemon.8:104
#, fuzzy, no-wrap
msgid "B<-g>, B<--group> I<group>|I<gid>"
msgstr "B<-g>|B<--group> I<группа>|I<gid>"

#. type: Plain text
#: start-stop-daemon.8:107
msgid "Change to I<group> or I<gid> when starting the process."
msgstr "Изменить группу на I<группу> или I<gid> при запуске процесса."

#. type: TP
#: start-stop-daemon.8:107
#, fuzzy, no-wrap
msgid "B<-s>, B<--signal> I<signal>"
msgstr "B<-s>|B<--signal> I<сигнал>"

#. type: Plain text
#: start-stop-daemon.8:112
#, fuzzy
msgid ""
"With B<--stop>, specifies the signal to send to processes being stopped "
"(default TERM)."
msgstr ""
"При использовании вместе с параметром B<--stop>, задать сигнал, который "
"будет послан процессам для их останова (по умолчанию 15)."

#. type: TP
#: start-stop-daemon.8:112
#, fuzzy, no-wrap
msgid "B<-R>, B<--retry> I<timeout>|I<schedule>"
msgstr "B<-R>|B<--retry> I<время_ожидания>|I<затем>"

#. type: Plain text
#: start-stop-daemon.8:122
msgid ""
"With B<--stop>, specifies that B<start-stop-daemon> is to check whether the "
"process(es)  do finish. It will check repeatedly whether any matching "
"processes are running, until none are. If the processes do not exit it will "
"then take further action as determined by the schedule."
msgstr ""
"При использовании вместе с параметром B<--stop> указать, что B<start-stop-"
"daemon> должен следить за завершением процесса. Периодически будет "
"проверяться, выполняются ли ещё указанные процессы, до тех пор, пока все они "
"не завершатся. Если процессы не завершаются, то будет предпринято действие, "
"заданное в параметре I<затем>."

#. type: Plain text
#: start-stop-daemon.8:133
#, fuzzy
msgid ""
"If I<timeout> is specified instead of I<schedule>, then the schedule "
"I<signal>B</>I<timeout>B</KILL/>I<timeout> is used, where I<signal> is the "
"signal specified with B<--signal>."
msgstr ""
"Если вместо параметра I<затем> указан I<время_ожидания>, то используется "
"последовательность действий I<сигнал>B</>I<время_ожидания>B</KILL/"
">I<время_ожидания>, где I<сигнал> -- это сигнал, заданный параметром B<--"
"signal>."

#. type: Plain text
#: start-stop-daemon.8:149
msgid ""
"I<schedule> is a list of at least two items separated by slashes (B</>); "
"each item may be B<->I<signal-number> or [B<->]I<signal-name>, which means "
"to send that signal, or I<timeout>, which means to wait that many seconds "
"for processes to exit, or B<forever>, which means to repeat the rest of the "
"schedule forever if necessary."
msgstr ""
"Параметр I<затем> -- это последовательность из не менее двух элементов, "
"разделённых косой чертой (B</>); каждый элемент -- это либо B<->I<номер-"
"сигнала> или [B<->]I<название-сигнала>, или I<время_ожидания>, задающее "
"количество секунд, в течение которых следует ждать завершения процесса, или "
"же слово B<forever>, предписывающее повторять остаток последовательности "
"вечно, если нужно."

#. type: Plain text
#: start-stop-daemon.8:159
msgid ""
"If the end of the schedule is reached and B<forever> is not specified, then "
"B<start-stop-daemon> exits with error status 2.  If a schedule is specified, "
"then any signal specified with B<--signal> is ignored."
msgstr ""
"Если достигнут конец последовательности действий и не был указан B<forever>, "
"то B<start-stop-daemon> прекращает работу с кодом завершения 2. Если указан "
"параметр I<затем>, то сигнал, заданный с помощью параметра B<--signal>, "
"игнорируется."

#. type: TP
#: start-stop-daemon.8:159
#, fuzzy, no-wrap
msgid "B<-a>, B<--startas> I<pathname>"
msgstr "B<-a>|B<--startas> I<полное_имя>"

#. type: Plain text
#: start-stop-daemon.8:167
msgid ""
"With B<--start>, start the process specified by I<pathname>.  If not "
"specified, defaults to the argument given to B<--exec>."
msgstr ""
"При использовании с параметром B<--start> запускает процесс, указанный в "
"параметре I<полное_имя>. Если этот параметр не задан, то берётся значение "
"параметра B<--exec>."

#. type: TP
#: start-stop-daemon.8:167
#, fuzzy, no-wrap
msgid "B<-t>, B<--test>"
msgstr "B<-t>|B<--test>"

#. type: Plain text
#: start-stop-daemon.8:171
msgid ""
"Print actions that would be taken and set appropriate return value, but take "
"no action."
msgstr ""
"Вывести действия, которые должны быть выполнены и установить соответствующий "
"код завершения, но не выполнять эти действия."

#. type: TP
#: start-stop-daemon.8:171
#, fuzzy, no-wrap
msgid "B<-o>, B<--oknodo>"
msgstr "B<-o>|B<--oknodo>"

#. type: Plain text
#: start-stop-daemon.8:174
msgid "Return exit status 0 instead of 1 if no actions are (would be) taken."
msgstr ""
"Возвращать код 0 вместо 1, если не было выполнено (или не должно было быть "
"выполнено) никаких действий."

#. type: TP
#: start-stop-daemon.8:174
#, fuzzy, no-wrap
msgid "B<-q>, B<--quiet>"
msgstr "B<-q>|B<--quiet>"

#. type: Plain text
#: start-stop-daemon.8:177
msgid "Do not print informational messages; only display error messages."
msgstr "Не выдавать информационных сообщений; только сообщения об ошибках."

#. type: TP
#: start-stop-daemon.8:177
#, fuzzy, no-wrap
msgid "B<-c>, B<--chuid> I<username>|I<uid>[B<:>I<group>|I<gid>]"
msgstr "B<-c>|B<--chuid> I<имя-пользователя>|I<uid>"

#. type: Plain text
#: start-stop-daemon.8:195
#, fuzzy
msgid ""
"Change to this username/uid before starting the process. You can also "
"specify a group by appending a B<:>, then the group or gid in the same way "
"as you would for the `chown' command (I<user>B<:>I<group>).  If a user is "
"specified without a group, the primary GID for that user is used.  When "
"using this option you must realize that the primary and supplemental groups "
"are set as well, even if the B<--group> option is not specified. The B<--"
"group> option is only for groups that the user isn't normally a member of "
"(like adding per process group membership for generic users like B<nobody>)."
msgstr ""
"Установить указанное имя пользователя или uid перед запуском процесса. Вы "
"можете также задать группу, добавив двоеточие B<:> имя группы или gid, как в "
"команде `chown' (I<пользователь>B<:>I<группа>). При использовании этого "
"параметра вы должны понимать, что также будут установлены основная и "
"дополнительная группы, даже если не указан параметр B<--group>. Параметр B<--"
"group> используется только для групп, в которых пользователь обычно не "
"состоит (например, в случае с системным пользователем B<nobody>)."

#. type: TP
#: start-stop-daemon.8:195
#, fuzzy, no-wrap
msgid "B<-r>, B<--chroot> I<root>"
msgstr "B<-r>|B<--chroot> I<root>"

#. type: Plain text
#: start-stop-daemon.8:201
msgid ""
"Chdir and chroot to I<root> before starting the process. Please note that "
"the pidfile is also written after the chroot."
msgstr ""
"Перед запуском процесса перейти в каталог I<root> и сделать его корневым. "
"Заметим, что pid-файл будет создан после установки нового корневого каталога."

#. type: TP
#: start-stop-daemon.8:201
#, fuzzy, no-wrap
msgid "B<-d>, B<--chdir> I<path>"
msgstr "B<-d>|B<--chdir> I<путь>"

#. type: Plain text
#: start-stop-daemon.8:209
msgid ""
"Chdir to I<path> before starting the process. This is done after the chroot "
"if the B<-r>|B<--chroot> option is set. When not specified, start-stop-"
"daemon will chdir to the root directory before starting the process."
msgstr ""
"Перейти в каталог I<путь> перед запуском процесса. Это действие выполняется "
"после выполнения действий согласно параметру B<-r>|B<--chroot> если он "
"задан. Если он не указан, то start-stop-daemon переходит в корневой каталог "
"перед запуском процесса."

#. type: TP
#: start-stop-daemon.8:209
#, fuzzy, no-wrap
msgid "B<-b>, B<--background>"
msgstr "B<-b>|B<--background>"

#. type: Plain text
#: start-stop-daemon.8:221
#, fuzzy
msgid ""
"Typically used with programs that don't detach on their own. This option "
"will force B<start-stop-daemon> to fork before starting the process, and "
"force it into the background.  B<WARNING: start-stop-daemon> cannot check "
"the exit status if the process fails to execute for B<any> reason. This is a "
"last resort, and is only meant for programs that either make no sense "
"forking on their own, or where it's not feasible to add the code for them to "
"do this themselves."
msgstr ""
"Обычно этот параметр используется с программами, которые не могут сами "
"отключиться от терминала, на котором они запущены. Этот параметр заставит "
"B<start-stop-daemon> сделать fork() перед запуском процесса и перевести его "
"в фоновый режим. B<ПРЕДУПРЕЖДЕНИЕ: start-stop-daemon> не может проверить код "
"возврата, если процесс не может успешно выполниться по I<какой бы то ни "
"было> причине. Это последняя возможность, предназначенная только для "
"программ, которые не умеют выполнять fork() сами, или если нет возможности "
"добавить в них код для этого."

#. type: TP
#: start-stop-daemon.8:221
#, fuzzy, no-wrap
msgid "B<-N>, B<--nicelevel> I<int>"
msgstr "B<-N>|B<--nicelevel> I<int>"

#. type: Plain text
#: start-stop-daemon.8:224
msgid "This alters the priority of the process before starting it."
msgstr "Этот параметр перед запуском изменяет приоритет процесса."

#. type: TP
#: start-stop-daemon.8:224
#, no-wrap
msgid "B<-P>, B<--procsched> I<policy>B<:>I<priority>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:230
msgid ""
"This alters the process scheduler policy and priority of the process before "
"starting it. The priority can be optionally specified by appending a B<:> "
"followed by the value. The default I<priority> is 0. The currently supported "
"policy values are B<other>, B<fifo> and B<rr>."
msgstr ""

#. type: TP
#: start-stop-daemon.8:230
#, fuzzy, no-wrap
msgid "B<-I>, B<--iosched> I<class>B<:>I<priority>"
msgstr "B<dpkg -i> | B<--install> I<имя файла пакета>..."

#. type: Plain text
#: start-stop-daemon.8:237
msgid ""
"This alters the IO scheduler class and priority of the process before "
"starting it. The priority can be optionally specified by appending a B<:> "
"followed by the value. The default I<priority> is 4, unless I<class> is "
"B<idle>, then I<priority> will always be 7. The currently supported values "
"for I<class> are B<idle>, B<best-effort> and B<real-time>."
msgstr ""

#. type: TP
#: start-stop-daemon.8:237
#, fuzzy, no-wrap
msgid "B<-k>, B<--umask> I<mask>"
msgstr "B<-s>|B<--signal> I<сигнал>"

#. type: Plain text
#: start-stop-daemon.8:240
#, fuzzy
msgid "This sets the umask of the process before starting it."
msgstr "Этот параметр перед запуском изменяет приоритет процесса."

#. type: TP
#: start-stop-daemon.8:240
#, fuzzy, no-wrap
msgid "B<-m>, B<--make-pidfile>"
msgstr "B<-m>|B<--make-pidfile>"

#. type: Plain text
#: start-stop-daemon.8:255
#, fuzzy
msgid ""
"Used when starting a program that does not create its own pid file. This "
"option will make B<start-stop-daemon> create the file referenced with B<--"
"pidfile> and place the pid into it just before executing the process. Note, "
"the file will not be removed when stopping the program.  B<NOTE:> This "
"feature may not work in all cases. Most notably when the program being "
"executed forks from its main process. Because of this, it is usually only "
"useful when combined with the B<--background> option."
msgstr ""
"Этот параметр используется, если запускаемая программа не создаёт свой "
"собственный pid-файл. При этом B<start-stop-daemon> непосредственно перед "
"запуском процесса создаст файл, указанный в параметре флага B<--pidfile> и "
"поместит в него pid запускаемого процесса. Заметим, что этот файл не будет "
"удалён при остановке программы. B<ЗАМЕЧАНИЕ:> Эта возможность иногда может "
"не работать. В в основном это случается, когда запускаемая программа "
"выполняет fork(). Поэтому данный параметр обычно бывает полезен только при "
"использовании вместе с параметром B<--background>."

#. type: Plain text
#: start-stop-daemon.8:258
msgid "Print verbose informational messages."
msgstr "Выдавать подробные информационные сообщения."

#. type: Plain text
#: start-stop-daemon.8:270
msgid ""
"The requested action was performed. If B<--oknodo> was specified, it's also "
"possible that nothing had to be done.  This can happen when B<--start> was "
"specified and a matching process was already running, or when B<--stop> was "
"specified and there were no matching processes."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:275
msgid "If B<--oknodo> was not specified and nothing was done."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:283
msgid ""
"If B<--stop> and B<--retry> were specified, but the end of the schedule was "
"reached and the processes were still running."
msgstr ""

#. type: TP
#: start-stop-daemon.8:283 start-stop-daemon.8:295
#, no-wrap
msgid "B<3>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:286
msgid "Any other error."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:289
msgid ""
"When using the B<--status> command, the following status codes are returned:"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:292
msgid "Program is running."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:295
msgid "Program is not running and the pid file exists."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:298
msgid "Program is not running."
msgstr ""

#. type: TP
#: start-stop-daemon.8:298
#, no-wrap
msgid "B<4>"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:301
msgid "Unable to determine program status."
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:305
msgid ""
"Start the B<food> daemon, unless one is already running (a process named "
"food, running as user food, with pid in food.pid):"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:308
#, no-wrap
msgid "start-stop-daemon --start --oknodo --user food --name food --pidfile /var/run/food.pid --startas /usr/sbin/food --chuid food -- --daemon\n"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:311
msgid "Send B<SIGTERM> to B<food> and wait up to 5 seconds for it to stop:"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:314
#, no-wrap
msgid "start-stop-daemon --stop --oknodo --user food --name food --pidfile /var/run/food.pid --retry 5\n"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:317
msgid "Demonstration of a custom schedule for stopping B<food>:"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:320
#, no-wrap
msgid "start-stop-daemon --stop --oknodo --user food --name food --pidfile /var/run/food.pid --retry=TERM/30/KILL/5\n"
msgstr ""

#. type: Plain text
#: start-stop-daemon.8:326
msgid ""
"Marek Michalkiewicz E<lt>marekm@i17linuxb.ists.pwr.wroc.plE<gt> based on a "
"previous version by Ian Jackson E<lt>ian@chiark.greenend.org.ukE<gt>."
msgstr ""
"Marek Michalkiewicz E<lt>marekm@i17linuxb.ists.pwr.wroc.plE<gt> основываясь "
"на версии, сделанной Ian Jackson E<lt>ian@chiark.greenend.org.ukE<gt>."

#. type: Plain text
#: start-stop-daemon.8:328
msgid ""
"Manual page by Klee Dienes E<lt>klee@mit.eduE<gt>, partially reformatted by "
"Ian Jackson."
msgstr ""
"Страница руководства написана Klee Dienes E<lt>klee@mit.eduE<gt>, частично "
"переформатировано Ian Jackson."

#. type: TH
#: update-alternatives.8:8
#, no-wrap
msgid "update-alternatives"
msgstr ""

#. type: Plain text
#: update-alternatives.8:11
msgid ""
"update-alternatives - maintain symbolic links determining default commands"
msgstr ""

#. type: Plain text
#: update-alternatives.8:15
#, fuzzy
msgid "B<update-alternatives> [I<option>...] I<command>"
msgstr "B<dpkg> [I<параметры>] I<действие>"

#. type: Plain text
#: update-alternatives.8:20
msgid ""
"B<update-alternatives> creates, removes, maintains and displays information "
"about the symbolic links comprising the Debian alternatives system."
msgstr ""

#. type: Plain text
#: update-alternatives.8:28
msgid ""
"It is possible for several programs fulfilling the same or similar functions "
"to be installed on a single system at the same time.  For example, many "
"systems have several text editors installed at once.  This gives choice to "
"the users of a system, allowing each to use a different editor, if desired, "
"but makes it difficult for a program to make a good choice for an editor to "
"invoke if the user has not specified a particular preference."
msgstr ""

#. type: Plain text
#: update-alternatives.8:50
msgid ""
"Debian's alternatives system aims to solve this problem.  A generic name in "
"the filesystem is shared by all files providing interchangeable "
"functionality.  The alternatives system and the system administrator "
"together determine which actual file is referenced by this generic name.  "
"For example, if the text editors B<ed>(1)  and B<nvi>(1)  are both installed "
"on the system, the alternatives system will cause the generic name I</usr/"
"bin/editor> to refer to I</usr/bin/nvi> by default. The system administrator "
"can override this and cause it to refer to I</usr/bin/ed> instead, and the "
"alternatives system will not alter this setting until explicitly requested "
"to do so."
msgstr ""

#. type: Plain text
#: update-alternatives.8:60
msgid ""
"The generic name is not a direct symbolic link to the selected alternative.  "
"Instead, it is a symbolic link to a name in the I<alternatives> "
"I<directory>, which in turn is a symbolic link to the actual file "
"referenced.  This is done so that the system administrator's changes can be "
"confined within the I</etc> directory: the FHS (q.v.) gives reasons why this "
"is a Good Thing."
msgstr ""

#. type: Plain text
#: update-alternatives.8:72
msgid ""
"When each package providing a file with a particular functionality is "
"installed, changed or removed, B<update-alternatives> is called to update "
"information about that file in the alternatives system.  B<update-"
"alternatives> is usually called from the B<postinst> (configure) or B<prerm> "
"(install) scripts in Debian packages."
msgstr ""

#. type: Plain text
#: update-alternatives.8:91
msgid ""
"It is often useful for a number of alternatives to be synchronised, so that "
"they are changed as a group; for example, when several versions of the B<vi>"
"(1)  editor are installed, the man page referenced by I</usr/share/man/man1/"
"vi.1> should correspond to the executable referenced by I</usr/bin/vi>.  "
"B<update-alternatives> handles this by means of I<master> and I<slave> "
"links; when the master is changed, any associated slaves are changed too.  A "
"master link and its associated slaves make up a I<link> I<group>."
msgstr ""

#. type: Plain text
#: update-alternatives.8:100
msgid ""
"Each link group is, at any given time, in one of two modes: automatic or "
"manual.  When a group is in automatic mode, the alternatives system will "
"automatically decide, as packages are installed and removed, whether and how "
"to update the links.  In manual mode, the alternatives system will retain "
"the choice of the administrator and avoid changing the links (except when "
"something is broken)."
msgstr ""

#. type: Plain text
#: update-alternatives.8:109
msgid ""
"Link groups are in automatic mode when they are first introduced to the "
"system.  If the system administrator makes changes to the system's automatic "
"settings, this will be noticed the next time B<update-alternatives> is run "
"on the changed link's group, and the group will automatically be switched to "
"manual mode."
msgstr ""

#. type: Plain text
#: update-alternatives.8:116
msgid ""
"Each alternative has a I<priority> associated with it.  When a link group is "
"in automatic mode, the alternatives pointed to by members of the group will "
"be those which have the highest priority."
msgstr ""

#. type: Plain text
#: update-alternatives.8:133
msgid ""
"When using the B<--config> option, B<update-alternatives> will list all of "
"the choices for the link group of which given I<name> is the master "
"alternative name. The current choice is marked with a '*'.  You will then be "
"prompted for your choice regarding this link group.  Depending on the choice "
"made, the link group might no longer be in I<auto> mode. You will need to "
"use the B<--auto> option in order to return to the automatic mode (or you "
"can rerun B<--config> and select the entry marked as automatic)."
msgstr ""

#. type: Plain text
#: update-alternatives.8:137
msgid ""
"If you want to configure non-interactively you can use the B<--set> option "
"instead (see below)."
msgstr ""

#. type: Plain text
#: update-alternatives.8:148
msgid ""
"Different packages providing the same file need to do so B<cooperatively>.  "
"In other words, the usage of B<update-alternatives> is B<mandatory> for all "
"involved packages in such case. It is not possible to override some file in "
"a package that does not employ the B<update-alternatives> mechanism."
msgstr ""

#. type: SH
#: update-alternatives.8:149
#, no-wrap
msgid "TERMINOLOGY"
msgstr ""

#. type: Plain text
#: update-alternatives.8:154
msgid ""
"Since the activities of B<update-alternatives> are quite involved, some "
"specific terms will help to explain its operation."
msgstr ""

#. type: TP
#: update-alternatives.8:154
#, no-wrap
msgid "generic name (or alternative link)"
msgstr ""

#. type: Plain text
#: update-alternatives.8:160
msgid ""
"A name, like I</usr/bin/editor>, which refers, via the alternatives system, "
"to one of a number of files of similar function."
msgstr ""

#. type: TP
#: update-alternatives.8:160
#, no-wrap
msgid "alternative name"
msgstr ""

#. type: Plain text
#: update-alternatives.8:163
msgid "The name of a symbolic link in the alternatives directory."
msgstr ""

#. type: TP
#: update-alternatives.8:163
#, no-wrap
msgid "alternative (or alternative path)"
msgstr ""

#. type: Plain text
#: update-alternatives.8:167
msgid ""
"The name of a specific file in the filesystem, which may be made accessible "
"via a generic name using the alternatives system."
msgstr ""

#. type: TP
#: update-alternatives.8:167
#, no-wrap
msgid "alternatives directory"
msgstr ""

#. type: Plain text
#: update-alternatives.8:172
msgid "A directory, by default I</etc/alternatives>, containing the symlinks."
msgstr ""

#. type: TP
#: update-alternatives.8:172
#, no-wrap
msgid "administrative directory"
msgstr ""

#. type: Plain text
#: update-alternatives.8:179
msgid ""
"A directory, by default I</var/lib/dpkg/alternatives>, containing B<update-"
"alternatives>' state information."
msgstr ""

#. type: TP
#: update-alternatives.8:179
#, no-wrap
msgid "link group"
msgstr ""

#. type: Plain text
#: update-alternatives.8:182
msgid "A set of related symlinks, intended to be updated as a group."
msgstr ""

#. type: TP
#: update-alternatives.8:182
#, no-wrap
msgid "master link"
msgstr ""

#. type: Plain text
#: update-alternatives.8:186
msgid ""
"The alternative link in a link group which determines how the other links in "
"the group are configured."
msgstr ""

#. type: TP
#: update-alternatives.8:186
#, no-wrap
msgid "slave link"
msgstr ""

#. type: Plain text
#: update-alternatives.8:190
msgid ""
"An alternative link in a link group which is controlled by the setting of "
"the master link."
msgstr ""

#. type: TP
#: update-alternatives.8:190
#, no-wrap
msgid "automatic mode"
msgstr ""

#. type: Plain text
#: update-alternatives.8:196
msgid ""
"When a link group is in automatic mode, the alternatives system ensures that "
"the links in the group point to the highest priority alternative appropriate "
"for the group."
msgstr ""

#. type: TP
#: update-alternatives.8:196
#, no-wrap
msgid "manual mode"
msgstr ""

#. type: Plain text
#: update-alternatives.8:201
msgid ""
"When a link group is in manual mode, the alternatives system will not make "
"any changes to the system administrator's settings."
msgstr ""

#. type: TP
#: update-alternatives.8:203
#, no-wrap
msgid "B<--install> I<link name path priority> [B<--slave> I<link name path>]..."
msgstr ""

#. type: Plain text
#: update-alternatives.8:222
msgid ""
"Add a group of alternatives to the system.  I<link> is the generic name for "
"the master link, I<name> is the name of its symlink in the alternatives "
"directory, and I<path> is the alternative being introduced for the master "
"link.  The arguments after B<--slave> are the generic name, symlink name in "
"the alternatives directory and the alternative path for a slave link.  Zero "
"or more B<--slave> options, each followed by three arguments, may be "
"specified. Note that the master alternative must exist or the call will "
"fail. However if a slave alternative doesn't exist, the corresponding slave "
"alternative link will simply not be installed (a warning will still be "
"displayed). If some real file is installed where an alternative link has to "
"be installed, it is kept unless B<--force> is used."
msgstr ""

#. type: Plain text
#: update-alternatives.8:233
msgid ""
"If the alternative name specified exists already in the alternatives "
"system's records, the information supplied will be added as a new set of "
"alternatives for the group.  Otherwise, a new group, set to automatic mode, "
"will be added with this information.  If the group is in automatic mode, and "
"the newly added alternatives' priority is higher than any other installed "
"alternatives for this group, the symlinks will be updated to point to the "
"newly added alternatives."
msgstr ""

#. type: TP
#: update-alternatives.8:233
#, no-wrap
msgid "B<--set> I<name path>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:242
msgid ""
"Set the program I<path> as alternative for I<name.> This is equivalent to "
"B<--config> but is non-interactive and thus scriptable."
msgstr ""

#. type: TP
#: update-alternatives.8:242
#, no-wrap
msgid "B<--remove> I<name path>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:263
msgid ""
"Remove an alternative and all of its associated slave links.  I<name> is a "
"name in the alternatives directory, and I<path> is an absolute filename to "
"which I<name> could be linked. If I<name> is indeed linked to I<path>, "
"I<name> will be updated to point to another appropriate alternative (and the "
"group is put back in automatic mode), or removed if there is no such "
"alternative left.  Associated slave links will be updated or removed, "
"correspondingly.  If the link is not currently pointing to I<path>, no links "
"are changed; only the information about the alternative is removed."
msgstr ""

#. type: TP
#: update-alternatives.8:263
#, fuzzy, no-wrap
msgid "B<--remove-all> I<name>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: update-alternatives.8:268
msgid ""
"Remove all alternatives and all of their associated slave links.  I<name> is "
"a name in the alternatives directory."
msgstr ""

#. type: Plain text
#: update-alternatives.8:275
msgid ""
"Call B<--config> on all alternatives. It can be usefully combined with B<--"
"skip-auto> to review and configure all alternatives which are not configured "
"in automatic mode. Broken alternatives are also displayed.  Thus a simple "
"way to fix all broken alternatives is to call B<yes \\[aq]\\[aq] | update-"
"alternatives --force --all>."
msgstr ""

#. type: TP
#: update-alternatives.8:275
#, fuzzy, no-wrap
msgid "B<--auto> I<name>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: update-alternatives.8:282
msgid ""
"Switch the link group behind the alternative for I<name> to automatic mode.  "
"In the process, the master symlink and its slaves are updated to point to "
"the highest priority installed alternatives."
msgstr ""

#. type: TP
#: update-alternatives.8:282
#, fuzzy, no-wrap
msgid "B<--display> I<name>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: update-alternatives.8:291
msgid ""
"Display information about the link group.  Information displayed includes "
"the group's mode (auto or manual), which alternative the master link "
"currently points to, what other alternatives are available (and their "
"corresponding slave alternatives), and the highest priority alternative "
"currently installed."
msgstr ""

#. type: TP
#: update-alternatives.8:291
#, fuzzy, no-wrap
msgid "B<--get-selections>"
msgstr "B<dpkg --set-selections>"

#. type: Plain text
#: update-alternatives.8:299
msgid ""
"List all master alternative names (those controlling a link group)  and "
"their status. Each line contains up to 3 fields (separated by one or more "
"spaces). The first field is the alternative name, the second one is the "
"status (either \"auto\" or \"manual\"), and the last one contains the "
"current choice in the alternative (beware: it's a filename and thus might "
"contain spaces)."
msgstr ""

#. type: Plain text
#: update-alternatives.8:304
msgid ""
"Read configuration of alternatives on standard input in the format generated "
"by B<update-alternatives --get-selections> and reconfigure them accordingly."
msgstr ""

#. type: TP
#: update-alternatives.8:304
#, fuzzy, no-wrap
msgid "B<--query> I<name>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: update-alternatives.8:309
msgid ""
"Display information about the link group like --display does, but in a "
"machine parseable way (see section B<QUERY FORMAT> below)."
msgstr ""

#. type: TP
#: update-alternatives.8:309
#, fuzzy, no-wrap
msgid "B<--list> I<name>"
msgstr "B<--new> | B<--old>"

#. type: Plain text
#: update-alternatives.8:312
msgid "Display all targets of the link group."
msgstr ""

#. type: TP
#: update-alternatives.8:312
#, fuzzy, no-wrap
msgid "B<--config> I<name>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: update-alternatives.8:316
msgid ""
"Show available alternatives for a link group and allow the user to "
"interactively select which one to use. The link group is updated."
msgstr ""

#. type: TP
#: update-alternatives.8:324
#, fuzzy, no-wrap
msgid "B<--altdir>I< directory>"
msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#. type: Plain text
#: update-alternatives.8:328
msgid ""
"Specifies the alternatives directory, when this is to be different from the "
"default."
msgstr ""

#. type: Plain text
#: update-alternatives.8:332
msgid ""
"Specifies the administrative directory, when this is to be different from "
"the default."
msgstr ""

#. type: TP
#: update-alternatives.8:332
#, fuzzy, no-wrap
msgid "B<--log>I< file>"
msgstr "B<--log=>I<имя файла>"

#. type: Plain text
#: update-alternatives.8:336
msgid ""
"Specifies the log file, when this is to be different from the default (/var/"
"log/alternatives.log)."
msgstr ""

#. type: Plain text
#: update-alternatives.8:340
msgid ""
"Let B<update-alternatives> replace or drop any real file that is installed "
"where an alternative link has to be installed or removed."
msgstr ""

#. type: TP
#: update-alternatives.8:340
#, fuzzy, no-wrap
msgid "B<--skip-auto>"
msgstr "B<822-date>"

#. type: Plain text
#: update-alternatives.8:345
msgid ""
"Skip configuration prompt for alternatives which are properly configured in "
"automatic mode. This option is only relevant with B<--config> or B<--all>."
msgstr ""

#. type: TP
#: update-alternatives.8:345
#, fuzzy, no-wrap
msgid "B<--verbose>"
msgstr "B<-v>|B<--verbose>"

#. type: Plain text
#: update-alternatives.8:350
msgid "Generate more comments about what B<update-alternatives> is doing."
msgstr ""

#. type: Plain text
#: update-alternatives.8:353
msgid "Don't generate any comments unless errors occur."
msgstr ""

#. type: Plain text
#: update-alternatives.8:359
msgid ""
"If set and the B<--admindir> option has not been specified, it will be used "
"as the base administrative directory."
msgstr ""

#. type: TP
#: update-alternatives.8:361
#, no-wrap
msgid "I</etc/alternatives/>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:367
msgid ""
"The default alternatives directory.  Can be overridden by the B<--altdir> "
"option."
msgstr ""

#. type: TP
#: update-alternatives.8:367
#, fuzzy, no-wrap
msgid "I</var/lib/dpkg/alternatives/>"
msgstr "I</var/lib/dpkg/status>"

#. type: Plain text
#: update-alternatives.8:373
msgid ""
"The default administration directory.  Can be overridden by the B<--"
"admindir> option."
msgstr ""

#. type: Plain text
#: update-alternatives.8:378
msgid "The requested action was successfully performed."
msgstr ""

#. type: Plain text
#: update-alternatives.8:382
msgid ""
"Problems were encountered whilst parsing the command line or performing the "
"action."
msgstr ""

#. type: SH
#: update-alternatives.8:383
#, no-wrap
msgid "QUERY FORMAT"
msgstr ""

#. type: Plain text
#: update-alternatives.8:388
msgid ""
"The B<update-alternatives --query> format is using an RFC822-like flat "
"format. It's made of I<n> + 1 blocks where I<n> is the number of "
"alternatives available in the queried link group. The first block contains "
"the following fields:"
msgstr ""

#. type: TP
#: update-alternatives.8:388
#, fuzzy, no-wrap
msgid "B<Link:>I< link>"
msgstr "B<Source:> E<lt>имя архивов с исходникамиE<gt>"

#. type: Plain text
#: update-alternatives.8:391
msgid "The generic name of the alternative."
msgstr ""

#. type: TP
#: update-alternatives.8:391
#, fuzzy, no-wrap
msgid "B<Status:>I< status>"
msgstr "B<Replaces:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: update-alternatives.8:394
msgid "The status of the alternative (B<auto> or B<manual>)."
msgstr ""

#. type: TP
#: update-alternatives.8:394
#, fuzzy, no-wrap
msgid "B<Best:>I< best-choice>"
msgstr "B<Replaces:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: update-alternatives.8:398
msgid ""
"The path of the best alternative for this link group. Not present if there "
"is no alternatives available."
msgstr ""

#. type: TP
#: update-alternatives.8:398
#, fuzzy, no-wrap
msgid "B<Value:>I< currently-selected-alternative>"
msgstr "B<Source:> E<lt>имя архивов с исходникамиE<gt>"

#. type: Plain text
#: update-alternatives.8:402
msgid ""
"The path of the currently selected alternative. It can also take the magic "
"value B<none>. It is used if the link doesn't exist."
msgstr ""

#. type: TP
#: update-alternatives.8:403
#, no-wrap
msgid "The other blocks describe the available alternatives in the queried link group:"
msgstr ""

#. type: TP
#: update-alternatives.8:405
#, no-wrap
msgid "B<Alternative:>I< path-of-this-alternative>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:408
msgid "Path to this block's alternative."
msgstr ""

#. type: TP
#: update-alternatives.8:408
#, fuzzy, no-wrap
msgid "B<Priority:>I< priority-value>"
msgstr "B<Priority:> E<lt>приоритетE<gt>"

#. type: Plain text
#: update-alternatives.8:411
msgid "Value of the priority of this alternative."
msgstr ""

#. type: TP
#: update-alternatives.8:411
#, fuzzy, no-wrap
msgid "B<Slaves:>I< list-of-slaves>"
msgstr "B<Replaces:> E<lt>список пакетовE<gt>"

#. type: Plain text
#: update-alternatives.8:417
msgid ""
"When this header is present, the B<next> lines hold all slave alternatives "
"associated to the master link of the alternative. There is one slave per "
"line. Each line contains one space, the generic name of the slave "
"alternative, another space, and the path to the slave alternative."
msgstr ""

#. type: TP
#: update-alternatives.8:418
#, no-wrap
msgid "B<Example>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:426
#, no-wrap
msgid ""
"$ update-alternatives --query editor\n"
"Link: editor\n"
"Status: auto\n"
"Best: /usr/bin/vim.gtk\n"
"Value: /usr/bin/vim.gtk\n"
msgstr ""

#. type: Plain text
#: update-alternatives.8:431
#, no-wrap
msgid ""
"Alternative: /bin/ed\n"
"Priority: -100\n"
"Slaves:\n"
" editor.1.gz /usr/share/man/man1/ed.1.gz\n"
msgstr ""

#. type: Plain text
#: update-alternatives.8:446
#, no-wrap
msgid ""
"Alternative: /usr/bin/vim.gtk\n"
"Priority: 50\n"
"Slaves:\n"
" editor.1.gz /usr/share/man/man1/vim.1.gz\n"
" editor.ru.1.gz /usr/share/man/ru/man1/vim.1.gz\n"
" editor.pl.ISO8859-2.1.gz /usr/share/man/pl.ISO8859-2/man1/vim.1.gz\n"
" editor.it.ISO8859-1.1.gz /usr/share/man/it.ISO8859-1/man1/vim.1.gz\n"
" editor.pl.UTF-8.1.gz /usr/share/man/pl.UTF-8/man1/vim.1.gz\n"
" editor.it.1.gz /usr/share/man/it/man1/vim.1.gz\n"
" editor.fr.UTF-8.1.gz /usr/share/man/fr.UTF-8/man1/vim.1.gz\n"
" editor.fr.1.gz /usr/share/man/fr/man1/vim.1.gz\n"
" editor.it.UTF-8.1.gz /usr/share/man/it.UTF-8/man1/vim.1.gz\n"
" editor.pl.1.gz /usr/share/man/pl/man1/vim.1.gz\n"
" editor.fr.ISO8859-1.1.gz /usr/share/man/fr.ISO8859-1/man1/vim.1.gz\n"
msgstr ""

#. type: Plain text
#: update-alternatives.8:458
msgid ""
"With B<--verbose> B<update-alternatives> chatters incessantly about its "
"activities on its standard output channel.  If problems occur, B<update-"
"alternatives> outputs error messages on its standard error channel and "
"returns an exit status of 2.  These diagnostics should be self-explanatory; "
"if you do not find them so, please report this as a bug."
msgstr ""

#. type: Plain text
#: update-alternatives.8:464
msgid ""
"There are several packages which provide a text editor compatible with "
"B<vi>, for example B<nvi> and B<vim>. Which one is used is controlled by the "
"link group B<vi>, which includes links for the program itself and the "
"associated manpage."
msgstr ""

#. type: Plain text
#: update-alternatives.8:467
msgid ""
"To display the available packages which provide B<vi> and the current "
"setting for it, use the B<--display> action:"
msgstr ""

#. type: Plain text
#: update-alternatives.8:470
msgid "B<update-alternatives --display vi>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:474
msgid ""
"To choose a particular B<vi> implementation, use this command as root and "
"then select a number from the list:"
msgstr ""

#. type: Plain text
#: update-alternatives.8:477
msgid "B<update-alternatives --config vi>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:481
msgid ""
"To go back to having the B<vi> implementation chosen automatically, do this "
"as root:"
msgstr ""

#. type: Plain text
#: update-alternatives.8:484
msgid "B<update-alternatives --auto vi>"
msgstr ""

#. type: Plain text
#: update-alternatives.8:488
msgid ""
"If you find a bug, please report it using the Debian bug-tracking system."
msgstr ""

#. type: Plain text
#: update-alternatives.8:493
msgid ""
"If you find any discrepancy between the operation of B<update-alternatives> "
"and this manual page, it is a bug, either in the implementation or the "
"documentation; please report it."
msgstr ""

#. type: Plain text
#: update-alternatives.8:504
msgid ""
"This manual page is copyright 1997,1998 Charles Briscoe-Smith and others."
msgstr ""

#. type: Plain text
#: update-alternatives.8:507
#, fuzzy
msgid ""
"This is free documentation; see the GNU General Public Licence version 2 or "
"later for copying conditions. There is NO WARRANTY."
msgstr ""
"Это свободная программа; смотрите Универсальную Общественную Лицензии GNU "
"версии 2 или более позднюю, где изложены условия распространения. НИКАКИХ "
"гарантий."

#. type: Plain text
#: update-alternatives.8:510
msgid "B<ln>(1), FHS, the Filesystem Hierarchy Standard."
msgstr ""

#, fuzzy
#~ msgid "2009-02-27"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2011-04-29"
#~ msgstr "2006-02-28"

#~ msgid "2006-02-28"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-03-07"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-07-16"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-03-15"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2011-04-27"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2011-07-07"
#~ msgstr "2006-02-28"

#, fuzzy
#~| msgid "2006-02-28"
#~ msgid "2010-04-18"
#~ msgstr "2006-02-28"

#, fuzzy
#~| msgid "2006-02-28"
#~ msgid "2010-07-29"
#~ msgstr "2006-02-28"

#~ msgid "B<Package:> E<lt>package nameE<gt>"
#~ msgstr "B<Package:> E<lt>имя пакетаE<gt>"

#, fuzzy
#~ msgid "2010-11-22"
#~ msgstr "2006-02-28"

#, fuzzy
#~| msgid "B<Source:> E<lt>source nameE<gt>"
#~ msgid "B<Multi-Arch:> E<lt>same|foreign|allowedE<gt> "
#~ msgstr "B<Source:> E<lt>имя архивов с исходникамиE<gt>"

#, fuzzy
#~| msgid "2006-02-28"
#~ msgid "2010-01-28"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2008-08-18"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid ""
#~ "B<dpkg> can also be used as a front-end to B<dpkg-deb>(1).  The following "
#~ "are B<dpkg-deb> actions, and if they are encountered, B<dpkg> just runs "
#~ "B<dpkg-deb> with the parameters given to it:"
#~ msgstr ""
#~ "B<dpkg> может также использоваться как интерфейс к B<dpkg-deb>. "
#~ "Нижеследующие действия являются действиями B<dpkg-deb>, и если они "
#~ "встречаются, то B<dpkg> просто запускает B<dpkg-deb> с указанными "
#~ "параметрами:"

#~ msgid ""
#~ "    B<-b>, B<--build>,\n"
#~ "    B<-c>, B<--contents>,\n"
#~ "    B<-I>, B<--info>,\n"
#~ "    B<-f>, B<--field>,\n"
#~ "    B<-e>, B<--control>,\n"
#~ "    B<-x>, B<--extract>,\n"
#~ "    B<-X>, B<--vextract>, and\n"
#~ "    B<--fsys-tarfile>.\n"
#~ msgstr ""
#~ "    B<-b>, B<--build>,\n"
#~ "    B<-c>, B<--contents>,\n"
#~ "    B<-I>, B<--info>,\n"
#~ "    B<-f>, B<--field>,\n"
#~ "    B<-e>, B<--control>,\n"
#~ "    B<-x>, B<--extract>,\n"
#~ "    B<-X>, B<--vextract> и\n"
#~ "    B<--fsys-tarfile>.\n"

#~ msgid "Please refer to B<dpkg-deb>(1) for information about these actions."
#~ msgstr "Все эти действия описаны в B<dpkg-deb>(1)."

#, fuzzy
#~ msgid "B<--new>, B<--old>"
#~ msgstr "B<--new> | B<--old>"

#~ msgid ""
#~ "Select new or old binary package format. This is a B<dpkg-deb>(1)  option."
#~ msgstr ""
#~ "Выбрать, соответственно, новый или старый формат пакета. Это параметр "
#~ "программы B<dpkg-deb>(1)."

#~ msgid ""
#~ "Don't read or check contents of control file while building a package.  "
#~ "This is a B<dpkg-deb>(1) option."
#~ msgstr ""
#~ "Не читать и не проверять содержимое файла control при создании пакета. "
#~ "Это параметр программы B<dpkg-deb>(1)."

#, fuzzy
#~ msgid "2009-08-15"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-11-21"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2010-03-07"
#~ msgstr "2006-02-28"

#, fuzzy
#~| msgid "2006-02-28"
#~ msgid "2010-10-12"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-08-07"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2010-04-16"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-05-19"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-10-01"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-06-26"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-05-10"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<--admindir>I< E<lt>directoryE<gt>>"
#~ msgstr "B<--status-fd >I<E<lt>nE<gt>>"

#, fuzzy
#~ msgid "2009-03-08"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-11-11"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-02-26"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-04-13"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-10-08"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2010-04-11"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-11-12"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<--licence>, B<--license>"
#~ msgstr "B<dpkg --licence> | B<dpkg --license>"

#~ msgid "Display B<dpkg> licence."
#~ msgstr "Показать лицензию B<dpkg>."

#~ msgid "ENVIRONMENT VARIABLES"
#~ msgstr "ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ"

#~ msgid "B<DPKG_NO_TSTP>"
#~ msgstr "B<DPKG_NO_TSTP>"

#~ msgid ""
#~ "Define this to something if you prefer B<dpkg> starting a new shell "
#~ "rather than suspending itself, while doing a shell escape."
#~ msgstr ""
#~ "Если она определена, то B<dpkg> при запуске оболочки не приостанавливает "
#~ "себя, а создаёт новый процесс."

#, fuzzy
#~ msgid "2009-06-13"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-01-07"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<--license>, B<--licence>"
#~ msgstr "B<dpkg --licence> | B<dpkg --license>"

#, fuzzy
#~ msgid "B<-l>, B<--license>"
#~ msgstr "B<dpkg --licence> | B<dpkg --license>"

#, fuzzy
#~ msgid "2009-09-06"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<-I>[I<file-pattern>]"
#~ msgstr "B<--log=>I<имя файла>"

#, fuzzy
#~ msgid "2009-08-20"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<--licence>|B<--license>"
#~ msgstr "B<dpkg --licence> | B<dpkg --license>"

#, fuzzy
#~ msgid "B<-h>"
#~ msgstr "B<-B>"

#, fuzzy
#~ msgid "B<--without-quilt>"
#~ msgstr "B<-q>|B<--quiet>"

#, fuzzy
#~ msgid "2008-04-09"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-03-06"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-06-12"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<-Z>I<compression>"
#~ msgstr "B<-t>|B<--test>"

#, fuzzy
#~ msgid "B<-z>I<level>"
#~ msgstr "B<--log=>I<имя файла>"

#, fuzzy
#~ msgid "2009-01-04"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2009-02-18"
#~ msgstr "2006-02-28"

#~ msgid "Forget about uninstalled unavailable packages."
#~ msgstr "Забыть о неустановленных недоступных пакетах."

#, fuzzy
#~ msgid "install-info"
#~ msgstr "B<install>"

#, fuzzy
#~ msgid "B<[--] >I<filename>"
#~ msgstr "B<--log=>I<имя файла>"

#, fuzzy
#~ msgid "B<--remove>"
#~ msgstr "B<--nocheck>"

#, fuzzy
#~ msgid "B<--keep-old>"
#~ msgstr "B<--new> | B<--old>"

#, fuzzy
#~ msgid "B<emacs>(1), B<info>(1), B<gzip(1).>"
#~ msgstr "B<deb>(5), B<dpkg>(1), B<dpkg-deb>(1)."

#~ msgid "822-date"
#~ msgstr "822-date"

#, fuzzy
#~ msgid "2007-01-24"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "822-date - Print date and time in RFC2822 format"
#~ msgstr "822-date -- выводит дату и время в формате RFC822"

#~ msgid "B<822-date>"
#~ msgstr "B<822-date>"

#, fuzzy
#~ msgid ""
#~ "B<822-date> displays the current date and time in the format described in "
#~ "RFC2822.  It does so by simply calling B<date>(1)  with the B<-R> option."
#~ msgstr ""
#~ "B<822-date> показывает текущую дату и время в соответствии с форматом, "
#~ "описанным в RFC822, используя числовое смещение часового пояса, согласно "
#~ "RFC1123."

#~ msgid "B<822-date> does not take any arguments or options."
#~ msgstr "B<822-date> не использует аргументов или параметров."

#~ msgid "This facility really ought to be part of B<date>(1)."
#~ msgstr "На самом деле эту задачу должна выполнять программа B<date>(1)."

#, fuzzy
#~ msgid "B<cleanup-info> [I<options>] [B<-->] [I<dirname>]"
#~ msgstr "B<dpkg> [I<параметры>] I<действие>"

#, fuzzy
#~ msgid "B<--unsafe>"
#~ msgstr "B<unpacked>"

#, fuzzy
#~ msgid "2008-01-30"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<Error:> E<lt>error detailsE<gt>"
#~ msgstr "B<Priority:> E<lt>приоритетE<gt>"

#, fuzzy
#~ msgid "2007-10-06"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2008-03-14"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<-E>"
#~ msgstr "B<-B>"

#, fuzzy
#~ msgid "B<-W>"
#~ msgstr "B<-B>"

#, fuzzy
#~ msgid "2007-09-08"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2008-03-02"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2008-01-13"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2008-03-25"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2008-03-16"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2008-04-08"
#~ msgstr "2006-02-28"

#~ msgid ""
#~ "A simpler one-shot command to retrieve and update the I<available> file "
#~ "is B<dselect update>."
#~ msgstr ""
#~ "Для упрощения процедуры получения и обновления файла I<available> можно "
#~ "использовать команду B<dselect update>."

#, fuzzy
#~ msgid ""
#~ "Send package status info to file descriptor I<E<lt>nE<gt>>. This can be "
#~ "given multiple times. Status updates are of the form `status: "
#~ "E<lt>pkgE<gt>: E<lt>pkg stateE<gt>'.  Errors are reported as `status: "
#~ "E<lt>pkgE<gt>: error: extend-error-message'.  Configuration file "
#~ "conflicts are reported as `status: conffile-prompt: conffile : 'current-"
#~ "conffile' 'new-conffile' useredited distedited'."
#~ msgstr ""
#~ "Послать информацию о состоянии пакета в файловый дескриптор "
#~ "I<E<lt>nE<gt>>. Этот параметр можно задавать несколько раз. Эта "
#~ "информация выдаётся в виде `status: E<lt>pkgE<gt>: E<lt>pkg qstateE<gt>'. "
#~ "Ошибки выдаются в форме `status: E<lt>pkgE<gt>: error: extend-error-"
#~ "message'. Конфликты конфигурационных файлов выдаются в форме `status: "
#~ "conffile-prompt: conffile : 'current-conffile' 'new-conffile' useredited "
#~ "distedited'"

#, fuzzy
#~ msgid "2008-01-03"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-09-24"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-03-08"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-09-28"
#~ msgstr "2006-02-28"

#~ msgid "mailto:joeyh@debian.org"
#~ msgstr "mailto:joeyh@debian.org"

#, fuzzy
#~ msgid "E<lt>joeyh@debian.orgE<gt>"
#~ msgstr "E<lt>joeyh@debian.orgE<gt>."

#, fuzzy
#~ msgid "mailto:wakkerma@debian.org"
#~ msgstr "mailto:joeyh@debian.org"

#, fuzzy
#~ msgid "E<lt>wakkerma@debian.orgE<gt>"
#~ msgstr "E<lt>joeyh@debian.orgE<gt>."

#~ msgid ""
#~ "See I</usr/share/doc/dpkg/THANKS> for the list of people who have\n"
#~ "contributed to B<dpkg>.\n"
#~ msgstr ""
#~ "Смотрите файл I</usr/share/doc/dpkg/THANKS>, где приведён список тех, кто "
#~ "участвовал в разработке B<dpkg>.\n"

#, fuzzy
#~ msgid "2007-08-31"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-05-15"
#~ msgstr "2006-02-28"

#~ msgid ""
#~ "This is free software; see the GNU General Public Licence version 2 or "
#~ "later for copying conditions. There is NO warranty."
#~ msgstr ""
#~ "Это свободная программа; смотрите Универсальную Общественную Лицензии GNU "
#~ "версии 2 или более позднюю, где изложены условия распространения. НИКАКИХ "
#~ "гарантий."

#~ msgid "B<dpkg -C> | B<--audit>"
#~ msgstr "B<dpkg -C> | B<--audit>"

#~ msgid "B<dpkg --help>"
#~ msgstr "B<dpkg --help>"

#~ msgid "B<dpkg -Dh >|B< --debug=help>"
#~ msgstr "B<dpkg -Dh >|B< --debug=help>"

#~ msgid "B<dpkg --licence> | B<dpkg --license>"
#~ msgstr "B<dpkg --licence> | B<dpkg --license>"

#~ msgid "B<dpkg --version>"
#~ msgstr "B<dpkg --version>"

#~ msgid "B<--root=>I<dir> | B<--admindir=>I<dir> | B<--instdir=>I<dir>"
#~ msgstr "B<--root=>I<dir> | B<--admindir=>I<dir> | B<--instdir=>I<dir>"

#, fuzzy
#~ msgid ""
#~ "Copyright 1995,1996 Erick Branderhorst.  B<dpkg-name> is free software; "
#~ "see the GNU General Public Licence version 2 or later for copying "
#~ "conditions. There is B<no> warranty."
#~ msgstr ""
#~ "Это свободная программа; смотрите Универсальную Общественную Лицензии GNU "
#~ "версии 2 или более позднюю, где изложены условия распространения. НИКАКИХ "
#~ "гарантий."

#, fuzzy
#~ msgid ""
#~ "Copyright 1994, Ian Jackson.  B<install-info> is free software; see the "
#~ "GNU General Public Licence version 2 or later for copying conditions. "
#~ "There is I<no> warranty."
#~ msgstr ""
#~ "Это свободная программа; смотрите Универсальную Общественную Лицензии GNU "
#~ "версии 2 или более позднюю, где изложены условия распространения. НИКАКИХ "
#~ "гарантий."

#, fuzzy
#~ msgid ""
#~ "Debian update-alternatives is copyright 1995 Ian Jackson. It is free "
#~ "software; see the GNU General Public Licence version 2 or later for "
#~ "copying conditions. There is NO warranty."
#~ msgstr ""
#~ "Это свободная программа; смотрите Универсальную Общественную Лицензии GNU "
#~ "версии 2 или более позднюю, где изложены условия распространения. НИКАКИХ "
#~ "гарантий."

#, fuzzy
#~ msgid ""
#~ "This manual page is copyright 1997/98 Charles Briscoe-Smith.  This is "
#~ "free documentation; see the GNU General Public Licence version 2 or later "
#~ "for copying conditions. There is NO WARRANTY."
#~ msgstr ""
#~ "Это свободная программа; смотрите Универсальную Общественную Лицензии GNU "
#~ "версии 2 или более позднюю, где изложены условия распространения. НИКАКИХ "
#~ "гарантий."

#, fuzzy
#~ msgid "2006-04-09"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "2007-03-13"
#~ msgstr "2006-02-28"

#~ msgid "I<Standard for the Format of ARPA Internet Text Messages> (RFC822),"
#~ msgstr "I<Standard for the Format of ARPA Internet Text Messages> (RFC822),"

#~ msgid ""
#~ "I<Requirements for Internet Hosts -- Application and Support> (RFC1123) "
#~ "section 5.2.14,"
#~ msgstr ""
#~ "I<Requirements for Internet Hosts -- Application and Support> (RFC1123) "
#~ "section 5.2.14,"

#~ msgid "B<date>(1)."
#~ msgstr "B<date>(1)."

#~ msgid ""
#~ "B<822-date> and this manpage were written by Ian Jackson. They are hereby "
#~ "placed by him into the public domain."
#~ msgstr ""
#~ "B<822-date> и эту страницу руководства написал и передал в общественное "
#~ "достояние Ian Jackson."

#, fuzzy
#~ msgid "2006-05-23"
#~ msgstr "2006-02-28"

#, fuzzy
#~ msgid "B<--info>, B<-I>"
#~ msgstr "B<--new> | B<--old>"

#, fuzzy
#~ msgid "B<--show>, B<-W>"
#~ msgstr "B<--new> | B<--old>"

#, fuzzy
#~ msgid "B<--field>, B<-f>"
#~ msgstr "B<--new> | B<--old>"

#, fuzzy
#~ msgid "B<--control>, B<-e>"
#~ msgstr "I<control>"

#, fuzzy
#~ msgid "B<--help>, B<-h>"
#~ msgstr "B<--new> | B<--old>"

#, fuzzy
#~ msgid "Prints B<dpkg-deb>'s version number."
#~ msgstr "Показать информацию о версии B<dpkg>."

#, fuzzy
#~ msgid "B<--licence>"
#~ msgstr "B<--nocheck>"

#, fuzzy
#~ msgid "OTHER OPTIONS"
#~ msgstr "ПАРАМЕТРЫ"

#, fuzzy
#~ msgid "B<-h, --help>"
#~ msgstr "B<dpkg --help>"

#, fuzzy
#~ msgid "B<dpkg-query> B<-l>|B<--list> I<package-name-pattern> ..."
#~ msgstr "B<dpkg --get-selections> [I<шаблон имени пакета>...]"

#, fuzzy
#~ msgid "B<dpkg-query> B<-W>|B<--show> I<package-name-pattern> ..."
#~ msgstr "B<dpkg --get-selections> [I<шаблон имени пакета>...]"

#, fuzzy
#~ msgid "B<dpkg-query> B<-s>|B<--status> I<package-name> ..."
#~ msgstr "B<dpkg -i> | B<--install> I<имя файла пакета>..."

#, fuzzy
#~ msgid "B<dpkg-query> B<-L>|B<--listfiles> I<package-name> ..."
#~ msgstr "B<dpkg -i> | B<--install> I<имя файла пакета>..."

#, fuzzy
#~ msgid "B<dpkg-query> B<-p>|B<--print-avail> I<package-name> ..."
#~ msgstr "B<dpkg -A> | B<--record-avail> I<имя файла пакета> ..."

#, fuzzy
#~ msgid "B<dpkg-query> B<--licence>|B<--license>"
#~ msgstr "B<dpkg --licence> | B<dpkg --license>"

#, fuzzy
#~ msgid "B<dpkg-query> B<--version>"
#~ msgstr "B<dpkg --version>"

#, fuzzy
#~ msgid "Display licence and copyright information."
#~ msgstr "Показать информацию о версии B<dpkg>."

#, fuzzy
#~ msgid "Display version information."
#~ msgstr "Показать информацию о версии B<dpkg>."

#, fuzzy
#~ msgid "COMMON OPTIONS"
#~ msgstr "ПАРАМЕТРЫ"

#, fuzzy
#~ msgid "B<-x>"
#~ msgstr "B<-B>"

#, fuzzy
#~ msgid "B<-IE<lt>filenameE<gt>>"
#~ msgstr "B<--log=>I<имя файла>"

#, fuzzy
#~ msgid "B<dpkg-gencontrol> does not take any non-option arguments."
#~ msgstr "B<822-date> не использует аргументов или параметров."

#, fuzzy
#~ msgid "B<dpkg-genchanges> does not take any non-option arguments."
#~ msgstr "B<822-date> не использует аргументов или параметров."

#, fuzzy
#~ msgid "B<dpkg-buildpackage> does not take any non-option arguments."
#~ msgstr "B<822-date> не использует аргументов или параметров."

#, fuzzy
#~ msgid ""
#~ "B<dpkg-parsechangelog> does not take any non-common options or non-option "
#~ "arguments."
#~ msgstr "B<822-date> не использует аргументов или параметров."

#, fuzzy
#~ msgid ""
#~ "This is free software; see the GNU General Public Licence version 2 or "
#~ "later for copying conditions. There is NO WARRANTY. See B</usr/share/doc/"
#~ "dpkg/copyright> and B</usr/share/common-licenses/GPL> for details."
#~ msgstr ""
#~ "Это свободная программа; смотрите Универсальную Общественную Лицензии GNU "
#~ "версии 2 или более позднюю, где изложены условия распространения. НИКАКИХ "
#~ "гарантий."

#, fuzzy
#~ msgid "B<dpkg-split> B<-l>|B<--listq>"
#~ msgstr "B<dpkg -C> | B<--audit>"

#, fuzzy
#~ msgid "B<--join>, B<-j>"
#~ msgstr "B<--new> | B<--old>"

#, fuzzy
#~ msgid "B<--npquiet>, B<-Q>"
#~ msgstr "B<--new> | B<--old>"

#~ msgid "B<start-stop-daemon> B<-H>|B<--help>"
#~ msgstr "B<start-stop-daemon> B<-H>|B<--help>"

#~ msgid "B<start-stop-daemon> B<-V>|B<--version>"
#~ msgstr "B<start-stop-daemon> B<-V>|B<--version>"

#~ msgid "B<-H>|B<--help>"
#~ msgstr "B<-H>|B<--help>"

#~ msgid "Print version information; then exit."
#~ msgstr "Выдать информацию о версии и завершить работу."

#~ msgid ""
#~ "Set by B<dpkg> to the filename of the old configuration file when you "
#~ "start a shell to examine a changed configuration.  file."
#~ msgstr ""
#~ "Устанавливается B<dpkg> равной именем старого конфигурационного файла при "
#~ "запуске оболочки для определения изменения конфигурации.  file."

#~ msgid "B<DPKG_NEW_CONFFILE>"
#~ msgstr "B<DPKG_NEW_CONFFILE>"

#~ msgid ""
#~ "Set by B<dpkg> to the filename of the newversion of a configuration file "
#~ "when you start a shell to examine a changed configuration.  file."
#~ msgstr ""
#~ "Устанавливается B<dpkg> равной именем нового конфигурационного файла при "
#~ "запуске оболочки для определения изменения конфигурации.  file."

#~ msgid ""
#~ "B<auto-select>(*): Select packages to install them, and deselect packages "
#~ "to remove them."
#~ msgstr ""
#~ "B<auto-select>(*): Выбрать пакеты для установки, и отменить выделение для "
#~ "удаления."

#, fuzzy
#~ msgid "2007-07-18"
#~ msgstr "2006-02-28"
