0 - en to ru-RU translation catalogue (175 entries)

en: Binary package
ru-RU: Двоичный пакет

en: Source package
ru-RU: Пакет исходных кодов

en: dependencies
ru-RU: зависимости

en: conflict
ru-RU: конфликт

en: Packaging System: Tools and Fundamental Principles
ru-RU: Пакетная система: Инструменты и основные принципы

en: As a Debian system administrator, you will routinely handle <filename>.deb</filename> packages, since they contain consistent functional units (applications, documentation, etc.), whose installation and maintenance they facilitate. It is therefore a good idea to know what they are and how to use them.
ru-RU: Как системному администратору Debian, вам постоянно придется работать с пакетами <filename>.deb</filename>, которые содержат, к примеру, программы или документацию, установку и сопровождение которых они облегчают. Поэтому неплохо было бы знать, что они из себя представляют, и как с ними работать.

en: Structure of a Binary Package
ru-RU: Структура двоичных пакетов

en: <emphasis>TOOLS</emphasis> <command>dpkg</command>, <command>APT</command> and <command>ar</command>
ru-RU: <emphasis>ИНСТРУМЕНТЫ</emphasis> <command>dpkg</command>, <command>APT</command> и <command>ar</command>

en: <primary>unpacking</primary><secondary>binary package</secondary>
ru-RU: <primary>распаковка</primary><secondary>двоичного пакета</secondary>

en: <emphasis>BACK TO BASICS</emphasis> Man page notation
ru-RU: <emphasis>К ОСНОВАМ</emphasis> Обозначения страниц man

en: It can be confusing for beginners to find references to “<citerefentry><refentrytitle>ar</refentrytitle><manvolnum>1</manvolnum></citerefentry>” in the literature. This is generally a convenient means of referring to the man page entitled <literal>ar</literal> in section 1.
ru-RU: Начинающих могут привести в замешательство ссылки на «<citerefentry><refentrytitle>ar</refentrytitle><manvolnum>1</manvolnum></citerefentry>» в литературе. Это общепринятое обозначения страницы man под названием <literal>ar</literal> в разделе 1.

en: Sometimes this notation is also used to remove ambiguities, for example to distinguish between the <command>printf</command> command that can also be indicated by <citerefentry><refentrytitle>printf</refentrytitle><manvolnum>1</manvolnum></citerefentry> and the <function>printf</function> function in the C programming language, which can also be referred to as <citerefentry><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
ru-RU: Иногда это обозначение используется также для устранения двусмысленности, например для выбора между командой <command>printf</command>, также обозначаемой <citerefentry><refentrytitle>printf</refentrytitle><manvolnum>1</manvolnum></citerefentry>, и функцией <function>printf</function> в языке программирования C, на которую ссылаются как <citerefentry><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>.

en: <xref linkend="solving-problems" /> discusses manual pages in further detail (see <xref linkend="sect.manual-pages" />).
ru-RU: В <xref linkend="solving-problems" /> о страницах руководства рассказывается более подробно (см. <xref linkend="sect.manual-pages" />).

en: Have a look at the content of a <filename>.deb</filename> file:
ru-RU: Обратите внимание на содержимое файла <filename>.deb</filename>:

en: As you can see, the <command>ar</command> archive of a Debian package is comprised of three files:
ru-RU: Как вы видите, архив <command>ar</command> пакета Debian состоит из трех файлов:

en: Package Meta-Information
ru-RU: Метаинформация пакета

en: <primary>package</primary><secondary>meta-information</secondary>
ru-RU: <primary>пакет</primary><secondary>метаинформация</secondary>

en: Description: the <filename>control</filename> File
ru-RU: Описание: файл <filename>control</filename>

en: <primary>package meta-information</primary>
ru-RU: <primary>метаинформация пакета</primary>

en: <emphasis>BACK TO BASICS</emphasis> RFC — Internet standards
ru-RU: <emphasis>К ОСНОВАМ</emphasis> RFC — стандарты Интернета

en: RFC 2026 defines the process for standardization of Internet protocols. <ulink type="block" url="http://www.faqs.org/rfcs/rfc2026.html" />
ru-RU: RFC 2026 определяет процесс стандартизации интернет-протоколов. <ulink type="block" url="http://www.faqs.org/rfcs/rfc2026.html" />

en: Dependencies: the <literal>Depends</literal> Field
ru-RU: Зависимости: поле <literal>Depends</literal>

en: <primary>dependency</primary>
ru-RU: <primary>зависимость</primary>

en: <primary>package</primary><secondary>dependency</secondary>
ru-RU: <primary>пакет</primary><secondary>зависимости</secondary>

en: <command>&lt;&lt;</command>: less than;
ru-RU: <command>&lt;&lt;</command>: меньше;

en: <command>&lt;=</command>: less than or equal to;
ru-RU: <command>&lt;=</command>: меньше или равна;

en: <command>=</command>: equal to (note that “<literal>2.6.1</literal>” is not equal to “<literal>2.6.1-1</literal>”);
ru-RU: <command>=</command>: равна (однако «<literal>2.6.1</literal>» — не то же самое, что и «<literal>2.6.1-1</literal>»);

en: <command>&gt;=</command>: greater than or equal to;
ru-RU: <command>&gt;=</command>: больше или равна;

en: <command>&gt;&gt;</command>: greater than.
ru-RU: <command>&gt;&gt;</command>: больше.

en: <primary>meta-package</primary>
ru-RU: <primary>метапакет</primary>

en: <emphasis>DEBIAN POLICY</emphasis> <literal>Recommends</literal>, <literal>Suggests</literal>, and <literal>Enhances</literal> fields
ru-RU: <emphasis>ПОЛИТИКА DEBIAN</emphasis> Поля <literal>Recommends</literal>, <literal>Suggests</literal> и <literal>Enhances</literal>

en: The <literal>Recommends</literal> and <literal>Suggests</literal> fields describe dependencies that are not compulsory. The “recommended” dependencies, the most important, considerably improve the functionality offered by the package but are not indispensable to its operation. The “suggested” dependencies, of secondary importance, indicate that certain packages may complement and increase their respective utility, but it is perfectly reasonable to install one without the others.
ru-RU: В полях <literal>Recommends</literal> и <literal>Suggests</literal> указываются зависимости, не являющиеся обязательными. «Рекомендуемые» зависимости, более важные, значительно улучшают функциональность, предоставляемую пакетом, но не являются совершенно необходимыми для его работы. «Предлагаемые» зависимости, следующие по значимости, означают, что некоторые пакеты могут дополнить устанавливаемый или быть полезными в связке с ним, но вполне целесообразной будет и установка одного без других.

en: The <literal>Enhances</literal> field also describes a suggestion, but in a different context. It is indeed located in the suggested package, and not in the package that benefits from the suggestion. Its interest lies in that it is possible to add a suggestion without having to modify the package that is concerned. Thus, all add-ons, plug-ins, and other extensions of a program can then appear in the list of suggestions related to the software. Although it has existed for several years, this last field is still largely ignored by programs such as <command>apt</command> or <command>synaptic</command>. Its purpose is for a suggestion made by the <literal>Enhances</literal> field to appear to the user in addition to the traditional suggestions — found in the <literal>Suggests</literal> field.
ru-RU: В поле <literal>Enhances</literal> также указывается предложение, но другого рода. Оно на самом деле находится в предлагаемом пакете, а не в пакете, который выиграет от такого предложения. Смысл этого в том, что становится возможным добавить предложение, не меняя затрагиваемый пакет. Так, все дополнения, плагины и прочие расширения программы смогут появиться в списке предложений, относящихся к программе. Хотя оно существует уже несколько лет, это поле до сих пор по большей части игнорируется такими программами, как <command>apt</command> и <command>synaptic</command>. Смысл этого в том, чтобы предложения, вносимые через поле <literal>Enhances</literal>, отображались пользователю в дополнение к обычным предложениям — тем, которые находятся в поле <literal>Suggests</literal>.

