pax (أمر)

pax هي أداة أرشفة متاحة لأنظمة تشغيل متعددة ، وقد تم تعريفها منذ عام 1995. [ 1 ] بدلاً من معالجة الخيارات غير المتوافقة التي ظهرت بين أنظمة التشغيل tarالمختلفة cpio، بالإضافة إلى تطبيقاتها عبر إصدارات يونكس المختلفة ، صممت IEEE أداة أرشفة جديدة، pax، تدعم تنسيقات أرشفة متنوعة مع خيارات مفيدة من كلا نظامي الأرشفة. يتوفر paxالأمر على أنظمة يونكس وأنظمة التشغيل الشبيهة بيونكس ، وعلى IBM i ، [ 2 ] و Microsoft Windows NT [ 3 ] حتى إصدار Windows 2000 .

في عام ٢٠٠١، عرّف معهد مهندسي الكهرباء والإلكترونيات (IEEE) صيغة pax جديدة ، وهي في الأساس صيغة tar مع سمات إضافية موسعة. [ ٤ ] [ ٥ ] لا تدعم أوامر pax هذه الصيغة في معظم توزيعات لينكس وفي نظام FreeBSD، ولكنها مدعومة بأوامر tar من GNU وFreeBSD؛ كما تدعمها أوامر pax في أنظمة OpenBSD وAIX وSolaris وHP-UX.

اسم "pax" هو اختصار لـ portable archive exchange ، ولكنه أيضًا تلميح إلى الكلمة اللاتينية التي تعني "السلام"؛ ويمثل استدعاء الأمر وبنيته نوعًا من التوحيد السلمي tarلكليهما cpio.

تاريخ

كتب مارك إتش. كولبورن أول تطبيق علني لـ pax في عام 1989. ونشره كولبورن على comp.sources.unix كبديل لـ TAR وCPIO في أنظمة Usenix/IEEE POSIX . وتُنسب صفحات دليل pax على أنظمة HP-UX و IRIX و SCO UNIX إلى كولبورن. [ 6 ]

تغطي مسودة POSIX.2 رقم 10 الصادرة في يوليو 1990 أمر pax . [ 7 ] علاوة على ذلك، تغطي مسودات POSIX.2 وIEEE 1003.1b في عام 1991 أمر pax ، وتتميز بتنسيقات أرشيف cpio وustar.

أُنشئت نسخة أخرى من برنامج pax بواسطة كيث مولر في الفترة ما بين عامي 1992 و1993. [ 8 ] ظهرت هذه النسخة لأول مرة في نظام التشغيل 4.4BSD (1995). [ 9 ] ظهر أمر pax في الإصدار الرابع من X/Open (الإصدار الأول من مواصفات يونكس الموحدة ) عام 1995، [ 1 ] حيث تضمن تنسيقي الأرشيف cpio وustar، وهما التنسيقان الوحيدان اللذان ظهرا في مواصفات يونكس الموحدة لعام 1997.

في عام 1997، اقترحت شركة صن مايكروسيستمز طريقة لإضافة امتدادات إلى تنسيق ustar. وقد اعتُمدت هذه الطريقة في معيار POSIX.1-2001 كتنسيق ملف pax الجديد . وتم تحديث مواصفات POSIX لأداة pax لتشمل هذا التنسيق. [ 1 ]

سمات

الأوضاع

يحتوي pax على أربعة أوضاع عامة يتم استدعاؤها من خلال مجموعة من الخيارات -r ("قراءة") و -w ("كتابة").

يلخص هذا الجدول السلوك النمطي:

خياروضعوصف
(لا أحد)"قائمة"يعرض محتويات الأرشيف، ولا يقوم بتعديل أو استخراج أي شيء.
-r"يقرأ"يقرأ ويستخرج محتويات الأرشيف
-w"يكتب"يقوم بإنشاء الأرشيفات أو إلحاق الملفات بالأرشيف
-rw"ينسخ"يقرأ وينسخ الملفات وشجرة الدليل إلى دليل محدد

هذا النموذج مشابه لنموذج cpio، الذي يحتوي على مجموعة مماثلة من العمليات الأساسية.

أمثلة

قائمة بمحتويات الأرشيف:

$ pax < archive.tar 

استخرج محتويات الأرشيف إلى المجلد الحالي:

$ pax -r < archive.tar 

أنشئ أرشيفًا للمجلد الحالي:

$ printf '.' | pax -w > archive.tar $ pax -w . > archive.tar 

انسخ شجرة الدليل الحالية إلى موقع آخر:

