0 - en to ar-MA translation catalogue (177 entries)

en: Binary package
ar-MA: حزمة ثنائية

en: Source package
ar-MA: حزمة مصدرية

en: dependencies
ar-MA: اعتماديات

en: conflict
ar-MA: تضارب

en: Packaging System: Tools and Fundamental Principles
ar-MA: نظام الحزم: الأدوات والمبادئ الأساسية

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.
ar-MA: بما أنك مدير دبيان، فسوف تتعامل مع حزم <filename dir="ltr">.deb</filename> بشكل متكرر، التي تحوي عناصر وظيفية مترابطة (تطبيقات، وثائق... الخ)، تُسهِّل هذه الحزم تثبيتها وصيانتها. فمن الجيد إذن أن تعرف مما تتألف هذه الحزم وكيف تستخدمها.

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.
ar-MA: يصف هذا الفصل بنية ومحتويات الحزم "الثنائية" و "المصدر". الأول هي الملفات التي يمكن الاستفادة منها مباشرة من قبل <command> dpkg</command> ، في حين أن هذا الأخير يحتوي على شفرة المصدر، فضلا عن تعليمات لبناء حزم ثنائية.

en: Structure of a Binary Package
ar-MA: بنية الحزمة الثنائية

en: <primary>package</primary><secondary>binary package</secondary><seealso><filename>.deb</filename></seealso>
ar-MA: <primary> الحزمة </primary> <secondary> الحزمة الثنائية </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.
ar-MA: صيغة حزم دبيان مصممة بحيث يمكن استخراج محتوياتها على أي نظام يونكس يملك الأوامر الكلاسيكية <command>ar</command>، و <command>tar</command>، و <command>gzip</command> (وأحياناً <command>xz</command> أو <command>bzip2</command>). هذه الخاصية التافهة ظاهريًا حاسمة بالنسبة لقابلية النقل والإنقاذ في حالات الكوارث.

en: <emphasis>TOOLS</emphasis> <command>dpkg</command>, <command>APT</command> and <command>ar</command>
ar-MA: <emphasis>أدوات</emphasis> <command>dpkg</command> ،<command>APT</command> و <command>ar</command>

en: <primary>unpacking</primary><secondary>binary package</secondary>
ar-MA: <primary>فك ضغط</primary><secondary>حزمة ثنائية</secondary>

en: <emphasis>BACK TO BASICS</emphasis> Man page notation
ar-MA: <emphasis>أساسيات</emphasis> ترقيم صفحات الدليل

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.
ar-MA: قد يُذهَل المبتدئون لوجود إشارة إلى ”<citerefentry><refentrytitle>ar</refentrytitle><manvolnum>1</manvolnum></citerefentry>‎“ في النص. هذه عادةً طريقة مناسبة للإشارة إلى صفحة الدليل ذات الاسم <literal>ar</literal> في القسم 1.

en: Sometimes this notation is also used to remove ambiguities, for example to distinguish between the <command>printf</command> command that can also be indicated by <citerefentry><refentrytitle>printf</refentrytitle><manvolnum>1</manvolnum></citerefentry> and the <function>printf</function> function in the C programming language, which can also be referred to as <citerefentry><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
ar-MA: يستخدم هذا التدوين أحيانًا لرفع الالتباس، مثلاً للتفريق بين الأمر <command>printf</command> الذي يمكن الإشارة إليه بـ <citerefentry><refentrytitle>printf</refentrytitle><manvolnum>1</manvolnum></citerefentry>‎ أيضًا وبين الدالة <function>printf</function> في لغة البرمجة C، التي يمكن الإشارة إليها بـ <citerefentry><refentrytitle>printf</refentrytitle><manvolnum>3</manvolnum></citerefentry>‎.

en: <xref linkend="solving-problems" /> discusses manual pages in further detail (see <xref linkend="sect.manual-pages" />).
ar-MA: يناقش <xref linkend="solving-problems" /> صفحات الدليل بتفصيل أكثر (انظر <xref linkend="sect.manual-pages" />).

en: Have a look at the content of a <filename>.deb</filename> file:
ar-MA: لنلقِ نظرة على محتويات ملف <filename dir="ltr">.deb</filename>:

en: As you can see, the <command>ar</command> archive of a Debian package is comprised of three files:
ar-MA: كما ترى، يتألف أرشيف <command>ar</command> الذي يضم حزمة دبيان من ثلاثة ملفات:

en: Package Meta-Information
ar-MA: المعلومات الفوقية للحزمة

en: <primary>package</primary><secondary>meta-information</secondary>
ar-MA: <primary>حزمة</primary><secondary>معلومات فوقية</secondary>

en: Description: the <filename>control</filename> File
ar-MA: وصف: الملف <filename>control</filename>

en: <primary>package meta-information</primary>
ar-MA: <primary>المعلومات الفوقية للحزمة</primary>

en: <emphasis>BACK TO BASICS</emphasis> RFC — Internet standards
ar-MA: <emphasis>أساسيات</emphasis> RFC — معايير الإنترنت

en: RFC 2026 defines the process for standardization of Internet protocols. <ulink type="block" url="http://www.faqs.org/rfcs/rfc2026.html" />
ar-MA: يُعرِّف RFC 2026 عملية توحيد بروتوكولات الإنترنت. <ulink type="block" url="http://www.faqs.org/rfcs/rfc2026.html" />

en: Dependencies: the <literal>Depends</literal> Field
ar-MA: الاعتماديات: حقل <literal>Depends</literal>

en: <primary>dependency</primary>
ar-MA: <primary>اعتمادية</primary>

en: <primary>package</primary><secondary>dependency</secondary>
ar-MA: <primary>حزمة</primary><secondary>اعتمادية</secondary>

en: <command>&lt;&lt;</command>: less than;
ar-MA: <command dir="ltr">&lt;&lt;</command>: أقل من؛

en: <command>&lt;=</command>: less than or equal to;
ar-MA: <command dir="ltr">&lt;=</command>: أقل من أو يساوي؛

en: <command>=</command>: equal to (note that “<literal>2.6.1</literal>” is not equal to “<literal>2.6.1-1</literal>”);
ar-MA: <command>=</command>: يساوي (لاحظ أن ”<literal>2.6.1</literal>“ لا يساوي ”<literal dir="ltr">2.6.1-1‎</literal>“)؛

en: <command>&gt;=</command>: greater than or equal to;
ar-MA: <command dir="ltr">&gt;=</command>: أكبر من أو يساوي؛

en: <command>&gt;&gt;</command>: greater than.
ar-MA: <command dir="ltr">&gt;&gt;</command>: أكبر من؛

en: <primary>meta-package</primary>
ar-MA: <primary>حزمة فوقية</primary>

en: <emphasis>DEBIAN POLICY</emphasis> <literal>Recommends</literal>, <literal>Suggests</literal>, and <literal>Enhances</literal> fields
ar-MA: <emphasis>سياسة دبيان</emphasis> حقول <literal>Recommends</literal> و <literal>Suggests</literal> و <literal>Enhances</literal>

en: The <literal>Recommends</literal> and <literal>Suggests</literal> fields describe dependencies that are not compulsory. The “recommended” dependencies, the most important, considerably improve the functionality offered by the package but are not indispensable to its operation. The “suggested” dependencies, of secondary importance, indicate that certain packages may complement and increase their respective utility, but it is perfectly reasonable to install one without the others.
ar-MA: يصف الحقلين <literal>Recommends</literal> و <literal>Suggests</literal> اعتماديات غير إلزامية. الاعتماديات في حقل ”recommended“ (المستحسنة أو الموصى بها)، أكثرها أهمية، تزيد وظائفية الحزمة بشكل واضح لكنها ليست ضرورية لتشغيلها. الاعتماديات في حقل ”suggested“ (المقترحة)، ذات أهمية ثانوية، وتشير إلى حزم معينة يمكن لها إكمال الأداة المثبتة وزيادة فائدتها، لكن من المنطقي تماماً تثبيت واحدة منها فقط دون البقية.

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.
ar-MA: يصف الحقل <literal>Enhances</literal> اقتراحات أيضاً، ولكن في سياق مختلف. يقع هذا الحقل في الحقيقة في الحزمة المُقتَرَحة، وليس في الحزمة التي تستفيد من الاقتراح. تكمن فائدته في أنه يمكن إضافة اقتراحات دون الحاجة لتعديل الحزمة المستفيدة. وهكذا، يمكن أن تظهر الإضافات، والامتدادات وغيرها من زيادات البرامج في قائمة المقترحات الخاصة بها. رغم أن هذا الحقل كان موجوداً منذ عدة سنوات، إلا أن البرامج مثل <command>apt</command> أو <command>synaptic</command> لا تزال تتجاهله غالباً. الهدف منه هو ظهور المقترحات المذكورة في حقل <literal>Enhances</literal> للمستخدم بالإضافة للمقترحات التقليدية — التي تجدها في الحقل <literal>Suggests</literal>.