en: <emphasis>DEBIAN POLICY</emphasis> <literal>Pre-Depends</literal>, a more demanding <literal>Depends</literal>
ru-RU: <emphasis>ПОЛИТИКА DEBIAN</emphasis> <literal>Pre-Depends</literal>,более требовательное <literal>Depends</literal>

en: <primary>pre-dependency</primary>
ru-RU: <primary>предварительные зависимости</primary>

en: “Pre-dependencies”, which are listed in the “<literal>Pre-Depends</literal>” field in the package headers, complete the normal dependencies; their syntax is identical. A normal dependency indicates that the package in question must be unpacked and configured before configuration of the package declaring the dependency. A pre-dependency stipulates that the package in question must be unpacked and configured before execution of the pre-installation script of the package declaring the pre-dependency, that is before its installation.
ru-RU: «Предварительные зависимости», перечисленные в поле «<literal>Pre-Depends</literal>» заголовков пакетов, дополняют обычные зависимости; их синтаксис аналогичен. Обычная зависимость показывает, что пакет должен быть распакован и настроен до настройки зависимого пакета. Предварительная зависимость оговаривает, что пакет должен быть распакован и настроен до запуска предустановочного сценария пакета, для которого указана предварительная зависимость, то есть до его установки.

en: Conflicts: the <literal>Conflicts</literal> field
ru-RU: Конфликты: поле <literal>Conflicts</literal>

en: <primary>conflicts</primary>
ru-RU: <primary>конфликты</primary>

en: <primary>package</primary><secondary>conflict</secondary>
ru-RU: <primary>пакет</primary><secondary>конфликт</secondary>

en: <command>dpkg</command> will refuse to install a package if it triggers a conflict with an already installed package, except if the new package specifies that it will “replace” the installed package, in which case <command>dpkg</command> will choose to replace the old package with the new one. <command>apt</command> always follows your instructions: if you choose to install a new package, it will automatically offer to uninstall the package that poses a problem.
ru-RU: <command>dpkg</command> откажется установить пакет, если он вызовет конфликт с уже установленным пакетом, за исключением тех случаев, когда новый пакет указывает, что он будет «заменять» установленный пакет, — тогда <command>dpkg</command> заменит старый пакет на новый. <command>apt</command> всегда следует вашим указаниям: если вы выберете установку нового пакета, он автоматически предложит удалить проблемный пакет.

en: Incompatibilities: the <literal>Breaks</literal> Field
ru-RU: Несовместимость: поле <literal>Breaks</literal>

en: <primary>incompatibilities</primary>
ru-RU: <primary>несовместимость</primary>

en: <primary>package</primary><secondary>incompatibility</secondary>
ru-RU: <primary>пакет</primary><secondary>несовместимость</secondary>

en: The <literal>Breaks</literal> field has an effect similar to that of the <literal>Conflicts</literal> field, but with a special meaning. It signals that the installation of a package will “break” another package (or particular versions of it). In general, this incompatibility between two packages is transitory, and the <literal>Breaks</literal> relationship specifically refers to the incompatible versions.
ru-RU: По своему действию поля <literal>Breaks</literal> похоже на поле <literal>Conflicts</literal>, но оно несёт особый смысл. Оно сообщает, что установка пакета «поломает» другой пакет (или конкретные его версии). Как правило, такая несовместимость между пакетами имеет временный характер, и <literal>Breaks</literal> указывает на конкретные несовместимые версии.

en: <command>dpkg</command> will refuse to install a package that breaks an already installed package, and <command>apt</command> will try to resolve the problem by updating the package that would be broken to a newer version (which is assumed to be fixed and, thus, compatible again).
ru-RU: <command>dpkg</command> откажется установить пакет, который поломает уже установленный пакет, и <command>apt</command> попытается решить проблему путём обновления пакета, который оказался бы сломанным, до более новой версии (которая, как предполагается, будет исправленной и, таким образом, снова совместимой).

en: This type of situation may occur in the case of updates without backwards compatibility: this is the case if the new version no longer functions with the older version, and causes a malfunction in another program without making special provisions. The <literal>Breaks</literal> field prevents the user from running into these problems.
ru-RU: Подобные ситуации могут возникнуть в случае обновления без обратной совместимости: это происходит, если новая версия работает не так, как старая, что приводит к сбою в другой программе, если не принять должных мер. Поле <literal>Breaks</literal> помогает пользователю не сталкиваться с такими проблемами.

en: Provided Items: the <literal>Provides</literal> Field
ru-RU: Предоставляемое пакетом: поле <literal>Provides</literal>

en: This field introduces the very interesting concept of a “virtual package”. It has many roles, but two are of particular importance. The first role consists in using a virtual package to associate a generic service with it (the package “provides” the service). The second indicates that a package completely replaces another, and that for this purpose it can also satisfy the dependencies that the other would satisfy. It is thus possible to create a substitution package without having to use the same package name.
ru-RU: Это поле вводит очень интересную концепцию «виртуального пакета». Она имеет много применений, два из которых особенно важны. Первое состоит в использовании виртуального пакета, чтобы привязать к нему общее название сервиса (пакет «предоставляет» сервис). Вторая показывает, что пакет полностью заменяет другой, и что при этом он может удовлетворять зависимости, которые удовлетворил бы другой. Таким образом, можно создать замену пакета без необходимости использовать то же самое имя пакета.

en: <emphasis>VOCABULARY</emphasis> Meta-package and virtual package
ru-RU: <emphasis>СЛОВАРЬ</emphasis> Метапакет и виртуальный пакет

en: <primary>package</primary><secondary>virtual package</secondary>
ru-RU: <primary>пакет</primary><secondary>виртуальный пакет</secondary>

en: <primary>virtual package</primary>
ru-RU: <primary>виртуальный пакет</primary>

en: It is essential to clearly distinguish meta-packages from virtual packages. The former are real packages (including real <filename>.deb</filename> files), whose only purpose is to express dependencies.
ru-RU: Очень важно четко понимать различие между метапакетами и виртуальными пакетами. Первые являются настоящими пакетами (то есть  файлами <filename>.deb</filename>), единственное назначение которых состоит в том, чтобы сообщить о зависимостях.

en: Virtual packages, however, do not exist physically; they are only a means of identifying real packages based on common, logical criteria (service provided, compatibility with a standard program or a pre-existing package, etc.).
ru-RU: Виртуальные пакеты, напротив, не существует физически; они являются только средством идентификации реальных пакетов на основании общих, логических критериев (предоставляемого сервиса, совместимости со стандартной программой или ранее созданным пакетом и т. д.).

en: Providing a “Service”
ru-RU: Предоставление «сервиса»

en: Let us discuss the first case in greater detail with an example: all mail servers, such as <emphasis role="pkg">postfix</emphasis> or <emphasis role="pkg">sendmail</emphasis> are said to “provide” the <emphasis role="pkg">mail-transport-agent</emphasis> virtual package. Thus, any package that needs this service to be functional (e.g. a mailing list manager, such as <emphasis role="pkg">smartlist</emphasis> or <emphasis role="pkg">sympa</emphasis>) simply states in its dependencies that it requires a <emphasis role="pkg">mail-transport-agent</emphasis> instead of specifying a large yet incomplete list of possible solutions (e.g. <command>postfix | sendmail | exim4 | …</command>). Furthermore, it is useless to install two mail servers on the same machine, which is why each of these packages declares a conflict with the <emphasis role="pkg">mail-transport-agent</emphasis> virtual package. A conflict between a package and itself is ignored by the system, but this technique will prohibit the installation of two mail servers side by side.
ru-RU: Давайте рассмотрим первый случай более подробно на примере: все почтовые серверы, такие как <emphasis role="pkg">postfix</emphasis> или <emphasis role="pkg">sendmail</emphasis>, «предоставляют» виртуальный пакет <emphasis role="pkg">mail-transport-agent</emphasis>. Поэтому в любом пакете, для работы которого нужен этот сервис (например менеджере списков рассылки вроде <emphasis role="pkg">smartlist</emphasis> или <emphasis role="pkg">sympa</emphasis>), просто указывается зависимость от <emphasis role="pkg">mail-transport-agent</emphasis> вместо того, чтобы указывать большой, и при этом всё равно неполный список возможных решений (то есть <command>postfix | sendmail | exim4 | …</command>). Кроме того, бесполезно устанавливать два почтовых сервера на одной машине, поэтому каждый из этих пакетов сообщит о конфликте с виртуальным пакетом <emphasis role="pkg">mail-transport-agent</emphasis>. Конфликт пакета с самим собой игнорируется системой, но данная технология не допустит установки двух почтовых серверов одновременно.

