0 - en to pt-BR translation catalogue (222 entries)

en: Binary package
pt-BR: Pacote Binário

en: Source package
pt-BR: Pacote fonte

en: dependencies
pt-BR: dependências

en: conflict
pt-BR: conflitos

en: Packaging System: Tools and Fundamental Principles
pt-BR: Sistema de Pacotes: Ferramentas e Princípios Fundamentais

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.
pt-BR: Como um administrador de sistemas Debian, você rotineiramente manipula pacotes <filename>.deb</filename>, já que eles contêm unidades funcionais consistentes (aplicações, documentação, etc.), cujas instalação e manutenção eles facilitam. Logo é uma boa ideia saber exatamente o que são e como usá-los.

en: This chapter describes the structure and contents of “binary” and “source” packages. The former are files directly usable by <command>dpkg</command>, while the latter contain the source code, as well as instructions for building binary packages.
pt-BR: Este capítulo descreve a estrutura e conteúdo dos pacotes "binários" e "fontes". Os primeiros são arquivos diretamente usáveis pelo <command>dpkg</command>, enquanto os segundos contém o código fonte, assim como as instruções para construir os pacotes binários.

en: Structure of a Binary Package
pt-BR: Estrutura de um Pacote Binário

en: <primary>package</primary><secondary>binary package</secondary><seealso><filename>.deb</filename></seealso>
pt-BR: <primary>pacote</primary><secondary>pacote binário</secondary><seealso><filename>.deb</filename></seealso>

en: The Debian package format is designed so that its content may be extracted on any Unix system that has the classic commands <command>ar</command>, <command>tar</command>, and <command>xz</command> or sometimes <command>gzip</command> or <command>bzip2</command>. This seemingly trivial property is important for portability and disaster recovery.
pt-BR: O formato do pacote Debian foi projetado para que seu conteúdo possa ser extraído em qualquer sistema Unix que contenha os clássicos comandos <command>ar</command>, <command>tar</command> e <command>xz</command> ou às vezes <command>gzip</command> ou <command>bzip2</command>. Esta característica aparentemente trivial é importante para a portabilidade e recuperação de desastres.

en: Imagine, for example, that you mistakenly deleted the <command>dpkg</command> program, and that you could thus no longer install Debian packages. <command>dpkg</command> being a Debian package itself, it would seem your system would be done for... Fortunately, you know the format of a package and can therefore <ulink url="https://www.debian.org/distrib/packages#search_packages">download</ulink> the <filename>.deb</filename> file of the <emphasis role="pkg">dpkg</emphasis> package and install it manually (see sidebar <xref linkend="sidebar.dpkg-apt-ar" />). If by some misfortune one or more of the programs <command>ar</command>, <command>tar</command> or <command>gzip</command>/<command>xz</command>/<command>bzip2</command> have disappeared, you will only need to copy the missing program from another system (since each of these operates in a completely autonomous manner, without dependencies, a simple copy will suffice). If your system suffered some even more outrageous fortune, and even these don't work (maybe the deepest system libraries are missing?), you should try the static version of <command>busybox</command> (provided in the <emphasis role="pkg">busybox-static</emphasis> package), which is even more self-contained, and provides subcommands such as <command>busybox ar</command>, <command>busybox tar</command> and <command>busybox xz</command>.
pt-BR: Imagine, por exemplo, que você apagou acidentalmente o programa <command>dpkg</command>, e que portanto você não pode mais instalar pacotes Debian. O <command>dpkg</command> sendo um pacote Debian em si, ao que parece seu sistema seria feito por... Felizmente, você conhece o formato de um pacote e pode então <ulink url="https://www.debian.org/distrib/packages#search_packages">baixar</ulink> o arquivo <filename>.deb</filename> do pacote <emphasis role="pkg">dpkg</emphasis> e instalar ele manualmente (veja a barra lateral sidebar <xref linkend="sidebar.dpkg-apt-ar" />) . Se por algum infortúnio um ou mais dos programas <command>ar</command>, <command>tar</command> ou <command>gzip</command>/<command>xz</command>/<command>bzip2</command> tenham sumido, você só precisa copiar o programa faltoso de outro sistema (já que qualquer um destes opera de modo totalmente autônomo, sem dependências, uma simples cópia será suficiente). Se o seu sistema sofreu um desfortúnio ainda mais ultrajante, e mesmo esses não funcionam (talvez o sistema de bibliotecas mais profundo esteja faltando?), você deve tentar a versão estática do <command>busybox</command> (fornecido pelo pacote <emphasis role="pkg">busybox-static</emphasis>), a qual é ainda mais autossuficiente, e provê sub comandos tais como <command>busybox ar</command>, <command>busybox tar</command> e <command>busybox xz</command>.

en: <emphasis>In case of a misfortune you better also have a backup of your system (see <xref linkend="sect.backup" />).</emphasis>
pt-BR: <emphasis>Em case de desgraça é melhor você ter um backup de seu sistema (see <xref linkend="sect.backup" />).</emphasis>

en: <emphasis>TOOLS</emphasis> <command>dpkg</command>, <command>APT</command> and <command>ar</command>
pt-BR: <emphasis>FERRAMENTAS</emphasis> <command>dpkg</command>, <command>APT</command> e <command>ar</command>

en: <command>dpkg</command> is the program that handles <filename>.deb</filename> files (binary packages), notably extracting, analyzing, and unpacking them.
pt-BR: <command>dpkg</command> é um programa que manipula arquivos <filename>.deb</filename> (pacotes binários), principalmente extraindo, analisando, e desempacotando os mesmos.

en: <acronym>APT</acronym> (the abbreviation of "Advanced Packaging Tool") is a group of programs that allows the execution of higher-level modifications to the system: installing or removing a package (while keeping dependencies satisfied), updating and upgrading the system, listing the available packages, etc.
pt-BR: <acronym>APT</acronym> (abreviação de "Advanced Packaging Tool" - "Ferramenta de Empacotamento Avançada") é um conjunto de programas que permite a execução alto nível de modificações no sistema: instalar ou remover pacotes (mantendo as dependências satisfeitas), atualizar o sistema, listar pacotes disponíveis, etc.

en: <primary>unpacking</primary><secondary>binary package</secondary>
pt-BR: <primary>desempacotando</primary><secondary>pacote binário</secondary>

en: <emphasis>BACK TO BASICS</emphasis> Man page notation
pt-BR: <emphasis>DE VOLTA AO BÁSICO</emphasis> Notação de páginas de manual

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.
pt-BR: Pode ser confuso para iniciantes encontrar referências ao “<citerefentry><refentrytitle>ar</refentrytitle><manvolnum>1</manvolnum></citerefentry>” na literatura. Isto é geralmente uma forma conveniente de se referir à página man intitulada <literal>ar</literal> na seção 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>.
pt-BR: Algumas vezes esta notação é também usada para remover ambiguidades, por exemplo para distinguir entre o comando <command>printf</command> que pode ser indicado por <citerefentry><refentrytitle>printf</refentrytitle><manvolnum>1</manvolnum></citerefentry> e a função <function>printf</function> da linguagem de programação C, que pode ser indicada por <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" />).
pt-BR: <xref linkend="solving-problems" /> discute as páginas de manual em muito mais detalhes (veja em <xref linkend="sect.manual-pages" />).

en: Have a look at the content of a <filename>.deb</filename> file:
pt-BR: Dê uma olhada no conteúdo de um arquivo <filename>.deb</filename>:

en: As you can see, the <command>ar</command> archive of a Debian package is comprised of three files:
pt-BR: Como você pode ver, o arquivo <command>ar</command> de um pacote Debian é composto de três arquivos:

en: This archive file contains all of the available meta-information, like the name and version of the package as well as some scripts to run before, during or after (un-)installation of it. Some of the meta-information allows package management tools to determine if it is possible to install or uninstall it, for example according to the list of packages already on the machine, and if files shipped have been modified locally.
pt-BR: Este arquivamento contém todas as meta-informações disponíveis, como o nome e a versão do pacote. Algumas destas meta-informações servem para que as ferramentas de gestão de pacotes determinem se é possível instalar e desinstalar o pacote, por exemplo, de acordo com a lista de pacotes já instalados na máquina.

en: This archive contains all of the files to be extracted from the package; this is where the executable files, libraries, documentation, etc., are all stored. Packages may use different compression formats, in which case the file will be named differently for <command>xz</command>, <command>bzip2</command> or <command>gzip</command>.
pt-BR: Este arquivamento contém todos os arquivos para serem extraídos do pacote; é onde os arquivos executáveis, documentação, etc, estão todos estocados. Pacotes podem usar outros formatos de compressão, e neste caso o arquivo terá um nome diferente para <command>xz</command>, <command>bzip2</command> or <command>gzip</command>.

en: Package Meta-Information
pt-BR: Metainformação do Pacote

