0 - en to vi-VN translation catalogue (145 entries)

en: Binary package
vi-VN: Gói nhị phân

en: Source package
vi-VN: Gói mã nguồn

en: Packaging System: Tools and Fundamental Principles
vi-VN: Hệ thống gói: Công cụ và Nguyên tắc cơ bản

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.
vi-VN: Như một người quản trị hệ thống Debian, bạn sẽ thường xuyên làm việc với các gói <filename>.deb</filename>, vì chúng chứa các đơn vị chức năng (ứng dụng, tài liệu, etc.) trong việc cài đặt và bảo trì. Vì vậy, là một ý tưởng tốt để biết nó là gì và làm sao đế sử dụng nó.

en: Structure of a Binary Package
vi-VN: Cấu trúc của một Gói nhị phân

en: <emphasis>TOOLS</emphasis> <command>dpkg</command>, <command>APT</command> and <command>ar</command>
vi-VN: <emphasis>Các công cụ</emphasis> <command>dpkg</command>, <command>APT</command> and <command>ar</command>

en: <emphasis>BACK TO BASICS</emphasis> Man page notation
vi-VN: <emphasis>Trở về cơ bản</emphasis> Man page notation

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.
vi-VN: Có thể nhầm lần cho người mới bắt đầu để tham chiếu tới “<citerefentry><refentrytitle>ar</refentrytitle><manvolnum>1</manvolnum></citerefentry>” trong các tài liệu. Đây là thường là một phương tiện tiện lợi để tham chiếu tới trang tài liệu <literal>ar</literal> trong nội dung 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>.
vi-VN: Đôi khi những ký hiệu này cũng được sử dụng để loại bỏ những mơ hồ, ví dụ phân biệt giữa lệnh <command>printf</command> lệnh này có thể cũng được chỉ ra bởi <citerefentry><refentrytitle>printf</refentrytitle><manvolnum>1</manvolnum></citerefentry> và hàm <function>printf</function> trong ngôn ngữ lập trình C, có thể được tham chiếu bằng <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" />).
vi-VN: <xref linkend="solving-problems" /> thảo luận về trang hương dẫn chi tiết hơn (see <xref linkend="sect.manual-pages" />).

en: Have a look at the content of a <filename>.deb</filename> file:
vi-VN: Cái nhìn về nội dung trong tệp tin <filename>.deb</filename>

en: As you can see, the <command>ar</command> archive of a Debian package is comprised of three files:
vi-VN: Như bạn có thể thấy, với góc nhìn qua tệp nén từ lệnh <command>ar</command> của một gói Debian gồm có ba tập tin:

en: Description: the <filename>control</filename> File
vi-VN: Mô tả: tệp tin <filename>control</filename>

en: <emphasis>BACK TO BASICS</emphasis> RFC — Internet standards
vi-VN: <emphasis>QUAY VỀ CƠ BẢN</emphasis> RFC — Các chuẩn Internet

en: RFC 2026 defines the process for standardization of Internet protocols. <ulink type="block" url="http://www.faqs.org/rfcs/rfc2026.html" />
vi-VN: RFC 2026 định nghĩa quá trình tiêu chuẩn hóa của các giao thức Internet. <ulink type="block" url="http://www.faqs.org/rfcs/rfc2026.html" />

en: Dependencies: the <literal>Depends</literal> Field
vi-VN: Các phụ thuộc: trường <literal>Depends</literal>

en: <command>&lt;&lt;</command>: less than;
vi-VN: <command>&lt;&lt;</command>: bé hơn;

en: <command>&lt;=</command>: less than or equal to;
vi-VN: <command>&lt;=</command>: bé hơn hoặc bằng;

en: <command>=</command>: equal to (note that “<literal>2.6.1</literal>” is not equal to “<literal>2.6.1-1</literal>”);
vi-VN: <command>=</command>: bằng (hãy nhớ “<literal>2.6.1</literal>” không bằng với “<literal>2.6.1-1</literal>”);

en: <command>&gt;=</command>: greater than or equal to;
vi-VN: <command>&gt;=</command>: lớn hơn hoặc bằng;

en: <command>&gt;&gt;</command>: greater than.
vi-VN: <command>&gt;&gt;</command>: lớn hơn.

en: <emphasis>DEBIAN POLICY</emphasis> <literal>Recommends</literal>, <literal>Suggests</literal>, and <literal>Enhances</literal> fields
vi-VN: <emphasis>DEBIAN POLICY</emphasis> <literal>Recommends</literal>, <literal>Suggests</literal>, và <literal>Enhances</literal> fields

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.
vi-VN: Trường <literal>Recommends</literal> và <literal>Suggests</literal> mô tả các sự phụ thuộc mà không bắt buộc. Trường “recommended”, quan trọng nhất, cải thiện đáng kể các chức năng được cung cấp bởi các gói nhưng không phải là không thể thiếu để hoạt động. Trường “suggested”, quan trọng thứ 2, chỉ ra rằng gói nhất định có thể bổ sung và tăng tiện ích của mình, nhưng nó là hoàn toàn hợp lý để cài đặt một mà không có những cái khác.

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.
vi-VN: Trường <literal>Enhances</literal> cũng miêu tả một sự gợi ý, nhưng có một điều khác biệt. Nó thực sự nằm trong các gói gợi ý, và không có các lợi ích từ sự gợi ý này. Quan tâm của nó nằm ở chỗ có thểm thêm các gợi ý mà không sửa đổi các gói phần mềm liên quan. Do đó, tất cả các add-on, plug-ins, và các thành phần mở rộng khác của một chương trình có thể xuất hiện ở trường này. Mặc dầu nó đã tồn tại trong vài năm, nhưng trường này vẫn bị bỏ qua bởi các chương trình như <command>apt</command> hoặc <command>synaptic</command>. Mục đích của nó cho một sự gợi ý từ trường <literal>Enhances</literal> cho người dùng trong tìm ra trường <literal>Enhances</literal>.