en: <emphasis>DEBIAN POLICY</emphasis> <literal>Pre-Depends</literal>, a more demanding <literal>Depends</literal>
ar-MA: <emphasis>سياسة دبيان</emphasis>  الاعتمادية الاستباقية، اعتمادية تلبيتها أصعب

en: <primary>pre-dependency</primary>
ar-MA: <primary>اعتمادية استباقية</primary>

en: “Pre-dependencies”, which are listed in the “<literal>Pre-Depends</literal>” field in the package headers, complete the normal dependencies; their syntax is identical. A normal dependency indicates that the package in question must be unpacked and configured before configuration of the package declaring the dependency. A pre-dependency stipulates that the package in question must be unpacked and configured before execution of the pre-installation script of the package declaring the pre-dependency, that is before its installation.
ar-MA: ”الاعتماديات الاستباقية pre-dependencies“، التي تذكر في الحقل ”<literal>Pre-Depends</literal>“ في ترويسة الحزمة، تكمل الاعتماديات الطبيعية؛ وصيغة توصيفها مطابقة لها. تُبيّن الاعتمادية العادية أنه يجب فك الضغط عن الحزمة المطلوبة وإعدادها قبل إعداد الحزمة التي صَرَّحت عن الاعتمادية. أما الاعتمادية الاستباقية فهي تشترط فك الضغط عن الحزمة المطلوبة وإعدادها قبل تنفيذ سكربت الإعداد السابق للتثبيت الخاص بالحزمة التي صرحت عن الاعتمادية الاستباقية، أي قبل البدء بتثبيتها.

en: Conflicts: the <literal>Conflicts</literal> field
ar-MA: تضارب: حقل <literal>Conflicts</literal>

en: <primary>conflicts</primary>
ar-MA: <primary>تضارب</primary>

en: <primary>package</primary><secondary>conflict</secondary>
ar-MA: <primary>حزمة</primary><secondary>تضارب</secondary>

en: <command>dpkg</command> will refuse to install a package if it triggers a conflict with an already installed package, except if the new package specifies that it will “replace” the installed package, in which case <command>dpkg</command> will choose to replace the old package with the new one. <command>apt</command> always follows your instructions: if you choose to install a new package, it will automatically offer to uninstall the package that poses a problem.
ar-MA: يرفض <command>dpkg</command> تثبيت حزمة تتعارض مع حزمة مثبتة سابقاً، إلا إذا كانت الحزمة الجديدة تبين أنها ”تستبدل“ الحزمة المثبتة، في تلك الحالة، يختار <command>dpkg</command> استبدال الحزمة القديمة بالجديدة. أما <command>apt</command> فتتبع إرشاداتك دوماً: إذا اخترت تثبيت حزمة جديدة، سوف تعرض عليك تلقائياً إزالة الحزمة التي تسبب مشكلة.

en: Incompatibilities: the <literal>Breaks</literal> Field
ar-MA: عدم التوافق: حقل <literal>Breaks</literal>

en: <primary>incompatibilities</primary>
ar-MA: <primary>عدم توافق</primary>

en: <primary>package</primary><secondary>incompatibility</secondary>
ar-MA: <primary>حزمة</primary><secondary>عدم توافق</secondary>

en: The <literal>Breaks</literal> field has an effect similar to that of the <literal>Conflicts</literal> field, but with a special meaning. It signals that the installation of a package will “break” another package (or particular versions of it). In general, this incompatibility between two packages is transitory, and the <literal>Breaks</literal> relationship specifically refers to the incompatible versions.
ar-MA: تأثير الحقل <literal>Breaks</literal> يشبه تأثير الحقل <literal>Conflicts</literal>، لكن له معنى خاص. يشير هذا الحقل إلى أن تثبيت الحزمة سوف ”يعطب“ حزمة أخرى (أو نسخة محددة منها). عموماً، هذا النوع من عدم التوافق بين الحزم انتقالي، وغالباً ما تحدد علاقة <literal>Breaks</literal> الإصدارات غير المتوافقة فيما بينها.

en: <command>dpkg</command> will refuse to install a package that breaks an already installed package, and <command>apt</command> will try to resolve the problem by updating the package that would be broken to a newer version (which is assumed to be fixed and, thus, compatible again).
ar-MA: يرفض <command>dpkg</command> تثبيت حزمة تعطب حزمة مثبتة مسبقاً، أما <command>apt</command> فتحاول حل المشكلة بتحديث الحزمة التي كانت ستتعطل إلى إصدار أحدث (الذي يفترض أنه قد أُصلِح، وأنه قد عاد متوافقاً من جديد).

en: This type of situation may occur in the case of updates without backwards compatibility: this is the case if the new version no longer functions with the older version, and causes a malfunction in another program without making special provisions. The <literal>Breaks</literal> field prevents the user from running into these problems.
ar-MA: يحدث هذا النوع من الحالات في حال صدور تحديثات بدون توافق عكسي: هذا ما يحدث عندما لا تتوافق النسخة الجديدة مع النسخة القديمة، وتسبب أعطالاً في برامج أخرى ما لم تتخذ الاحتياطات المناسبة. يستخدم الحقل <literal>Breaks</literal> لمنع المستخدم من الخوض في هذه المشاكل.

en: Provided Items: the <literal>Provides</literal> Field
ar-MA: العناصر المقدَّمة: حقل <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.
ar-MA: يقدم هذا الحقل مفهوم ”الحزمة الظاهرية“. لهذا الحقل أدوار عديدة، لكن اثنين منها لهما أهمية خاصة. يتمثل الدور الأول في استخدام الحزمة الظاهرية لربطها مع خدمة عامة (الحزمة ”توفر provides“ الخدمة). أما الدور الثاني فهو أن هذا الحقل يشير إلى أن الحزمة تستبدل حزمة أخرى بالكامل، وأنها تستطيع أيضاً تلبية اعتماديات الحزم التي تعتمد على الحزمة المُستَبدَلَة. بالتالي، يمكن إنشاء حزمة بديلة دون الاضطرار لاستخدام اسم الحزمة نفسه.

en: <emphasis>VOCABULARY</emphasis> Meta-package and virtual package
ar-MA: <emphasis>مصطلحات</emphasis> الحزمة الفوقية والحزمة الظاهرية

en: <primary>package</primary><secondary>virtual package</secondary>
ar-MA: <primary>حزمة</primary><secondary>حزمة ظاهرية</secondary>

en: <primary>virtual package</primary>
ar-MA: <primary>حزمة ظاهرية</primary>

en: It is essential to clearly distinguish meta-packages from virtual packages. The former are real packages (including real <filename>.deb</filename> files), whose only purpose is to express dependencies.
ar-MA: من المهم التمييز بوضوح بين الحزم الفوقية وبين الحزم الظاهرية. الأولى هي حزم حقيقية (ولها ملفات <filename dir="ltr">‎.deb</filename> حقيقية)، غرضها الوحيد التصريح عن اعتماديات.

en: Virtual packages, however, do not exist physically; they are only a means of identifying real packages based on common, logical criteria (service provided, compatibility with a standard program or a pre-existing package, etc.).
ar-MA: أما الحزم الظاهرية، فلا وجود لها فيزيائياً؛ بل هي مجرد وسيلة لمطابقة الحزم الحقيقية اعتماداً على معايير منطقية مشتركة (الخدمات المقدَّمة، التوافق مع برنامج معياري أو حزمة سابقة، الخ).