en: <emphasis>DEBIAN POLICY</emphasis> List of virtual packages
ru-RU: <emphasis>ПОЛИТИКА DEBIAN</emphasis> Список виртуальных пакетов

en: For virtual packages to be useful, everyone must agree on their name. This is why they are standardized in the Debian Policy. The list includes among others <emphasis role="pkg">mail-transport-agent</emphasis> for mail servers, <emphasis role="pkg">c-compiler</emphasis> for C programming language compilers, <emphasis role="pkg">www-browser</emphasis> for web browsers, <emphasis role="pkg">httpd</emphasis> for web servers, <emphasis role="pkg">ftp-server</emphasis> for FTP servers, <emphasis role="pkg">x-terminal-emulator</emphasis> for terminal emulators in graphical mode (<command>xterm</command>), and <emphasis role="pkg">x-window-manager</emphasis> for window managers.
ru-RU: Чтобы от виртуального пакета была польза, все должны прийти к соглашению о его имени. Именно поэтому имена стандартизированы в политике Debian. Список, помимо всего прочего, включает в себя <emphasis role="pkg">mail-transport-agent</emphasis> для почтовых серверов, <emphasis role="pkg">c-compiler</emphasis> для компиляторов языка программирования C, <emphasis role="pkg">www-browser</emphasis> для веб-браузеров, <emphasis role="pkg">httpd</emphasis> для веб-серверов, <emphasis role="pkg">ftp-server</emphasis> для FTP-серверов, <emphasis role="pkg">x-terminal-emulator</emphasis> для эмуляторов терминала в графическом режиме (<command>xterm</command>) и <emphasis role="pkg">x-window-manager</emphasis> для оконных менеджеров.

en: Interchangeability with Another Package
ru-RU: Взаимозаменяемость другим пакетом

en: Use of a <literal>Provides</literal> field in order to not break dependencies
ru-RU: Использование поля <literal>Provides</literal> для того, чтобы не нарушать зависимости

en: This feature is very useful, since it is never possible to anticipate the vagaries of development, and it is necessary to be able to adjust to renaming, and other automatic replacement, of obsolete software.
ru-RU: Эта функция очень полезна, поскольку никогда нельзя предвидеть превратности процесса разработки, и важно иметь возможность подстроиться к переименованию устаревшего ПО или другим автоматическим заменам.

en: <emphasis>BACK TO BASICS</emphasis> Perl, a programming language
ru-RU: <emphasis>К ОСНОВАМ</emphasis> Perl, язык программирования

en: Since it is an interpreted language, a program written in Perl does not require compilation prior to execution. This is why they are called “Perl scripts”.
ru-RU: Так как это интерпретируемый язык, программа, написанная на Perl, не требуют компиляции перед выполнением. Поэтому они называются «сценариями Perl».

en: Past Limitations
ru-RU: Прошлые ограничения

en: Replacing Files: The <literal>Replaces</literal> Field
ru-RU: Замена файлов: поле <literal>Replaces</literal>

en: <primary>replacement</primary>
ru-RU: <primary>замена</primary>

en: <primary>package</primary><secondary>replacement</secondary>
ru-RU: <primary>пакет</primary><secondary>замена</secondary>

en: The use of this field is justified when package names change or when a package is included in another. This also happens when the maintainer decides to distribute files differently among various binary packages produced from the same source package: a replaced file no longer belongs to the old package, but only to the new one.
ru-RU: Это поле используется при изменении имени пакета, или когда один пакет включается в состав другого. Это также происходит в случае, если сопровождающий решает распределить файлы по-другому между двоичными пакетами, полученными из одного и того же исходного: заменённый файл больше не принадлежит старому пакету, а только новому.

en: If all of the files in an installed package have been replaced, the package is considered to be removed. Finally, this field also encourages <command>dpkg</command> to remove the replaced package where there is a conflict.
ru-RU: Если все файлы в установленном пакете были заменены, принимается решение об удалении пакета. Наконец, это поле также указывает <command>dpkg</command> удалить заменённый пакет в случае конфликта.

en: <emphasis>GOING FURTHER</emphasis> The <literal>Tag</literal> field
ru-RU: <emphasis>УГЛУБЛЯЕМСЯ</emphasis> Поле <literal>Tag</literal>

en: Configuration Scripts
ru-RU: Сценарии настройки

en: <emphasis>GOING FURTHER</emphasis> <command>dpkg</command>'s database
ru-RU: <emphasis>УГЛУБЛЯЕМСЯ</emphasis> База данных <command>dpkg</command>

en: <primary>dpkg</primary><secondary>database</secondary>
ru-RU: <primary>dpkg</primary><secondary>база данных</secondary>

en: All of the configuration scripts for installed packages are stored in the <filename>/var/lib/dpkg/info/</filename> directory, in the form of a file prefixed with the package's name. This directory also includes a file with the <filename>.list</filename> extension for each package, containing the list of files that belong to that package.
ru-RU: Все сценарии настройки для установленных пакетов храняться в каталоге <filename>/var/lib/dpkg/info/</filename> в виде файла, префикс имени которого совпадает с именем пакета. В этом каталоге также содержатся файлы с расширением <filename>.list</filename> для каждого пакета, содержащие список файлов, принадлежащих каждому пакету.

en: The <filename>/var/lib/dpkg/status</filename> file contains a series of data blocks (in the format of the famous mail headers, RFC 2822) describing the status of each package. The information from the <filename>control</filename> file of the installed packages is also replicated there.
ru-RU: Файл <filename>/var/lib/dpkg/status</filename> содержит последовательности блоков данных (в формате небезызветстных почтовых заголовков, RFC 2822) с описанием статуса каждого пакета. Информация из файла <filename>control</filename> установленного пакета также дублируется сюда.

en: <emphasis>CAUTION</emphasis> Symbolic names of the scripts
ru-RU: <emphasis>ВНИМАНИЕ</emphasis> Символические имена сценариев

en: The sequences described in this section call configuration scripts by specific names, such as <command>old-prerm</command> or <command>new-postinst</command>. They are, respectively, the <command>prerm</command> script contained in the old version of the package (installed before the update) and the <command>postinst</command> script contained in the new version (installed by the update).
ru-RU: В последовательностях, описанных в этом разделе, сценарии вызываются по особым именам, таким как <command>old-prerm</command> или <command>new-postinst</command>. Это, соответственно, сценарий <command>prerm</command>, содержавшийся в старой версии пакета (установленной до обновления), и сценарий <command>postinst</command>, содержащийся в новой версии (установленной при обновлении).

en: <emphasis>TIP</emphasis> State diagrams
ru-RU: <emphasis>СОВЕТ</emphasis> Диаграммы состояний

en: Installation and Upgrade
ru-RU: Установка и обновление

en: <primary><command>dpkg</command></primary><secondary>internal operation</secondary>
ru-RU: <primary><command>dpkg</command></primary><secondary>механизм работы</secondary>

en: <primary>package</primary><secondary>installation</secondary>
ru-RU: <primary>пакет</primary><secondary>установка</secondary>

en: The new package files are then unpacked. If a file already exists, it is replaced, but a backup copy is temporarily made.
ru-RU: После этого распаковываются файлы нового пакета. Если файл уже существует, он заменяется, но создаётся временная резервная копия.

