PACMAN.CONF(5)

الاسم
pacman.conf - ملف تهيئة مدير الحزم pacman

موجز

/etc/pacman.conf

الوصف

يحاول Pacman، باستخدام libalpm(3)، قراءة pacman.conf في كل مرة يُستدعى فيها. يُقسم ملف التهيئة هذا إلى أقسام أو مستودعات. يُعرّف كل قسم مستودع حزم يمكن لـ pacman استخدامه عند البحث عن الحزم في وضع --sync. الاستثناء من ذلك هو قسم الخيارات، الذي يُعرّف الخيارات العامة.

تُدعم التعليقات فقط ببدء سطر برمز الهاش (#). لا يمكن أن تبدأ التعليقات في منتصف السطر.

مثال

    #
    # pacman.conf
    #
    [options]
    NoUpgrade = etc/passwd etc/group etc/shadow
    NoUpgrade = etc/fstab
    [core]
    Include = /etc/pacman.d/core
    [custom]
    Server = file:///home/pkgs

    ملاحظة

    يجب أن يكون كل توجيه بصيغة CamelCase. إذا لم يُحترم حالة الأحرف، لن يُتعرف على التوجيه. على سبيل المثال. noupgrade أو NOUPGRADE لن يعملا.

الخيارات

RootDir = /path/to/root/dir
    يضبط الدليل الجذر المبدئي لتثبيت pacman فيه. يُستخدم هذا الخيار إذا أردت تثبيت حزمة على قسم مؤقت موصول يملكه نظام آخر، أو لتثبيت chroot. ملاحظة: إذا لم يُحدد مسار قاعدة البيانات أو ملف السجل في سطر الأوامر أو في pacman.conf(5)، سيكون موقعهما المبدئي داخل هذا المسار الجذر.

DBPath = /path/to/db/dir
    يتجاوز الموقع المبدئي لدليل قاعدة البيانات العلوي. المبدئي هو /var/lib/pacman/. لن يحتاج معظم المستخدمين لضبط هذا الخيار. ملاحظة: إذا حُدد، هذا مسار مطلق ولا يُسبق المسار الجذر آلياً.

CacheDir = /path/to/cache/dir
    يتجاوز الموقع المبدئي لدليل خبيئة الحزم. المبدئي هو /var/cache/pacman/pkg/. يمكن تحديد أدلة خبيئة متعددة، وتُجرّب بالترتيب المدرج في ملف التهيئة. إذا لم يُعثر على ملف في أي دليل خبيئة، سيُحمل إلى أول دليل خبيئة بصلاحية كتابة. ملاحظة: هذا مسار مطلق، لا يُسبق المسار الجذر آلياً.

HookDir = /path/to/hook/dir
    يضيف أدلة للبحث عن خطافات alpm بالإضافة إلى دليل خطافات النظام (/usr/share/libalpm/hooks/). المبدئي هو /etc/pacman.d/hooks. يمكن تحديد أدلة متعددة بحيث تكون للخطافات في الأدلة اللاحقة أولوية على الخطافات في الأدلة السابقة. ملاحظة: هذا مسار مطلق، لا يُسبق المسار الجذر آلياً. لمزيد من المعلومات عن خطافات alpm، انظر alpm-hooks(5).

GPGDir = /path/to/gpg/dir
    يتجاوز الموقع المبدئي للدليل المحتوي على ملفات تهيئة GnuPG. المبدئي هو /etc/pacman.d/gnupg/. يجب أن يحتوي هذا الدليل على ملفين: pubring.gpg و trustdb.gpg. يحمل pubring.gpg المفاتيح العامة لجميع الحزميين. يحتوي trustdb.gpg على ما يسمى بقاعدة ثقة، التي تحدد أن المفاتيح أصلية وموثوقة. ملاحظة: هذا مسار مطلق، لا يُسبق المسار الجذر آلياً.

LogFile = /path/to/log/file
    يتجاوز الموقع المبدئي لملف سجل pacman. المبدئي هو /var/log/pacman.log. هذا مسار مطلق ولا يُسبق الدليل الجذر.

HoldPkg = package ...
    إذا حاول مستخدم --remove حزمة مدرجة في HoldPkg، سيطلب pacman تأكيداً قبل المتابعة. يُسمح بأنماط glob على نمط الصدفة.

IgnorePkg = package ...
    يوجه pacman لتجاهل أي ترقيات لهذه الحزمة عند تنفيذ --sysupgrade. يُسمح بأنماط glob على نمط الصدفة.

IgnoreGroup = group ...
    يوجه pacman لتجاهل أي ترقيات لجميع الحزم في هذه المجموعة عند تنفيذ --sysupgrade. يُسمح بأنماط glob على نمط الصدفة.

Include = /path/to/config/file
    يضمّن ملف تهيئة آخر. يمكن لهذا الملف تضمين مستودعات أو خيارات تهيئة عامة. ستُوسع أحرف البدل في المسارات المحددة بناءً على قواعد glob(7).

Architecture = auto &| i686 &| x86_64 | ...
    إذا ضُبط، سيسمح pacman فقط بتثبيت الحزم ذات البنى المعطاة (مثل i686، x86_64، إلخ). القيمة الخاصة auto ستستخدم بنية النظام، المقدمة عبر “uname -m”. إذا لم يُضبط، لا تُجرى فحوصات بنية. ملاحظة: الحزم ذات البنية الخاصة any يمكن تثبيتها دائماً، لأنها مصممة لتكون مستقلة عن البنية.

XferCommand = /path/to/command %u [%o]
    إذا ضُبط، سيُستخدم برنامج خارجي لتحميل جميع الملفات البعيدة. ستُستبدل جميع حالات %u بعنوان URL للتحميل. إذا وُجدت، ستُستبدل حالات %o باسم الملف المحلي، بالإضافة إلى امتداد “.part”، مما يسمح لبرامج مثل wget باستئناف الملفات بشكل صحيح. هذا الخيار مفيد للمستخدمين الذين يواجهون مشاكل مع دعم HTTP/FTP المدمج، أو يحتاجون لدعم وكيل أكثر تقدماً يأتي مع أدوات مثل wget.

NoUpgrade = file ...
    جميع الملفات المدرجة بتوجيه NoUpgrade لن تُلمس أبداً أثناء تثبيت/ترقية حزمة، وسُتثبت الملفات الجديدة بامتداد .pacnew. تشير هذه الملفات إلى ملفات في أرشيف الحزمة، لذا لا تضمّن الشرطة المائلة البادئة (RootDir) عند تحديدها. يُسمح بأنماط glob على نمط الصدفة. من الممكن عكس التطابقات بسبق ملف بعلامة تعجب. ستؤدي الملفات المعكوسة إلى إعادة إدراج الملفات المدرجة سابقاً في القائمة السوداء إلى القائمة البيضاء. ستتجاوز التطابقات اللاحقة التطابقات السابقة. يجب تخطي علامة تعجب أو شرطة مائلة عكسية بادئة حرفية.

NoExtract = file ...
    جميع الملفات المدرجة بتوجيه NoExtract لن تُستخرج أبداً من حزمة إلى نظام الملفات. يمكن أن يكون هذا مفيداً عندما لا تريد تثبيت جزء من حزمة. على سبيل المثال، إذا كان جذر httpd الخاص بك يستخدم index.php، فلن تريد استخراج ملف index.html من حزمة apache. تشير هذه الملفات إلى ملفات في أرشيف الحزمة، لذا لا تضمّن الشرطة المائلة البادئة (RootDir) عند تحديدها. يُسمح بأنماط glob على نمط الصدفة. من الممكن عكس التطابقات بسبق ملف بعلامة تعجب. ستؤدي الملفات المعكوسة إلى إعادة إدراج الملفات المدرجة سابقاً في القائمة السوداء إلى القائمة البيضاء. ستتجاوز التطابقات اللاحقة التطابقات السابقة. يجب تخطي علامة تعجب أو شرطة مائلة عكسية بادئة حرفية.

CleanMethod = KeepInstalled &| KeepCurrent
    إذا ضُبط على KeepInstalled (المبدئي)، ستنظف عملية -Sc الحزم غير المثبتة بعد الآن (غير الموجودة في قاعدة البيانات المحلية). إذا ضُبط على KeepCurrent، ستنظف -Sc الحزم القديمة (غير الموجودة في أي قاعدة بيانات مزامنة). السلوك الثاني مفيد عندما تُشارك خبيئة الحزم بين أجهزة متعددة، حيث تكون قواعد البيانات المحلية مختلفة عادةً، لكن قواعد بيانات المزامنة المستخدمة قد تكون نفسها. إذا حُددت كلتا القيمتين، تُنظف الحزم فقط إذا لم تكن مثبتة محلياً وغير موجودة في أي قاعدة بيانات مزامنة معروفة.

SigLevel = ...
    اضبط مستوى التحقق من التوقيع المبدئي. لمزيد من المعلومات، راجع التحقق من توقيع الحزمة وقاعدة البيانات أدناه.

LocalFileSigLevel = ...
    اضبط مستوى التحقق من التوقيع لتثبيت الحزم باستخدام العملية "-U" على ملف محلي. يستخدم القيمة من SigLevel كمبدئي.

RemoteFileSigLevel = ...
    اضبط مستوى التحقق من التوقيع لتثبيت الحزم باستخدام العملية "-U" على عنوان URL لملف بعيد. يستخدم القيمة من SigLevel كمبدئي.

UseSyslog
    سجل رسائل الإجراءات عبر syslog(). سيُدرج هذا إدخالات السجل في /var/log/messages أو ما يعادله.

Color
    فعّل الألوان آليًا فقط عندما يكون مخرج pacman على tty.

NoProgressBar
    عطّل أشرطة التقدم. هذا مفيد للمحطات التي لا تدعم أحرف الهروب.

CheckSpace
    نفّذ فحصًا تقريبيًا لمساحة القرص المتاحة الكافية قبل تثبيت الحزم.

VerbosePkgLists
    اعرض اسم الحزم المستهدفة وإصدارها وحجمها منسقة كجدول لعمليات الترقية والمزامنة والإزالة.

DisableDownloadTimeout
    عطّل القيم المبدئية لحد السرعة المنخفضة ومهلة التنزيلات. استخدم هذا إذا واجهت مشكلات في تنزيل الملفات مع وكيل (proxy) أو بوابة أمنية.

ParallelDownloads = ...
    حدد عدد تيارات التنزيل المتزامنة. يجب أن تكون القيمة عددًا صحيحًا موجبًا. إذا لم تُضبط خيار التهيئة هذا، يُستخدم تيار تنزيل واحد فقط (أي تحدث التنزيلات بشكل تسلسلي).

DownloadUser = username
    حدد المستخدم الذي سيُتحول إليه لتنزيل الملفات. إذا لم تُضبط خيار التهيئة هذا، تُجرى التنزيلات كمستخدم يشغل pacman.

DisableSandbox
    عطّل الصندوق الرملي المطبق على عملية تنزيل الملفات على أنظمة لينكس بالكامل. يعادل تحديد DisableSandboxFilesystem و DisableSandboxSyscalls معًا.

DisableSandboxFilesystem
    عطّل جزء قيود نظام الملفات من بيئة العزل المطبقة على عملية تنزيل الملفات في أنظمة لينكس. مفيد إذا واجهت إخفاقات متعلقة بـ Landlock أثناء تنزيل الملفات عند تشغيل نواة لينكس لا تدعم هذه الميزة.

DisableSandboxSyscalls
    عطّل جزء تصفية استدعاءات النظام (syscall) من بيئة العزل المطبقة على عملية تنزيل الملفات في أنظمة لينكس. مفيد إذا واجهت إخفاقات متعلقة بـ seccomp أثناء تنزيل الملفات عند تشغيل نواة لينكس لا تدعم هذه الميزة.

أقسام المستودع

يُعرّف كل قسم مستودع اسم قسم وموقعًا واحدًا على الأقل حيث يمكن العثور على الحزم. يُعرّف اسم القسم بالسلسلة داخل الأقواس المربعة (الاثنان أعلاه هما core و custom). يجب أن تكون أسماء المستودعات فريدة والاسم local محجوز لقاعدة بيانات الحزم المثبتة. تُعرّف المواقع بتوجيه Server وتتبع بنية تسمية URL. إذا أردت استخدام دليل محلي، يمكنك تحديد المسار الكامل ببادئة “file://”، كما هو موضح أعلاه.

طريقة شائعة لتعريف مواقع قاعدة البيانات تستخدم توجيه Include. لكل مستودع مُعرّف في ملف التهيئة، يمكن لتوجيه Include واحد أن يحتوي على ملف يسرد الخوادم لذلك المستودع.

    [core]
    # use this server first
    Server = ftp://ftp.archlinux.org/$repo/os/$arch
    # next use servers as defined in the mirrorlist below
    Include = /etc/pacman.d/mirrorlist

ترتيب المستودعات في ملفات التهيئة مهم؛ المستودعات المدرجة أولاً ستأخذ الأولوية على تلك المدرجة لاحقًا في الملف عندما يكون للحزم في مستودعين أسماء متطابقة، بغض النظر عن رقم الإصدار.

Include = path
    ضمّن ملف تهيئة آخر. يمكن لهذا الملف تضمين مستودعات أو خيارات تهيئة عامة. سيتم توسيع أحرف البدل في المسارات المحددة بناءً على قواعد glob(7).

CacheServer = url
    URL كامل لموقع حيث يمكن العثور على الحزم والتوقيعات (إن وجدت) لهذا المستودع. ستُجرب خوادم الخبيئة قبل أي خوادم غير خبيئة، ولن تُزال من مجموعة الخوادم لأخطاء تنزيل 404، ولن تُستخدم لملفات قاعدة البيانات.

Server = url
    URL كامل لموقع حيث يمكن العثور على قاعدة البيانات والحزم والتوقيعات (إن وجدت) لهذا المستودع.

    أثناء التحليل، سيُعرّف pacman المتغير $repo باسم القسم الحالي. يُستخدم هذا غالبًا في الملفات المحددة باستخدام توجيه Include حتى تتمكن جميع المستودعات من استخدام نفس ملف المرآة. يُعرّف pacman أيضًا المتغير $arch بالقيمة الأولى (أو الوحيدة) لخيار Architecture، لذا يمكن استخدام نفس ملف المرآة حتى لبنى مختلفة.

SigLevel = ...
    اضبط مستوى التحقق من التوقيع لهذا المستودع. لمزيد من المعلومات، راجع التحقق من توقيع الحزمة وقاعدة البيانات أدناه.

Usage = ...
    اضبط مستوى الاستخدام لهذا المستودع. يأخذ هذا الخيار قائمة من الرموز التي يجب أن تكون واحدة على الأقل مما يلي:

    Sync
        يفعّل التحديثات لهذا المستودع.

    Search
        يفعّل تثبيت الحزم من هذا المستودع أثناء عملية --sync.

    Install
        يفعّل تثبيت الحزم من هذا المستودع أثناء عملية --sync.

    Upgrade
        يسمح لهذا المستودع بأن يكون مصدرًا صالحًا للحزم عند تنفيذ --sysupgrade.

    All
        يفعّل جميع الميزات المذكورة أعلاه للمستودع. هذا هو المبدئي إذا لم يُحدد.

        لاحظ أنه يمكن التعامل مع مستودع مفعّل بشكل صريح، بغض النظر عن مستوى الاستخدام المضبوط.

التحقق من توقيع الحزم وقاعدة البيانات

التوجيه SigLevel صالح في كل من قسمي [options] والمستودع. إذا استُخدم في [options]، فإنه يضبط قيمة مبدئية لأي مستودع لا يوفر الإعداد.

    • إذا ضُبط على Never، فلن يحدث أي تحقق من التوقيع.

    • إذا ضُبط على Optional، فسيُتحقق من التوقيعات عند وجودها، ولكن قواعد البيانات والحزم غير الموقعة ستُقبل أيضًا.

    • إذا ضُبط على Required، فستكون التوقيعات مطلوبة على جميع الحزم وقواعد البيانات.

بدلاً من ذلك، يمكنك الحصول على تحكم أكثر دقة بدمج بعض الخيارات والبادئات الموصوفة أدناه. تُعالج جميع الخيارات في ملف الإعدادات بطريقة من الأعلى إلى الأسفل، ومن اليسار إلى اليمين، حيث تتجاوز الخيارات اللاحقة و/أو تُكمل الخيارات السابقة. إذا حُدد SigLevel في قسم مستودع، فإن القيمة الابتدائية هي تلك من قسم [options]، أو المبدئي النظامي المدمج كما هو موضح أدناه إذا لم يُحدد.

تُقسم الخيارات إلى مجموعتين رئيسيتين، موصوفتين أدناه. المصطلحات المستخدمة مثل “موثوق بها بشكل هامشي” هي مصطلحات يستخدمها GnuPG، لمزيد من المعلومات يُرجى الرجوع إلى gpg(1).

متى يُتحقق
    تتحكم هذه الخيارات في ما إذا كان التحقق من التوقيع يجب أن يحدث ومتى.

    Never
        يُقمع جميع التحقق من التوقيع، حتى لو كانت التوقيعات موجودة.

    Optional
        تُفحص التوقيعات إذا كانت موجودة؛ غياب التوقيع ليس خطأ. التوقيع غير الصالح هو خطأ قاتل، وكذلك التوقيع من مفتاح غير موجود في حلقة المفاتيح.

    Required (المبدئي)
        التوقيعات مطلوبة؛ غياب التوقيع أو توقيع غير صالح هو خطأ قاتل، وكذلك التوقيع من مفتاح غير موجود في حلقة المفاتيح.

ما هو مسموح به
    تتحكم هذه الخيارات في التوقيعات التي تُعتبر مسموحة. لاحظ أن أياً من هذه الخيارات لا يسمح بقبول التوقيعات غير الصالحة أو المنتهية الصلاحية، أو تلك الصادرة عن مفاتيح ملغاة.

    TrustedOnly (مبدئي)
        إذا تم فحص توقيع، يجب أن يكون في سلسلة المفاتيح وموثوقاً به بالكامل؛ الثقة الهامشية لا تفي بهذا المعيار.

    TrustAll
        إذا تم فحص توقيع، يجب أن يكون في سلسلة المفاتيح، لكن لا يُطلب تعيين مستوى ثقة له (مثلاً، ثقة غير معروفة أو هامشية).

يمكن إضافة بادئة Package أو Database إلى الخيارات في كلا المجموعتين، مما يجعلها تؤثر فقط على نوع الكائن المحدد. على سبيل المثال، PackageTrustAll سيسمح بتوقيعات ذات مستوى ثقة هامشي أو غير معروف للحزم.

المبدئي المضمن هو التالي:

    SigLevel = Required TrustedOnly

استخدام مستودعك الخاص

إذا كان لديك العديد من الحزم المخصصة الخاصة بك، فغالباً ما يكون من الأسهل إنشاء مستودع محلي مخصص خاص بك بدلاً من تثبيتها جميعاً باستخدام خيار --upgrade. كل ما عليك فعله هو إنشاء قاعدة بيانات حزم مضغوطة في الدليل الذي يحتوي على هذه الحزم حتى يتمكن pacman من العثور عليها عند تشغيله مع --refresh.

    repo-add /home/pkgs/custom.db.tar.gz /home/pkgs/*.pkg.tar.gz

سيُنشئ الأمر أعلاه قاعدة بيانات مضغوطة باسم /home/pkgs/custom.db.tar.gz. لاحظ أن قاعدة البيانات يجب أن تكون بالشكل المحدد في ملف الإعدادات وأن {ext} هو نوع ضغط صالح كما هو موثق في repo-add(8). هذا كل شيء! الآن قم بتكوين القسم المخصص الخاص بك في ملف الإعدادات كما هو موضح في مثال الإعدادات أعلاه. سيستخدم Pacman الآن مستودع الحزم الخاص بك. إذا أضفت حزماً جديدة إلى المستودع، تذكر إعادة إنشاء قاعدة البيانات واستخدام خيار pacman --refresh.

لمزيد من المعلومات حول أمر repo-add، انظر “repo-add --help” أو repo-add(8).

انظر أيضًا

pacman(8), libalpm(3)

راجع موقع pacman الإلكتروني على https://archlinux.org/pacman/ للحصول على معلومات حديثة حول pacman والأدوات المرتبطة به.

العلل

علل؟ لا بد أنك تمزح؛ لا توجد علل في هذا البرنامج. ولكن إذا صدف وكنا مخطئين، فيُرجى الإبلاغ عنها في متتبع المشكلات في https://gitlab.archlinux.org/pacman/pacman/-/issues مع معلومات محددة مثل سطر الأوامر الخاص بك، وطبيعة العلة، وحتى قاعدة بيانات الحزمة إذا كان ذلك يساعد.

المؤلفون

المصينون الحاليون:

    • آلان مكراي <allan@archlinux.org>

    • أندرو غريغوري <andrew.gregory.8@gmail.com>

    • Morgan Adamiec <morganamilo@archlinux.org>

المساهمون الرئيسون السابقون:

    • Judd Vinet <jvinet@zeroflux.org>

    • أوريليان فوريه <aurelien@archlinux.org>

    • آرون غريفين <aaron@archlinux.org>

    • دان ماكغي <dan@archlinux.org>

    • Xavier Chantry <shiningxc@gmail.com>

    • Nagy Gabor <ngaba@bibl.u-szeged.hu>

    • ديف رايزنر <dreisner@archlinux.org>

    • إيلي شوارتز <eschwartz@archlinux.org>

للمساهمين الإضافيين، استخدم git shortlog -s على مستودع pacman.git.

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.