en: Providing a “Service”
ar-MA: تقديم ”خدمة“

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.
ar-MA: دعنا نناقش الحالة الأولى بتفصيل أكثر من خلال مثال: نقول أن جميع مخدمات البريد الإلكتروني، مثل <emphasis role="pkg">postfix</emphasis> أو <emphasis role="pkg">sendmail</emphasis> ”تُقدِّم“ الحزمة الظاهرية <emphasis role="pkg"> mail-transport-agent</emphasis>. بالتالي، أي حزمة تحتاج هذه الخدمة (مثل برامج إدارة قوائم بريدية، مثل <emphasis role="pkg">smartlist</emphasis> أو <emphasis role="pkg">sympa</emphasis>) تصرح ببساطة أنها تحتاج <emphasis  role="pkg">mail-transport-agent</emphasis> في اعتمادياتها بدلاً من تحديد قائمة طويلة وغير كاملة للحلول الممكنة (مثل <command>postfix‏ | sendmail‏ | exim4 | …</command>). بالإضافة لذلك، لا فائدة من تثبيت مخدمي بريد إلكتروني على نفس الجهاز، ولذلك تصرح كل واحدة من هذه الحزم عن تعارض مع الحزمة الظاهرية <emphasis role="pkg">mail-transport-agent</emphasis>. يتجاهل النظام تعارض الحزمة مع نفسها، لكن هذه التقنية تمنع تثبيت أكثر من مخدم بريد إلكتروني واحد على نفس الجهاز.

en: <emphasis>DEBIAN POLICY</emphasis> List of virtual packages
ar-MA: <emphasis>سياسة دبيان</emphasis> قائمة الحزم الظاهرية

en: For virtual packages to be useful, everyone must agree on their name. This is why they are standardized in the Debian Policy. The list includes among others <emphasis role="pkg">mail-transport-agent</emphasis> for mail servers, <emphasis role="pkg">c-compiler</emphasis> for C programming language compilers, <emphasis role="pkg">www-browser</emphasis> for web browsers, <emphasis role="pkg">httpd</emphasis> for web servers, <emphasis role="pkg">ftp-server</emphasis> for FTP servers, <emphasis role="pkg">x-terminal-emulator</emphasis> for terminal emulators in graphical mode (<command>xterm</command>), and <emphasis role="pkg">x-window-manager</emphasis> for window managers.
ar-MA: حتى تتحقق الفائدة من الحزم الظاهرية، يجب أن يتوافق الجميع على أسمائها. لذلك تجعل سياسة دبيان هذه الحزم قياسية. تتضمن اللائحة <emphasis role="pkg">mail-transport-agent</emphasis> لمخدمات البريد، و <emphasis role="pkg">c-compiler</emphasis> لمترجمات لغة C، و <emphasis role="pkg">www-browser</emphasis> لمتصفحات الوب، و <emphasis role="pkg">httpd</emphasis> لمخدمات الوب، و <emphasis role="pkg">ftp-server</emphasis> لمخدمات FTP، و <emphasis role="pkg">x-terminal-emulator</emphasis> لمحاكيات الطرفية في الوضع الرسومي (<command>xterm</command>)، و <emphasis role="pkg">x-window-manager</emphasis> لبرامج إدارة النوافذ، بالإضافة إلى العديد من الأسماء الأخرى.

en: Interchangeability with Another Package
ar-MA: إبدال الحزم

en: Use of a <literal>Provides</literal> field in order to not break dependencies
ar-MA: استعمال الحقل <literal>Provides</literal> للحفاظ على سلامة علاقات الاعتماد بين الحزم

en: This feature is very useful, since it is never possible to anticipate the vagaries of development, and it is necessary to be able to adjust to renaming, and other automatic replacement, of obsolete software.
ar-MA: هذه الميزة مفيدة جداً، لأنه لا يمكن أبداً التنبؤ بتقلبات التطوير، ومن المهم أن يكون هناك مجال للتكيف مع إعادة التسمية وغيرها من الاستبدالات الآلية للبرمجيات الميتة.

en: <emphasis>BACK TO BASICS</emphasis> Perl, a programming language
ar-MA: <emphasis>أساسيات</emphasis> بيرل، لغة برمجة

en: <primary>Perl</primary>
ar-MA: <primary>بيرل</primary>

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”.
ar-MA: بما أنها لغة مفسرة، فلا يحتاج البرنامج المكتوب بها لترجمة قبل تنفيذه. ولهذا تدعى البرامج المكتوبة بها ”سكربتات بيرل“.

en: Past Limitations
ar-MA: القيود السابقة

en: Replacing Files: The <literal>Replaces</literal> Field
ar-MA: استبدال الملفات: حقل <literal>Replaces</literal>

en: <primary>replacement</primary>
ar-MA: <primary>استبدال</primary>

en: <primary>package</primary><secondary>replacement</secondary>
ar-MA: <primary>حزمة</primary><secondary>استبدال</secondary>

en: The use of this field is justified when package names change or when a package is included in another. This also happens when the maintainer decides to distribute files differently among various binary packages produced from the same source package: a replaced file no longer belongs to the old package, but only to the new one.
ar-MA: يُبرَّر استخدام هذا الحقل عند تغيير اسم الحزمة أو عند تضمين حزمة في حزمة أخرى. كما يحدث هذا أيضاً عندما يقرر المشرف توزيع الملفات الناتجة عن حزمة مصدرية واحدة بشكل متفاوت بين عدة حزم ثنائية متنوعة: لم يعد الملف المستبدل ينتمي للحزمة القديمة، بل فقط للحزمة الجديدة.

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.
ar-MA: إذا استبدلت جميع ملفات إحدى الحزم المثبتة، تعتبر الحزمة مزالة. أخيراً، يشجع هذا الحقل <command>dpkg</command> على إزالة الحزمة المستبدَلَة عند حدوث تضارب.

en: <emphasis>GOING FURTHER</emphasis> The <literal>Tag</literal> field
ar-MA: <emphasis>التعمق أكثر</emphasis> حقل <literal>Tag</literal>

en: Configuration Scripts
ar-MA: سكربتات الإعداد

en: <emphasis>GOING FURTHER</emphasis> <command>dpkg</command>'s database
ar-MA: <emphasis>التعمق أكثر</emphasis> قاعدة بيانات <command>dpkg</command>

en: <primary>dpkg</primary><secondary>database</secondary>
ar-MA: <primary>dpkg</primary><secondary>قاعدة بيانات</secondary>

en: All of the configuration scripts for installed packages are stored in the <filename>/var/lib/dpkg/info/</filename> directory, in the form of a file prefixed with the package's name. This directory also includes a file with the <filename>.list</filename> extension for each package, containing the list of files that belong to that package.
ar-MA: تُخزَّن جميع سكربتات الإعداد الخاصة بالحزم المثبتة في المجلد <filename>/var/lib/dpkg/info/</filename>، بشكل ملف مسبوق باسم الحزمة. يحوي هذا المجلد أيضًا على ملف امتداده <filename dir="ltr">.list</filename> لكل حزمة، يحوي قائمة بالملفات التي تنتمي لتلك الحزمة.

en: The <filename>/var/lib/dpkg/status</filename> file contains a series of data blocks (in the format of the famous mail headers, RFC 2822) describing the status of each package. The information from the <filename>control</filename> file of the installed packages is also replicated there.
ar-MA: يحتوي الملف <filename dir="ltr">/var/lib/dpkg/status</filename> على سلسلة من كتل البيانات (بتنسيق ترويسات البريد الشهير، RFC 2822) تصف حالة كل حزمة. كما تُنسَخ المعلومات من ملف <filename>control</filename> الخاص بالحزمة المثبتة هناك أيضًا.

en: <emphasis>CAUTION</emphasis> Symbolic names of the scripts
ar-MA: <emphasis>تحذير</emphasis> أسماء السكربتات الرمزية

en: The sequences described in this section call configuration scripts by specific names, such as <command>old-prerm</command> or <command>new-postinst</command>. They are, respectively, the <command>prerm</command> script contained in the old version of the package (installed before the update) and the <command>postinst</command> script contained in the new version (installed by the update).
ar-MA: الأحداث الموصوفة في هذا القسم تدعو السكربتات بأسماء خاصة، مثل <command>old-prerm</command> أو <command>new-postinst</command>. هذه تعني السكربت <command>prerm</command> الموجود في النسخة القديمة من الحزمة (المثبتة قبل التحديث) والسكربت <command>postinst</command> الموجود في النسخة الجديدة (المثبتة بعد التحديث).

en: <emphasis>TIP</emphasis> State diagrams
ar-MA: <emphasis>تلميح</emphasis> مخططات الحالة