en: <command>dpkg</command> updates all of the internal data (file list, configuration scripts, etc.) and removes the backups of the replaced files. This is the point of no return: <command>dpkg</command> no longer has access to all of the elements necessary to return to the previous state.
ru-RU: <command>dpkg</command> обновляет все внутренние данные (список файлов, сценарии настройки и т. п.) и удаляет резервные копии заменённых файлов. Теперь обратного пути нет: <command>dpkg</command> более недоступны все элементы, необходимые для отката к предыдущему состоянию.

en: <command>dpkg</command> will update the configuration files, asking the user to decide if it is unable to automatically manage this task. The details of this procedure are discussed in <xref linkend="sect.conffiles" />.
ru-RU: <command>dpkg</command> обновит все конфигурационные файлы, выводя запрос пользователю, если это невозможно сделать автоматически. Подробности этой процедуры рассмотрены в <xref linkend="sect.conffiles" />.

en: Package Removal
ru-RU: Удаление пакета

en: <primary>package</primary><secondary>removal</secondary>
ru-RU: <primary>пакет</primary><secondary>удаление</secondary>

en: <emphasis>VOCABULARY</emphasis> Purge, a complete removal
ru-RU: <emphasis>СЛОВАРЬ</emphasis> Purge, полное удаление

en: <primary>purging a package</primary>
ru-RU: <primary>полное удаление пакета</primary>

en: <primary>package</primary><secondary>purge</secondary>
ru-RU: <primary>пакет</primary><secondary>полное удаление</secondary>

en: When a Debian package is removed, the configuration files are retained in order to facilitate possible re-installation. Likewise, the data generated by a daemon (such as the content of an LDAP server directory, or the content of a database for an SQL server) are usually retained.
ru-RU: При удалении пакета Debian конфигурационные файлы сохраняются в целях облегчения возможной повторной установки. Кроме того, сохраняется данные, созданные демонами (например содержимое каталога сервера LDAP или содержимое базы данных SQL-сервера).

en: To remove all data associated with a package, it is necessary to “purge” the package with the command, <command>dpkg -P <replaceable>package</replaceable></command>, <command>apt-get remove --purge <replaceable>package</replaceable></command> or <command>aptitude purge <replaceable>package</replaceable></command>.
ru-RU: Для полного удаления всех данных, относящихся к пакету, необходимо «вычистить» ("purge") пакет с помощью команды <command>dpkg -P <replaceable>пакет</replaceable></command>, <command>apt-get remove --purge <replaceable>пакет</replaceable></command> или <command>aptitude purge <replaceable>пакет</replaceable></command>.

en: Given the definitive nature of such data removals, a purge should not be taken lightly.
ru-RU: Учитывая необратимую природу такого удаления, не следует относиться к нему легкомысленно.

en: <primary><filename>config</filename>, <command>debconf</command> script</primary>
ru-RU: <primary><filename>config</filename>, сценарий <command>debconf</command></primary>

en: The four scripts detailed above are complemented by a <filename>config</filename> script, provided by packages using <command>debconf</command> to acquire information from the user for configuration. During installation, this script defines in detail the questions asked by <command>debconf</command>. The responses are recorded in the <command>debconf</command> database for future reference. The script is generally executed by <command>apt</command> prior to installing packages one by one in order to group all the questions and ask them all to the user at the beginning of the process. The pre- and post-installation scripts can then use this information to operate according to the user's wishes.
ru-RU: Четыре сценария, описанные выше, дополняются сценарием <filename>config</filename>, предоставляемым пакетами, которые используют <command>debconf</command> для запроса у пользователя информации для настройки. Этот сценарий определяет вопросы, которые будут заданы <command>debconf</command> во время установки. Ответы заносятся в базу данных <command>debconf</command> для дальнейшего использования. Эти сценарии обычно выполняются <command>apt</command> до установки пакетов, последовательно, чтобы сгруппировать вопросы и задать их пользователю в начале процесса. Пред- и послеустановочные сценарии могут впоследствии использовать эту информацию, чтобы действовать в соответствии с пожеланиями пользователей.

en: <emphasis>TOOL</emphasis> <command>debconf</command>
ru-RU: <emphasis>ИНСТРУМЕНТ</emphasis> <command>debconf</command>

en: <command>debconf</command> was created to resolve a recurring problem in Debian. All Debian packages unable to function without a minimum of configuration used to ask questions with calls to the <command>echo</command> and <command>read</command> commands in <filename>postinst</filename> shell scripts (and other similar scripts). But this also means that during a large installation or update the user must stay with their computer to respond to various questions that may arise at any time. These manual interactions have now been almost entirely dispensed with, thanks to the <command>debconf</command> tool.
ru-RU: <command>debconf</command> создали для решения постоянно повторявшейся в Debian проблемы. Все пакеты Debian, которые не могли работать без минимальной настройки, задавали вопросы, вызывая команды <command>echo</command> и <command>read</command> в послеустановочных сценариях <filename>postinst</filename> (и других похожих сценариях). Но это означало, что во время большой установки или обновления пользователь должен был находиться у компьютера, чтобы отвечать на различные вопросы, которые могли  возникнуть в любое время. Необходимость в таких ручных вмешательствах теперь почти полностью отпала благодаря инструменту <command>debconf</command>.

en: <command>debconf</command> has many interesting features: it requires the developer to specify user interaction; it allows localization of all the strings displayed to users (all translations are stored in the <filename>templates</filename> file describing the interactions); it has different frontends to display the questions to the user (text mode, graphical mode, non-interactive); and it allows creation of a central database of responses to share the same configuration with several computers... but the most important is that it is now possible to present all of the questions in a row to the user, prior to starting a long installation or update process. The user can go about their business while the system handles the installation on its own, without having to stay there staring at the screen waiting for questions.
ru-RU: У <command>debconf</command> множество интересных возможностей: взаимодействие с пользователем задаётся разработчиком; возможна локализация всех строк, отображаемых пользователю (все переводы хранятся в файле <filename>templates</filename>, описывающем взаимодействия); у него есть несколько интерфейсов (для текстового, графического и неинтерактивного режимов); а также возможно создание центральной базы данных ответов для распространения одной конфигурации по нескольким компьютерам... но наиболее важным является то, что теперь возможно задать все вопросы пользователю подряд, до начала длительного процесса установки или обновления. Пользователь может отойти по своим делам, пока система санимается собственно установкой, а не глядеть неотрывно на экран в ожидании вопросов.

en: <primary>checksums</primary>
ru-RU: <primary>контрольные суммы</primary>

en: In effect, in this situation, <command>dpkg</command> behaves as intelligently as possible: if the standard configuration file has not changed between the two versions, it does nothing. If, however, the file has changed, it will try to update this file. Two cases are possible: either the administrator has not touched this configuration file, in which case <command>dpkg</command> automatically installs the new version; or the file has been modified, in which case <command>dpkg</command> asks the administrator which version they wish to use (the old one with modifications, or the new one provided with the package). To assist in making this decision, <command>dpkg</command> offers to display a “<command>diff</command>” that shows the difference between the two versions. If the user chooses to retain the old version, the new one will be stored in the same location in a file with the <filename>.dpkg-dist</filename> suffix. If the user chooses the new version, the old one is retained in a file with the <filename>.dpkg-old</filename> suffix. Another available action consists of momentarily interrupting <command>dpkg</command> to edit the file and attempt to re-instate the relevant modifications (previously identified with <command>diff</command>).
ru-RU: Действительно, в этой ситуации <command>dpkg</command> ведёт себя настолько интеллектуально, насколько это возможно: если стандартный конфигурационный файл не изменился между двумя версиями, она ничего не делает. Если, однако, файл был изменен, она будет пытаться обновить его. Возможны два варианта развития событий: если администратор не трогал конфигурационный файл, <command>dpkg</command> автоматически установит новую версию; если же файл был изменен, <command>dpkg</command> спросит администратора, какую версию он хочет использовать (старую с изменениями или новую из пакета). Для помощи в принятии решения <command>dpkg</command> показывает «<command>diff</command>», то есть различия между двумя версиями. Если пользователь предпочтёт оставить старую версию, новая будет храниться в том же месте, в файле с суффиксом <filename>.dpkg-dist</filename>. Если же пользователь выбирает новую версию, старая сохраняется в файле с суффиксом <filename>.dpkg-old</filename>. Другой вариант заключается в том, чтобы немедленно прервать <command>dpkg</command> и отредактировать файл, попытавшись внести нужные изменения (ранее обнаруженные с помощью <command>diff</command>).