en: <primary>package meta-information</primary><seealso>meta-information</seealso>
pt-BR: <primary>meta-informação de pacote</primary><seealso>meta-informação</seealso>

en: <primary>package</primary><secondary>meta-information</secondary>
pt-BR: <primary>pacote</primary><secondary>meta-informação</secondary>

en: <primary>package</primary><secondary>maintainer scripts</secondary>
pt-BR: <primary>pacote</primary><secondary>scripts de mantenedor</secondary>

en: <primary>package</primary><secondary>checksums</secondary>
pt-BR: <primary>pacote</primary><secondary>checksums</secondary>

en: Description: the <filename>control</filename> File
pt-BR: Descrição: O arquivo <filename>control</filename>

en: <primary>package meta-information</primary>
pt-BR: <primary>metainformação do pacote</primary>

en: <primary>package</primary><secondary><filename>control</filename></secondary>
pt-BR: <primary>pacote</primary><secondary><filename>control</filename></secondary>

en: <primary><filename>control</filename></primary><seealso>package meta-information</seealso>
pt-BR: <primary><filename>control</filename></primary><seealso>meta-informação de pacote</seealso>

en: This file uses a structure similar to email headers (as defined by <link linkend="sidebar.rfc">RFC 2822</link>) and is fully described in the Debian Policy and the manual pages <citerefentry><refentrytitle>deb-control</refentrytitle><manvolnum>5</manvolnum></citerefentry> and <citerefentry><refentrytitle>deb822</refentrytitle><manvolnum>5</manvolnum></citerefentry>. <ulink type="block" url="https://www.debian.org/doc/debian-policy/ch-controlfields.html" />
pt-BR: Este arquivo usa uma estrutura similar aos cabeçalhos de email (como definido pela <link linkend="sidebar.rfc">RFC 2822</link>) e é completamente descrito na Política Debian e nas páginas man <citerefentry><refentrytitle>deb-control</refentrytitle><manvolnum>5</manvolnum></citerefentry> e <citerefentry><refentrytitle>deb822</refentrytitle><manvolnum>5</manvolnum></citerefentry>. <ulink type="block" url="https://www.debian.org/doc/debian-policy/ch-controlfields.html" />

en: For example, for <emphasis role="pkg">apt</emphasis>, the <filename>control</filename> file looks like the following:
pt-BR: Por exemplo, para o <emphasis role="pkg">apt</emphasis>, o arquivo <filename>control</filename> parece com algo como:

en: <emphasis>BACK TO BASICS</emphasis> RFC — Internet standards
pt-BR: <emphasis>DE VOLTA AO BÁSICO</emphasis> RFC — Padrões da Internet

en: <acronym>RFC</acronym> is the abbreviation of “Request For Comments”. An RFC is generally a technical document that describes what will become an Internet standard. Before becoming standardized and frozen, these standards are submitted for public review (hence their name). The <acronym>IETF</acronym> (Internet Engineering Task Force) decides on the evolution of the status of these documents (proposed standard, draft standard, or standard).
pt-BR: <acronym>RFC</acronym> é a sigla de “Request For Comments” (requisitando comentários). Um RFC é geralmente um documento técnico que descreve o que se tornará um padrão de Internet. Antes de se padronizar e congelar, estes padrões são submetidos para revisão pública (por isto o nome). O <acronym>IETF</acronym> (Internet Engineering Task Force - Força-tarefa de Engenharia da Internet) decide sobre a evolução do status destes documentos (proposed standard - padrão proposto, draft standard - padrão rascunho ou standard - padrão).

en: RFC 2026 defines the process for standardization of Internet protocols. <ulink type="block" url="http://www.faqs.org/rfcs/rfc2026.html" />
pt-BR: RFC 2026 define o processo de padronização dos protocolos de Internet. <ulink type="block" url="http://www.faqs.org/rfcs/rfc2026.html" />

en: Dependencies: the <literal>Depends</literal> Field
pt-BR: Dependências: o campo <literal>Depends</literal> (depende de)

en: <primary>dependency</primary>
pt-BR: <primary>dependência</primary>

en: <primary>package</primary><secondary>dependency</secondary>
pt-BR: <primary>pacote</primary><secondary>dependência</secondary>

en: <command>&lt;&lt;</command>: less than;
pt-BR: <command>&lt;&lt;</command>: menor que;

en: <command>&lt;=</command>: less than or equal to;
pt-BR: <command>&lt;=</command>: menor ou igual que;

en: <command>=</command>: equal to (note that “<literal>2.6.1</literal>” is not equal to “<literal>2.6.1-1</literal>”);
pt-BR: <command>=</command>: igual a (obs, este “<literal>2.6.1</literal>” não é igual a “<literal>2.6.1-1</literal>”);

en: <command>&gt;=</command>: greater than or equal to;
pt-BR: <command>&gt;=</command>: maior ou igual que;

en: <command>&gt;&gt;</command>: greater than.
pt-BR: <command>&gt;&gt;</command>: maior que.

en: <primary>meta-package</primary>
pt-BR: <primary>meta-pacote</primary>

en: <emphasis>DEBIAN POLICY</emphasis> <literal>Recommends</literal>, <literal>Suggests</literal>, and <literal>Enhances</literal> fields
pt-BR: Os campos <emphasis>DEBIAN POLICY</emphasis>, <literal>Recommends</literal>, <literal>Suggests</literal> e <literal>Enhances</literal>

en: <primary>package</primary><secondary>recommendations</secondary>
pt-BR: <primary>pacote</primary><secondary>recomendações</secondary>

en: <primary>package</primary><secondary>suggestions</secondary>
pt-BR: <primary>pacote</primary><secondary>sugestões</secondary>

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.
pt-BR: Os campos <literal>Recommends</literal> e <literal>Suggests</literal> descrevem dependências que não são compulsórias. As dependências "recomendadas" (recommended), as mais importantes, melhoram consideravelmente a funcionalidade oferecida pelo pacote mas não são indispensáveis para seu funcionamento. As dependências "sugeridas" (suggested), de importância secundária, indicam que certos pacotes podem complementar e melhorar suas funcionalidades, mas é perfeitamente normal instalar o pacotes sem estas "sugestões".

en: <primary>package</primary><secondary>enhancements</secondary>
pt-BR: <primary>pacote</primary><secondary>melhorias</secondary>

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.
pt-BR: O campo <literal>Enhances</literal> também descreve uma sugestão, mas num contexto diferente. Ele é, na verdade, localizado no pacote sugerido, e não no pacote que se beneficia da sugestão. Seu interesse reside no fato de ser possível adicionar uma sugestão sem ter que modificar o pacote beneficiado. Assim, todos os extras, plugins e outras extensões de um programa podem, então, aparecer na lista de sugestões relativas ao software. Embora exista a vários anos, este último campo ainda é bastante ignorado por vários programas como o <command>apt</command> ou o <command>synaptic</command>. O objetivo é que uma sugestão feita pelo campo <literal>Enhances</literal> apareça para o usuário junto com as sugestões adicionais — encontradas no campo <literal>Suggests</literal>.

en: <emphasis>DEBIAN POLICY</emphasis> <literal>Pre-Depends</literal>, a more demanding <literal>Depends</literal>
pt-BR: <emphasis>DEBIAN POLICY</emphasis> <literal>Pre-Depends</literal>, um <literal>Depends</literal> mais exigente

en: <primary>package</primary><secondary>pre-dependency</secondary>
pt-BR: <primary>pacote</primary><secondary>pré-dependência</secondary>

en: <primary>pre-dependency</primary>
pt-BR: <primary>pré-dependência</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.
pt-BR: “Pré-dependências”, que são listadas no campo “<literal>Pre-Depends</literal>” nos cabeçalhos dos pacotes, completam as dependências normais; suas sintaxes são idênticas. Uma dependência normal indica que o pacote em questão deve ser desempacotado antes do pacote que declarou dependência. Uma pré-dependência estipula que o pacote em questão deve ser desempacotado e configurado antes da execução do script de pré-instalação do pacote declarando dependência, que é antes da sua instalação.

en: Conflicts: the <literal>Conflicts</literal> field
pt-BR: Conflicts: o campo <literal>Conflicts</literal>

en: <primary>package</primary><secondary>conflict</secondary>
pt-BR: <primary>pacote</primary><secondary>conflito</secondary>

en: The <literal>Conflicts</literal> field indicates when a package cannot be installed simultaneously with another. The most common reasons for this are that both packages include a file of the same name and path, or provide the same service on the same TCP port, or would hinder each other's operation.
pt-BR: O campo <literal>Conflicts</literal> indica quando um pacote não pode ser instalado simultaneamente com outro. As razões mais comuns para isto é que ambos os pacotes incluem um arquivo de mesmo nome e caminho, ou fornecem o mesmo serviço na mesma porta TCP, ou vão atrapalhar a operação um do outro.

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.
pt-BR: O <command>dpkg</command> vai se recusar a instalar um pacote se ele iniciar um conflito com um pacote já instalado, a menos que o novo pacote especifique que ele "substitui" o pacote instalado, e neste caso o <command>dpkg</command> vai escolher substituir o pacote antigo pelo novo. O <command>apt</command> sempre vai seguir suas instruções: se você escolher instalar um novo pacote, ele vai automaticamente se oferecer para desinstalar o pacote que apresentar um problema.