en: <emphasis>DEBIAN POLICY</emphasis> <literal>Pre-Depends</literal>, a more demanding <literal>Depends</literal>
vi-VN: <emphasis>DEBIAN POLICY</emphasis> <literal>Pre-Depends</literal>, một đòi hỏi nhiều hơn <literal>Depends</literal>

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.
vi-VN: “Pre-dependencies”, mà được liệt kê ở trường “<literal>Pre-Depends</literal>” trong tiêu đề gói, ổn định cho sự phụ thuộc bình thường; cú pháp của là giống hệt nhau. Một phụ thuộc bình thường chỉ ra rằng các gói trong trường cần phải được giải nén và cấu hình trước khi cấu hình của gói tuyên bố sự phụ thuộc. Một tiền phụ thuộc (pre) quy định rằng các gói trong trường của nó cần phải được giải nén và cấu hình trước khi thực hiện các kịch bản cài đặt sẵn của gói tuyên bố  của tiền phụ thuộc, đó là trước khi cài đặt của nó.

en: Conflicts: the <literal>Conflicts</literal> field
vi-VN: Xung đột: trường <literal>Conflicts</literal>

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.
vi-VN: <command>dpkg</command> sẽ từ chối cài đặt một gói nếu nó gây xung đột với một trong các gói đã cài đặt, ngoại trừ gói mới đặc biệt nó sẽ “thay thế” gói đã cài đặt, trong trường hợp <command>dpkg</command> sẽ chọn để thay thế gói cũ với gói mới, nó sẽ tự động đề nghị gỡ bỏ gói có vẻ có vấn đề.

en: Incompatibilities: the <literal>Breaks</literal> Field
vi-VN: Không tương thích: trường <literal>Breaks</literal>

en: <primary>package</primary><secondary>incompatibility</secondary>
vi-VN: <primary>package</primary><secondary>không tương thích</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.
vi-VN: Trường <literal>Breaks</literal> có tác dụng khá giống với trường <literal>Conflicts</literal>, nhưng với một nghĩa đặc biệt. Nó báo hiệu rằng nếu cài đặt gói này sẽ “làm hỏng” gói khác (hoặc cụ thể là phiên bản của nó). Nói chung, sự không thương thích này giữa hai gói là tạm thời, và trường <literal>Breaks</literal> quan hệ đặc biệt với các phiên bản không tương thích.

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).
vi-VN: <command>dpkg</command> sẽ từ chối cài đặt một gói nếu nó làm hỏng một gói đã cài đặt, và <command>apt</command> sẽ cố giải quyết vấn đề bằng cách cập nhật gói đó lên phiên bản mới nhất (đây là giả định sẽ sửa được và do vậy lại tương thích).

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.
vi-VN: Tình hình này có thể xảy ra trong trường hợp cập nhật mà không tương thích ngược: Trong trường hợp này nếu phiên bản mới hơn không còn các chức năng như phiên bản cũ, và gây ra một sự cố trong chương trình khác mà không làm gì đặc biệt. Trường <literal>Breaks</literal> ngăn cản người dùng gặp cả những vấn đề này.

en: Provided Items: the <literal>Provides</literal> Field
vi-VN: Cung cấp Các mục: Trường <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.
vi-VN: Trường này giới thiệu khái niệm rất thú vị của một “gói ảo”. Nó có nhiều vai trò, nhưng hai trong số đó là quan trọng nhất. Vai trò thứ nhất bao gồm trong sử dụng gói để liên kết với một dịch vụ chung với nó (gói “cung cấp” dịch vụ). Vai trò thứ hai chỉ ra rằng một gói hoàn toàn thay thế một gói khác, và do mục đích này mà nó cũng có thể đáp ứng các phụ thuộc mà gói kia đáp ứng. Do đó có khả năng tạo ra một gói thay thế mà không cần sử dụng cùng tên gói.

en: <emphasis>VOCABULARY</emphasis> Meta-package and virtual package
vi-VN: <emphasis>VOCABULARY</emphasis> Meta-package và virtual package

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.
vi-VN: Cần phân biệt rõ ràng các gói meta từ các gói ảo. Trước đây là các gói thực (bao gồm các tập tin thực <filename>.deb</filename>), mà mục đích duy nhất của nó là để thể hiện sự phụ thuộc.

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.).
vi-VN: Các gói ảo, tuy nhiên, không tồn tại về mặt thể chất; chúng chỉ mang nghĩa để xác định các gói thực dựa trên các tiêu chí chung, hợp lý (cung cấp dịch vụ, khả năng tương thích với một chương trình chuẩn hoặc một có sẵn trước, vv).

en: Providing a “Service”
vi-VN: Đang cung cấp một “Service”

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.
vi-VN: Chúng ta sẽ thảo luận về trường hợp đầu tiên chi tiết hơn với một ví dụ: tất cả máy chủ mail, ví dụ như <emphasis role="pkg">postfix</emphasis> hoặc <emphasis role="pkg">sendmail</emphasis> “cung cấp” gói <emphasis role="pkg">mail-transport-agent</emphasis> ảo. Thế nên, bất kỳ gói nào cần dịch vụ này để làm tính năng (ví dụ: quản lý mailing list, hay như là <emphasis role="pkg">smartlist</emphasis> hoặc <emphasis role="pkg">sympa</emphasis>) đơn giản là chỉ cần chỉ định phụ thuộc của nó yêu cầu một <emphasis role="pkg">mail-transport-agent</emphasis> thay vi chỉ định một danh sách lớn các giải pháp có thể (ví dụ: <command>postfix | sendmail | exim4 | …</command>). Hơn nữa, không cần thiết phải cài đặt hai máy chủ mail trên cùng một máy, đó là lý do mỗi gói này tuyên bố xung đột với gói ảo <emphasis role="pkg">mail-transport-agent</emphasis>. Một xung đột giữ gói của chính nó sẽ bị hệ thống bỏ qua nhưng kỹ thuật này sẽ cấm cài đặt hai máy chủ mail song song.