en: Installation and Upgrade
ar-MA: التثبيت والتحديث

en: <primary><command>dpkg</command></primary><secondary>internal operation</secondary>
ar-MA: <primary>dpkg</primary><secondary>عمل داخلي</secondary>

en: <primary>package</primary><secondary>installation</secondary>
ar-MA: <primary>حزمة</primary><secondary>تثبيت</secondary>

en: The new package files are then unpacked. If a file already exists, it is replaced, but a backup copy is temporarily made.
ar-MA: بعدها يفك الضغط عن ملفات الحزمة الجديدة. تستبدل الملفات الموجودة سابقاً، لكن مع الاحتفاظ بنسخة احتياطية مؤقتة.

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.
ar-MA: يُحدِّث <command>dpkg</command> جميع البيانات الداخلية (لائحة الملفات، سكربتات الإعداد، الخ) ويحذف النسخ الاحتياطية للملفات المستبدلة. هذه هي نقطة اللاعودة: عند هذه اللحظة لا يعود <command>dpkg</command> قادراً على الوصول إلى جميع العناصر اللازمة للرجوع إلى الحالة السابقة.

en: <command>dpkg</command> will update the configuration files, asking the user to decide if it is unable to automatically manage this task. The details of this procedure are discussed in <xref linkend="sect.conffiles" />.
ar-MA: بعدها يُحدِّث <command>dpkg</command> ملفات الضبط، ويطلب من المستخدم اتخاذ قرار إذا لم يستطع إدارة هذه المهمة آلياً. تفاصيل هذه العملية مشروحة في <xref linkend="sect.conffiles" />.

en: Package Removal
ar-MA: إزالة حزمة

en: <primary>package</primary><secondary>removal</secondary>
ar-MA: <primary>حزمة</primary><secondary>إزالة</secondary>

en: <emphasis>VOCABULARY</emphasis> Purge, a complete removal
ar-MA: <emphasis>مصطلحات</emphasis> التطهير، إزالة الحزمة بالكامل

en: <primary>purging a package</primary>
ar-MA: <primary>تطهير حزمة</primary>

en: <primary>package</primary><secondary>purge</secondary>
ar-MA: <primary>حزمة</primary><secondary>تطهير</secondary>

en: When a Debian package is removed, the configuration files are retained in order to facilitate possible re-installation. Likewise, the data generated by a daemon (such as the content of an LDAP server directory, or the content of a database for an SQL server) are usually retained.
ar-MA: عند إزالة حزمة دبيان، تبقى ملفات الإعداد في سبيل تسهيل إعادة التثبيت في المستقبل. كما يُحتَفظ عادةً بالبيانات التي تولدها الخِدْمات (مثل محتويات مجلد مخدم LDAP، أو محتويات قاعدة بيانات مخدم SQL).

en: To remove all data associated with a package, it is necessary to “purge” the package with the command, <command>dpkg -P <replaceable>package</replaceable></command>, <command>apt-get remove --purge <replaceable>package</replaceable></command> or <command>aptitude purge <replaceable>package</replaceable></command>.
ar-MA: لإزالة جميع البيانات المتعلقة بالحزمة، يجب ”تطهير“ الحزمة بالأمر <command>dpkg -P <replaceable>package</replaceable></command> أو الأمر <command>apt-get remove --purge <replaceable>package</replaceable></command> أو <command>aptitude purge <replaceable>package</replaceable></command>.

en: Given the definitive nature of such data removals, a purge should not be taken lightly.
ar-MA: يجب عدم الاستخفاف عند استعمال أمر التطهير لأن إزالة هذه البيانات نهائية.

en: <primary><filename>config</filename>, <command>debconf</command> script</primary>
ar-MA: <primary><filename>config</filename>، سكربت <command>debconf</command></primary>

en: The four scripts detailed above are complemented by a <filename>config</filename> script, provided by packages using <command>debconf</command> to acquire information from the user for configuration. During installation, this script defines in detail the questions asked by <command>debconf</command>. The responses are recorded in the <command>debconf</command> database for future reference. The script is generally executed by <command>apt</command> prior to installing packages one by one in order to group all the questions and ask them all to the user at the beginning of the process. The pre- and post-installation scripts can then use this information to operate according to the user's wishes.
ar-MA: هناك سكربت <filename>config</filename> يكمل السكربتات الأربعة المذكورة سابقاً، توفره الحزم التي تعتمد على <command>debconf</command> للحصول على معلومات من المستخدم لضبط الحزمة. يُحدِّد هذا السكربت أثناء التثبيت الأسئلة التي تطرحها <command>debconf</command> بالتفصيل. تُسجَّل الإجابات في قاعدة بيانات <command>debconf</command> للرجوع إليها مستقبلاً. تستدعي <command>apt</command> هذا السكربت عموماً قبل تثبيت الحزم واحدة تلو الأخرى وذلك لتجميع كل الأسئلة وطرحها جميعاً على المستخدم في بداية العملية. يمكن بعدها أن تستفيد سكربتات ما قبل وما بعد التثبيت من هذه المعلومات حتى تتبع رغبات المستخدم.

en: <emphasis>TOOL</emphasis> <command>debconf</command>
ar-MA: <emphasis>أدوات</emphasis> <command>debconf</command>

en: <command>debconf</command> was created to resolve a recurring problem in Debian. All Debian packages unable to function without a minimum of configuration used to ask questions with calls to the <command>echo</command> and <command>read</command> commands in <filename>postinst</filename> shell scripts (and other similar scripts). But this also means that during a large installation or update the user must stay with their computer to respond to various questions that may arise at any time. These manual interactions have now been almost entirely dispensed with, thanks to the <command>debconf</command> tool.
ar-MA: لقد أُنشِئَت <command>debconf</command> لحل مشكلة متكررة في دبيان. لقد كانت الحزم التي لا يمكن أن تعمل دون حد أدنى من الإعداد تطرح الأسئلة باستدعاء الأمرين <command>echo</command> و <command>read</command> في سكربتات <filename>postinst</filename> (وغيره من السكربتات المشابهة). لكن هذا يعني أيضاً أن المستخدم أثناء عمليات التثبيت أو التحديث الكبيرة يجب أن يبقى مع الحاسوب للإجابة على الأسئلة المتنوعة التي قد تظهر في أي لحظة. لقد تخلصنا تماماً تقريباً من هذه التفاعلات اليدوية بعد استخدام الأداة <command>debconf</command>.

en: <command>debconf</command> has many interesting features: it requires the developer to specify user interaction; it allows localization of all the strings displayed to users (all translations are stored in the <filename>templates</filename> file describing the interactions); it has different frontends to display the questions to the user (text mode, graphical mode, non-interactive); and it allows creation of a central database of responses to share the same configuration with several computers... but the most important is that it is now possible to present all of the questions in a row to the user, prior to starting a long installation or update process. The user can go about their business while the system handles the installation on its own, without having to stay there staring at the screen waiting for questions.
ar-MA: تتمتع <command>debconf</command> بالعديد من المزايا المثيرة: فهي تفرض على المطور تحديد التفاعلات مع المستخدم؛ وتسمح بترجمة جميع النصوص المعروضة للمستخدم (تُخزَّن جميع الترجمات في ملف <filename>templates</filename> الذي يُعرَّف التفاعلات)؛ ولها واجهات مختلفة لعرض الأسئلة على المستخدم (الوضع النصي، الوضع الرسومي، الوضع غير التفاعلي)؛ كما تسمح بإنشاء قاعدة بيانات مركزية للإجابات لمشاركة الإعدادات نفسها بين عدة حواسيب... لكن أهم ميزة هي أنه يمكن الآن طرح جميع الأسئلة على المستخدم على التعاقب، قبل بدء عمليات التثبيت أو التحديث الطويلة.  يستطيع المستخدم بعدها أن ينطلق لأداء أعماله الأخرى بينما يتولى النظام عملية التثبيت وحده، دون الحاجة لبقاء المستخدم أمامه يحدِّق في الشاشة وينتظر الأسئلة.

en: <primary>checksums</primary>
ar-MA: <primary>شفرات تحقق</primary>