en: <emphasis>GOING FURTHER</emphasis> Force dpkg to ask configuration file questions
ru-RU: <emphasis>УГЛУБЛЯЕМСЯ</emphasis> Как заставить dpkg всегда задавать вопросы по поводу конфигурационных файлов

en: <emphasis>GOING FURTHER</emphasis> Avoiding the configuration file questions
ru-RU: <emphasis>УГЛУБЛЯЕМСЯ</emphasis> Как избежать вопросов по поводу конфигурационных файлов

en: <command>dpkg</command> handles configuration file updates, but, while doing so, regularly interrupts its work to ask for input from the administrator. This makes it less than enjoyable for those who wish to run updates in a non-interactive manner. This is why this program offers options that allow the system to respond automatically according to the same logic: <command>--force-confold</command> retains the old version of the file; <command>--force-confnew</command> will use the new version of the file (these choices are respected, even if the file has not been changed by the administrator, which only rarely has the desired effect). Adding the <command>--force-confdef</command> option tells <command>dpkg</command> to decide by itself when possible (in other words, when the original configuration file has not been touched), and only uses <command>--force-confnew</command> or <command>--force-confold</command> for other cases.
ru-RU: Хотя <command>dpkg</command> сама заботится об обновлении конфигурационных файлов, она всё же регулярно прерывает свою работу, запрашивая ввод у администратора. Это весьма малоприятно для тех, кто хочет, чтобы обновление выполнялось неинтерактивно. Поэтому у программы имеются опции, позволяющие системе выбирать ответы автоматически, руководствуясь одной и той же логикой: <command>--force-confold</command> оставляет старую версию файла; <command>--force-confnew</command> использует более новую версию файла (этот выбор применяется, даже если файл не изменялся администратором, что крайне редко является желаемым эффектом). Добавление опции <command>--force-confdef</command> указывает <command>dpkg</command>, что решения должны по возможности приниматься автоматически (в тех случаях, когда конфигурационный файл не менялся), а <command>--force-confnew</command> или <command>--force-confold</command> надо применять в остальных случаях.

en: Including this option in the configuration file means that it will also be used in a graphical interface such as <command>aptitude</command>.
ru-RU: Включение этой опции в конфигурационный файл означает, что она будет распространяться и на графический интерфейс, в частности <command>aptitude</command>.

en: Structure of a Source Package
ru-RU: Структура исходного пакета

en: <primary>package</primary><secondary>source package</secondary>
ru-RU: <primary>пакет</primary><secondary>исходный пакет</secondary>

en: Format
ru-RU: Формат

en: <primary>DSC file</primary>
ru-RU: <primary>DSC, файл</primary>

en: The <filename>.dsc</filename> (Debian Source Control) file is a short text file containing an RFC 2822 header (just like the <filename>control</filename> file studied in <xref linkend="sect.control" />) which describes the source package and indicates which other files are part thereof. It is signed by its maintainer, which guarantees authenticity. See <xref linkend="sect.package-authentication" /> for further details on this subject.
ru-RU: Файл <filename>.dsc</filename> (Debian Source Control) представлят собой текстовый файл с заголовком в формате RFC 2822 (точно так же, как файл <filename>control</filename>, рассмотренный в <xref linkend="sect.control" />), где описывается исходный пакет и указываются другие файлы, входящие в него. Он подписан сопровождающим, что гарантирует его подлинность. См. <xref linkend="sect.package-authentication" /> для получения дополнительной информации по этому вопросу.

en: A <filename>.dsc</filename> file
ru-RU: Файл <filename>.dsc</filename>

en: Note that the source package also has dependencies (<literal>Build-Depends</literal>) completely distinct from those of binary packages, since they indicate tools required to compile the software in question and construct its binary package.
ru-RU: Обратите внимание, что исходный пакет тоже имеет зависимости (<literal>Build-Depends</literal>), кардинально отличающиеся от зависимостей для двоичных пакетов, поскольку они включают в себя инструменты, необходимые для компиляции программного обеспечения и сборки двоичного пакета.

en: <emphasis>CAUTION</emphasis> Distinct namespaces
ru-RU: <emphasis>ВНИМАНИЕ</emphasis> Разные пространства имён

en: It is important to note here that there is no required correspondence between the name of the source package and that of the binary package(s) that it generates. It is easy enough to understand if you know that each source package may generate several binary packages. This is why the <filename>.dsc</filename> file has the <literal>Source</literal> and <literal>Binary</literal> fields to explicitly name the source package and store the list of binary packages that it generates.
ru-RU: Важно отметить, что имена исходного пакета и создаваемого из него двоичного пакета не обязательно должны совпадать. Это нетрудно понять, если вы знаете, что из каждого исходного пакета может быть создано несколько двоичных пакетов. Вот почему в файле <filename>.dsc</filename> есть поля <literal>Source</literal> и <literal>Binary</literal>, где явно указываются имя исходного пакета и список создаваемых из него двоичных пакетов.

en: <emphasis>CULTURE</emphasis> Why divide into several packages
ru-RU: <emphasis>КУЛЬТУРА</emphasis> Зачем разделять на несколько пакетов

en: Quite frequently, a source package (for a given software) can generate several binary packages. The split is justified by the possibility to use (parts of) the software in different contexts. Consider a shared library, it may be installed to make an application work (for example, <emphasis role="pkg">libc6</emphasis>), or it can be installed to develop a new program (<emphasis role="pkg">libc6-dev</emphasis> will then be the correct package). We find the same logic for client/server services where we want to install the server part on one machine and the client part on others (this is the case, for example, of <emphasis role="pkg">openssh-server</emphasis> and <emphasis role="pkg">openssh-client</emphasis>).
ru-RU: Довольно часто из исходного пакета (того или иного программного обеспечения) может создаваться несколько двоичных пакетов. Смысл разделения заключается в возможности использовать части программного обеспечения в различных контекстах. В случае динамической библиотеки целью установки может быть обеспечение работы того или иного приложения (например <emphasis role="pkg">libc6</emphasis>) или разработка новой программы (тогда понадобится <emphasis role="pkg">libc6-dev</emphasis>). Та же логика используется и для клиент-серверных приложений, для которых может возникнуть желание установить серверную часть на одной машине, а клиентскую на нескольких других (типичным примером являются <emphasis role="pkg">openssh-server</emphasis> и <emphasis role="pkg">openssh-client</emphasis>).

en: <emphasis>PERSPECTIVE</emphasis> Different source package formats
ru-RU: <emphasis>ПЕРСПЕКТИВА</emphasis> Различные форматы исходных пакетов

en: Originally there was only one source package format. This is the <literal>1.0</literal> format, which associates an <filename>.orig.tar.gz</filename> archive to a <filename>.diff.gz</filename> “debianization” patch (there is also a variant, consisting of a single <filename>.tar.gz</filename> archive, which is automatically used if no <filename>.orig.tar.gz</filename> is available).
ru-RU: Первоначально был только один формат исходных пакетов. Это формат <literal>1.0</literal>, который связывает архив <filename>.orig.tar.gz</filename> с «дебианизирующей» заплатой <filename>.diff.gz</filename> (есть также вариант, включающий единственный архив <filename>.tar.gz</filename>, который используется автоматически, если <filename>.orig.tar.gz</filename> отсутствует).

en: The <filename>.orig.tar.gz</filename> file is an archive containing the source code as provided by the original developer. Debian package maintainers are asked to not modify this archive in order to be able to easily check the origin and integrity of the file (by simple comparison with a checksum) and to respect the wishes of some authors.
ru-RU: Файл <filename>.orig.tar.gz</filename> — это архив, содержащий исходный код в том виде, в каком он предоставляется оригинальным разработчиком. Сопровождающим пакетов Debian не рекомендовано изменять этот архив, чтобы иметь возможность легко проверить подлинность и целостность файла (путём простого сравнения контрольной суммы), а также в угоду пожеланиям некоторых авторов.