en: Incompatibilities: the <literal>Breaks</literal> Field
pt-BR: Incompatibilidades: o campo <literal>Breaks</literal>

en: <primary>incompatibilities</primary>
pt-BR: <primary>incompatibilidades</primary>

en: <primary>package</primary><secondary>incompatibility</secondary>
pt-BR: <primary>pacote</primary><secondary>incompatibilidade</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.
pt-BR: O campo <literal>Breaks</literal> tem um efeito similar ao do campo <literal>Conflicts</literal>, mas com um significado especial. Ele assinala que a instalação de um pacote vai "quebrar" outro pacote (ou versões específicas dele). Em geral, esta incompatibilidade entre dois pacotes é transitória, e a relação <literal>Breaks</literal> se refere especificamente a estas versões incompatíveis.

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).
pt-BR: O <command>dpkg</command> vai se recusar a instalar um pacote que quebra um pacote já instalado, e o <command>apt</command> vai tentar resolver o problema atualizando o pacote que vai ser quebrado para uma nova versão (que se espera que tenha sido corrigida, logo, voltou a ser compatível).

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.
pt-BR: Este tipo de situação pode ocorrer no caso de atualizações sem retrocompatibilidade: este é o caso se a nova versão não funciona mais com a versão antiga, e causa um mal funcionamento em outro programa sem fazer "provisões especiais". O campo <literal>Breaks</literal> evita que o usuário se ponha nestes tipos de problemas.

en: Provided Items: the <literal>Provides</literal> Field
pt-BR: Itens fornecidos: o campo <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.
pt-BR: Este campo introduz o interessante conceito de "pacote virtual". Ele tem muitos papéis, mas dois são de especial importância. O primeiro consiste em usar um pacote virtual para associar um serviço genérico com ele (o pacote "fornece" o serviço). O segundo indica que um pacote substitui completamente o outro, e que para este propósito ele também pode satisfazer as dependências que o outro satisfaz. É também possível criar um pacote de substituição sem ter que usar o mesmo nome de pacote.

en: <emphasis>VOCABULARY</emphasis> Meta-package and virtual package
pt-BR: <emphasis>VOCABULARY</emphasis> Meta-pacote e pacote virtual

en: <primary>package</primary><secondary>virtual package</secondary>
pt-BR: <primary>pacote</primary><secondary>pacote virtual</secondary>

en: <primary>virtual package</primary>
pt-BR: <primary>pacote virtual</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.
pt-BR: É essencial distinguir claramente meta-pacotes de pacotes virtuais. Os primeiros são pacotes reais (incluindo arquivos <filename>.deb</filename> reais), cujo único propósito é expressar dependências.

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.).
pt-BR: Pacotes virtuais, por outro lado, não existem fisicamente; eles são simplesmente um meio de identificar pacotes reais baseado em critérios lógicos, comuns (serviço fornecido, compatibilidade com um programa padrão ou um pacote preexistente, etc.).

en: Providing a “Service”
pt-BR: Fornecendo um “Serviço”

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.
pt-BR: Vamos discutir o primeiro caso em maiores detalhes com um exemplo: Dizemos que todos os servidores de e-mail, como o <emphasis role="pkg">postfix</emphasis> ou o <emphasis role="pkg">sendmail</emphasis> "fornecem" o pacote virtual <emphasis role="pkg">mail-transport-agent</emphasis>. Então, qualquer pacote que precise deste serviço para ser funcional (e.g. um gerenciador de lista de e-mail, como o <emphasis role="pkg">smartlist</emphasis> ou o <emphasis role="pkg">sympa</emphasis>) simplesmente afirma nas suas dependências que ele precisa de um <emphasis role="pkg">mail-transport-agent</emphasis> ao invés de especificar uma grande porém incompleta lista de possíveis soluções (e.g. <command>postfix | sendmail | exim4 | …</command>). Além disso, é inútil instalar dois servidores de e-mail na mesma máquina, sendo por isso que cada um destes pacotes declara um conflito com o pacote virtual <emphasis role="pkg">mail-transport-agent</emphasis>. Um conflito entre um pacote e ele próprio é ignorado pelo sistema, mas esta técnica irá proibir a instalação de dois servidores de e-mail lado a lado.

en: <emphasis>DEBIAN POLICY</emphasis> List of virtual packages
pt-BR: <emphasis>DEBIAN POLICY</emphasis> Lista de pacotes virtuais

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.
pt-BR: Para que pacotes virtuais sejam úteis, todos têm que concordar com seus nomes. É por isto que eles são padronizados na Política Debian. A lista inclui entre outros <emphasis role="pkg">mail-transport-agent</emphasis> para servidores de e-mail, <emphasis role="pkg">c-compiler</emphasis> para compiladores de linguagem C, <emphasis role="pkg">www-browser</emphasis> para navegadores web, <emphasis role="pkg">httpd</emphasis> para servidores web, <emphasis role="pkg">ftp-server</emphasis> para servidores FTP, <emphasis role="pkg">x-terminal-emulator</emphasis> para emuladores de terminal em modo gráfico (<command>xterm</command>) e <emphasis role="pkg">x-window-manager</emphasis> para gerenciadores de janelas.

en: Interchangeability with Another Package
pt-BR: "Interchangeability" com outro pacote

en: Use of a <literal>Provides</literal> field in order to not break dependencies
pt-BR: Uso de um campo <literal>Provides</literal> para não quebrar dependências

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.
pt-BR: Esta funcionalidade é muito útil, já que nunca é possível antecipar os caprichos do desenvolvimento, e é preciso poder se renomear, e fazer outras substituições automáticas, de software obsoleto.

en: <emphasis>BACK TO BASICS</emphasis> Perl, a programming language
pt-BR: <emphasis>DE VOLTA AO BÁSICO</emphasis> Perl, uma linguagem de programação

en: <primary>CPAN</primary><seealso>Comprehensive Perl Archive Network</seealso>
pt-BR: <primary>CPAN</primary><seealso>Comprehensive Perl Archive Network (rede de arquivamentos Perl geral)</seealso>

en: Perl (Practical Extraction and Report Language) is a very popular programming language. It has many ready-to-use modules that cover a vast spectrum of applications, and that are distributed by the <acronym>CPAN</acronym> (Comprehensive Perl Archive Network) servers, an exhaustive network of Perl packages. <ulink type="block" url="https://www.perl.org/" /> <ulink type="block" url="https://www.cpan.org/" />
pt-BR: Perl (Practical Extraction and Report Language) é uma linguagem de programação muito popular. Ela tem muitos módulos prontos-para-usar que cobrem um vasto espectro de aplicações e que são distribuídas pelos servidores <acronym>CPAN</acronym> (Comprehensive Perl Archive Network), uma ampla rede de pacotes Perl. <ulink type="block" url="https://www.perl.org/" /> <ulink type="block" url="https://www.cpan.org/" />

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”.
pt-BR: Como é uma linguagem interpretada, um programa escrito em Perl não precisa de compilação antes da execução. É por isto que são chamados "scripts Perl".

en: Past Limitations
pt-BR: Limitações Antigas

en: Replacing Files: The <literal>Replaces</literal> Field
pt-BR: Substituindo arquivos: o campo <literal>Replaces</literal>

en: <primary>replacement</primary>
pt-BR: <primary>substituição</primary>

en: <primary>package</primary><secondary>replacement</secondary>
pt-BR: <primary>pacote</primary><secondary>substituição</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.
pt-BR: O uso deste campo é justificado quando os nomes dos pacotes mudam ou quando um pacote é incluído em outro. Também acontece quando o mantenedor decide distribuir arquivos diferentes entre vários pacotes binários produzidos a partir do mesmo fonte: um arquivo substituído não pertence mais ao pacote antigo, mas apenas ao novo.

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.
pt-BR: Se todos os arquivos num pacote instalado foram substituídos, o pacote é considerado "a ser removido". Finalmente, este campo também encoraja o <command>dpkg</command> a remover o pacote substituído onde existir conflito.

en: <emphasis>GOING FURTHER</emphasis> The <literal>Tag</literal> field
pt-BR: <emphasis>INDO ALÉM</emphasis> O campo <literal>Tag</literal>

en: Configuration Scripts
pt-BR: Scripts de Configuração

en: <emphasis>GOING FURTHER</emphasis> <command>dpkg</command>'s database
pt-BR: <emphasis>INDO ALÉM</emphasis> banco de dados do <command>dpkg</command>