en: In effect, in this situation, <command>dpkg</command> behaves as intelligently as possible: if the standard configuration file has not changed between the two versions, it does nothing. If, however, the file has changed, it will try to update this file. Two cases are possible: either the administrator has not touched this configuration file, in which case <command>dpkg</command> automatically installs the new version; or the file has been modified, in which case <command>dpkg</command> asks the administrator which version they wish to use (the old one with modifications, or the new one provided with the package). To assist in making this decision, <command>dpkg</command> offers to display a “<command>diff</command>” that shows the difference between the two versions. If the user chooses to retain the old version, the new one will be stored in the same location in a file with the <filename>.dpkg-dist</filename> suffix. If the user chooses the new version, the old one is retained in a file with the <filename>.dpkg-old</filename> suffix. Another available action consists of momentarily interrupting <command>dpkg</command> to edit the file and attempt to re-instate the relevant modifications (previously identified with <command>diff</command>).
ar-MA: في الواقع، يتصرف <command>dpkg</command> بأذكى ما يمكن في هذه الحالات: إذا لم يتغيَّر ملف الإعدادات القياسي بين النسختين، لا يفعل أي شيء. لكن إذا تَغيَّر الملف، سيحاول تحديث هذا الملف. هناك احتمالين هنا: إما أن مدير النظام لم يلمس ملف الإعداد هذا، وفي تلك الحالة يُثبِّت <command>dpkg</command> النسخة الجديدة آلياً؛ أو أن الملف قد عُدِّل، وفي تلك الحالة يسأل <command>dpkg</command> مدير النظام عن النسخة التي يريد أن يستخدمها (النسخة القديمة المعدلة، أو الجديدة الموفرة مع الحزمة). حتى يساعد <command>dpkg</command> في اتخاذ هذا القرار، يعرض عليك إظهار ”<command>diff</command>“ يُبيِّنُ الاختلاف بين النسختين. إذا اختار المستخدم إبقاء النسخة القديمة، سوف تُخزَّن الجديدة في نفس المكان في ملف له اللاحقة <filename>‎.dpkg-dist</filename>. أما إذا اختار المستخدم النسخة الجديدة، تحفظ النسخة القديمة في ملف له اللاحقة <filename>‎.dpkg-old</filename>. هناك خيار آخر متاح وهو مقاطعة <command>dpkg</command> مؤقتاً لتحرير الملف ومحاولة استرجاع التعديلات المناسبة (التي تم التعرف عليها باستخدام <command>diff</command>).

en: <emphasis>GOING FURTHER</emphasis> Force dpkg to ask configuration file questions
ar-MA: <emphasis>التعمق أكثر</emphasis> إجبار dpkg على طرح أسئلة عن ملفات الإعداد

en: <emphasis>GOING FURTHER</emphasis> Avoiding the configuration file questions
ar-MA: <emphasis>التعمق أكثر</emphasis> تفادي أسئلة المتعلقة بملفات الضبط

en: <command>dpkg</command> handles configuration file updates, but, while doing so, regularly interrupts its work to ask for input from the administrator. This makes it less than enjoyable for those who wish to run updates in a non-interactive manner. This is why this program offers options that allow the system to respond automatically according to the same logic: <command>--force-confold</command> retains the old version of the file; <command>--force-confnew</command> will use the new version of the file (these choices are respected, even if the file has not been changed by the administrator, which only rarely has the desired effect). Adding the <command>--force-confdef</command> option tells <command>dpkg</command> to decide by itself when possible (in other words, when the original configuration file has not been touched), and only uses <command>--force-confnew</command> or <command>--force-confold</command> for other cases.
ar-MA: يعالج <command>dpkg</command> تحديث ملفات الضبط، لكنه يقطع عمله بانتظام أثناء هذه العملية، حتى يطلب مدخلات من مدير النظام. هذا لا يناسب الذين يبحثون عن تشغيل التحديثات بطريقة غير تفاعلية. لذلك يوفر هذا البرنامج خيارات تسمح للنظام بالاستجابة آلياً وفق منطق ثابت: يحفظ الخيار <command>‎--force-confold</command> النسخة القديمة من الملف؛ أما <command>‎--force-confnew</command> سيستخدم النسخة الجديدة منه (يلتزم البرنامج بهذه الخيارات حتى لو لم يكن مدير النظام قد عدَّل الملف، وهذا نادراً ما يكون الهدف المقصود). إذا أضيف الخيار <command>‎--force-confdef</command> فسوف يتخذ <command>dpkg</command> القرار بنفسه إذا كان ذلك ممكناً (أي عندما لا يكون ملف الإعدادات الأصلي معدلاً)، ويلتزم بالخيار <command>‎--force-confnew</command> أو <command>‎--force-confold</command> في الحالات الأخرى.

en: Including this option in the configuration file means that it will also be used in a graphical interface such as <command>aptitude</command>.
ar-MA: إن تضمين هذا الخيار في ملف الإعداد يعني أنه سيستخدم أيضاً مع الواجهات الرسومية مثل <command>aptitude</command>.

en: Structure of a Source Package
ar-MA: بنية الحزمة المصدرية

en: <primary>package</primary><secondary>source package</secondary>
ar-MA: <primary>حزمة</primary><secondary>حزمة مصدرية</secondary>

en: Format
ar-MA: الصيغة

en: <primary>DSC file</primary>
ar-MA: <primary>ملف DSC</primary>

en: The <filename>.dsc</filename> (Debian Source Control) file is a short text file containing an RFC 2822 header (just like the <filename>control</filename> file studied in <xref linkend="sect.control" />) which describes the source package and indicates which other files are part thereof. It is signed by its maintainer, which guarantees authenticity. See <xref linkend="sect.package-authentication" /> for further details on this subject.
ar-MA: ملف <filename>‎.dsc</filename> (‏Debian Source Control) هو ملف نصي يحوي ترويسة RFC2822 (مثل ملف <filename>control</filename> الذي درسناه في <xref linkend="sect.control" />) الذي يصف الحزمة المصدرية ويحدد الملفات الأخرى التي تنتمي إليها. يوقّع المشرف على الحزمة هذا الملف، لضمان سلامته. انظر <xref linkend="sect.package-authentication" /> لمزيد من التفاصيل على هذا الموضوع.

en: A <filename>.dsc</filename> file
ar-MA: ملف <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.
ar-MA: لاحظ أن الحزمة المصدرية لها اعتماديات أيضاً (<literal>Build-Depends</literal>) تختلف تماماً عن اعتماديات الحزم الثنائية، لأن الاعتماديات هنا تُبيّن الأدوات اللازمة لترجمة البرنامج الذي تحويه وبناء حزمته الثنائية.

en: <emphasis>CAUTION</emphasis> Distinct namespaces
ar-MA: <emphasis>تحذير</emphasis> فضاءات أسماء منفصلة

en: It is important to note here that there is no required correspondence between the name of the source package and that of the binary package(s) that it generates. It is easy enough to understand if you know that each source package may generate several binary packages. This is why the <filename>.dsc</filename> file has the <literal>Source</literal> and <literal>Binary</literal> fields to explicitly name the source package and store the list of binary packages that it generates.
ar-MA: من المهم الانتباه هنا إلى عدم وجود نوع من الارتباط الإلزامي بين اسم الحزمة المصدرية والحزمة (أو الحزم) الثنائية التي تنتج عنها. فهم هذه القضية سهل عند معرفة أن الحزمة المصدرية قد تولِّد عدة حزم ثنائية. لهذا يحوي الملف <filename>‎.dsc</filename> الحقلين <literal>Source</literal> و <literal>Binary</literal> للتصريح عن اسم الحزمة المصدرية وتخزين قائمة الحزم الثنائية التي تنتج عنها.

en: <emphasis>CULTURE</emphasis> Why divide into several packages
ar-MA: <emphasis>ثقافة</emphasis> سبب التقسيم لعدة حزم