$ printf '.' | pax -w > archive.tar $ pax -rw target_dir . 

يجب أن يكون المجلد المستهدف موجودًا مسبقًا.

استدعاء الأمر

يستخدم برنامج pax افتراضيًا المدخلات/المخرجات القياسية لعمليات الأرشفة وعرض الملفات. ويمكن تغيير ذلك باستخدام خيار "tar-style" -fالذي يحدد ملف الأرشفة. ويختلف pax عن cpio في أنه يفحص محتوى الدليل بشكل متكرر؛ ولتعطيل هذا السلوك، يوفر POSIX pax خيارًا -dلتعطيله.

يُعدّ أمر pax مزيجًا من خصائص cpio و tar . وكما هو الحال مع tar ، يعالج pax عناصر الدليل بشكل متكرر، وهي ميزة يمكن تعطيلها للحصول على سلوك مشابه لـ cpio. كما أن طريقة التعامل مع إدخال/إخراج الملفات مختلطة أيضًا: فعند تحديد قائمة بأسماء الملفات في سطر الأوامر، تُعتبر هذه الأسماء بمثابة أنماط shell لإدخال الملفات أو عرضها (كما في tar)؛ وإلا، فإن pax يتبع سلوك cpio باستخدام المدخلات القياسية لعرض قائمة الملفات. وأخيرًا، يدعم pax القراءة والكتابة إلى ملف أرشيف مُسمى باستخدام خيار tar .-d-f FILE

على سبيل المثال، إذا رغب المرء في أرشفة الدليل الحالي على غرار cpio، فيمكن استخدام pax مع find تمامًا كما يفعل المرء باستخدام cpio:

$ find . -depth -print | pax -wd > archive.tar 

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

الأمر المستخدم لاستخراج محتويات الأرشيف هو نفسه الأمر المستخدم في cpio :

$ pax -r < archive.tar 

من الممكن tarأيضًا استدعاء هذه الأوامر باستخدام صيغة مشابهة لـ:

$ pax -wf archive.tar . # كتابة (أرشفة) $ pax -rf archive.tar # قراءة (استخراج) $ pax -f archive.tar # عرض $ pax -rw . archive_dir # نسخ

ضغط

تستخدم معظم تطبيقات Pax الخيارين -z ( gzip ) و- j ( bzip2 ) للضغط؛ إلا أن هذه الميزة غير محددة في معيار POSIX. ولا يمكن لـ Pax إضافة ملفات إلى الأرشيفات المضغوطة.

مثال لاستخراج ملف مضغوط بصيغة gzip:

$ pax -rzf archive.tar.gz 

كما هو الحال في برنامجي tar و cpio، يمكن توجيه مخرجات pax إلى برنامج ضغط/فك ضغط آخر. على سبيل المثال، يُستخدم xz هنا:

$ pax -w . | xz > archive.tar.xz 

وإدراج ملف مضغوط بصيغة xz كمدخل:

$ xzcat archive.tar.xz | pax 

دعم التنسيق

يتطلب معيار POSIX.1-2001 أن يدعم أمر pax تنسيقات الأرشيف cpio و ustar و pax كحد أدنى.

عادةً ما ترث إصدارات أوامر pax المنبثقة من تطبيق 4.4BSD التنسيقات التي يدعمها هذا الإصدار، والتي يمكن تحديدها عبر الخيار -x :

  • cpio – تنسيق تبادل cpio الموسع المحدد في معيار IEEE Std 1003.2 ("POSIX.2").
  • bcpio – تنسيق cpio الثنائي القديم.
  • sv4cpio – إصدار System V 4 cpio.
  • sv4crc – نظام System V الإصدار 4 cpio مع مجموعات التحقق من crc للملفات.
  • tar – تنسيق tar القديم لنظام BSD كما هو موجود في BSD4.3.
  • ustar (افتراضي) - تنسيق تبادل tar المحدد في معيار IEEE Std 1003.2 ("POSIX.2").

لا يدعم إصدار BSD الحالي من أمر pax تنسيق POSIX.1-2001 pax . كما أنه غير مدعوم في معظم توزيعات لينكس (التي يُستمد أمر pax الخاص بها من فرع MirBSD التابع لمشروع MirCPIO-paxmirabilis ) [ 10 ] [ 11 ] [ 12 ] ، وكذلك في FreeBSD [ 9 ] . يدعم أمر pax هذا التنسيق في AIX [ 13 ] ، و Solaris [ 14 ] ، وHP-UX. كما يدعمه أيضًا وحدة tarfile في بايثون [ 15 ] ، ومكتبة libarchive المرخصة بموجب ترخيص BSD [ 16 ] [ 17 ] ، وبرنامج 7-ZIP [ 18 ] ، بالإضافة إلى GNU tar [ 19 ] وFreeBSD tar [ 20 ] . يدعم أمر pax الخاص بمشروع Heirloom ، الذي طوره غونار ريتر عام 2003، تنسيق pax بالإضافة إلى العديد من التنسيقات الأخرى [ 21 ] .