en: <emphasis>DEBIAN POLICY</emphasis> List of virtual packages
vi-VN: <emphasis>DEBIAN POLICY</emphasis> Danh sách các gói ảo

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.
vi-VN: Đối với các gói ảo là hữu ích, tất cả mọi người phải đồng ý về tên của chúng, đây là lý do tại sao chúng được tiêu chuẩn hóa trong Chính sách Debian, trong đó có một số khác<emphasis role="pkg">mail-transport-agent</emphasis> cho máy chủ mail, <emphasis role="pkg">c-compiler</emphasis> cho trình biên dịch ngôn ngữ lập trình C, u<emphasis role="pkg">www-browser</emphasis> cho các trình duyệt web, <emphasis role="pkg">httpd</emphasis> cho các máy chủ web, <emphasis role="pkg">ftp-server</emphasis> cho máy chủ FTP, u<emphasis role="pkg">x-terminal-emulator</emphasis> cho trình mô phỏng thiết bị đầu cuối ở chế độ đồ hoạ (<command>xterm</command>), và <emphasis role="pkg">x-window-manager</emphasis> cho các trình quản lý cửa sổ.

en: Interchangeability with Another Package
vi-VN: Khả năng trao đổi với một Gói khác

en: Use of a <literal>Provides</literal> field in order to not break dependencies
vi-VN: Sử dụng trường <literal>Provides</literal> để không phá vỡ sự phụ thuộc

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.
vi-VN: Tính năng này rất hữu ích vì không thể lường trước được sự biến động của sự phát triển và cần phải có khả năng điều chỉnh để đổi tên và thay thế tự động các phần mềm đã lỗi thời.

en: <emphasis>BACK TO BASICS</emphasis> Perl, a programming language
vi-VN: <emphasis>BACK TO BASICS</emphasis> Perl, một ngôn ngữ lập trình

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”.
vi-VN: Vì nó là một ngôn thông dịch nên một chương trình được viết bằng Perl không yêu cầu biên dịch trước khi thực hiện.  Đây là lý do tại sao chúng được gọi là “các kịch bản Perl”.

en: Past Limitations
vi-VN: Hạn chế trong Quá khứ

en: Replacing Files: The <literal>Replaces</literal> Field
vi-VN: Thay thế Các tệp: Trường <literal>Replaces</literal>

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.
vi-VN: Việc sử dụng trường này là hợp lý khi tên gói thay đổi hoặc khi gói được bao gồm trong một gói khác. Điều này cũng xảy ra khi người bảo trì quyết định phân phối các tệp tin khác nhau giữa các gói nhị phân khác nhau được tạo ra từ cùng một gói nguồn: tệp được thay thế không còn thuộc về gói cũ nữa, nhưng chỉ cần tệp thay thế mới.

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.
vi-VN: Nếu tất cả các tệp trong gói được cài đặt đã được thay thế, gói được coi là đã bị xóa.  Cuối cùng, trường này cũng khuyến khích <command>dpkg</command> để gỡ bỏ gói thay thế nơi có sự xung đột.

en: <emphasis>GOING FURTHER</emphasis> The <literal>Tag</literal> field
vi-VN: <emphasis>GOING FURTHER</emphasis> Trường <literal>Tag</literal>

en: Configuration Scripts
vi-VN: Kịch bản Cấu hình

en: <emphasis>GOING FURTHER</emphasis> <command>dpkg</command>'s database
vi-VN: <emphasis>GOING FURTHER</emphasis> cơ sở dữ liệu của <command>dpkg</command>

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.
vi-VN: Tất cả các kịch bản cấu hình cho các gói đã được cài đặt đều được lưu trữ trong thư mục <filename>/var/lib/dpkg/info/</filename>, dưới dạng một tập tin được đặt tên với tiền tố là tên của gói. Thư mục này cũng bao gồm một tệp có phần mở rộng <filename>.list</filename> cho mỗi gói, chứa danh sách các tệp thuộc gói đó.

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.
vi-VN: Tệp tin <filename>/var/lib/dpkg/status</filename> chứa một loạt các khối dữ liệu (theo định dạng của tiêu đề thư nổi tiếng, RFC 2822) mô tả trạng thái của mỗi gói. Thông tin từ tệp tin <filename>control</filename> của các gói được cài đặt cũng được sao chép ở đó.

en: <emphasis>CAUTION</emphasis> Symbolic names of the scripts
vi-VN: <emphasis>CAUTION</emphasis> Tên tượng trưng của kịch bản

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).
vi-VN: Trong phần này, chúng ta sẽ gọi các kịch bản cụ thể để phân biệt giữa gói của và gói mới sắp cập nhật, chẳng hạn như là <command>old-prerm</command> hoặc <command>new-postinst</command>.  Chúng tưng úng là <command>perm</command> được ở trong phiên bản cũ của gói (được cài đặt trước bản cập nhật) và kịch bản <command>postinst</command> ở trong tệp mới (bản cập nhật gói mới).

en: <emphasis>TIP</emphasis> State diagrams
vi-VN: <emphasis>TIP</emphasis> Sơ đồ trạng thái

en: Installation and Upgrade
vi-VN: Cài đặt và Nâng cấp

en: <primary><command>dpkg</command></primary><secondary>internal operation</secondary>
vi-VN: <primary><command>dpkg</command></primary><secondary>hoạt động nội bộ</secondary>

en: The new package files are then unpacked. If a file already exists, it is replaced, but a backup copy is temporarily made.
vi-VN: Các tệp gói mới sau đó được giải nén. Nếu một tập tin đã tồn tại, nó được thay thế, nhưng một bản sao lưu tạm thời được thực hiện.

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.
vi-VN: <command>dpkg</command> cập nhật tất cả dữ liệu nội bộ (danh sách tệp, tập lệnh cấu hình, v.v.) và loại bỏ các bản sao lưu của các tệp được thay thế. Đây là điểm không trở lại: <command>dpkg</command> không còn truy cập vào tất cả các yếu tố cần thiết để trở về trạng thái trước đó.

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" />.
vi-VN: <command>dpkg</command> sẽ cập nhật các tệp cấu hình, hỏi người dùng quyết định xem nó có thể tự động quản lý tác vụ này không. Các chi tiết của thủ tục này được thảo luận trong <xref linkend="sect.conffiles" />.