en: <primary>dpkg</primary><secondary>database</secondary>
pt-BR: <primary>dpkg</primary><secondary>banco de dados</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.
pt-BR: Todos os scripts de configuração para pacotes instalados são armazenados no diretório <filename>/var/lib/dpkg/info/</filename>, na forma de um arquivo prefixado com o nome do pacote. Este diretório também inclui um arquivo com a extensão <filename>.list</filename> para cada pacote, contendo a lista de arquivos que pertencem a este pacote.

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.
pt-BR: O arquivo <filename>/var/lib/dpkg/status</filename> contém uma série de blocos de dados (no formato dos famosos mail headers, RFC 2822) descrevendo o status de cada pacote. A informação do arquivo <filename>control</filename> dos pacotes instalados é duplicada aqui.

en: In general, the <filename>preinst</filename> script is executed prior to installation of the package, while <filename>postinst</filename> follows it. Likewise, <filename>prerm</filename> is invoked before removal of a package and <filename>postrm</filename> afterwards. An update of a package is equivalent to removal of the previous version and installation of the new one. It is not possible to describe in detail all the possible scenarios here, but we will discuss the most common two: an installation/update and a removal.
pt-BR: Em geral, o script <filename>preinst</filename> é executado antes da instalação do pacote, enquanto que o <filename>postinst</filename> é logo depois. Da mesma forma, o <filename>prerm</filename> é chamado antes da remoção de um pacote e o <filename>postrm</filename> depois. Uma atualização de um pacote é equivalente à remoção da versão anterior e a instalação do novo. Não é possível descrever em detalhes todos os cenários possíveis aqui, mas vamos discutir os dois mais comuns: uma instalação/atualização e uma remoção.

en: <emphasis>CAUTION</emphasis> Symbolic names of the scripts
pt-BR: <emphasis>ATENÇÃO</emphasis> nomes simbólicos dos scripts

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).
pt-BR: As sequências descritas nesta seção chamam scripts de configuração por nomes específicos, como <command>old-prerm</command> ou <command>new-postinst</command>. Eles são, respectivamente, o script <command>prerm</command> contido na versão antiga do pacote (instalado antes da atualização) e o script <command>postinst</command> contido na nova versão (instalado pela atualização).

en: <emphasis>TIP</emphasis> State diagrams
pt-BR: <emphasis>DICA</emphasis> Diagramas de estado

en: Manoj Srivastava and Margarita Manterola made the following diagrams explaining how the configuration scripts are called by <command>dpkg</command>. <ulink type="block" url="https://people.debian.org/~srivasta/MaintainerScripts.html" /> <ulink type="block" url="https://www.debian.org/doc/debian-policy/ap-flowcharts.html" />
pt-BR: Manoj Srivastava e Margarita Manterola fizeram os seguintes diagramas explicando como os scripts de configuração são chamados pelo <command>dpkg</command>. <ulink type="block" url="https://people.debian.org/~srivasta/MaintainerScripts.html" /> <ulink type="block" url="https://www.debian.org/doc/debian-policy/ap-flowcharts.html" />

en: Installation and Upgrade
pt-BR: Instalação e upgrade (atualização)

en: <primary><command>dpkg</command></primary><secondary>internal operation</secondary>
pt-BR: <primary><command>dpkg</command></primary><secondary>operação interna</secondary>

en: <primary>package</primary><secondary>installation</secondary>
pt-BR: <primary>pacote</primary><secondary>instalação</secondary>

en: The new package files are then unpacked. If a file already exists, it is replaced, but a backup copy is temporarily made.
pt-BR: Os arquivos do novo pacote são então desempacotados, se algum arquivo já existe, ele é substituído, mas uma cópia de backup é temporariamente feita.

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.
pt-BR: <command>dpkg</command> atualiza todos os dados internos (lista de arquivos, scripts de configuração, etc.) e remove os backups dos arquivos substituídos. Este é o ponto sem volta: o <command>dpkg</command> não tem mais acesso a todos os elementos necessários para retornar ao estado anterior.

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" />.
pt-BR: O <command>dpkg</command> vai atualizar os arquivos de configuração, pedindo ao usuário para decidir se ele não for capaz de decidir tudo sozinho. Os detalhes deste procedimento são discutidos em <xref linkend="sect.conffiles" />.

en: Package Removal
pt-BR: Remoção de pacote

en: <primary>package</primary><secondary>removal</secondary>
pt-BR: <primary>pacote</primary><secondary>remoção</secondary>

en: <emphasis>VOCABULARY</emphasis> Purge, a complete removal
pt-BR: <emphasis>VOCABULARY</emphasis> Purge, remoção completa

en: <primary>purging a package</primary>
pt-BR: <primary>limpando um pacote</primary>

en: <primary>package</primary><secondary>purge</secondary>
pt-BR: <primary>pacote</primary><secondary>expurgo</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.
pt-BR: Quando um pacote Debian é removido, os arquivos de configuração são mantidos para facilitar uma possível reinstalação. Do mesmo modo, dados gerados por um serviço (como o conteúdo de um servidor de diretórios LDAP ou o banco de dados de um servidor SQL) são normalmente mantidos.

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>.
pt-BR: Para remover todos os dados associados a um pacote, é necessário fazer “purge” no pacote com o comando, <command>dpkg -P <replaceable>pacote</replaceable></command>, <command>apt-get remove --purge <replaceable>pacote</replaceable></command> ou <command>aptitude purge <replaceable>pacote</replaceable></command>.

en: Given the definitive nature of such data removals, a purge should not be taken lightly.
pt-BR: Dada a natureza definitiva de tais remoções de dados, um 'purge' não deve ser tratado de forma leviana.

en: <primary><filename>config</filename>, <command>debconf</command> script</primary>
pt-BR: <primary><filename>config</filename>, script <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.
pt-BR: Os quatro scripts detalhados acima são complementados por um script <filename>config</filename>, fornecido por pacotes usando <command>debconf</command> para adquirir informações do usuário para a configuração. Durante a instalação, este script define em detalhes as perguntas feitas pelo <command>debconf</command>. As respostas são gravadas no banco de dados do <command>debconf</command> para futura referência. O script é geralmente executado pelo <command>apt</command> antes de instalar pacotes, um a um para agrupar todas as perguntas e fazê-las todas ao usuário no começo do processo. Os scripts de pre- e pos-instalação podem então usar esta informação para operar de acordo com o que o usuário espera.

en: <emphasis>TOOL</emphasis> <command>debconf</command>
pt-BR: <emphasis>FERRAMENTA</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.
pt-BR: O <command>debconf</command> foi criado para resolver um problema recorrente no Debian. Todos os pacotes Debian que não funcionavam sem um mínimo de configuração costumavam fazer perguntas através de chamadas aos comandos <command>echo</command> e <command>read</command> em scripts shell <filename>postinst</filename> (e outros scripts similares). Mas acontecia que durante uma grande instalação ou atualização, o usuário tinha que ficar junto ao computador para responder a várias perguntas que apareciam a qualquer momento. Estas interações manuais agora foram quase que completamente dispensadas, graças à ferramenta <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.
pt-BR: O <command>debconf</command> tem muitas funcionalidades interessantes: ele pede que o desenvolvedor especifique a interação com o usuário; Ele permite localização de todas as strings de caracteres mostradas para o usuário (todas as traduções são guardadas no arquivo <filename>templates</filename> descrevendo as interações); tem modelos de visualização diferentes para apresentar as perguntas ao usuário (modo texto, modo gráfico, não-interativo); e permite a criação de um banco de dados central de respostas para compartilhar a mesma configuração com vários computadores... mas o mais importante é que agora é possível apresentar todas as perguntas de uma vez para o usuário antes de começar uma longa instalação ou atualização. O usuário pode fazer outras coisas enquanto o sistema cuida da instalação sozinho, sem ter que ficar olhando para um tela a espera da próxima pergunta.

en: <primary><filename>conffiles</filename></primary>
pt-BR: <primary><filename>arquivos conf (de configuração)</filename></primary>

en: <primary>checksums</primary>
pt-BR: <primary>somas de verificação (checksum)</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>).
pt-BR: Com efeito, nesta situação, o <command>dpkg</command> se comporta o mais inteligente possível: se o arquivo de configuração padrão não mudou entre duas versões, ele não faz nada. Se, entretanto, o arquivo mudou, ele vai tentar atualizar o arquivo. Dos casos são possíveis: ou o administrador não tocou neste arquivo de configuração, e neste caso o <command>dpkg</command> automaticamente instala a nova versão; ou o arquivo foi modificado, e neste caso o <command>dpkg</command> pergunta ao administrador qual versão ele quer usar (a antiga com modificações ou a nova que o pacote fornece). Para auxiliar nesta decisão, o <command>dpkg</command> se oferece para mostrar um “<command>diff</command>” que mostra a diferença entre as duas versões. Se o usuário escolhe manter a versão antiga, a nova vai ser armazenada na mesma localização em um arquivo com o sufixo <filename>.dpkg-dist</filename>. Se o usuário escolhe a nova versão, a antiga é mentida num arquivo com o sufixo <filename>.dpkg-old</filename>. Outra ação disponível consiste em interromper momentaneamente o <command>dpkg</command> para editar o arquivo e tentar reinstalar as modificações relevantes (previamente identificadas com o <command>diff</command>).

