Wiem, że możesz wyodrębnić .7z
pliki za pomocą 7-zip.
Czy istnieje inny standardowy program linux, który może to zrobić? Może jeden z nich
tar
bzip2
xz
gzip
Dodam, że bsdtar
można to zrobić, ale nie jest dostępne we wszystkich systemach.
Wiem, że możesz wyodrębnić .7z
pliki za pomocą 7-zip.
Czy istnieje inny standardowy program linux, który może to zrobić? Może jeden z nich
tar
bzip2
xz
gzip
Dodam, że bsdtar
można to zrobić, ale nie jest dostępne we wszystkich systemach.
Odpowiedzi:
Archiwa nr 7-Zip używają LZMA i LZMA2, które nie są obsługiwane przez standardowe narzędzia (używają również bzip2, ale nadal trzeba zdekodować nagłówek).
xz
używa również LZMA. Ale tak, nadal nie zrozumie reszty formatu 7z.
Archiwa 7-zip można wyodrębnić za pomocą p7zip ( http://p7zip.sourceforge.net/ ) w systemie Linux. Jest on zawarty w repozytoriach: Debian, Fedora, Ubuntu i ewentualnie innych dystrybucji.
Wyświetl zawartość za pomocą (mała litera L, dla listy):
7za l myarchive. 7z
Wyodrębnij zawartość:
7za x myarchive. 7z
sudo port install p7zip
„Standardowym” sposobem pracy z archiwami 7-Zip na Uniksie jest użycie P7ZIP . Ale ponieważ format 7-Zip został zaprojektowany przede wszystkim dla systemu Windows, nie należy spodziewać P7ZIP
się domyślnej instalacji w dystrybucjach Linuksa.
Jeśli chcesz skorzystać z kompresji LZMA na Uniksie, wybierz XZ Utils .
Nie mogłem znaleźć 7za w żadnym z repozytoriów yum na RHEL / CentOS, więc właśnie pobrałem najnowszą wersję źródła z sourceforge.net:
$ wget https://sourceforge.net/projects/p7zip/files/p7zip/16.02/p7zip_16.02_src_all.tar.bz2
(zmień „16.02” powyżej na najnowszą wersję w momencie, gdy próbujesz pobrać, możesz dowiedzieć się, przechodząc do https://sourceforge.net/projects/p7zip/files/p7zip/ ).
Znajdując się w katalogu, w którym pobrano archiwum p7zip, rozpakuj je:
$ tar -xvjf p7zip_16.02_src_all.tar.bz2
Następnie uruchom polecenie make jako użytkownik root w wyodrębnionym folderze:
# make
# make install
To będzie produkować 7za
binarne w /usr/local/bin
katalogu (jeśli używasz RHEL7 co najmniej):
$ whereis 7za
7za: /usr/local/bin/7za
Plik binarny 7za jest częścią pakietu p7zip. Można go zainstalować z epel
repozytorium, jeśli używasz RHEL / OL / CentOS (testowany na RHEL6 / RHEL7):
RHEL6, 7:
# rpm -Uvh http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm
# yum install p7zip
Ten pakiet nie był aktualizowany przez długi czas, ale nadal można go użyć do wyodrębnienia plików:
$ 7za x xyz_7zfile.7z