en: Quite frequently, a source package (for a given software) can generate several binary packages. The split is justified by the possibility to use (parts of) the software in different contexts. Consider a shared library, it may be installed to make an application work (for example, <emphasis role="pkg">libc6</emphasis>), or it can be installed to develop a new program (<emphasis role="pkg">libc6-dev</emphasis> will then be the correct package). We find the same logic for client/server services where we want to install the server part on one machine and the client part on others (this is the case, for example, of <emphasis role="pkg">openssh-server</emphasis> and <emphasis role="pkg">openssh-client</emphasis>).
ar-MA: في كثير من الأوقات، يمكن أن تولّد الحزمة المصدرية (لبرمجية معينة) عدة حزم ثنائية. سبب التقسيم هو إمكانية استخدام (أجزاء من) البرنامج في مجالات مختلفة. خذ المكتبات المشتركة على سبيل المثال، يمكن تثبيتها لتشغيل برنامج آخر (مثل <emphasis role="pkg">libc6</emphasis>)، أو يمكن تثبيتها لتطوير برنامج جديد (عندها ستستخدم الحزمة <emphasis role="pkg">libc6-dev</emphasis>). كما أن القضية نفسها تنطبق على خدمات المخدم/عميل التي نريد فيها تثبيت جزء المخدم على جهاز ما وقسم العميل على جهاز آخر (هذه هي حالة <emphasis role="pkg">openssh-server</emphasis> و <emphasis role="pkg">openssh-client</emphasis>، مثلاً).

en: <emphasis>PERSPECTIVE</emphasis> Different source package formats
ar-MA: <emphasis>منظور</emphasis> الصيغ المختلفة للحزم المصدرية

en: Originally there was only one source package format. This is the <literal>1.0</literal> format, which associates an <filename>.orig.tar.gz</filename> archive to a <filename>.diff.gz</filename> “debianization” patch (there is also a variant, consisting of a single <filename>.tar.gz</filename> archive, which is automatically used if no <filename>.orig.tar.gz</filename> is available).
ar-MA: لقد كان هناك صيغة وحيدة للحزم المصدرية في الأصل. هي الصيغة <literal>1.0</literal>، التي تجمع أرشيف <filename>‎.orig.tar.gz</filename> مع رقعة ”الدَبيَنَـة debianization“‏ <filename>‎.diff.gz</filename> (هناك أيضاً صيغة بديلة، تتألف من أرشيف <filename>‎.tar.gz</filename> وحيد، الذي يُستَخدَم آلياً إذا لم يكن هناك <filename>‎.orig.tar.gz</filename> متوفر).

en: The <filename>.orig.tar.gz</filename> file is an archive containing the source code as provided by the original developer. Debian package maintainers are asked to not modify this archive in order to be able to easily check the origin and integrity of the file (by simple comparison with a checksum) and to respect the wishes of some authors.
ar-MA: الملف <filename>‎.orig.tar.gz</filename> هو أرشيف يحوي الشفرة المصدرية بالشكل الذي يقدمه المطور الأصلي. يُطلَب من مشرفي حزم دبيان عدم تعديل هذا الأرشيف حتى يمكن التحقق بسهولة من مصدر الملف وسلامته (بمقارنة بسيطة بين شفرات التحقق) ولاحترام رغبات بعض المطورين.

en: <emphasis>TOOL</emphasis> Decompressing a source package
ar-MA: <emphasis>أدوات</emphasis> فك الضغط عن حزمة مصدرية

en: <primary>decompressing, source package</primary>
ar-MA: <primary>فك الضغط، حزمة مصدرية</primary>

en: <primary>uncompressing, source package</primary>
ar-MA: <primary>فك الضغط، حزمة مصدرية</primary>

en: <primary>unpacking</primary><secondary>source package</secondary>
ar-MA: <primary>فك ضغط</primary><secondary>حزمة مصدرية</secondary>

en: If you have a source package, you can use the <command>dpkg-source</command> command (from the <emphasis role="pkg">dpkg-dev</emphasis> package) to decompress it:
ar-MA: إذا كان لديك حزمة مصدرية، يمكنك استخدام الأمر <command>dpkg-source</command> ( من الحزمة <emphasis role="pkg">dpkg-dev</emphasis>) لفك الضغط عنها:

en: Usage within Debian
ar-MA: الاستخدام في دبيان

en: Manipulating Packages with <command>dpkg</command>
ar-MA: معالجة الحزم باستخدام <command>dpkg</command>

en: <emphasis>NOTE</emphasis> <command>dpkg</command> or <command>apt</command>?
ar-MA: <emphasis>ملاحظة</emphasis> <command>dpkg</command> أو <command>apt</command>؟

en: <command>dpkg</command> should be seen as a system tool (backend), and <command>apt</command> as a tool closer to the user, which overcomes the limitations of the former. These tools work together, each one with its particularities, suited to specific tasks.
ar-MA: يجب اعتبار <command>dpkg</command> أداة نظام (backend)، و <command>apt</command> كأداة أقرب للمستخدم، تتجاوز قيود الأداة الأولى. تعمل هذه الأدوات معاً، ولكل منها خصوصياتها، وتتناسب مع مهام محددة.

en: Installing Packages
ar-MA: تثبيت الحزم

en: <primary>installation</primary><secondary>package installation</secondary>
ar-MA: <primary>تثبيت</primary><secondary>تثبيت حزمة</secondary>

en: <command>dpkg</command> is, above all, the tool for installing an already available Debian package (because it does not download anything). To do this, we use its <literal>-i</literal> or <literal>--install</literal> option.
ar-MA: <command>dpkg</command> هي، وقبل كل شيء، أداة لتثبيت حزم دبيان المتوفرة مسبقاً (لأنها لا تنزل أي شيء من الشبكة). لتثبيت حزمة، نستخدم الخيار <literal>‎-i</literal> أو <literal>‎--install</literal>.

en: Installation of a package with <command>dpkg</command>
ar-MA: تثبيت حزمة باستخدام <command>dpkg</command>

en: Separate unpacking and configuration
ar-MA: فك الضغط والإعداد على مرحلتين

en: <primary>package</primary><secondary>unpacking</secondary>
ar-MA: <primary>حزمة</primary><secondary>فك الضغط</secondary>

en: Sometimes <command>dpkg</command> will fail to install a package and return an error; if the user orders it to ignore this, it will only issue a warning; it is for this reason that we have the different <literal>--force-*</literal> options. The <command>dpkg --force-help</command> command, or documentation of this command, will give a complete list of these options. The most frequent error, which you are bound to encounter sooner or later, is a file collision. When a package contains a file that is already installed by another package, <command>dpkg</command> will refuse to install it. The following messages will then appear:
ar-MA: أحياناً يخفق <command>dpkg</command> في تثبيت الحزمة ويعيد خطأ؛ إذا طلب المستخدم منه تجاهل هذا الخطأ، سوف يصدر تحذيراً فقط؛ لهذا السبب تجد خيارات <literal>‎--force-*‎</literal>‎ المختلفة. استدعاء الأمر <command>dpkg --force-help</command>، أو وثائق هذا الأمر، يعطيك قائمة كاملة بهذه الخيارات. أكثر الأخطاء تكراراً، والذي سيواجهك عاجلاً أو آجلاً، هو تضارب الملفات. عندما تحوي الحزمة ملفاً ثبّتته حزمة أخرى من قبل، يرفض <command>dpkg</command> تثبيت الحزمة. في تلك الحالة تظهر الرسائل التالية:

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.
ar-MA: في هذه الحالة، إذا كنت تعتقد أن استبدال الملف لن يكون خطراً على استقرار النظام (وهذه هي الحال عادة)، يمكنك استخدام الخيار <literal>‎--force-overwrite</literal>، الذي يطلب من <command>dpkg</command> تجاهل هذا الخطأ واستبدال الملف.

en: <emphasis>CAUTION</emphasis> Effective use of <literal>--force-*</literal>
ar-MA: <emphasis>تحذير</emphasis> الاستخدام الفعال لخيارات <literal>‎--force-*‎</literal>

en: <primary>broken dependency</primary>
ar-MA: <primary>اعتمادية معطوبة</primary>