en: <emphasis>TOOL</emphasis> Decompressing a source package
ru-RU: <emphasis>ИНСТРУМЕНТ</emphasis> Распаковка пакетов c исходным кодом

en: <primary>decompressing, source package</primary>
ru-RU: <primary>декомпрессия исходного пакета</primary>

en: <primary>uncompressing, source package</primary>
ru-RU: <primary>декомпрессия исходного пакета</primary>

en: <primary>unpacking</primary><secondary>source package</secondary>
ru-RU: <primary>распаковка</primary><secondary>исходного пакета</secondary>

en: If you have a source package, you can use the <command>dpkg-source</command> command (from the <emphasis role="pkg">dpkg-dev</emphasis> package) to decompress it:
ru-RU: При наличии исходного пакета его можно распаковать с помощью <command>dpkg-source</command> (из пакета <emphasis>dpkg-dev</emphasis>):

en: Usage within Debian
ru-RU: Использование в Debian

en: Manipulating Packages with <command>dpkg</command>
ru-RU: Работа с пакетами при помощи <command>dpkg</command>

en: <emphasis>NOTE</emphasis> <command>dpkg</command> or <command>apt</command>?
ru-RU: <emphasis>ЗАМЕТКА</emphasis> <command>dpkg</command> или <command>apt</command>?

en: <command>dpkg</command> should be seen as a system tool (backend), and <command>apt</command> as a tool closer to the user, which overcomes the limitations of the former. These tools work together, each one with its particularities, suited to specific tasks.
ru-RU: <command>dpkg</command> стоит рассматривать как низкоуровневый инструмент (движок), а <command>apt</command> — как инструмент, более близкий к пользователю, обходящий ограничения первого. Эти инструменты работают совместно, каждый со своей спецификой, заточенный под определённый круг задач.

en: Installing Packages
ru-RU: Установка пакетов

en: <primary>installation</primary><secondary>package installation</secondary>
ru-RU: <primary>установка</primary><secondary>пакета</secondary>

en: <command>dpkg</command> is, above all, the tool for installing an already available Debian package (because it does not download anything). To do this, we use its <literal>-i</literal> or <literal>--install</literal> option.
ru-RU: <command>dpkg</command> — это, прежде всего, инструмент для установки уже доступных пакетов Debian (поскольку он ничего не загружает). Чтобы установить пакет, используется опция <literal>-i</literal> или <literal>--install</literal>.

en: Installation of a package with <command>dpkg</command>
ru-RU: Установка пакета при помощи <command>dpkg</command>

en: Separate unpacking and configuration
ru-RU: Раздельная распаковка и настройка

en: <primary>package</primary><secondary>unpacking</secondary>
ru-RU: <primary>пакет</primary><secondary>распаковка</secondary>

en: Sometimes <command>dpkg</command> will fail to install a package and return an error; if the user orders it to ignore this, it will only issue a warning; it is for this reason that we have the different <literal>--force-*</literal> options. The <command>dpkg --force-help</command> command, or documentation of this command, will give a complete list of these options. The most frequent error, which you are bound to encounter sooner or later, is a file collision. When a package contains a file that is already installed by another package, <command>dpkg</command> will refuse to install it. The following messages will then appear:
ru-RU: Иногда <command>dpkg</command> по той или иной причине не может установить пакет и возвращает ошибку; если пользователь даёт указание проигнорировать эту ошибку, будет выдано лишь предупреждение; для этого существуют различные опции <literal>--force-*</literal>. Команда <command>dpkg --force-help</command>, или документация этой команды, выдаст полный список таких опций. Самой частой ошибкой, с которой вам придётся рано или поздно столкнуться, является конфликт файлов. Когда пакет содержит файл, который уже установлен другим пакетом, <command>dpkg</command> откажется устанавливать его, и мы получим такое сообщение:

en: 
    <computeroutput>Unpacking libgdm (from .../libgdm_3.8.3-2_amd64.deb) ...
    dpkg: error processing /var/cache/apt/archives/libgdm_3.8.3-2_amd64.deb (--unpack):
     trying to overwrite '/usr/bin/gdmflexiserver', which is also in package gdm3 3.4.1-9</computeroutput>
ru-RU: 
    <computeroutput>Распаковывается пакет libgdm (из файла .../libgdm_3.8.3-2_amd64.deb) …
    dpkg: ошибка при обработке параметра /var/cache/apt/archives/libgdm_3.8.3-2_amd64.deb (--unpack):
     попытка перезаписать «/usr/bin/gdmflexiserver», который уже имеется в пакете gdm3 3.4.1-9</computeroutput>

en: In this case, if you think that replacing this file is not a significant risk to the stability of your system (which is usually the case), you can use the option <literal>--force-overwrite</literal>, which tells <command>dpkg</command> to ignore this error and overwrite the file.
ru-RU: В этом случае, если вы считаете, что замена этого файла не представляет существенной опасности для стабильности вашей системы (зачастую это именно так), вы можете использовать опцию <literal>--force-overwrite</literal>, которая сообщит <command>dpkg</command> о необходимости проигнорировать эту ошибку и перезаписать файл.

en: <emphasis>CAUTION</emphasis> Effective use of <literal>--force-*</literal>
ru-RU: <emphasis>ВНИМАНИЕ</emphasis> Эффективное использование <literal>--force-*</literal>

en: <primary>broken dependency</primary>
ru-RU: <primary>сломанные зависимости</primary>

en: If you are not careful, the use of an option <literal>--force-*</literal> can lead to a system where the APT family of commands will refuse to function. In effect, some of these options allow installation of a package when a dependency is not met, or when there is a conflict. The result is an inconsistent system from the point of view of dependencies, and the APT commands will refuse to execute any action except those that will bring the system back to a consistent state (this often consists of installing the missing dependency or removing a problematic package). This often results in a message like this one, obtained after installing a new version of <emphasis role="pkg">rdesktop</emphasis> while ignoring its dependency on a newer version of the <emphasis role="pkg">libc6</emphasis>:
ru-RU: Если вы не будете осторожны, использование опции <literal>--force-*</literal> может привести к тому, что команды APT перестанут работать. Некоторые из этих опций позволяют установить пакет с неудовлетворёнными зависимостями или при наличии конфликта. В результате согласованность системы с точки зрения зависимостей нарушается, и команды APT откажутся выполнять какие-либо действия кроме тех, которые вернут систему в согласованное состояние (это обычно сводится к установке отсутствующей зависимости или удалению проблемного пакета). Вот пример сообщения, сигнализирующего о такой ошибке, которое получено после установки новой версии <emphasis role="pkg">rdesktop</emphasis> с игнорированием зависимости от более новой версии <emphasis role="pkg">libc6</emphasis>:

en: <computeroutput># </computeroutput><userinput>apt full-upgrade
    </userinput><computeroutput>[...]
    You might want to run 'apt-get -f install' to correct these.
    The following packages have unmet dependencies:
      rdesktop: Depends: libc6 (&gt;= 2.5) but 2.3.6.ds1-13etch7 is installed
    E: Unmet dependencies. Try using -f.</computeroutput>
ru-RU: <computeroutput># </computeroutput><userinput>apt full-upgrade
    </userinput><computeroutput>[...]
    Возможно, для исправления этих ошибок вы захотите воспользоваться «apt-get -f install».
    Пакеты, имеющие неудовлетворённые зависимости:
      rdesktop: Зависит от: libc6 (&gt;= 2.5) но 2.3.6.ds1-13etch7 уже установлен
    E: Неудовлетворённые зависимости. Попытайтесь использовать -f.</computeroutput>