en: Package Removal
vi-VN: Xóa Gói

en: <primary>package</primary><secondary>removal</secondary>
vi-VN: <primary> gói </primary><secondary> loại bỏ </secondary>

en: <emphasis>VOCABULARY</emphasis> Purge, a complete removal
vi-VN: <emphasis>VOCABULARY</emphasis> Làm sạch, loại bỏ hoàn toàn

en: <primary>package</primary><secondary>purge</secondary>
vi-VN: <primary> gói </primary><secondary> tẩy rửa </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.
vi-VN: Khi một gói Debian được gỡ bỏ, các tệp cấu hình được giữ lại để tạo điều kiện cho việc cài đặt lại. Tương tự, dữ liệu tạo ra bởi một daemon (như nội dung của một thư mục máy chủ LDAP, hoặc nội dung của một cơ sở dữ liệu cho một máy chủ SQL) thường được giữ lại.

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>.
vi-VN: Để loại bỏ tất cả các dữ liệu liên quan đến một gói, cần phải “tẩy” gói với lệnh, <command>dpkg -P <replaceable>package</replaceable></command>, <command>apt-get remove --purge <replaceable>package</replaceable></command> hoặc <command>aptitude purge <replaceable>package</replaceable></command>.

en: Given the definitive nature of such data removals, a purge should not be taken lightly.
vi-VN: Với tính chất dứt khoát của việc xóa dữ liệu, việc tẩy không nên được xem nhẹ.

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.
vi-VN: Bốn kịch bản được nêu chi tiết ở trên được bổ sung bởi một tập lệnh <filename>config</filename>, được cung cấp bởi các gói sử dụng <command>debconf</command> để thu thập thông tin từ người dùng để cấu hình. Trong quá trình cài đặt, kịch bản này xác định chi tiết các câu hỏi được yêu cầu bởi <command>debconf</command>. Câu trả lời được ghi lại trong cơ sở dữ liệu <command>debconf</command> để tham khảo trong tương lai. Tập lệnh thường được thực thi bởi <command>apt</command> trước khi cài đặt từng gói một để nhóm tất cả các câu hỏi và yêu cầu tất cả các người dùng vào lúc bắt đầu quá trình. Các tập lệnh trước và sau khi cài đặt có thể sử dụng thông tin này để hoạt động theo ý muốn của người dùng.

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.
vi-VN: <command>debconf</command> được tạo ra để giải quyết một vấn đề định kỳ trong Debian. Tất cả các gói Debian không thể hoạt động mà không có cấu hình tối thiểu được sử dụng để đặt câu hỏi với các cuộc gọi tới các lệnh <command>echo</command> và <command>read</command> trong kịch bản <filename>postinst</filename> (và các kịch bản tương tự khác). Nhưng điều này cũng có nghĩa là trong quá trình cài đặt hoặc cập nhật lớn người dùng phải ở lại máy tính để trả lời các câu hỏi khác nhau có thể phát sinh bất cứ lúc nào. Những tương tác thủ công này đã được hầu như hoàn toàn giải phóng, nhờ công cụ <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.
vi-VN: <command>debconf</command> có nhiều tính năng thú vị: nó đòi hỏi nhà phát triển phải xác định tương tác người dùng; Nó cho phép nội địa hóa tất cả các chuỗi được hiển thị cho người dùng (tất cả các bản dịch được lưu trong tệp <filename>templates</filename> mô tả các tương tác);  Nó có frontend khác nhau để hiển thị các câu hỏi cho người sử dụng (chế độ văn bản, chế độ đồ họa, không tương tác);  Và nó cho phép tạo ra một cơ sở dữ liệu trung tâm của các phản hồi để chia sẻ cùng một cấu hình với một số máy tính... nhưng điều quan trọng nhất là bây giờ có thể trình bày tất cả các câu hỏi liên tiếp với người dùng, trước khi bắt đầu quá trình cài đặt hoặc cập nhật dài hơi. Người sử dụng có thể tiến hành công việc của họ trong khi hệ thống tự quản lý việc cài đặt, mà không cần phải ở lại đó nhìn chằm chằm vào màn hình chờ các câu hỏi.

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>).
vi-VN: Trong trường hợp này, <command>dpkg</command> hoạt động thông minh nhất có thể: nếu tập tin cấu hình tiêu chuẩn không thay đổi giữa hai phiên bản, nó không làm gì cả. Tuy nhiên, nếu tệp đã thay đổi, nó sẽ cố gắng cập nhật tệp này. Có hai trường hợp: quản trị viên không chạm vào tệp cấu hình này, trong trường hợp đó <command>dpkg</command> tự động cài đặt phiên bản mới; Hoặc tập tin đã được sửa đổi, trong trường hợp này <command>dpkg</command> yêu cầu quản trị viên phiên bản nào họ muốn sử dụng (bản cũ có sửa đổi, hoặc phiên bản mới được cung cấp kèm theo gói). Để hỗ trợ đưa ra quyết định này, <command>dpkg</command> cung cấp để hiển thị “<command>diff</command>” cho thấy sự khác biệt giữa hai phiên bản.  Nếu người dùng chọn giữ lại phiên bản cũ, tệp mới sẽ được lưu trữ ở cùng vị trí trong một tệp có đuôi <filename>.dpkg-dist</filename>. Nếu người dùng chọn phiên bản mới, phần cũ sẽ được giữ lại trong một tệp có đuôi <filename>.dpkg-old</filename>. Một hành động khả dụng khác bao gồm tạm ngưng <command>dpkg</command> để chỉnh sửa tệp và cố gắng cài đặt lại các sửa đổi có liên quan (trước đây được xác định với <command>diff</command>).

en: <emphasis>GOING FURTHER</emphasis> Force dpkg to ask configuration file questions
vi-VN: <emphasis>GOING FURTHER</emphasis> Buộc dpkg yêu cầu hỏi về tệp cấu hình

