Giải nén tập tin 7z với các công cụ linux tiêu chuẩn?


29

Tôi biết rằng bạn có thể giải nén .7ztập tin với 7-zip.

Có một chương trình linux tiêu chuẩn khác có thể làm điều này? Có lẽ một trong những

tar
bzip2
xz
gzip

Tôi sẽ thêm rằng bsdtarcó thể làm điều này, nhưng không có sẵn trên tất cả các hệ thống.


câu hỏi tương tự: 7zip cho linux
Santosh Kumar

Câu trả lời:


10

Lưu trữ số 7-Zip sử dụng LZMA và LZMA2, không được hỗ trợ bởi các công cụ tiêu chuẩn (chúng cũng sử dụng bzip2, nhưng bạn vẫn cần giải mã tiêu đề).


1
Trên thực tế, xzsử dụng LZMA là tốt. Nhưng vâng, nó vẫn không hiểu phần còn lại của định dạng 7z.
jjlin

31

Lưu trữ 7-zip có thể được trích xuất bằng p7zip ( http://p7zip.sourceforge.net/ ) trên Linux. Nó được bao gồm trong kho của: Debian, Fedora, Ubuntu và có thể cả các bản phân phối khác nữa.

Liệt kê nội dung với (chữ thường L, cho danh sách):

7za l myarchive.7z

Trích xuất nội dung:

7za x myarchive.7z

1
p7zip có sẵn trong macports, dưới dạng nhị phân. Chỉ cần:sudo port install p7zip
smci

2
trên 64 bit RHEL 6, yum cài đặt p7zip.x86_64 và, nếu cần, yum cài đặt p7zip-
plugins.x86_64

2

Cách "chuẩn" để làm việc với kho lưu trữ 7-Zip trên Unix là sử dụng P7ZIP . Nhưng vì định dạng 7-Zip được thiết kế chủ yếu cho Windows, bạn thực sự không nên mong đợi P7ZIPđược cài đặt trên các bản phân phối Linux theo mặc định.

Nếu bạn muốn lợi ích của việc nén LZMA trên Unix, hãy sử dụng XZ Utils .


1

Tôi không thể tìm thấy 7za trong bất kỳ kho lưu trữ yum nào trên RHEL / CentOS, vì vậy tôi vừa tải xuống phiên bản nguồn mới nhất từ ​​sourceforge.net:

$ wget https://sourceforge.net/projects/p7zip/files/p7zip/16.02/p7zip_16.02_src_all.tar.bz2

(thay đổi "16.02" ở trên thành bất kỳ phiên bản mới nhất nào tại thời điểm bạn cố tải xuống, bạn có thể tìm hiểu bằng cách truy cập https://sourceforge.net/projects/p7zip/files/p7zip/ ).

Nằm trong thư mục mà bạn đã tải xuống kho lưu trữ p7zip, hãy giải nén nó:

$ tar -xvjf p7zip_16.02_src_all.tar.bz2

Sau đó chạy lệnh make với tư cách người dùng root bên trong thư mục giải nén:

# make
# make install

Nó sẽ tạo ra 7zanhị phân trong /usr/local/binthư mục (nếu bạn sử dụng ít nhất RHEL7):

$ whereis 7za
7za: /usr/local/bin/7za

0

Tôi đã thử 7za lần đầu tiên nhưng nó không hoạt động, vì vậy tôi đã thử sử dụng 7z với các tùy chọn tương tự và nó hoạt động. Dưới đây là ví dụ: Để giải nén: 7z e xy213file.7z


0

Nhị phân 7za là một phần của gói p7zip có thể được sử dụng cho điều đó. Nó có thể được cài đặt từ epelkho lưu trữ nếu bạn sử dụng RHEL / OL / CentOS (được thử nghiệm trên RHEL6 / RHEL7):

RHEL6, 7:

# rpm -Uvh http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm
# yum install p7zip

Gói này đã không được cập nhật trong một thời gian dài, nhưng vẫn có thể được sử dụng để giải nén các tệp:

$ 7za x xyz_7zfile.7z

-1

Gói p7zip có sẵn trong macports, dưới dạng nhị phân.

Chỉ: sudo port install p7zip

Và bạn đang đi! 7z x downloads/myfile.7z

Tương tự với CentOS nhưng sử dụng yum:

sudo yum install p7zip

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.