en: A courageous administrator who is certain of the correctness of their analysis may choose to ignore a dependency or conflict and use the corresponding <literal>--force-*</literal> option. In this case, if they want to be able to continue to use <command>apt</command> or <command>aptitude</command>, they must edit <filename>/var/lib/dpkg/status</filename> to delete/modify the dependency, or conflict, that they chose to override.
ru-RU: Бесстрашные администраторы, уверенные в правильности своего анализа ситуации, могут проигнорировать предупреждение о проблеме зависимостями или конфликте, используя соответствующую опцию <literal>--force-*</literal>. В этом случае, если необходимо продолжать использовать <command>apt</command> или <command>aptitude</command>, нужно отредактировать <filename>/var/lib/dpkg/status</filename> и удалить/изменить зависимость или конфликт.

en: Removal and purge of the <emphasis role="pkg">debian-cd</emphasis> package
ru-RU: Полное удаление пакета <emphasis  role="pkg">debian-cd</emphasis>

en: Querying <command>dpkg</command>'s Database and Inspecting <filename>.deb</filename> Files
ru-RU: Запросы к базе данных <command>dpkg</command> и анализ файлов <filename>.deb</filename>

en: <primary>package</primary><secondary>status</secondary>
ru-RU: <primary>пакет</primary><secondary>статус</secondary>

en: <primary>package</primary><secondary>file list</secondary>
ru-RU: <primary>пакет</primary><secondary>список файлов</secondary>

en: <primary>package</primary><secondary>content inspection</secondary>
ru-RU: <primary>пакет</primary><secondary>проверка содержимого</secondary>

en: <emphasis>BACK TO BASICS</emphasis> Option syntax
ru-RU: <emphasis>К ОСНОВАМ</emphasis> Синтаксис опций команд

en: Most options are available in a “long” version (one or more relevant words, preceded by a double dash) and a “short” version (a single letter, often the initial of one word from the long version, and preceded by a single dash). This convention is so common that it is a POSIX standard.
ru-RU: Для большинста опций существуют «длинные» (одно или несколько слов, перед которыми ставится двойной дефис) и «короткие» варианты (одна буква, часто первая буква «длинного» варианта, после одного дефиса). Это соглашение так распространено, что уже является стандартом POSIX.

en: Various queries with <command>dpkg</command>
ru-RU: Получение информации с помощью <command>dpkg</command>

en: <emphasis>GOING FURTHER</emphasis> Comparison of versions
ru-RU: <emphasis>УГЛУБЛЯЕМСЯ</emphasis> Сравнение версий

en: <primary>version, comparison</primary>
ru-RU: <primary>версия, сравнение</primary>

en: <primary>comparison of versions</primary>
ru-RU: <primary>сравнение версий</primary>

en: Since <command>dpkg</command> is the program for handling Debian packages, it also provides the reference implementation of the logic of comparing version numbers. This is why it has a <literal>--compare-versions</literal> option, usable by external programs (especially configuration scripts executed by <command>dpkg</command> itself). This option requires three parameters: a version number, a comparison operator, and a second version number. The different possible operators are <literal>lt</literal> (strictly less than), <literal>le</literal> (less than or equal to), <literal>eq</literal> (equal), <literal>ne</literal> (not equal), <literal>ge</literal> (greater than or equal to), and <literal>gt</literal> (strictly greater than). If the comparison is correct, <command>dpkg</command> returns 0 (success); if not, it gives a non-zero return value (indicating failure).
ru-RU: Так как <command>dpkg</command> является программой для работы с пакетами Debian, она, помимо всего прочего, содержит эталонную реализацию логики сравнения номеров версий. Поэтому у неё есть опция <literal>--compare-versions</literal>, используемая внешними программами (главным образом — сценариями настройки, запускаемыми самой <command>dpkg</command>). Для этой опции требуются три параметра: номер версии, оператор сравнения и второй номер версии. Допустимые операторы сравнения — <literal>lt</literal> (строго меньше), <literal>le</literal> (меньше или равна), <literal>eq</literal> (равна), <literal>ne</literal> (не равна), <literal>ge</literal> (больше или равна), и <literal>gt</literal> (строго больше). Если сравнение верно, <command>dpkg</command> возвращает 0 (успех), если нет, то ненулевое значение (признак ошибки).

en: Note the unexpected failure of the last comparison: for <command>dpkg</command>, <literal>pre</literal>, usually denoting a pre-release, has no particular meaning, and this program compares the alphabetic characters in the same way as the numbers (a &lt; b &lt; c ...), in alphabetical order. This is why it considers “<literal>0pre3</literal>” to be greater than “<literal>0</literal>”. When we want a package's version number to indicate that it is a pre-release, we use the tilde character, “<literal>~</literal>”:
ru-RU: Обратите внимание на неожиданный сбой последнего сравнения: для <command>dpkg</command> буквы <literal>pre</literal>, обозначающие, как правило, предварительный выпуск, не имеет никакого особого значения, и буквенные символы сравниваются таким же образом, как и числа (a &lt; b &lt; c ...), в алфавитном порядке. Именно поэтому <command>dpkg</command> считает, что «<literal>0pre3</literal>» больше, чем «<literal>0</literal>». При необходимости указать в номере версии, что она относится к предварительному выпуску, используется символ тильды «<literal>~</literal>»:

en: <command>dpkg</command>'s Log File
ru-RU: Файл журнала <command>dpkg</command>

en: <command>dpkg</command> keeps a log of all of its actions in <filename>/var/log/dpkg.log</filename>. This log is extremely verbose, since it details every one of the stages through which packages handled by <command>dpkg</command> go. In addition to offering a way to track dpkg's behavior, it helps, above all, to keep a history of the development of the system: one can find the exact moment when each package has been installed or updated, and this information can be extremely useful in understanding a recent change in behavior. Additionally, all versions being recorded, it is easy to cross-check the information with the <filename>changelog.Debian.gz</filename> for packages in question, or even with online bug reports.
ru-RU: <command>dpkg</command> сохраняет журнал всех своих действий в <filename>/var/log/dpkg.log</filename>. Этот журнал чрезвычайно подробный: в нём задокументированы все этапы обработки пакетов <command>dpkg</command>. Этот журнал помогает не только отследить поведение dpkg, но и сохранить историю изменений в системе:  можно найти точный момент, когда каждый пакет был установлен или обновлён, и эта информация может быть чрезвычайно полезной при выяснении причин изменения поведения системы в целом. Кроме того, ведётся запись информации обо всех версиях, и её легко сверить с <filename>changelog.Debian.gz</filename> из соответствующего пакета или с отчётами об ошибках онлайн.

en: Multi-Arch Support
ru-RU: Поддержка мультиархитектуры

en: <primary>Multi-Arch</primary>
ru-RU: <primary>мультиархитектура</primary>

en: <primary>architecture</primary><secondary>multi-arch support</secondary>
ru-RU: <primary>архитектура</primary><secondary>поддержка мультиархитектуры</secondary>

en: All Debian packages have an <literal>Architecture</literal> field in their control information. This field can contain either “<literal>all</literal>” (for packages that are architecture independent) or the name of the architecture that it targets (like “amd64”, “armhf”, …). In the latter case, by default, <command>dpkg</command> will only accept to install the package if its architecture matches the host's architecture as returned by <command>dpkg --print-architecture</command>.
ru-RU: Все пакеты Debian имеют поле <literal>Architecture</literal> в своих метаданных. Это поле может содержать либо значение «<literal>all</literal>» (для пакетов, которые не зависят от архитектуры), либо название конкретной архитектуры, для которой пакет предназначен (например «amd64», «armhf», …). В последнем случае <command>dpkg</command> по умолчанию допустит установку пакета только в том случае, если его архитектура соответствует архитектуре системы, возвращаемой <command>dpkg --print-architecture</command>.

en: This restriction ensures that users do not end up with binaries compiled for an incorrect architecture. Everything would be perfect except that (some) computers can run binaries for multiple architectures, either natively (an “amd64“ system can run “i386” binaries) or through emulators.
ru-RU: Это ограничение гарантирует, что в системе не окажется двоичных файлов, скомпилированных для неправильной архитектуры. Всё было бы прекрасно, но на (некоторых) компьютерах можно запускать двоичные файлы для разных архитектур, нативно (к примеру, на системах «amd64» работают двоичные файлы для «i386») или через эмуляторы.