en: <emphasis>GOING FURTHER</emphasis> Avoiding the configuration file questions
vi-VN: <emphasis>GOING FURTHER</emphasis> Tránh các câu hỏi về tệp cấu hình

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.
vi-VN: <command>dpkg</command> xử lý các bản cập nhật tập tin cấu hình, nhưng, trong khi làm như vậy, thường xuyên ngắt công việc của nó để yêu cầu nhập từ quản trị viên. Điều này làm cho nó ít thú vị hơn cho những ai muốn chạy các bản cập nhật theo cách không tương tác. Đây là lý do tại sao chương trình này cung cấp các tùy chọn cho phép hệ thống tự động trả lời theo logic tương tự: <command>--force-confold</command> giữ lại phiên bản cũ của tệp; <command>--force-confnew</command> sẽ sử dụng phiên bản mới của tệp tin (các lựa chọn này được tôn trọng, ngay cả khi tệp không bị thay đổi bởi quản trị viên, điều này hiếm khi có hiệu ứng mong muốn). Thêm tùy chọn <command>--force-confdef</command> để <command>dpkg</command> tự quyết định khi có thể (nói cách khác, khi tệp cấu hình ban đầu chưa được chạm vào) và chỉ sử dụng <command>--force-confnew</command> hoặc <command>--force-confold</command> cho các trường hợp khác.

en: Including this option in the configuration file means that it will also be used in a graphical interface such as <command>aptitude</command>.
vi-VN: Bao gồm tùy chọn này trong tệp cấu hình có nghĩa là nó cũng sẽ được sử dụng trong một giao diện đồ họa như <command>aptitude</command>.

en: Structure of a Source Package
vi-VN: Cấu trúc của Gói nguồn

en: <primary>package</primary><secondary>source package</secondary>
vi-VN: <primary>gói</primary><secondary>gói nguồn</secondary>

en: Format
vi-VN: Định dạng

en: <primary>DSC file</primary>
vi-VN: <primary>tệp DSC</primary>

en: The <filename>.dsc</filename> (Debian Source Control) file is a short text file containing an RFC 2822 header (just like the <filename>control</filename> file studied in <xref linkend="sect.control" />) which describes the source package and indicates which other files are part thereof. It is signed by its maintainer, which guarantees authenticity. See <xref linkend="sect.package-authentication" /> for further details on this subject.
vi-VN: Tệp <filename>.dsc</filename> (Debian Source Control) là một tệp văn bản ngắn chứa tiêu đề RFC 2822 (giống như tệp <filename>control</filename> được nghiên cứu trong <xref linkend="sect.control" />) nó mô tả gói nguồn và cho biết tệp nào là một phần của nó. Nó được ký bởi người bảo trì của nó, để đảm bảo tính xác thực. Xem <xref linkend="sect.package-authentication" /> để biết thêm chi tiết về chủ đề này.

en: A <filename>.dsc</filename> file
vi-VN: Tệp tin <filename>.dsc</filename>

en: Note that the source package also has dependencies (<literal>Build-Depends</literal>) completely distinct from those of binary packages, since they indicate tools required to compile the software in question and construct its binary package.
vi-VN: Lưu ý rằng gói nguồn cũng có phụ thuộc (<literal>Build-Depends</literal>) nó hoàn toàn khác so với các gói nhị phân, vì chúng chỉ ra các công cụ cần thiết để biên dịch phần mềm được đề cập và xây dựng gói nhị phân của nó.

en: <emphasis>CAUTION</emphasis> Distinct namespaces
vi-VN: <emphasis>CAUTION</emphasis> Khoảng không tên riêng biệt

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.
vi-VN: Điều quan trọng cần lưu ý ở đây là không có yêu cầu tương ứng giữa tên của gói nguồn và gói tin nhị phân mà nó tạo ra. Có thể dễ hiểu nếu bạn biết rằng mỗi gói nguồn có thể tạo ra một số gói nhị phân. Đây là lý do tại sao tệp tin <filename>.dsc</filename> có trường <literal>Source</literal> và <literal>Binary</literal> để nêu rõ tên gói nguồn và danh sách các gói nhị phân mà nó tạo ra.

en: <emphasis>CULTURE</emphasis> Why divide into several packages
vi-VN: <emphasis>CULTURE</emphasis> Tại sao chia thành nhiều gói

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>).
vi-VN: Rất thường xuyên, gói nguồn (cho một phần mềm nhất định) có thể tạo ra vài gói nhị phân. Sự phân chia này là hợp lý bởi khả năng sử dụng (phần của) phần mềm trong các ngữ cảnh khác nhau. Xem xét một thư viện chia sẻ, nó có thể được cài đặt để thực hiện công việc ứng dụng (ví dụ: <emphasis role="pkg">libc6</emphasis>), hoặc nó có thể được cài đặt để phát triển một chương trình mới (<emphasis role="pkg">libc6-dev</emphasis> sau đó sẽ là gói chính xác). Chúng ta tìm thấy cùng một logic cho các dịch vụ client/server, nơi chúng ta muốn cài đặt phần server trên một máy và phần client trên các máy khác (ví dụ: <emphasis role="pkg">openssh-server</emphasis> và <emphasis role="pkg">openssh-client</emphasis>).

en: <emphasis>PERSPECTIVE</emphasis> Different source package formats
vi-VN: <emphasis>PERSPECTIVE</emphasis> Định dạng gói nguồn khác nhau

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).
vi-VN: Ban đầu chỉ có một định dạng gói nguồn. Đó là định dạng <literal>1.0</literal>, kết hợp tệp <filename>.orig.tar.gz </filename> và một <filename>.diff.gz</filename> bản vá “debianization” (hay là một tệp tin nén <filename>.tar.gz</filename> duy nhất, được sử dụng tự động nếu không có tệp <filename>.orig.tar.gz</filename>).

en: The <filename>.orig.tar.gz</filename> file is an archive containing the source code as provided by the original developer. Debian package maintainers are asked to not modify this archive in order to be able to easily check the origin and integrity of the file (by simple comparison with a checksum) and to respect the wishes of some authors.
vi-VN: Tệp <filename>.orig.tar.gz</filename> là tệp nén chứa mã nguồn do nhà phát triển ban đầu cung cấp. Người bảo trì gói Debian được yêu cầu không sửa đổi tệp này để có thể dễ dàng kiểm tra nguồn gốc và tính toàn vẹn của tệp (bằng so sánh đơn giản với checksums) và tôn trọng mong muốn của một số tác giả.