en: If you are not careful, the use of an option <literal>--force-*</literal> can lead to a system where the APT family of commands will refuse to function. In effect, some of these options allow installation of a package when a dependency is not met, or when there is a conflict. The result is an inconsistent system from the point of view of dependencies, and the APT commands will refuse to execute any action except those that will bring the system back to a consistent state (this often consists of installing the missing dependency or removing a problematic package). This often results in a message like this one, obtained after installing a new version of <emphasis role="pkg">rdesktop</emphasis> while ignoring its dependency on a newer version of the <emphasis role="pkg">libc6</emphasis>:
ar-MA: إذا لم تأخذ حذرك، فقد يوصلك استخدام أحد خيارات <literal>‎--force-*‎</literal>‎ إلى نظام ترفض عائلة أوامر APT العمل فيه. في الحقيقة، تسمح بعض هذه الخيارات بتثبيت حزمة دون تلبية اعتمادياتها، أو عند وجود تضارب. النتيجة ستكون نظاماً غير متناسق من ناحية الاعتماديات، وسترفض أوامر APT تنفيذ أي عمل إلا الأعمال التي تعيد النظام إلى حالة متناسقة (مثل تثبيت الاعتماديات الناقصة أو إزالة الحزمة التي تسبب المشاكل). غالباً سيؤدي هذا لظهور رسالة تشبه التالية، التي تظهر بعد تثبيت نسخة جديدة من <emphasis role="pkg">rdesktop</emphasis> مع تجاهل اعتمادها على نسخة أحدث من <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.
ar-MA: قد يختار مدير النظام الشجاع الواثق من صحة تحليلاته تجاهل اعتمادية أو تضارب ما ويستخدم خيار <literal>‎--force-*‎</literal>‎ الموافق. في هذه الحالة، إذا كان يريد أن يبقى قادراً على استخدام <command>apt</command> أو <command>aptitude</command>، عليه تحرير الملف <filename>‎/var/lib/dpkg/status</filename> لحذف أو تعديل الاعتمادية، أو التضارب، الذي اختار تجاوزه.

en: Removal and purge of the <emphasis role="pkg">debian-cd</emphasis> package
ar-MA: إزالة وتطهير الحزمة <emphasis role="pkg">debian-cd</emphasis>

en: Querying <command>dpkg</command>'s Database and Inspecting <filename>.deb</filename> Files
ar-MA: الاستعلام في قاعدة بيانات <command>dpkg</command> وفحص ملفات <filename>‎.deb</filename>

en: <primary>package</primary><secondary>status</secondary>
ar-MA: <primary>حزمة</primary><secondary>حالة</secondary>

en: <primary>package</primary><secondary>file list</secondary>
ar-MA: <primary>حزمة</primary><secondary>قائمة الملفات</secondary>

en: <primary>package</primary><secondary>content inspection</secondary>
ar-MA: <primary>حزمة</primary><secondary>فحص المحتويات</secondary>

en: <emphasis>BACK TO BASICS</emphasis> Option syntax
ar-MA: <emphasis>أساسيات</emphasis> صيغة الخيارات

en: Most options are available in a “long” version (one or more relevant words, preceded by a double dash) and a “short” version (a single letter, often the initial of one word from the long version, and preceded by a single dash). This convention is so common that it is a POSIX standard.
ar-MA: معظم الخيارات متوفرة بالنسخة ”الطويلة“ (كلمة أو أكثر، مسبوقة بشرطتين) أو نسخة ”قصيرة“ (حرف مفرد، غالبًا أول حرف من إحدى كلمات النسخة الطويلة، ويسبق بشرطة مفردة). هذا العرف منتشر جدًا لدرجة أنه أحد معايير POSIX.

en: Various queries with <command>dpkg</command>
ar-MA: الاستعلامات المختلفة باستخدام <command>dpkg</command>

en: <emphasis>GOING FURTHER</emphasis> Comparison of versions
ar-MA: <emphasis>التعمق أكثر</emphasis> المقارنة بين الإصدارات

en: <primary>version, comparison</primary>
ar-MA: <primary>إصدار، مقارنة</primary>

en: <primary>comparison of versions</primary>
ar-MA: <primary>مقارنة بين الإصدارات</primary>

en: Since <command>dpkg</command> is the program for handling Debian packages, it also provides the reference implementation of the logic of comparing version numbers. This is why it has a <literal>--compare-versions</literal> option, usable by external programs (especially configuration scripts executed by <command>dpkg</command> itself). This option requires three parameters: a version number, a comparison operator, and a second version number. The different possible operators are <literal>lt</literal> (strictly less than), <literal>le</literal> (less than or equal to), <literal>eq</literal> (equal), <literal>ne</literal> (not equal), <literal>ge</literal> (greater than or equal to), and <literal>gt</literal> (strictly greater than). If the comparison is correct, <command>dpkg</command> returns 0 (success); if not, it gives a non-zero return value (indicating failure).
ar-MA: بما أن <command>dpkg</command> هو برنامج معالجة حزم دبيان، فهو يمثل أيضاً التطبيق المرجعي في المقارنة المنطقية بين أرقام الإصدارات. لذلك تراه يملك خيار <literal>‎--compare-versions</literal>، يمكن استخدامه بالبرامج الخارجية (خصوصاً سكربتات الإعداد التي يستدعيها <command>dpkg</command> نفسه). يحتاج هذا الخيار ثلاثة بارامترات: رقم الإصدار، عامل مقارنة، ورقم إصدار آخر. عوامل المقارنة المختلفة المتاحة هي <literal>lt</literal> (أصغر تماماً من)، و <literal>le</literal> (أصغر من أو يساوي)، و <literal>eq</literal> (يساوي)، <literal>ne</literal> (لا يساوي)، <literal>ge</literal> (أكبر من أو يساوي)، و <literal>gt</literal> (أكبر تماماً من). إذا كانت المقارنة صحيحة، يرجع <command>dpkg</command> القيمة 0 (نجاح)؛ وإلا، فإنه يعطي قيمة مرجعة غير صفرية (تدل على خطأ).

en: Note the unexpected failure of the last comparison: for <command>dpkg</command>, <literal>pre</literal>, usually denoting a pre-release, has no particular meaning, and this program compares the alphabetic characters in the same way as the numbers (a &lt; b &lt; c ...), in alphabetical order. This is why it considers “<literal>0pre3</literal>” to be greater than “<literal>0</literal>”. When we want a package's version number to indicate that it is a pre-release, we use the tilde character, “<literal>~</literal>”:
ar-MA: لاحظ كيف أعطى أن المقارنة الأخيرة خاطئة على عكس ما هو متوقع: كلمة <literal>pre</literal>، التي تعني عادة pre-release (إصدار أولي)، لا تعني شيئاً من وجهة نظر <command>dpkg</command>، ويقارن هذا البرنامج بين الحروف الأبجدية تماماً كما يقارن بين الأرقام (a &lt; b &lt; c ...‎)، حسب ترتيبها الهجائي. لذلك فإنه يعتبر ”<literal>0pre3</literal>“ أكبر من ”<literal>0</literal>“. عندما نريد أن يُعبِّر رقم إصدار الحزمة على أنها إصدار أولي، نستخدم محرف التيلدا ”<literal>~</literal>“:

en: <command>dpkg</command>'s Log File
ar-MA: سجلات <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.
ar-MA: يحتفظ <command>dpkg</command> بسجل يحفظ جميع أعماله في ‎<filename>‎/var/log/dpkg.log</filename>. هذا السجل طويل جداً، لأنه يُفصّل كل مرحلة من المراحل التي تمر بها الحزم التي يعالجها <command>dpkg</command>. بالإضافة إلى إمكانية تتبع سلوك dpkg عبر هذه السجلات، يمكنها أن تساعد – قبل كل شيء – في متابعة تاريخ تطور النظام: حيث يمكن العثور على اللحظات الدقيقة التي تم فيها تثبيت أو تحديث كل حزمة، ويمكن أن تكون فائدة هذه المعلومات عظيمة لفهم التغيرات الحديثة في سلوك النظام. كما تُسجَّل جميع أرقام الإصدارات، وبالتالي يسهل مقارنة المعلومات مع ملف <filename>changelog.Debian.gz</filename> للحزمة المطلوبة، أو حتى مع تقارير العلل على الإنترنت.

en: Multi-Arch Support
ar-MA: دعم تعدد المعماريات

en: <primary>Multi-Arch</primary>
ar-MA: <primary>تعدد المعماريات</primary>

en: <primary>architecture</primary><secondary>multi-arch support</secondary>
ar-MA: <primary>معمارية</primary><secondary>دعم تعدد المعماريات</secondary>