en: Enabling Multi-Arch
ru-RU: Включение мультиархитектуры

en: <command>dpkg</command>'s multi-arch support allows users to define “foreign architectures” that can be installed on the current system. This is simply done with <command>dpkg --add-architecture</command> like in the example below. There is a corresponding <command>dpkg --remove-architecture</command> to drop support of a foreign architecture, but it can only be used when no packages of this architecture remain.
ru-RU: Поддержка мультиархитектуры <command>dpkg</command> позволяет определять «чужеродные архитектуры», которые могут быть установлены в данной системе. Это легко сделать с помощью <command>dpkg --add-architecture</command>, как показано в примере ниже. Существует и соответствующая команда <command>dpkg --remove-architecture</command> для отключения поддержки чужеродной архитектуры, но её можно использовать только в том случае, когда в системе не осталось ни одного пакета этой архитектуры.

en: <emphasis>NOTE</emphasis> APT's multi-arch support
ru-RU: <emphasis>ЗАМЕТКА</emphasis> Поддержка мультиархитектуры в APT

en: Foreign packages can then be installed with <command>apt install <replaceable>package</replaceable>:<replaceable>architecture</replaceable></command>.
ru-RU: Чужеродные пакеты можно установить при помощи команды <command>apt install <replaceable>пакет</replaceable>:<replaceable>архитектура</replaceable></command>.

en: <emphasis>IN PRACTICE</emphasis> Using proprietary i386 binaries on amd64
ru-RU: <emphasis>НА ПРАКТИКЕ</emphasis> Использование собственнических двоичных файлов i386 в системах amd64

en: Multi-Arch Related Changes
ru-RU: Изменения, связанные с мультиархитектурой

en: It is worth noting that <literal>Multi-Arch: same</literal> packages must have their names qualified with their architecture to be unambiguously identifiable. They also have the possibility to share files with other instances of the same package; <command>dpkg</command> ensures that all packages have bit-for-bit identical files when they are shared. Last but not least, all instances of a package must have the same version. They must thus be upgraded together.
ru-RU: Стоит отметить, что для пакетов с полем <literal>Multi-Arch: same</literal> следует указывать имена с названием архитектуры, чтобы их можно было однозначно идентифицировать. Они также могут иметь общие файлы с другими экземплярами того же пакета; <command>dpkg</command> в этом случае гарантирует, что все пакеты имеют бит-в-бит идентичные общие файлы. Все экземпляры пакета должны быть одной и той же версии, так что и обновляться они должны вместе.

en: Multi-Arch support also brings some interesting challenges in the way dependencies are handled. Satisfying a dependency requires either a package marked “<literal>Multi-Arch: foreign</literal>” or a package whose architecture matches the one of the package declaring the dependency (in this dependency resolution process, architecture-independent packages are assumed to be of the same architecture than the host). A dependency can also be weakened to allow any architecture to fulfill it, with the <literal><replaceable>package</replaceable>:any</literal> syntax, but foreign packages can only satisfy such a dependency if they are marked “<literal>Multi-Arch: allowed</literal>”.
ru-RU: Поддержка мультиархитектуры также привносит некоторые интересные особенности в механизм обработки зависимосей. Для удовлетворения зависимости требуется либо пакет, помеченный «<literal>Multi-Arch: foreign</literal>», или пакет с такой же архитектурой (при разрешении зависимости архитектуро-независимые пакеты считаются имеющими ту же архитектуру, что и система). Зависимость может также быть ослаблена, чтобы позволить пакету любой архитектуры удовлетворять её, с помощью синтаксиса <literal><replaceable>пакет</replaceable>:any</literal>, но но чужеродные пакеты могут удовлетворять такую зависимость, только если они помечены «<literal>Multi-Arch: allowed</literal>».

en: Coexistence with Other Packaging Systems
ru-RU: Сосуществование с другими пакетными системами

en: Debian packages are not the only software packages used in the free software world. The main competitor is the RPM format of the Red Hat Linux distribution and its many derivatives. Red Hat is a very popular, commercial distribution. It is thus common for software provided by third parties to be offered as RPM packages rather than Debian.
ru-RU: Пакеты Debian — это не единственный формат пакетов, используемый в мире свободного ПО. Основным конкурентом является формат RPM из дистрибутива Red Hat Linux и его многочисленных производных. Red Hat — очень популярный коммерческий дистрибутив. Поэтому программное обеспечение, предоставяемое третьими сторонами, как правило распространяется в виде пакетов RPM, а не Debian.

en: In this case, you should know that the program <command>rpm</command>, which handles RPM packages, is available as a Debian package, so it is possible to use this package format on Debian. Care should be taken, however, to limit these manipulations to extract the information from a package or to verify its integrity. It is, in truth, unreasonable to use <command>rpm</command> to install an RPM on a Debian system; RPM uses its own database, separate from those of native software (such as <command>dpkg</command>). This is why it is not possible to ensure a stable coexistence of two packaging systems.
ru-RU: Столкнувшись с такой ситуацией, важно знать, что программа <command>rpm</command>, работающая с RPM-пакетами, доступна в виде пакета Debian, что делает возможным использование этого формата пакетов в Debian. Но нужно быть крайне осторожным и ограничиться такими операциями, как получение информации о пакете или проверка его целостности. Устанавливать пакеты RPM с помощью <command>rpm</command> в Debian неблагоразумно; RPM использует свою собственную базу данных, отличную от используемой «родным» ПО (таким как <command>dpkg</command>). По этой причине невозможно гарантировать стабильное сосуществование двух пакетных систем.

en: On the other hand, the <emphasis role="pkg">alien</emphasis> utility can convert RPM packages into Debian packages, and vice versa.
ru-RU: С другой стороны, утилита <emphasis role="pkg">alien</emphasis> может преобразовывать пакеты RPM в Debian и наоборот.

en: <emphasis>COMMUNITY</emphasis> Encouraging the adoption of <filename>.deb</filename>
ru-RU: <emphasis>СООБЩЕСТВО</emphasis> Поощрение внедрения <filename>.deb</filename>

en: You will find that this process is extremely simple. You must know, however, that the package generated does not have any dependency information, since the dependencies in the two packaging formats don't have systematic correspondence. The administrator must thus manually ensure that the converted package will function correctly, and this is why Debian packages thus generated should be avoided as much as possible. Fortunately, Debian has the largest collection of software packages of all distributions, and it is likely that whatever you seek is already in there.
ru-RU: Как вы можете убедиться, тут нет ничего сложного. Не забывайте, однако, что созданный пакет не содержит никакой информацию о зависимостях, поскольку зависимости в двух форматах пакетов не имеют строгого соответствия друг другу. Поэтому администратору придется вручную проверить работоспособность преобразованного пакета, и это является главной причиной, по которой следует избегать использования полученных таким образом пакетов Debian. К счастью, в репозиторях Debian находится самый большой набор пакетов программного обеспечения, и скорее всего то, что вы ищете, там уже есть.

en: Looking at the man page for the <command>alien</command> command, you will also note that this program handles other packaging formats, especially the one used by the Slackware distribution (it is made of a simple <filename>tar.gz</filename> archive).
ru-RU: Заглянув на страницу man команды <command>alien</command>, вы заметите, что эта программа может работать и с другими форматами пакетов, в частности с используемым в дистрибутиве Slackware (там используются самые обычные архивы <filename>tar.gz</filename>).

en: The stability of the software deployed using the <command>dpkg</command> tool contributes to Debian's fame. The APT suite of tools, described in the following chapter, preserves this advantage, while relieving the administrator from managing the status of packages, a necessary but difficult task.
ru-RU: Debian славится стабильностью программного обеспечения, развёрнутого инструментом <command>dpkg</command>. Набор инструментов APT, который будет рассмотрен в следующей главе, сохраняет это достоинство, при этом освобождая админстратора от управления состоянием пакетов — необходимой, но сложной задачи.