en: <emphasis>GOING FURTHER</emphasis> Force dpkg to ask configuration file questions
pt-BR: <emphasis>INDO ALÉM</emphasis> Forçar o dpkg a perguntar sobre arquivos de configuração

en: The <command>--force-confask</command> option requires <command>dpkg</command> to display the questions about the configuration files, even in cases where they would not normally be necessary. Thus, when reinstalling a package with this option, <command>dpkg</command> will ask the questions again for all of the configuration files modified or deleted by the administrator. This is very convenient, especially for reinstalling the original configuration file if it has been deleted and no other copy is available: a normal re-installation won't work, because <command>dpkg</command> considers removal as a form of legitimate modification, and, thus, doesn't install the desired configuration file.
pt-BR: A opção <command>--force-confask</command> pede ao <command>dpkg</command> para mostrar as perguntas sobre os arquivos de configuração, mesmo nos casos onde eles normalmente não são necessários. Portanto, quando estiver reinstalando um pacote com esta opção, o <command>dpkg</command> vai refazer as perguntas para todos os arquivos de configuração modificados ou removidos pelo administrador. Isto é bastante conveniente, especialmente para reinstalar o arquivo de configuração original se este foi apagado e nenhuma outra cópia estiver disponível: uma re-instalação normal não vai funcionar, já que o <command>dpkg</command> considera a remoção uma forma de modificação legítima, e, portanto, não instala o arquivo de configuração desejado.

en: <emphasis>GOING FURTHER</emphasis> Avoiding the configuration file questions
pt-BR: <emphasis>INDO ALÉM</emphasis> Evitando as perguntas do arquivo de configuração

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.
pt-BR: O <command>dpkg</command> cuida de atualizações de arquivos de configuração, mas enquanto faz isto, regularmente interrompe seu trabalho para pedir uma entrada do administrador. Isto não é agradável para aqueles que desejam executar atualizações de uma forma não-iterativa. É por isto que este programa oferece opções para o sistema responder automaticamente de acordo com a mesma lógica: <command>--force-confold</command> retém a versão antiga do arquivo; <command>--force-confnew</command> vai usar a nova versão do arquivo (estas escolhas são respeitadas, mesmo se o arquivo não tiver sido mudado pelo administrador, o que apenas raramente tem o efeito desejado). Adicionando a opção <command>--force-confdef</command> diz ao <command>dpkg</command> para decidir por si só quando uma escolha é apresentada (em outras palavras, quando o arquivo de configuração original não foi alterado), e apenas usa <command>--force-confnew</command> ou <command>--force-confold</command> para outros casos.

en: These options apply to <command>dpkg</command> and are explained in detail in <citerefentry><refentrytitle>dpkg</refentrytitle><manvolnum>1</manvolnum></citerefentry> or <command>dpkg --force-help</command>, but most of the time the administrator will work directly with the <command>aptitude</command> or <command>apt</command> programs. It is, thus, necessary to know the syntax used to indicate the options to pass to the <command>dpkg</command> command (their command line interfaces are very similar).
pt-BR: Estas opções se aplicam ao <command>dpkg</command> e são explicadas em detalhes no <citerefentry><refentrytitle>dpkg</refentrytitle><manvolnum>1</manvolnum></citerefentry> ou <command>dpkg --force-help</command>, mas na maioria das vezes o administrador vai trabalhar diretamente com os programas <command>aptitude</command> ou <command>apt-get</command>. É, então, necessário saber a sintaxe usada para indicar as opções passadas ao comando <command>dpkg</command> (suas interfaces em linha de comando são muito similares).

en: Including this option in the configuration file means that it will also be used in a graphical interface such as <command>aptitude</command>.
pt-BR: Ao incluir esta opção no arquivo de configuração faz com que ela possa ser usada também numa interface gráfica, como o <command>aptitude</command>.

en: Structure of a Source Package
pt-BR: Estrutura de um Pacote Fonte

en: <primary>package</primary><secondary>source package</secondary>
pt-BR: <primary>pacote</primary><secondary>pacote fonte</secondary>

en: <primary>source package</primary>
pt-BR: <primary>pacote fonte</primary>

en: Format
pt-BR: Formato

en: <primary>DSC file</primary>
pt-BR: <primary>arquivo DSC</primary>

en: A source package is usually comprised of three files, a <filename>.dsc</filename>, a <filename>.orig.tar.gz</filename>, and a <filename>.debian.tar.xz</filename> (or <filename>.diff.gz</filename>). They allow creation of binary packages (<filename>.deb</filename> files described above) from the source code files of the program, which are written in a programming language.
pt-BR: Um pacote fonte é normalmente composto de três arquivos, um <filename>.dsc</filename>, um <filename>.orig.tar.gz</filename> e um <filename>.debian.tar.xz</filename> (ou <filename>.diff.gz</filename>). Eles permitem a criação de pacotes binários (arquivos <filename>.deb</filename> descritos acima) dos arquivos de código fonte do programa, que são escritos em uma linguagem de programação.

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.
pt-BR: O arquivo <filename>.dsc</filename> (Debian Source Control) é um arquivo com um texto curto contendo um cabeçalho RFC 2822 (assim como o arquivo <filename>control</filename> estudado no <xref linkend="sect.control" />) que descreve o pacote fonte e indica quais outros arquivos são partes "thereof". É assinado pelo mantenedor, que garante autenticidade. Veja <xref linkend="sect.package-authentication" /> para mais detalhes sobre o assunto.

en: A <filename>.dsc</filename> file
pt-BR: Um arquivo <filename>.dsc</filename>

en: <primary>package</primary><secondary>build dependencies</secondary>
pt-BR: <primary>pacote</primary><secondary>dependências de construção</secondary>

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.
pt-BR: Observe que o pacote fonte também tem dependências (<literal>Build-Depends</literal>) completamente diferentes dos pacotes fonte, já que ele indicam ferramentas necessárias para a compilação do programa em questão e da construção do pacote binário.

en: <emphasis>CAUTION</emphasis> Distinct namespaces
pt-BR: <emphasis>ATENÇÃO</emphasis> espaço de nomes distinto

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.
pt-BR: É importante notar aqui que não existe correspondência obrigatória entre o nome do pacote fonte e o do(s) pacote(s) binário(s) que ele gera. Isto é fácil de perceber se você sabe que cada pacote fonte pode gerar vários pacotes binários. É por isso que o arquivo <filename>.dsc</filename> tem os campos <literal>Source</literal> e <literal>Binary</literal> para explicitamente nomear o pacote fonte e armazenar a lista de pacotes binários que ele gera.

en: <emphasis>CULTURE</emphasis> Why divide into several packages
pt-BR: <emphasis>CULTURA</emphasis> Por que dividir entre vários pacotes

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>).
pt-BR: Com frequência, um pacote fonte (para um certo programa) pode gerar vários pacotes binários. As separação é justificada pela possibilidade de usar o software (ou partes dele) em diferentes contextos. Considere uma biblioteca compartilhada, ela pode ser instalada para fazer uma aplicação funcionar (por exemplo, <emphasis role="pkg">libc6</emphasis>), ou ela pode ser instalada para desenvolver um novo programa (neste caso a <emphasis role="pkg">libc6-dev</emphasis> é o pacote correto). Encontramos a mesma lógica para serviços cliente/servidor onde queremos instalar a parte do servidos em uma máquina e a parte cliente em outras (este é o caso, por exemplo, do <emphasis role="pkg">openssh-server</emphasis> e do <emphasis role="pkg">openssh-client</emphasis>).

en: <emphasis>PERSPECTIVE</emphasis> Different source package formats
pt-BR: <emphasis>PERSPECTIVA</emphasis> Formatos de pacotes fonte diferentes

en: <primary>source package</primary><secondary>format</secondary>
pt-BR: <primary>pacote fonte</primary><secondary>formato</secondary>

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).
pt-BR: Originalmente existia apenas um formato de pacote fonte. Este é o formato <literal>1.0</literal>, que associa um arquivamento <filename>.orig.tar.gz</filename> a um patch de "debianização" <filename>.diff.gz</filename> (também existe uma variante, que consiste de um arquivamento único <filename>.tar.gz</filename>, que é usada automaticamente se nenhum <filename>.orig.tar.gz</filename> estiver disponível).