en: <emphasis>TOOL</emphasis> Decompressing a source package
vi-VN: <emphasis>TOOL</emphasis> Giải nén gói nguồn

en: <primary>decompressing, source package</primary>
vi-VN: <primary>giải nén, gói nguồn </primary>

en: <primary>uncompressing, source package</primary>
vi-VN: <primary> giải nén, gói nguồn </primary>

en: <primary>unpacking</primary><secondary>source package</secondary>
vi-VN: <primary> giải nén </primary><secondary> gói nguồn </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:
vi-VN: Nếu bạn có một gói nguồn, bạn có thể sử dụng lệnh <command>dpkg-source</command> (từ gói <emphasis role="pkg">dpkg-dev</emphasis>) để giải nén nó:

en: Usage within Debian
vi-VN: Cách sử dụng trong Debian

en: Manipulating Packages with <command>dpkg</command>
vi-VN: Thao tác các gói với <command>dpkg</command>

en: <emphasis>NOTE</emphasis> <command>dpkg</command> or <command>apt</command>?
vi-VN: <emphasis>NOTE</emphasis><command>dpkg</command> hay <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.
vi-VN: <command>dpkg</command> nên được xem như một công cụ hệ thống (phần lõi), và <command>apt</command> như một công cụ gần gũi hơn với người dùng, vượt qua những hạn chế của nó. Những công cụ này làm việc cùng nhau, mỗi cái có tính đặc thù, phù hợp với các nhiệm vụ cụ thể.

en: Installing Packages
vi-VN: Cài đặt Gói

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.
vi-VN: <command>dpkg</command> là công cụ cài đặt gói Debian đã có sẵn (vì nó không tải bất cứ thứ gì). Để thực hiện việc này, chúng ta sử dụng tùy chọn <literal>-i</literal> hoặc <literal>--install</literal>.

en: Installation of a package with <command>dpkg</command>
vi-VN: Cài đặt một gói với <command>dpkg</command>

en: Separate unpacking and configuration
vi-VN: Giải nén và cấu hình riêng rẽ

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:
vi-VN: Đôi khi <command>dpkg</command> sẽ không cài đặt gói và trả về lỗi;  Nếu người dùng cho nó để bỏ qua điều này, nó sẽ chỉ phát hành một cảnh báo;  Vì lý do này mà chúng ta có các tùy chọn <literal>--force-*</literal> khác nhau.  Lệnh <command>dpkg --force-help</command> là tài liệu đầy đủ các tùy chọn này. Lỗi thường gặp nhất, mà bạn sẽ gặp phải sớm hay muộn, là một va chạm tập tin. Khi một gói chứa một tập tin đã được cài đặt bởi một gói khác, <command>dpkg</command> sẽ từ chối cài đặt nó. Sau đó các thông báo sau sẽ xuất hiện:

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.
vi-VN: Trong trường hợp này, nếu bạn nghĩ rằng thay thế tệp này không phải ảnh hướng tới tính ổn định của hệ thống (thường là trường hợp này), bạn có thể sử dụng tùy chọn <literal>--force-overwrite</literal>, để cho <command>dpkg</command> biết để bỏ qua lỗi này và ghi đè lên tệp.

en: <emphasis>CAUTION</emphasis> Effective use of <literal>--force-*</literal>
vi-VN: <emphasis>CAUTION</emphasis> Sử dụng hiệu quả <literal>--force-*</literal>

en: <primary>broken dependency</primary>
vi-VN: <primary>phá vỡ sự phụ thuộc </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>:
vi-VN: Nếu bạn không cẩn thận, việc sử dụng một tùy chọn <literal>--force-* </literal> có thể dẫn đến một hệ thống mà các gia đình lện APT sẽ từ chối hoạt động.  Một số tùy chọn cho phép <command>dpkg</command> cài đặt một gói khi một sự phụ thuộc không thỏa mãn, hoặc ngay cả khi có xung đột. Kết quả là tạo nên một hệ thống không nhất quán từ quan điểm phụ thuộc, và các lệnh của APT sẽ từ chối thực hiện bất kỳ hành động nào, ngoại trừ các lệnh sẽ đưa hệ thống trở lại trạng thái nhất quán (thường bao gồm cài đặt sự phụ thuộc bị thiếu hoặc gỡ bỏ một gói có vấn đề). Điều này thường dẫn đến một thông báo như sau, ví dụ sau khi cài đặt phiên bản mới của <emphasis role="pkg">rdesktop</emphasis> trong khi bỏ qua sự phụ thuộc của nó vào một phiên bản mới hơn của <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.
vi-VN: Một quản trị viên dũng cảm phải chắc chắn về phân tích chính xác có thể bỏ qua sự phụ thuộc hoặc xung đột và sử dụng tuỳ chọn <literal>--force-*</literal>. Trong trường hợp này, nếu họ muốn có thể tiếp tục sử dụng <command>aptitude</command> hoặc <command>apt</command>>, họ phải chỉnh sửa <filename>/var/lib/dpkg/status</filename> để xóa hay sửa đổi sự phụ thuộc, hoặc xung đột mà họ đã chọn để ghi đè.

en: Removal and purge of the <emphasis role="pkg">debian-cd</emphasis> package
vi-VN: Xoá và tẩy gói <emphasis role="pkg">debian-cd</emphasis>

en: Querying <command>dpkg</command>'s Database and Inspecting <filename>.deb</filename> Files
vi-VN: Truy vấn cơ sở dữ liệu của <command>dpkg</command> và kiểm tra các tệp <filename>.deb</filename>

