أرشفة وضغط الملفات على جنو/لينكس

مقدمة

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

ماهي الأرشفة؟

هي تجميع العديد من الملفات في ملف واحد بغرض عمل نسخة من هذه الملفات وتخزينها احتياطا.

ماهو الضغط؟

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

صيغة الأرشفة Tar

هي المسؤولة عن أرشفة الملفات. يتمثل عملها في تجميع جميع الملفات التي يُراد أرشفتها في ملف واحد.
تذكر : هذا الأمر لا يضغط الملفات وإنما يجمعها في ملف واحد فقط.

لأرشفة محتويات مجلد معين باستعمال tar نستعمل الأمر التالي:

tar -cvf archive.tar folder/

لأرشفة ملف أو عدة ملفات باستعمال tar نستعمل الأمر التالي:

tar -cvf archive.tar file1 file2 file3

الأمر c- : لإنشاء الأرشيف
الأمر v- : لإظهار تقدم العملية
الأمر f- : لاختيار اسم الأرشيف

لفك أرشفة أرشيف باستعمال tar نكتب الأمر التالي

tar -xvf archive.tar

الأمر x- : لفك أرشفة الأرشيف
الأمر v- : لإظهار تقدم العملية
الأمر f- : لتحديد الأرشيف

يمكن استخدام tar مع صيغ الضغط بغرض أرشفة وضغط الملفات في نفس الوقت.

صيغ الضغط

صيغة الضغط Gzip

إختصار لكلمة GNU Zip وهي آلية لضغط الملفات وتصغير حجمها. يتميز هذا النوع من الضغط بسرعته وشهرته وكثرة استعماله. ويُستعمل مع tar لأرشفة و ضغط الملفات.

لضغط ملف أو مجلد بصيغة tar.gz نستعمل الأمر التالي:

tar -cvzf archive.tar.gz file-or-folder-to-compress

الأمر c- : لإنشاء الأرشيف
الأمر v- : لإظهار تقدم العملية
الأمر z- : لضغط الأرشيف بواسطة gzip.
الأمر f- : لاختيار اسم الأرشيف

لفك ضغط ملف tar.gz نستعمل الأمر التالي:

tar -xvzf archive.tar.gz

الأمر x- : لفك أرشفة وضغط الأرشيف
الأمر v- : لإظهار تقدم العملية
الأمر z- : لفك ضغط الأرشيف بواسطة gzip

صيغة الضغط Bzip2

هي آلية أخرى لضغط الملفات وتصغير حجمها. ويتميز هذا النوع من الضغط بفاعليته وقلة استعماله بسبب بطئه. ويُستعمل مع tar لأرشفة و ضغط الملفات.

لضغط ملف أو مجلد بصيغة tar.bz2 نستعمل الأمر التالي:

tar -cvjf archive.tar.bz2 file-or-folder-to-compress

الأمر c- : لإنشاء الأرشيف
الأمر v- : لإظهار تقدم العملية
الأمر j- : لضغط الأرشيف بواسطة bzip2.
الأمر f- : لاختيار اسم الأرشيف

لفك ضغط ملف tar.bz2 نستعمل الأمر التالي:

tar -xvjf archive.tar.bz2

الأمر x- : لفك أرشفة وضغط الأرشيف
الأمر v- : لإظهار تقدم العملية
الأمر j- : لفك ضغط الأرشيف بواسطة bzip2

صيغة الضغط Xz

هي آلية أخرى لضغط الملفات وتقليل حجمها. يتميز هذا النوع من الضغط بفاعليته الكبيرة أكثر من النوعين السابقين وقلة استعماله بسبب بطئه الشديد. ويُستعمل مع tar لأرشفة و ضغط الملفات.

لضغط ملف أو مجلد بصيغة tar.xz ننفذ الأمر التالي:

tar -cvJf archive.tar.xz file-or-folder-to-compress

الأمر c- : لإنشاء أرشيف
الأمر v- : لإظهار تقدم العملية
الأمر J- : لضغط الأرشيف بواسطة xz
الأمر f- : لاختيار اسم الأرشيف

لفك ضغط ملف tar.xz ننفذ الأمر التالي:

tar -xvJf archive.tar.xz

الأمر x- : لفك أرشفة وضغط الأرشيف
الأمر v- : لإظهار تقدم العملية
الأمر J- : لفك ضغط الأرشيف بواسطة xz

إن لم ترد استعمال سطر الأوامر لتنفيذ العمليات السابقة فهناك العديد من البرامج الرسومية على أنظمة جنو/لينكس. والتي تسمح لك بتنفيذها مثل Ark و File Roller و Engrampa و Xarchiver.

مقارنة عملية بين صيغ الضغط الثلاث

أجريت هذه المقارنة عبر ضغط مجلد حجمه 228.2 ميجابايت، يحتوي على عدد كبير من الملفات صغيرة الحجم (156516 ملف).

مواصفات الجهاز الذي أجريت عليه المقارنة كالتالي:

  • معالج AMD A8 4500M 4×1.9 GHz
  • ذاكرة عشوائية بحجم 8 جيجابايت
  • توزيعة MX Linux 19
  • نواة لينكس 4.19
  • حزم gzip 1.9, bzip2 1.0.6, xz-utils 5.2.4

استعملت في هذه المقارنة برنامجين هما File-roller 3.30.1 و Libreoffice Calc 6.3.4.2 وتشمل المقارنة المعطيات التالية:

  • حجم الملف المضغوط؛
  • مدة الضغط؛
  • سرعة الضغط؛
  • مدة فك الضغط؛
  • سرعة فك الضغط؛
  • نسبة الضغط.

توجد معادلتان لحساب نسبة الضغط:

  • نسبة الضغط (Compression Ratio) رقم 1 هي نتيجة المعادلة: الحجم غير المضغوط / الحجم المضغوط. هذه المعادلة تُستعمل في مدراء الأرشيف مثل File Roller و Engrampa و Ark.
  • نسبة الضغط (Compression Ratio) رقم 2 هي نتيجة المعادلة: (الحجم المضغوط / الحجم غير المضغوط) × 100. هذه المعادلة تُستعمل في مدراء الأرشيف مثل 7zip و Winrar

وقد أخذت كلتا القيمتين بعين الاعتبار أثناء المقارنة.

الجدول والمنحنيات الآتية توضح المقارنة بالأرقام:

الصيغةحجم الملفات قبل الضغط (ميجا)حجم الملف المضغوط (ميجا)مدة الضغط (ثانية)سرعة الضغط (ميجا/الثانية)مدة فك الضغط (ثانية)سرعة فك الضغط (ميجا/الثانية)نسبة الضغط 1 (الحجم غير المضغوط/ الحجم المضغوط)نسبة الضغط 2 (الحجم المضغوط/ الحجم غير المضغوط) × 100
tar.gz228.2108.3484.75452.42.0947
tar.bz2228.295.4862.65831.142.3742
tar.xz228.2802490.91581.372.8335

خاتمة

بعد أن تعرفت أيها القارئ على أشهر طريقة لأرشفة الملفات و أشهر ثلاث طرق لضغطها على أنظمة جنو/لينكس وتعرفت كذلك على طريقة استعمال أوامر الطرفية لفعل ذلك، فقد أصبحت تملك فكرة كافية تجعلك تتخذ القرار الصحيح والمناسب في حال أردت أرشفة وضغط الملفات.

يمكنك متابعة الدرس المرئي على يوتيوب