en: Since Debian 6 <emphasis role="distribution">Squeeze</emphasis>, Debian developers have the option to use new formats that correct many problems of the historical format. Format <literal>3.0 (quilt)</literal> can combine multiple upstream archives in the same source package: in addition to the usual <filename>.orig.tar.gz</filename>, supplementary <filename>.orig-<replaceable>component</replaceable>.tar.gz</filename> archives can be included. This is useful with software that is distributed in several upstream components but for which a single source package is desired. These archives can also be compressed with <command>xz</command> rather than <command>gzip</command>, which saves disk space and network resources. Finally, the monolithic patch, <filename>.diff.gz</filename> is replaced by a <filename>.debian.tar.xz</filename> archive containing the compiling instructions and a set of upstream patches contributed by the package maintainer. These last are recorded in a format compatible with <command>quilt</command> — a tool that facilitates the management of a series of patches.
pt-BR: Desde o Debian 6 <emphasis role="distribution">Squeeze</emphasis>, os Desenvolvedores Debian têm a opção de usar novos formatos que corrigem muitos problemas do formato histórico. O Formato <literal>3.0 (quilt)</literal> pode combinar vários arquivamentos do upstream num mesmo pacote fonte: adicionalmente ao usual <filename>.orig.tar.gz</filename>, arquivamentos suplementares <filename>.orig-<replaceable>componente</replaceable>.tar.gz</filename> podem ser incluídos. Isto é útil com software que é distribuído em vários componentes mas para o qual se deseja um único pacote fonte. Estes arquivamentos podem também ser comprimidos com o <command>xz</command> ao invés do <command>gzip</command>, o que economiza espaço em disco e recursos de rede. Finalmente, o patch monolítico, <filename>.diff.gz</filename> é substituído por um arquivamento <filename>.debian.tar.xz</filename> contendo as instruções de compilação e um conjunto de patches do upstream fornecido pelo mantenedor do pacote. Estes últimos são gravados num formato compatível com o <command>quilt</command> — uma ferramenta que facilita o gerenciamento de séries de patches.

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.
pt-BR: O arquivo <filename>.orig.tar.gz</filename> é um arquivo que contém o código fonte como fornecido pelo desenvolvedor oficial. Pede-se que mantenedores de pacotes Debian não modifiquem este arquivo para que possa ser fácil verificar a origem e a integridade do arquivo (simplesmente comparando com o checksum) e para respeitar o desejo de alguns autores.

en: <emphasis>TOOL</emphasis> Decompressing a source package
pt-BR: <emphasis>FERRAMENTA</emphasis> Descompactando um pacote fonte

en: <primary>decompressing, source package</primary>
pt-BR: <primary>descompactando, pacote fonte</primary>

en: <primary>uncompressing, source package</primary>
pt-BR: <primary>descomprimindo, pacote fonte</primary>

en: <primary>unpacking</primary><secondary>source package</secondary>
pt-BR: <primary>desempacotando</primary><secondary>pacote fonte</secondary>

en: <primary>source package</primary><secondary>unpacking</secondary>
pt-BR: <primary>pacote fonte</primary><secondary>desempacotando</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:
pt-BR: Se você tem um pacote fonte, pode usar o comando <command>dpkg-source</command> (do pacote <emphasis role="pkg">dpkg-dev</emphasis>) para descomprimi-lo:

en: You can also use <command>apt</command> to download a source package and unpack it right away. It requires that the appropriate <literal>deb-src</literal> lines be present in the <filename>/etc/apt/sources.list</filename> file, however (for further details, see <xref linkend="sect.apt-sources.list" />). These are used to list the “sources” of source packages (meaning the servers on which a group of source packages are hosted).
pt-BR: Você também pode usar o <command>apt</command> para baixar um pacote fonte e descompactá-lo imediatamente. Isto requer, entretanto, que as linhas <literal>deb-src</literal> apropriadas estejam presentes no arquivo <filename>/etc/apt/sources.list</filename> (para mais detalhes, veja <xref linkend="sect.apt-sources.list" />). Estas servem para lista os "fontes" dos pacotes fonte (ou seja, os servidores nos quais um grupo de pacotes fonte estão hospedados).

en: Usage within Debian
pt-BR: Uso no Debian

en: <emphasis>GOING FURTHER</emphasis> Source only maintainer uploads
pt-BR: <emphasis>INDO ALÉM</emphasis> uploads de mantenedor somente com fonte

en: Manipulating Packages with <command>dpkg</command>
pt-BR: Manipulando Pacotes com o <command>dpkg</command>

en: <command>dpkg</command> is the base command for handling Debian packages on the system. If you have <filename>.deb</filename> packages, it is <command>dpkg</command> that allows installation or analysis of their contents. But this program only has a partial view of the Debian universe: it knows what is installed on the system, and whatever it is given on the command line, but knows nothing of the other available packages. As such, it will fail if a dependency is not met. Tools such as <command>apt</command> and <command>aptitude</command>, on the contrary, will create a list of dependencies to install everything as automatically as possible.
pt-BR: O <command>dpkg</command> é o comando básico para lidar com pacotes Debian no sistema. Se você tem pacotes <filename>.deb</filename>, é com o <command>dpkg</command> que você instala ou analisa seu conteúdo. Mas este programa tem apenas uma visão parcial do universo Debian: ele sabe o que está instalado no sistema, e o que for dado na linha de comando, mas não sabe nada dos outros pacotes disponíveis. Assim, ele vai falhar se uma dependência não for satisfeita. Ferramentas como o <command>apt</command> e <command>aptitude</command>, ao contrário, criará uma lista de dependências para instalar tudo o mais automaticamente possível.

en: <emphasis>NOTE</emphasis> <command>dpkg</command> or <command>apt</command>?
pt-BR: <emphasis>NOTE</emphasis> <command>dpkg</command> ou <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.
pt-BR: <command>dpkg</command> deve ser vista como uma ferramenta de sistema (nos bastidores), e <command>apt</command> como uma ferramenta mais próxima do usuário, que supera as limitações das antigas. Estas ferramentas trabalham juntas, cada uma com suas particularidades, adequadas para tarefas específicas.

en: Installing Packages
pt-BR: Instalando pacotes

en: <primary>installation</primary><secondary>package installation</secondary>
pt-BR: <primary>instalação</primary><secondary>instalação do pacote</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.
pt-BR: <command>dpkg</command> é, principalmente, a ferramenta para instalar um pacote Debian já disponível (já que ele não baixa nada). Para isto, usamos sua opção <literal>-i</literal> ou <literal>--install</literal>.

en: Installation of a package with <command>dpkg</command>
pt-BR: Instalação de um pacote com <command>dpkg</command>

en: We can see the different steps performed by <command>dpkg</command>; we know, thus, at what point any error may have occurred. The installation can also be effected in two stages: first unpacking, then configuration. <command>apt</command> takes advantage of this, limiting the number of calls to <command>dpkg</command> (since each call is costly, due to loading of the database in memory, especially the list of already installed files).
pt-BR: Podemos ver os diferentes passos realizados pelo <command>dpkg</command>; sabemos, portanto, em qual ponto um erro ocorreu. A instalação pode também ser realizada em dois estágios: primeiro desempacotar, depois configurar. O <command>apt</command> usa isto, limitando o número de chamadas para o <command>dpkg</command> (já que cada chamada é custosa, devido à carga do banco de dados em memória, principalmente da lista de arquivos já instalados).

en: Separate unpacking and configuration
pt-BR: Desempacotando e configurando separadamente

en: <primary>package</primary><secondary>unpacking</secondary>
pt-BR: <primary>pacotes</primary><secondary>desempacotando</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:
pt-BR: Algumas vezes, o <command>dpkg</command> vai falhar ao instalar um pacote e retornar um erro; se o usuário ordenar que ele ignore isto, ele vai mostrar apenas um aviso; é por esta razão que temos as diferentes opções <literal>--force-*</literal>. O comando <command>dpkg --force-help</command>, ou a documentação deste comando, vai dar uma lista completa destas opções. O erro mais frequente, que você vai encontrar, cedo ou tarde, é colisão de arquivos. Quando um pacote contém um arquivo que já está instalado por outro pacote, o <command>dpkg</command> se recusará a instalá-lo. As seguintes mensagens vão aparecer:

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>
pt-BR: 
    <computeroutput>Desempacotando libgdm (from .../libgdm_3.8.3-2_amd64.deb) ...
    dpkg: erro processando /var/cache/apt/archives/libgdm_3.8.3-2_amd64.deb (--unpack):
     tentando sobrescrever '/usr/bin/gdmflexiserver', que também está no pacote 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.
pt-BR: Neste caso, se você pensa que se você acha que substituir este arquivo não é um risco significante à estabilidade de seu sistema (o que normalmente é o caso), você pode usar a opção <literal>--force-overwrite</literal>, que diz ao <command>dpkg</command> para ignorar este erro e sobreescrever o arquivo.

en: <emphasis>CAUTION</emphasis> Effective use of <literal>--force-*</literal>
pt-BR: <emphasis>ATENÇÃO</emphasis> Uso efetivo do <literal>--force-*</literal>