en: <emphasis>BACK TO BASICS</emphasis> Option syntax
vi-VN: <emphasis>BACK TO BASICS</emphasis> Cú pháp tùy chọn

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.
vi-VN: Hầu hết các tùy chọn có sẵn trong một phiên bản"dài"(một hoặc nhiều từ có liên quan, đứng trước dấu gạch đôi) và một phiên bản"ngắn"(một chữ cái, thường là chữ đầu của một từ từ phiên bản dài, và trước bởi một  Dash).  Quy ước này là phổ biến đến mức nó là một tiêu chuẩn POSIX.

en: <primary>merged <filename>/usr</filename></primary>
vi-VN: <primary><filename>/usr</filename>đã hợp nhất</primary>

en: Various queries with <command>dpkg</command>
vi-VN: Các truy vấn khác nhau với <command>dpkg</command>

en: <emphasis>GOING FURTHER</emphasis> Comparison of versions
vi-VN: <emphasis>GOING FURTHER</emphasis> So sánh các phiên bản

en: <primary>version, comparison</primary>
vi-VN: <primary>phiên bản, so sánh </primary>

en: <primary>comparison of versions</primary>
vi-VN: <primary>so sánh các phiên bản </primary>

en: Since <command>dpkg</command> is the program for handling Debian packages, it also provides the reference implementation of the logic of comparing version numbers. This is why it has a <literal>--compare-versions</literal> option, usable by external programs (especially configuration scripts executed by <command>dpkg</command> itself). This option requires three parameters: a version number, a comparison operator, and a second version number. The different possible operators are <literal>lt</literal> (strictly less than), <literal>le</literal> (less than or equal to), <literal>eq</literal> (equal), <literal>ne</literal> (not equal), <literal>ge</literal> (greater than or equal to), and <literal>gt</literal> (strictly greater than). If the comparison is correct, <command>dpkg</command> returns 0 (success); if not, it gives a non-zero return value (indicating failure).
vi-VN: Vì <command>dpkg</command> là chương trình để xử lý các gói Debian, nó cũng cung cấp việc thực hiện tham chiếu của so sánh logic số phiên bản. Đây là lý do tại sao nó có tùy chọn <literal>--compare-versions</literal>, có thể sử dụng được bởi các chương trình bên ngoài (đặc biệt là các kịch bản cấu hình được thực hiện bởi <command>dpkg</command>). Tùy chọn này yêu cầu ba tham số: số phiên bản, toán tử so sánh và số phiên bản thứ hai. Các toán tử khác nhau có thể là <literal>lt</literal> (nhỏ hơn), <literal>le</literal> (nhỏ hơn hoặc bằng), <literal>eq</literal>(lớn hơn hoặc bằng), và <literal>gt</literal>(lớn hơn). Nếu so sánh là đúng, <literal>dpkg</literal> trả về 0 (thành công); Nếu không, nó sẽ trả về giá trị khác không (chỉ ra sự thất bại).

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>”:
vi-VN: Lưu ý sự thất bại không mong muốn của sự so sánh cuối cùng: cho <command>dpkg</command>, <literal>pre</literal>, thường biểu thị một bản phát hành trước, không có ý nghĩa đặc biệt, và chương trình này so sánh các ký tự chữ cái giống như các con số (a &lt; b &lt; c...), theo thứ tự chữ cái. Đây là lý do tại sao nó coi  “<literal>0pre3</literal>” lớn hơn  “<literal>0</literal>”, Khi chúng ta muốn số phiên bản của gói để cho biết rằng nó là bản phát hành trước, chúng ta sử dụng ký tự dấu ngã, “<literal>~</literal>”

en: <command>dpkg</command>'s Log File
vi-VN: Tệp log của <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.
vi-VN: <command>dpkg</command> giữ bản ghi chú của tất cả hành động của nó trong <filename>/var/log/dpkg.log</filename>. Nhật ký này cực kỳ chi tiết, vì nó mô tả chi tiết từng giai đoạn thông qua đó các gói được xử lý bởi <command>dpkg</command>. Ngoài việc cung cấp một cách để theo dõi hành vi của dpkg, nó giúp đỡ, trên tất cả, để giữ lịch sử của sự phát triển của hệ thống: người ta có thể tìm thấy thời điểm chính xác khi mỗi gói đã được cài đặt hoặc cập nhật, và thông tin này có thể cực kỳ hữu ích trong sự hiểu biết một sự thay đổi gần đây. Ngoài ra, tất cả các phiên bản được ghi lại, bạn có thể kiểm tra chéo thông tin với <filename>changelog.Debian.gz</filename> cho các gói đang được hỏi hoặc thậm chí với các báo cáo lỗi trực tuyến.

en: Multi-Arch Support
vi-VN: Hỗ trợ Multi-Arch

en: <primary>Multi-Arch</primary>
vi-VN: <primary>Multi-Arch </primary>

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>.
vi-VN: Tất cả các gói Debian có một trường <literal>Architecture</literal> trong tệp contol của chúng. Trường này có thể chứa cả “<literal>all</literal>” (đối với các gói có kiến trúc độc lập) hoặc tên của kiến trúc mà nó cung cấp (như “amd64”, “armhf”,...).  Trong trường hợp thứ hai, mặc định, <command>dpkg</command> sẽ chỉ chấp nhận cài đặt gói nếu kiến trúc của nó khớp với kiến trúc của máy chủ lưu trữ như trả về bởi <command>dpkg --print-architecture</command>.

en: This restriction ensures that users do not end up with binaries compiled for an incorrect architecture. Everything would be perfect except that (some) computers can run binaries for multiple architectures, either natively (an “amd64“ system can run “i386” binaries) or through emulators.
vi-VN: Hạn chế này đảm bảo rằng người dùng không cài đặt các chương trình nhị phân được biên dịch cho một kiến trúc không chính xác.  Tất cả mọi thứ sẽ hoàn hảo ngoại trừ một số máy tính có thể chạy các chương trình nhị phân cho nhiều kiến trúc, hoặc tự nhiên (một hệ thống “amd64“ hệ thống có thể chạy tệp thực thi của “i386“ ) hoặc thông qua giả lập.