مجلدات متعددة

يدعم برنامج pax الأرشفة على وحدات تخزين متعددة. عند الوصول إلى نهاية وحدة تخزين، تظهر الرسالة التالية:

$ pax -wf /dev/fd0 . تنبيه! يلزم تغيير وحدة تخزين الأرشيف في pax. /dev/fd0 جاهز لوحدة تخزين الأرشيف: 2. حمّل وسائط التخزين التالية (إذا لزم الأمر) وتأكد من تمكين الكتابة عليها. اكتب "y" للمتابعة، أو "." للخروج من pax، أو "s" للتبديل إلى جهاز جديد. إذا لم تتمكن من تغيير وسائط التخزين، فاكتب "s". هل الجهاز جاهز ومتصل بالإنترنت؟ >

عند استعادة أرشيف من وسائط متعددة، يطلب برنامج pax الوسائط التالية بنفس الطريقة، عندما يتم الوصول إلى نهاية الوسائط قبل نهاية الأرشيف.

التوحيد القياسي والاستقبال والشعبية

على الرغم من اعتماد معيار Pax من قِبل معهد مهندسي الكهرباء والإلكترونيات (IEEE) عام 2001، إلا أنه لم يحظَ بشعبية أو استخدام واسعين حتى عام 2010. ويعود ذلك جزئيًا إلى عدم وجود حاجة إليه من قِبل مستخدمي أنظمة يونكس؛ إذ اقتصرت الحاجة إليه على لجنة POSIX التي سعت إلى واجهة أكثر اتساقًا. كما أن Pax يتميز بكثرة المحادثات ويتوقع تفاعل المستخدمين عند حدوث أي مشكلة.

يُشترط وجود برنامج pax في جميع الأنظمة المتوافقة مع معيار Linux الأساسي منذ الإصدار 3.0 (الصادر في 6 يوليو 2005)، [ 22 ] ولكن حتى الآن، لا توفره سوى قلة من توزيعات Linux افتراضيًا. مع ذلك، تتضمن معظم التوزيعات برنامج pax كحزمة قابلة للتثبيت بشكل منفصل. [ 23 ] [ 24 ] [ 25 ]

كان برنامج pax موجودًا أيضًا في نظام التشغيل Windows NT ، حيث اقتصر استخدامه على أرشفة الملفات (دون دعم أشرطة التخزين). [ 3 ] نُقل لاحقًا إلى نظام Interix الفرعي. وهو لا يدعم أرشفة أو استعادة قوائم التحكم بالوصول (ACLs) الخاصة بنظام Win32 . [ 26 ] كما كان برنامج pax موجودًا أيضًا في نظام التشغيل Windows 2000. [ 27 ]

غالباً ما تحتوي الحزم التي يتعامل معها برنامج التثبيت (macOS) على الجزء الأكبر من محتوياتها في ملف Archive.pax.gz الذي يمكن قراءته باستخدام أداة pax (heirloom) الخاصة بالنظام. [ 28 ]

انظر أيضاً