en: <primary>broken dependency</primary>
pt-BR: <primary>dependência quebrada</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>:
pt-BR: Se você não for cuidadoso, o uso de uma opção <literal>--force-*</literal> pode levar a um sistema onde a família APT de comandos vai re recusar a funcionar. Em efeito, algumas destas opções permitem a instalação de um pacote quando uma dependência não é atingida, ou quando existe um conflito. O resultado é um sistema inconsistente do ponto de vista de dependências, e os comandos APT vão se recusar a executar quaisquer ações exceto aquelas que trarão o sistema de volta a um estado consistente (isto frequentemente consiste da instalação de dependências faltando ou da remoção de um pacote problemático). Isto às vezes resulta numa mensagem como esta, obtida depois de instalar uma nova versão do <emphasis role="pkg">rdesktop</emphasis> enquanto ignora suas dependências de uma versão mais nova do <emphasis role="pkg">libc6</emphasis>:

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.
pt-BR: Um administrador corajoso que tem certeza da corretude da sua análise pode escolher ignorar uma dependência ou conflito e usar a respectiva opção <literal>--force-*</literal>. Neste caso, se ele quiser ser capaz de continuar a usar o <command>apt</command> ou o <command>aptitude</command>, ele deve editar o <filename>/var/lib/dpkg/status</filename> para apagar ou modificar a dependência, ou conflito, que ele escolher passar por cima.

en: This manipulation is an ugly hack, and should never be used, except in the most extreme case of necessity. Quite frequently, a more fitting solution is to recompile the package that is causing the problem (see <xref linkend="sect.rebuilding-package" />) or use a new version (potentially corrected) from a repository such as the <literal>stable-backports</literal> one (see <xref linkend="sect.apt-sources.list.stable.backports" />).
pt-BR: Esta manipulação é um truque feio, e nunca deve ser feito, exceto na mais extrema necessidade. Muito frequentemente, uma solução mais adequada é recompilar o pacote que está causando o problema (veja em <xref linkend="sect.rebuilding-package" />) ou use uma versão nova (provavelmente corrigida) de um repositório como o <literal>table-backports</literal> (veja em <xref linkend="sect.apt-sources.list.stable.backports" />).

en: Invoking <command>dpkg</command> with the <literal>-r</literal> or <literal>--remove</literal> option, followed by the name of a package, removes that package. This removal is, however, not complete: all of the configuration files, maintainer scripts, log files (system logs) and other user data handled by the package remain. That way disabling the program is easily done by uninstalling it, and it is still possible to quickly reinstall it with the same configuration. To completely remove everything associated with a package, use the <literal>-P</literal> or <literal>--purge</literal> option, followed by the package name.
pt-BR: Invocando o <command>dpkg</command> com a opção <literal>-r</literal> ou <literal>--remove</literal>, seguida pelo nome de um pacote, remove o pacote. Esta remoção é, entretanto, incompleta: todos os arquivos de configuração, scripts do mantenedor, arquivos de log (logs de sistema) e outros dados do usuário manipulados pelo pacote permanecem. Dessa forma, a desativação do programa é feita facilmente desinstalando-o, e ainda é possível reinstalá-lo rapidamente com a mesma configuração. Para remover completamente tudo associado a um pacote, use a opção <literal>-P</literal> ou <literal>--purge</literal>, seguida do nome do pacote.

en: Removal and purge of the <emphasis role="pkg">debian-cd</emphasis> package
pt-BR: Remoção e expurgo do pacote <emphasis role="pkg">debian-cd</emphasis>

en: Querying <command>dpkg</command>'s Database and Inspecting <filename>.deb</filename> Files
pt-BR: Consultando o banco de dados do <command>dpkg</command> e inspecionando os arquivos <filename>.deb</filename>

en: <primary>package</primary><secondary>status</secondary>
pt-BR: <primary>pacote</primary><secondary>status</secondary>

en: <primary>package</primary><secondary>file list</secondary>
pt-BR: <primary>pacote</primary><secondary>lista de arquivos</secondary>

en: <primary>package</primary><secondary>content inspection</secondary>
pt-BR: <primary>pacote</primary><secondary>inspeção de conteúdo</secondary>

en: <emphasis>BACK TO BASICS</emphasis> Option syntax
pt-BR: <emphasis>DE VOLTA AO BÁSICO</emphasis> sintaxe das opções

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.
pt-BR: A maioria das opções estão disponíveis em uma versão "longa" (uma ou mais palavras relevantes, precedidas de traço duplo) e uma versão "curta" (uma única letra, geralmente a inicial de uma palavra da versão longa, e precedida de um traço). Esta convenção é tão comum que é um padrão do POSIX.

en: <emphasis>CAUTION</emphasis> <command>dpkg --search</command> and merged <filename>/usr</filename>
pt-BR: <emphasis>ATENÇÃO</emphasis> <command>dpkg --search</command> e <filename>/usr</filename> misturado

en: <primary>merged <filename>/usr</filename></primary>
pt-BR: <primary><filename>/usr</filename> mesclado</primary>

en: For <ulink url="https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/">various reasons</ulink>, Debian now installs by default a few top-level directories as symlinks to their counterparts below <filename>/usr</filename>. For instance, <filename>/bin</filename>, <filename>/sbin</filename> and <filename>/lib</filename> are now symlinks to, respectively, <filename>/usr/bin</filename>, <filename>/usr/sbin</filename> and <filename>/usr/lib</filename>.
pt-BR: Por <ulink url="https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/">várias razões</ulink>, o Debian agora instala por padrão uns poucos diretórios no nível mais alto como links simbólicos para seus respectivos em <filename>/usr</filename>. Por exemplo, <filename>/bin</filename>, <filename>/sbin</filename> e <filename>/lib</filename> são agora links simbólicos para, respectivamente, <filename>/usr/bin</filename>, <filename>/usr/sbin</filename> e <filename>/usr/lib</filename>.

en: While this does provide desirable benefits, it can also be a source of confusion. For example, when you query <command>dpkg</command> which package is owning a given file, it will only be able to answer when you ask for its original path:
pt-BR: Se por um lado isto provoca efeitos benéficos, também pode ser fonte de confusão. Por exemplo, quando você consulta o <command>dpkg</command> sobre que pacotes contém um dado arquivo, ele só será capaz de responder quando você mostrar o caminho original:

en: Various queries with <command>dpkg</command>
pt-BR: Várias consultas com o <command>dpkg</command>

en: <emphasis>GOING FURTHER</emphasis> Comparison of versions
pt-BR: <emphasis>INDO ALÉM</emphasis> Comparação de versões

en: <primary>version, comparison</primary>
pt-BR: <primary>versão, comparação de</primary>

en: <primary>comparison of versions</primary>
pt-BR: <primary>comparação de versões</primary>

en: <primary>package</primary><secondary>version, comparison</secondary>
pt-BR: <primary>pacote</primary><secondary>versão, comparação</secondary>

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).
pt-BR: Como o <command>dpkg</command> é o programa para manipular pacotes Debian, ele também é a implementação de referência da lógica de comparar números de versão. É por isto que ele tem uma opção <literal>--compare-versions</literal>, usada por programas externos (principalmente scripts de configuração executados pelo próprio <command>dpkg</command>). Esta opção precisa de três parâmetros: um número de versão, um operador de comparação e um segundo número de versão. Os operadores são <literal>lt</literal> (menor que "lower than"), <literal>le</literal> (menor ou igual "less than or equal to"), <literal>eq</literal> (igual "equal"), <literal>ne</literal> (diferente "not equal"), <literal>ge</literal> (maior ou igual "greater than or equal to") e <literal>gt</literal> (maior que "strictly greater than"). Se a comparação der correta, o <command>dpkg</command> retorna 0 (sucesso); senão, retorna um valor não-zero (indicando falha).

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>”:
pt-BR: Observe a falha inesperada da última comparação: para o <command>dpkg</command>, <literal>pre</literal> normalmente significa uma pre-release ("pré-lançamento") e não tem um significado especial, e este programa compara as letras da mesma forma que os números (a &lt;b &lt; c ...), em ordem alfabética. É por isto que ele considera “<literal>0pre3</literal>” como sendo maior que “<literal>0</literal>”. Quando nós queremos um número de versão de pacote para indicar que é um pré-lançamento, usamos o til, “<literal>~</literal>”:

en: <command>dpkg</command>'s Log File
pt-BR: Arquivo de log do <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.
pt-BR: <command>dpkg</command> mantém um log de todas as suas ações em <filename>/var/log/dpkg.log</filename>. Este log é extremamente detalhado, pois detalha todos os passos da manipulação de pacotes pelo <command>dpkg</command>. Adicionalmente oferece uma forma de rastrear o comportamento do dpkg, ele ajuda, sobretudo, a manter um histórico do desenvolvimento do sistema: pode-se encontrar o exato momento em que cada pacote foi instalado ou atualizado, e esta informação pode ser extremamente útil para entender uma mudança de comportamento recente. Adicionalmente, com todas as versões sendo registradas, é fácil cruzar os dados com a informação em <filename>changelog.Debian.gz</filename> para o pacote em questão, ou mesmo com o relatório de defeitos on line (bug reports online).