en: Enabling Multi-Arch
vi-VN: Kích hoạt Multi-Arch

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.
vi-VN: Hỗ trợ mutil-arch của <command>dpkg</command> cho phép người dùng định nghĩa  “foreign architectures” có thể được cài đặt trên hệ thống hiện tại. Điều này chỉ đơn giản được thực hiện với <command>dpkg --add-architecture</command> như trong ví dụ dưới đây. Và <command>dpkg --remove-architecture </command> tương ứng để bỏ hỗ trợ kiến trúc đó, nhưng chỉ có thể sử dụng khi không có gói nào đang chạy trên kiến trúc này.

en: <emphasis>NOTE</emphasis> APT's multi-arch support
vi-VN: <emphasis>NOTE</emphasis> Hỗ trợ mutil-arch của APT

en: Foreign packages can then be installed with <command>apt install <replaceable>package</replaceable>:<replaceable>architecture</replaceable></command>.
vi-VN: Các gói foreign có thể được cài đặt với <command>apt install <replaceable>package</replaceable>:<replaceable>architecture</replaceable></command>.

en: <emphasis>IN PRACTICE</emphasis> Using proprietary i386 binaries on amd64
vi-VN: <emphasis>IN PRACTICE</emphasis> Sử dụng các chương trình độc quyền i386 trên amd64

en: Multi-Arch Related Changes
vi-VN: Thay đổi Liên quan đến Multi-Arch

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.
vi-VN: Cần lưu ý rằng các gói <literal>Multi-Arch: same</literal> phải có tên phù hợp với kiến trúc của chúng để được nhận dạng rõ ràng. Họ cũng có khả năng chia sẻ tập tin với các trường hợp khác của cùng một gói; <command>dpkg</command> đảm bảo rằng tất cả các gói giống hệt nhau từng bit từng bit một khi chúng được chia sẻ. Cuối cùng nhưng không kém phần quan trọng, tất cả các phiên bản kiến trúc của một gói phải có cùng một số phiên bản. Do đó chúng phải được nâng cấp cùng nhau.

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>”.
vi-VN: Multi-Arch hỗ trợ cũng mang lại một số thách thức thú vị trong cách xử lý sự phụ thuộc. Phù hợp với sự phụ thuộc đòi hỏi phải có một gói được đánh dấu “<literal>Multi-Arch: foreign</literal>” hoặc một gói có kiến trúc phù hợp với một trong các gói tuyên bố sự phụ thuộc (trong quá trình phân giải phụ thuộc này, các gói độc lập với kiến trúc được giả định là có cùng kiến trúc so với máy chủ). Một phụ thuộc cũng có thể bị yếu để cho phép bất kỳ kiến trúc nào hoàn thành nó với cú pháp <literal><replaceable>package</replaceable>:any</literal>, nhưng gói ngoại chỉ có thể thỏa mãn sự phụ thuộc đó nếu chúng được đánh dấu “<literal>Multi-Arch: allowed</literal>”.

en: Coexistence with Other Packaging Systems
vi-VN: Cùng tồn tại với các Hệ thống Gói Khác

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.
vi-VN: Các gói Debian không phải là gói phần mềm duy nhất được sử dụng trong thế giới phần mềm tự do. Đối thủ cạnh tranh chính là định dạng RPM của bản phân phối Red Hat Linux và các dẫn xuất của nó.  Red Hat là một phân phối thương mại rất phổ biến. Do đó các phần mềm được cung cấp bởi bên thứ ba được cung cấp ở gói RPM hơn là 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.
vi-VN: Trong trường hợp này, bạn nên biết rằng chương trình <command>rpm</command>, xử lý các gói RPM, có sẵn như là một gói Debian, vì vậy bạn có thể sử dụng định dạng gói này trên Debian.  Tuy nhiên, cần cẩn thận để hạn chế các thao tác này để trích xuất thông tin từ một gói hàng hoặc để xác minh tính toàn vẹn của nó.  Đúng vậy, thật không hợp lý để sử dụng <command>rpm</command> để cài đặt RPM trên một hệ thống Debian;  RPM sử dụng cơ sở dữ liệu riêng của nó, tách biệt với các phần mềm gốc (như <command>dpkg</command>).  Đây là lý do tại sao không thể đảm bảo sự tồn tại ổn định của hai hệ thống gói.

en: On the other hand, the <emphasis role="pkg">alien</emphasis> utility can convert RPM packages into Debian packages, and vice versa.
vi-VN: Mặt khác, tiện ích <emphasis role="pkg">alien</emphasis> có thể chuyển đổi gói RPM thành các gói Debian và ngược lại.

en: <emphasis>COMMUNITY</emphasis> Encouraging the adoption of <filename>.deb</filename>
vi-VN: <emphasis>COMMUNITY</emphasis> Khuyến khích việc áp dụng <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.
vi-VN: Bạn sẽ thấy rằng quá trình này rất đơn giản. Tuy nhiên, bạn phải biết rằng gói được tạo ra không có bất kỳ thông tin phụ thuộc nào, vì các phụ thuộc trong hai định dạng đóng gói không có sự tương thích trong hệ thống kia. Quản trị viên phải tự đảm bảo rằng gói được chuyển đổi sẽ hoạt động chính xác, và đó là lý do tại sao các gói Debian được tự tạo ra nên tránh càng nhiều càng tốt. May mắn thay, Debian có bộ sưu tập lớn nhất các gói phần mềm của tất cả các bản phân phối, và có thể là bất cứ điều gì bạn tìm kiếm đã có trong đó.

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).
vi-VN: Nhìn vào man page của lệnh <command>alien</command>, bạn cũng sẽ lưu ý rằng chương trình này xử lý các định dạng đóng gói khác, đặc biệt là sử dụng bởi phân phối Slackware (nó được làm bằng một tệp nén  đơn giản <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.
vi-VN: Sự ổn định của phần mềm được triển khai sử dụng công cụ <command>dpkg</command> góp phần vào sự nổi tiếng của Debian. Bộ công cụ APT, được mô tả trong chương tiếp theo, bảo tồn lợi thế này, đồng thời giảm bớt quản trị viên khỏi việc quản lý tình trạng của bao bì, một nhiệm vụ cần thiết nhưng rất khó khăn.