مراجع

  1. ١ ٢ ٣ مواصفات المجموعة المفتوحة الأساسية، الإصدار ٦، مؤرشفة بتاريخ ٢٣ أكتوبر ٢٠٢٥ في أرشيف الإنترنت - POSIX.1-2001 (معيار IEEE ١٠٠٣.١) حقوق النشر © ٢٠٠١-٢٠٠٤ معهد مهندسي الكهرباء والإلكترونيات والمجموعة المفتوحة ، مؤرشفة بتاريخ ٥ أكتوبر ٢٠٢٥ في أرشيف الإنترنت
  2. آي بي إم . "برمجة Qshell لنظام IBM System i الإصدار 7.2" (ملف PDF) . آي بي إم . مؤرشف (ملف PDF) من الأصل بتاريخ 18 سبتمبر 2020. تم الاطلاع عليه بتاريخ 5 سبتمبر 2020 .
  3. 1 2 إريك بيرس (1997). ويندوز إن تي باختصار: مرجع سريع لمسؤولي النظام . أورايلي ميديا، ص 271. ISBN  978-1-56592-251-8.
  4. "GNU tar: 8.1 استخدام مساحة أقل من خلال الضغط" . www.gnu.org . مؤرشف من الأصل في 6 مارس 2016. تم الاطلاع عليه في 22 أبريل 2018 .
  5. "GNU tar: 4.3.2 سمات الملفات الموسعة" . www.gnu.org . مؤرشف من الأصل بتاريخ 28 ديسمبر 2019. تم الاطلاع عليه بتاريخ 27 يناير 2021 .
  6. مقارنة بين تقنية TAR وقابلية النقل – PAX وUSTAR (مؤرشف بتاريخ 1 أغسطس 2021 في Wayback Machine ، invisible-island.net)
  7. مسودة IEEE P1003.2 رقم 11.2 - سبتمبر 1991 ، مؤرشفة بتاريخ 15 سبتمبر 2025 في Wayback Machine (ملف PDF) - Shell and Utilities، princeton.edu - تشير المسودة رقم 11 إلى تغييرات في pax، لذا لا بد أنها كانت موجودة في المسودة رقم 10
  8. pax مؤرشف بتاريخ 2022-07-07 في Wayback Machine ، svnweb.freebsd.org
  9. 1 2دليل الأوامر العامة لنظام FreeBSDpax(1)  
  10. "MirCPIO — paxmirabilis: tar and even ar!" . MirBSD . مؤرشف من الأصل في 31 يناير 2020. تم الاسترجاع في 24 يناير 2020 .
  11. "MirCPIO في Launchpad" . launchpad.net . مؤرشف من الأصل بتاريخ 22 أبريل 2018. تم الاطلاع عليه بتاريخ 22 أبريل 2018 .
  12. "الخطأ رقم 456405 "عدم دعم تنسيق "pax" يؤدي إلى فشل LSB" : الأخطاء : MirCPIO" . bugs.launchpad.net . مؤرشف من الأصل في 22 أبريل 2018. تم الاسترجاع في 22 أبريل 2018 .  
  13. pax مؤرشف بتاريخ 2022-07-07 في Wayback Machine لنظام AIX 7.3، ibm.com
  14. pax مؤرشف بتاريخ 2022-07-08 في Wayback Machine لنظام Solaris 11.1، docs.oracle.com
  15. ملف مضغوط مؤرشف بتاريخ 8 يوليو 2022 على موقع Wayback Machine ، python.org
  16. libarchive ، libarchive.org
  17. libarchive(3) مؤرشف بتاريخ 2022-07-08 في Wayback Machine ، freebsd.org
  18. تاريخ برنامج 7-Zip (مؤرشف بتاريخ 5 سبتمبر 2018 في أرشيف الإنترنت Wayback Machine ، 7-zip.org)
  19. tar مؤرشف بتاريخ 2022-07-08 في Wayback Machine ، دليل المستخدم، gnu.org
  20. tar مؤرشف بتاريخ 10 أبريل 2022 في Wayback Machine ، freebsd.org
  21. "pax.1" . heirloom.sourceforge.net . مؤرشف من الأصل في 6 مايو 2018. تم الاطلاع عليه في 22 أبريل 2018 .
  22. تشير ملاحظات إصدار LSB 3.0 ( المؤرشفة بتاريخ 17 يوليو 2011 على Wayback Machine) إلى إضافة pax: يتطلب LSB 3.0. Commands and Utilities ( المؤرشفة بتاريخ 3 مارس 2016 على Wayback Machine) وجود pax، بينمالا يتطلبه LSB 2.1.0. Commands and Utilities ( المؤرشفة بتاريخ 3 مارس 2016 على Wayback Machine) .
  23. pax , pkgs.org
  24. spax ، pkgs.org
  25. heirloom-pax ، pkgs.org
  26. "إدارة نظام النسخ الاحتياطي، وTar، وPax في Interix" . مؤرشف من الأصل بتاريخ 23-08-2010.
  27. تم أرشفة Virtual x86 بتاريخ 9 أكتوبر 2025 على موقع Wayback Machine ، copy.sh
  28. "استخراج الملفات من حزمة pax.gz" . cocoabuilder.com. مؤرشف من الأصل بتاريخ 14 فبراير 2015. تم الاطلاع عليه بتاريخ 15 أغسطس 2013 .

للمزيد من القراءة

  • فريش، إيلين (2001). دليل أوامر ويندوز 2000 المختصر . أورايلي . ISBN 978-0-596-00148-3.