سؤال كيف أقوم بإلغاء ضغط tarball الذي يستخدم .xz؟


أنا معتاد على استخراج tarballs مع -xfz علم ، والذي يعالج gzip و bzip2 المحفوظات.

مؤخرا لقد واجهت في .tar.xz ملف وأود أن إلغاء ضغطها في خطوة واحدة باستخدام tar، كيف أقوم بذلك؟


660
2018-01-02 23:41


الأصل


ملاحظة قد تضطر إلى تثبيت xz-utils إن لم تكن موجودة بالفعل - Tobias Kienzler
إليك نصيتي الصغيرة التي تخمن أعلام القطران لك: gist.github.com/shime/5908634 - shime
tar --help القوائم tar الأعلام. -xzf ينطبق على gzip. -xjf إلى bz2. -xJf إلى xz. - noobninja


الأجوبة:


يحتوي Ubuntu على tar GNU ، والذي يتعرف على التنسيق بنفسه! يعمل أمر واحد مع أي طريقة ضغط مدعومة ، لكل الدليل.

tar xf archive.tar.xz
tar xf archive.tar.gz
tar xf archive.tar

إذا أعطى القطران Cannot exec خطأ ، قد تحتاج إلى sudo apt install xz-utils أول.


864
2018-02-26 17:41



إنها ميزة ل tar GNU. لا أعرف عن منافسات التطبيقات المتنافسة ، لكن يجب أن يكون tar من GNU هو الأكثر صلة بـ ubuntu. gnu.org/software/tar/manual/tar.html#SEC131 - ramslök
إذا واجهت tar: xz: Cannot exec: No such file or directory، التثبت xz-utils: sudo apt-get install xz-utils - Collin Anderson
هذه ليست إجابة ، إنها "لا تهتم بالإجابة ، رغم أنك طلبت الإجابة". وفر تفكيرًا للأشخاص الذين ليسوا على "أحدث" - Sean Houlihane
ما هو الإصدار من tar لم يعد يتطلب العلم محددة؟ - Mark Tomlin
SeanHoulihane ، ليست إجابة لأن OP سأل قاصر مشكلة XY. أعطى ramslök البروتوكول الاختياري أفضل مما طُلب منه ، والذي تضمن فعالية "أنت لا تهتم بالإجابة ، حتى لو طلبت" ، وهو ما كان مناسبًا لأنه كان صحيحًا. - JonathanHayward


محاولة

tar -xJf file.pkg.tar.xz

ال -J هي العلامة التي تتعامل على وجه التحديد مع ملفات .xz.


287
2018-01-02 23:42



أتساءل كم سيكون عدد الأعلام لدينا في عام 2020. مثل ... 45 ضغوط مختلفة؟ معرفة مفاتيح القطران بالفعل حزام أسود في لينكس فو. : / - Shiki
Shiki: ربما هذا هو السبب في أنه لا يجعلك تحدد علم تنسيق الضغط بعد الآن. (انظر إجابة ramslök.) - Nate C-K
xkcd.com/1168 - Wordzilla
يجب أن يكون هذا كليا الإجابة المقبولة لأنه يجيب على السؤال عن أي نسخة من دعم القطران .xz - pospi
في عام 2030 أصبحت الأعلام تورنج كاملة ... 2040 أصبحوا واعين - user1359


إذا لسبب ما tar لا تعمل الحلول (ربما لأنك تستخدم نظام التشغيل OS X المدمج) ، جرب هذا:

unxz < file.tar.xz > file.tar

... أي ما يعادل:

xz -dc < file.tar.xz > file.tar

ثم استخدام tar لفك الملف.


68
2018-01-19 20:05



يجب أن تكون قابلة للبناء مع أنبوب. - gerrit
أشعر كأنك تستطيع القيام به unxz < file.tar.xz | tar x أو مشابه. - thirtythreeforty
هذا العمل بالنسبة لي ، أين tar xf لم. أوبونتو 12.04 - philshem
على الأقل على جهاز Ubuntu الخاص بي ، unxz لا يعادل xz -dc، لكن من أجل xz -d. لذلك لاستخراج file.tar.xz إلى file.tar، ستكتب ببساطة unxz file.tar.xz. إذا كنت تريد مكافئ ل xz -dc، إلغاء ضغط ل stdout ، استخدام xzcat. فمثلا xzcat file.tar.xz | tar x. - nwellnhof


xz هو ضاغط بيانات ضياع. سيكون عليك استخراج كرة القطران من xz ثم استخراج القطران:

unxz my_archive.tar.xz      # results in my_archive.tar

ثم تعلم لاستخراج القطران

tar -xf my_archive.tar

مصدر: XZ Utils - ويكيبيديا.


24
2018-05-23 18:44



افضل جواب. xz لا تحتاج إلى إعادة توجيه stdout. حتى أفضل: unxz -k - Mark Jeronimus


كان لي نفس المشكلة ، و tar xf كان الأمر غير قادر على استخراجها. لإصلاح هذا ، تحتاج إلى تثبيت xz-utils صفقة. الحل كان:

sudo apt-get install xz-utils

ثم:

tar xf myfile.tar.xz

12
2018-02-14 18:44





ماذا عن

tar -xvf package.tar.xz

-x - إستخراج الملفات

-v - قائمة الملفات verbosely معالجتها

-f - استخدام ملف الأرشيف المحدد


8
2018-03-05 17:16





إذا تعرف tar على تنسيق الضغط ، فلا تحتاج إلى علامة:

tar xvf *.tar.xz

إذا كنت بحاجة إلى إلغاء ضغط الإدخال يدويًا ، على سبيل المثال ، لأن القطران قديم جدًا بحيث لا يمكن التعرف على xz ، أو تحتاج إلى مسار خاص:

xz -cd *.tar.xz | tar xvf -

الأنابيب أسرع من إنشاء ملف وسيط غير مضغوط ، واستخدام مساحة أقل على القرص أيضًا!


3
2018-02-04 06:13