Câu hỏi Làm cách nào để giải nén tarball sử dụng .xz?


Tôi đang sử dụng để giải nén tarball với một -xfz flag, xử lý lưu trữ gzip và bzip2.

Gần đây tôi đã chạy vào một .tar.xz và tôi muốn giải nén nó trong một bước sử dụng tar, Làm thế nào tôi có thể làm điều đó?


660
2018-01-02 23:41


gốc


lưu ý bạn có thể phải cài đặt xz-utils nếu chưa có - Tobias Kienzler
đây là kịch bản nhỏ của tôi đoán cờ tar cho bạn: gist.github.com/shime/5908634 - shime
tar --help danh sách tar cờ. -xzf áp dụng cho gzip. -xjf đến bz2. -xJf đến xz. - noobninja


Các câu trả lời:


Ubuntu bao gồm GNU tar, công nhận định dạng của chính nó! Một lệnh hoạt động với bất kỳ phương thức nén được hỗ trợ nào, mỗi hướng dẫn.

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

vv Nếu tar cho một Cannot exec lỗi, bạn có thể cần phải sudo apt install xz-utils Đầu tiên.


864
2018-02-26 17:41



Đó là một tính năng của GNU tar. Tôi không biết về việc triển khai cạnh tranh, nhưng GNU tar phải phù hợp nhất với ubuntu. gnu.org/software/tar/manual/tar.html#SEC131 - ramslök
nếu bạn chạy vào tar: xz: Cannot exec: No such file or directory, cài đặt, dựng lên xz-utils: sudo apt-get install xz-utils - Collin Anderson
Đây không phải là câu trả lời, đó là 'bạn không quan tâm đến câu trả lời, mặc dù bạn đã hỏi' câu trả lời. Dành một suy nghĩ cho những người không phải là 'mới nhất' - Sean Houlihane
Phiên bản nào của tar không còn yêu cầu cờ cụ thể nữa? - Mark Tomlin
@ SeanHoulihane, đó không phải là câu trả lời vì OP hỏi một trẻ vị thành niên Vấn đề XY. ramslök cho OP tốt hơn so với yêu cầu, và điều đó bao gồm một hiệu quả "Bạn không quan tâm đến câu trả lời, mặc dù bạn hỏi", đó là thích hợp bởi vì nó là sự thật. - JonathanHayward


Thử

tar -xJf file.pkg.tar.xz

Các -J là cờ dành riêng cho các tệp .xz.


287
2018-01-02 23:42



Tôi tự hỏi có bao nhiêu lá cờ chúng ta sẽ có vào năm 2020. Giống như ... 45 nén khác nhau? Biết chuyển mạch tar đã là một đai đen trong Linux-fu. : / - Shiki
@Shiki: Đó có lẽ là lý do tại sao nó không làm cho bạn xác định cờ định dạng nén nữa. (Xem câu trả lời của ramslök.) - Nate C-K
xkcd.com/1168 - Wordzilla
Điều này hoàn toàn nên là câu trả lời được chấp nhận vì nó trả lời câu hỏi cho bất kỳ phiên bản hỗ trợ tar nào .xz - pospi
Trong năm 2030 cờ trở thành Turing hoàn thành ... 2040 họ trở thành sentient - user1359


Nếu vì một lý do nào đó tar các giải pháp không hoạt động (có thể do bạn đang sử dụng trình cài sẵn OS X), hãy thử cách này:

unxz < file.tar.xz > file.tar

… Tương đương với:

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

Sau đó sử dụng tar để gỡ bỏ tệp.


68
2018-01-19 20:05



Điều đó nên được xây dựng với một đường ống. - gerrit
Tôi cảm thấy như bạn có thể làm unxz < file.tar.xz | tar x hoặc tương tự. - thirtythreeforty
điều này làm việc cho tôi, ở đâu tar xf đã không. ubuntu 12.04 - philshem
Ít nhất là trên máy Ubuntu của tôi, unxz không tương đương với xz -dc, nhưng để xz -d. Vì vậy, để trích xuất file.tar.xz đến file.tar, bạn chỉ cần viết unxz file.tar.xz. Nếu bạn muốn tương đương với xz -dc, giải nén để stdout, sử dụng xzcat. Ví dụ xzcat file.tar.xz | tar x. - nwellnhof


xz là một máy nén dữ liệu không mất dữ liệu. Bạn sẽ phải giải nén bóng tar từ xz và sau đó giải nén tar:

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

Sau đó, bạn biết để trích xuất một tar

tar -xf my_archive.tar

Nguồn: Sử dụng XZ - Wikipedia.


24
2018-05-23 18:44



Câu trả lời hay nhất. xz không cần chuyển hướng stdout. Thậm chí còn tốt hơn: unxz -k - Mark Jeronimus


Tôi có cùng một vấn đề, tar xf lệnh không thể giải nén nó. Để khắc phục điều này, bạn cần cài đặt xz-utils gói. Giải pháp là:

sudo apt-get install xz-utils

sau đó:

tar xf myfile.tar.xz

12
2018-02-14 18:44





Thế còn

tar -xvf package.tar.xz

-x - trích xuất các tập tin

-v - liệt kê các tệp được xử lý một cách chi tiết

-f - sử dụng tệp lưu trữ được chỉ định


8
2018-03-05 17:16





Nếu tar nhận ra định dạng nén, bạn không cần cờ:

tar xvf *.tar.xz

Nếu bạn cần giải nén đầu vào theo cách thủ công, ví dụ: vì tar của bạn quá cũ để nhận dạng xz hoặc bạn cần một đường dẫn đặc biệt:

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

Ống nhanh hơn làm cho một tập tin trung gian không nén, và sử dụng không gian đĩa ít hơn!


3
2018-02-04 06:13