en: All Debian packages have an <literal>Architecture</literal> field in their control information. This field can contain either “<literal>all</literal>” (for packages that are architecture independent) or the name of the architecture that it targets (like “amd64”, “armhf”, …). In the latter case, by default, <command>dpkg</command> will only accept to install the package if its architecture matches the host's architecture as returned by <command>dpkg --print-architecture</command>.
ar-MA: تحوي جميع حزم دبيان حقل <literal>Architecture</literal> في معلومات التحكم. إما أن يحوي هذا الحقل القيمة ”<literal>all</literal>“ (للحزم المستقلة عن معمارية النظام) أو اسم المعمارية التي تستهدفها (مثل ”amd64“، أو ”armhf“، …). في الحالة الثانية، يقبل <command>dpkg</command> – افتراضياً – تثبيت الحزم ذات المعمارية التي تطابق معمارية النظام التي يمكن الحصول عليها باستدعاء الأمر <command>dpkg --print-architecture</command>.

en: This restriction ensures that users do not end up with binaries compiled for an incorrect architecture. Everything would be perfect except that (some) computers can run binaries for multiple architectures, either natively (an “amd64“ system can run “i386” binaries) or through emulators.
ar-MA: يضمن هذا القيد أن لا ينتهي الحال بالمستخدمين مع ملفات ثنائية مترجمة لمعمارية خاطئة. كان كل شيء مثالياً لولا أن (بعض) الحواسيب تستطيع تشغيل ملفات ثنائية لأكثر من معمارية، سواء بشكل مباشر (نظام بمعمارية ”amd64“ يستطيع تشغيل ملفات ”i386“ الثنائية) أو عبر محاكيات.

en: Enabling Multi-Arch
ar-MA: تفعيل تعدد المعماريات

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.
ar-MA: يسمح تعدد المعماريات في <command>dpkg</command> للمستخدمين بتعريف ”معماريات أجنبية“ يمكن تثبيت ملفاتها الثنائية على النظام. يتم هذا بسهولة عبر الأمر <command>dpkg --add-architecture</command> كما في المثال التالي. هناك أمر مقابل لإسقاط دعم معمارية أجنبية هو <command>dpkg --remove-architecture</command>، لكن لا يمكن استخدامه إلا عندما لا تبقى أي حزمة من حزم تلك المعمارية على النظام.

en: <emphasis>NOTE</emphasis> APT's multi-arch support
ar-MA: <emphasis>ملاحظة</emphasis> دعم تعدد المعماريات في APT

en: Foreign packages can then be installed with <command>apt install <replaceable>package</replaceable>:<replaceable>architecture</replaceable></command>.
ar-MA: يمكن بعدها تثبيت الحزم الأجنبية باستخدام <command>apt install <replaceable>package</replaceable>:<replaceable>architecture</replaceable></command>.

en: <emphasis>IN PRACTICE</emphasis> Using proprietary i386 binaries on amd64
ar-MA: <emphasis>ممارسة عملية</emphasis> استخدام ملفات i386 الثنائية على amd64

en: Multi-Arch Related Changes
ar-MA: التعديلات المتعلقة بتعدد المعماريات

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.
ar-MA: يجدر بالملاحظة أن أسماء حزم <literal>Multi-Arch: same</literal> يجب أن توسم بمعماريتها حتى يتم التعرف عليها دون التباس. كما يمكن لها أن تشترك بالملفات مع النسخ الأخرى من الحزمة نفسها؛ يضمن <command>dpkg</command> أن جميع الملفات المشتركة بين الحزم متطابقة بت مع بت. وأخيراً وليس آخراً، يجب أن يكون إصدار جميع نسخ الحزمة متطابقاً. أي يجب تحديث جميع النسخ معاً.

en: Multi-Arch support also brings some interesting challenges in the way dependencies are handled. Satisfying a dependency requires either a package marked “<literal>Multi-Arch: foreign</literal>” or a package whose architecture matches the one of the package declaring the dependency (in this dependency resolution process, architecture-independent packages are assumed to be of the same architecture than the host). A dependency can also be weakened to allow any architecture to fulfill it, with the <literal><replaceable>package</replaceable>:any</literal> syntax, but foreign packages can only satisfy such a dependency if they are marked “<literal>Multi-Arch: allowed</literal>”.
ar-MA: كما يُسبِّب تعدد المعماريات أيضاً بعض التحدّيات الملفتة في مجال إدارة الاعتماديات. لتلبية اعتمادية يجب تثبيت الحزمة عليها علامة ”<literal>Multi-Arch: foreign</literal>“ أو حزمة تطابق معماريتها معمارية الحزمة التي تصرح عن الاعتمادية (في عملية حل الاعتماديات هذه، تعتبر معمارية الحزم المستقلة عن المعماريات مطابقة لمعمارية النظام). يمكن أيضاً تضعيف الاعتمادية للسماح لأي معمارية بتلبيتها، باستخدام الصيغة <literal><replaceable>package</replaceable>:any</literal>، لكن لا تستطيع الحزم الأجنبية تلبية هذه الاعتمادية إلا إذا كانت تحوي علامة ”<literal>Multi-Arch: allowed</literal>“.

en: Coexistence with Other Packaging Systems
ar-MA: التعايش مع نظم التحزيم الأخرى

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.
ar-MA: حزم دبيان ليست الحزم البرمجية الوحيدة المستخدمة في عالم البرمجيات الحرة. المنافس الرئيسي هي صيغة RPM الخاصة بتوزيعة Red Hat Linux ومشتقاتها العديدة. ريدهات توزيعة تجارية شهيرة جداً، ولذلك من الشائع توفير البرمجيات التي تزودها أطراف خارجية بشكل حزم RPM بدلاً من حزم دبيان.

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.
ar-MA: في هذه الحالة، عليك أن تعرف أن البرنامج <command>rpm</command>، الذي يعالج حزم RPM، متوفر بشكل حزمة دبيان، لذلك يمكن استخدام صيغة الحزم هذه في دبيان. لكن يجب أخذ الحيطة على أي حال، وحصر استخدام هذه الأداة في استخراج المعلومات من الحزمة أو التحقق من سلامتها فقط. في الحقيقة، ليس من المنطق استخدام <command>rpm</command> لتثبيت حزمة RPM على نظام دبيان؛ لأن RPM يستخدم قاعدة بيانات خاصة، منفصلة عن قاعدة بيانات برمجيات دبيان الأصلية (مثل <command>dpkg</command>). ولذلك لا يمكن ضمان تعايش نظامي التحزيم معاً بشكل مستقر.

en: On the other hand, the <emphasis role="pkg">alien</emphasis> utility can convert RPM packages into Debian packages, and vice versa.
ar-MA: على صعيد آخر، تستطيع الأداة <emphasis role="pkg">alien</emphasis> تحويل حزم RPM إلى حزم دبيان، والعكس.

en: <emphasis>COMMUNITY</emphasis> Encouraging the adoption of <filename>.deb</filename>
ar-MA: <emphasis>مجتمع</emphasis> تشجيع تبني صيغة <filename>‎.deb</filename>

en: You will find that this process is extremely simple. You must know, however, that the package generated does not have any dependency information, since the dependencies in the two packaging formats don't have systematic correspondence. The administrator must thus manually ensure that the converted package will function correctly, and this is why Debian packages thus generated should be avoided as much as possible. Fortunately, Debian has the largest collection of software packages of all distributions, and it is likely that whatever you seek is already in there.
ar-MA: ستجد أن هذه العملية فائقة البساطة. لكن عليك أن تدرك أن الحزمة الناتجة لا تحوي أي معلومات عن الاعتماديات، لعدم وجود تقابل منهجي بين الاعتماديات في هاتين الصيغتين. على مدير النظام إذن أن يضمن يدوياً أن الحزمة المحوّلة ستعمل بشكل صحيح، ولذلك يجب تفادي حزم دبيان المولدة بهذه الطريقة قدر المستطاع. لحسن الحظ، تتمتع دبيان بأكبر مجموعة من الحزم البرمجية من بين كل التوزيعات، والغالب أن ما تبحث عنه – مهما كان – موجود هناك.

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).
ar-MA: بالاطلاع على صفحة الدليل الخاصة بالأمر <command>alien</command>، ستلاحظ أيضاً أن هذا البرنامج يعالج صيغ تحزيم أخرى، خاصة الصيغة التي تعتمدها توزيعة سلاكوير (وهي أرشيفات <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.
ar-MA: إن استقرار البرمجيات التي تثبتها الأداة <command>dpkg</command> يسهم في شعبية دبيان. ومجموعة أدوات APT، التي سنشرحها في الفصل التالي، تحفظ هذه الميزة، وتعفي مدير النظام من إدارة حالة الحزم، وهي مهمة لازمة لكنها شاقة.