en: Multi-Arch Support
pt-BR: Suporte Multi-Arqu

en: <primary>Multi-Arch</primary>
pt-BR: <primary>Multi-Arqu</primary>

en: <primary>architecture</primary><secondary>multi-arch support</secondary>
pt-BR: <primary>Arquitetura</primary><secondary>suporte multi-arqu</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>.
pt-BR: Todos os pacotes Debian tem um campo <literal>Arquitetura</literal> na informação de controle dele. Este campo pode conter também “<literal>Todos</literal>” (para aqueles pacotes que são de todas as arquiteturas independentemente) ou o nome da arquitetura que ele aponta (como “amd64”, “armhf”, …). Neste último caso, por padrão, <command>dpkg</command> apenas aceitará instalar o pacote, se a sua arquitetura combinar com a arquitetura do host como retornado pelo <command>dpkg --print-arquitetura</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.
pt-BR: Esta restrição garante que os usuários não acabam com os binários compilados para uma arquitetura incorreta. Tudo seria perfeito, exceto que (alguns) computadores podem executar binários para várias arquiteturas, quer nativamente (um sistema de "amd64" pode rodar binários "i386") ou através de emuladores.

en: Enabling Multi-Arch
pt-BR: Habilitando Multi-Arqu

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.
pt-BR: O suporte multi-arquitetura do <command>dpkg</command> permite aos usuários definir arquiteturas “estrangeiras” que podem ser instaladas no sistema atual. Isto é simplesmente feito com <command>dpkg --add-architecture</command> como no exemplo abaixo. Há um correspondente <command>dpkg --remove-architecture</command> para remover o suporte de uma arquitetura externa, mas ele só pode ser usado quando nenhum pacote desta arquitetura permanece.

en: <emphasis>NOTE</emphasis> APT's multi-arch support
pt-BR: <emphasis>OBS</emphasis> suporte APT multi-arqu

en: APT will automatically detect when dpkg has been configured to support foreign architectures and will start downloading the corresponding <filename>Packages</filename> files during its update process.
pt-BR: O APT irá detectar automaticamente quando o dpkg foi configurado para suportar arquiteturas estrangeiras e vai começar a baixar os arquivos<filename>Packages</filename> correspondentes durante seu processo de atualização.

en: Foreign packages can then be installed with <command>apt install <replaceable>package</replaceable>:<replaceable>architecture</replaceable></command>.
pt-BR: Pacotes estranhos podem em seguida ser instalados com <command>apt install <replaceable>pacote</replaceable>:<replaceable>arquitetura</replaceable></command>.

en: <emphasis>IN PRACTICE</emphasis> Using proprietary i386 binaries on amd64
pt-BR: <emphasis>NA PRÁTICA</emphasis> Usando binários de propriedade do i386 no amd64

en: There are multiple use cases for multi-arch, but the most popular ones are the possibility to execute (sometimes proprietary) 32 bit binaries (i386) on 64 bit systems (amd64), and the possibility to cross-compile software for a platform or an architecture different from the host one.
pt-BR: Existem vários casos de uso para multi-arch, mas os mais populares são a possibilidade de executar binários (algumas vezes proprietários) de 32 bits (i386) em sistemas de 64 bits (amd64), e a possibilidade de fazer compilação cruzada de programas para uma plataforma ou arquitetura diferentes da máquina.

en: Multi-Arch Related Changes
pt-BR: Alterações relativas ao Multi-Arqu

en: To make multi-arch actually useful and usable, libraries had to be repackaged and moved to an architecture-specific directory so that multiple copies (targeting different architectures) can be installed alongside. Such updated packages contain the “<literal>Multi-Arch: same</literal>” header field to tell the packaging system that the various architectures of the package can be safely co-installed (and that those packages can only satisfy dependencies of packages of the same architecture). The most important libraries have been converted since the introduction of multi-arch in Debian 7 <emphasis role="distribution">Wheezy</emphasis>, but there are many libraries that will likely never be converted unless someone specifically requests it (through a bug report for example).
pt-BR: Para fazer Multi-Arqu realmente útil e utilizável, as bibliotecas tiveram de ser reempacotadas e movidas para um diretório de uma arquitetura específica, de modo que várias cópias (apontando para diferentes arquiteturas) pudessem ser instaladas lado a lado. Tais pacotes atualizados contém o campo de cabeçalho “<literal>Multi-Arqu: same</literal>” para dizer ao sistema de empacotamento que as várias arquiteturas do pacote podem ser seguramente co-instaladas (e que os pacotes só podem satisfazer as dependências de pacotes da mesma arquitetura). As bibliotecas mais importantes foram convertidas desde a introdução do multi-arch no Debian 7 <emphasis role="distribution">Wheezy</emphasis>, mas existem muitas bibliotecas que provavelmente nunca serão convertidas a menos que alguém peça especificamente por elas (através de um bugreport, por exemplo).

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.
pt-BR: Vale a pena notar que o pacote <literal>Multi-Arqu: same</literal> devem ter seus nomes qualificados com sua arquitetura para ser inequivocamente identificável. Eles também têm a possibilidade de compartilhar arquivos com outras instâncias do mesmo pacote; <command>dpkg</command> garante que todos os pacotes têm arquivos bit-por-bit idênticos quando eles são compartilhados. Por último, mas não menos importante, todas as instâncias de um pacote devem ter a mesma versão. Devem, portanto, ser atualizados em conjunto.

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>”.
pt-BR: Suporte Multi-Arch também traz alguns desafios interessantes na forma como são tratadas as dependências. Satisfazer uma dependência requer um pacote marcado “<literal>Multi-Arqu: foreign</literal>” ou um pacote cuja arquitetura corresponde ao do pacote declarando a dependência (no processo de resolução de dependência, pacotes independentes de arquitetura são assumidos ser da mesma arquitetura que o host). A dependência também pode ser enfraquecida para permitir que qualquer arquitetura de cumpri-la, com a sintaxe <literal><replaceable>pacote</replaceable>:any</literal>, mas pacotes estrangeiros só podem satisfazer uma tal dependência, se eles são marcados “<literal>Multi-Arch: allowed</literal>”.

en: Coexistence with Other Packaging Systems
pt-BR: Coexistência com outros sistemas de pacotes

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.
pt-BR: Pacotes Debian não são os únicos pacotes de software usados no mundo do software livre. O principal concorrente é o formato RPM do Red Hat Linux e seus muitos derivados. Red Hat é uma distribuição comercial muito popular. Assim, é comum para software fornecido por terceiros ser oferecido como pacotes RPM ao invés de pacotes 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.
pt-BR: Neste caso, saiba que o programa <command>rpm</command>, que manipula pacotes RPM, está disponível como um pacote Debian, portanto é possível usar este formato de pacote no Debian. Deve-se tomar cuidado, entretanto, para limitar estas manipulações ao extrair a informação de um pacote ou verificar sua integridade. É, na verdade, sem sentido usar o <command>rpm</command> para instalar RPMs em sistemas Debian; O RPM usa seu próprio banco de dados, separado do software nativo (como o <command>dpkg</command>). É por isto que não é possível garantir uma coexistência estável dos dois sistemas de pacotes.

en: On the other hand, the <emphasis role="pkg">alien</emphasis> utility can convert RPM packages into Debian packages, and vice versa.
pt-BR: Por outro lado, o utilitário <emphasis role="pkg">alien</emphasis> pode converter pacotes RPM em pacotes Debian, e vice-versa.

en: <emphasis>COMMUNITY</emphasis> Encouraging the adoption of <filename>.deb</filename>
pt-BR: <emphasis>COMUNIDADE</emphasis> Encorajando a adoção de <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.
pt-BR: Você vai perceber que este processo é extremamente simples. Você deve saber, entretanto, que o pacote gerado não vai ter quaisquer informações de dependências, já que as dependências nos dois formatos de empacotamento não têm uma correspondências sistemática. O administrador deve assim garantir manualmente que o pacote convertido funcionará corretamente, e é por isto que os pacotes Debian assim gerados devem ser evitados o tanto quanto possível. Felizmente, o Debian tem a maior coleção de pacotes de todas as distribuições, e é provável que o que você procura já está lá.

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).
pt-BR: Procurando na página man do comando <command>alien</command>, você vai notar também que este programa manipula outros formatos de pacote, especialmente o usado pela distribuição Slackware (é feito por um simples arquivo <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.
pt-BR: A estabilidade do programa publicado usando a ferramenta <command>dpkg</command> contribui para a fama do Debian. O conjunto de ferramentas APT, descrito no capítulo seguinte, preserva esta vantagem, enquanto libera o administrador de gerir o status dos pacotes, uma tarefa difícil, porém necessária.
