Apakah ada opsi lain untuk unzip file di Ubuntu selain "unzip"? [Tutup]

11

Sysadmin saya tidak dapat dijangkau saat ini, dan saya memiliki file zip di server yang ingin saya unzip ... namun, saat ini kami belum menginstal zip dan unzip, dan saya tidak memiliki akses root untuk menginstalnya. ..

Apakah saya kehabisan pilihan? Apakah ada hal lain yang dapat unzip file ini?

Johnnietheblack
sumber
Apakah tar tidak diinstal? tar -x
Spuder
baru saja mencoba tar -x file.zip dan sepertinya melakukan sesuatu ...
johnnietheblack
@spuder Anda harus meninggalkan jawaban jika ini berhasil, dan saya akan menjawab ya
johnnietheblack

Jawaban:

10

Saya belum mencoba ini, tetapi , ada zipfilemodul di perpustakaan standar Python sejak versi 1.6, dan karena versi 2.6 telah memiliki extractallmetode

Anda harus dapat melakukan sesuatu seperti:

  1. Buat file dengan konten berikut (mengeditnya agar sesuai dengan kasus penggunaan Anda).
  2. Simpan file sebagai "unzipfile.py"
  3. Jalankan dengan python unzipfile.py

Dan itu akan ekstrak test.zipke /home/user/directory.

import zipfile

with zipfile.ZipFile('test.zip', "r") as z:
  z.extractall("/home/user/directory")

Sumber: https://stackoverflow.com/a/9432315/167299

Atau, BusyBox berisi "modul" unzip, dan jika Anda dapat mengunduh dan menjalankan BusyBox yang terhubung secara statis, maka Anda dapat menggunakannya untuk meng-unzip sesuatu.

Tom O'Connor
sumber
saya mencoba bagian pertama ini dan mendapat: Program 'impor' dapat ditemukan dalam paket berikut: * imagemagick * graphicsmagick-imagemagick-compat - btw ... saya tidak downvote Anda
johnnietheblack
Oh Anda tahu Anda perlu menjalankannya melalui Python?
Tom O'Connor
1
WOW. Sepertinya itu berhasil .... Saya sengaja menemukan dalam mode interaktif!
johnnietheblack
2
Selamat datang di Python. Itu mengagumkan.
Tom O'Connor
2
Anda sekarang dapat langsung memanggil modul dari baris perintah python -m zipfile -e monty.zip target-dir/(lihat docs.python.org/2/library/zipfile.html#command-line-interface )
Peter Gibson
11

Jika Anda telah javamenginstal, jarperintah dapat membuka zip file zip:

jar xvf file.zip 

Perhatikan bahwa Anda dapat menginstal java tanpa akses root: http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html

Jlliagre
sumber
1
Hari ini saya belajar.
Tom O'Connor
Program 'jar' dapat ditemukan dalam paket-paket berikut: * default-jdk * fastjar * gcj-4.6-jdk * openjdk-6-jdk * gcj-4.5-jdk * openjdk-7-jdk Minta administrator Anda untuk menginstal salah satu dari mereka :(
johnnietheblack
1
Lihat pembaruan jawaban saya.
jlliagre
Saya sedikit takut untuk menginstal apa pun di server, karena takut akan murka sysadmin saya, tetapi saya pasti akan mencoba ini jika perlu.
johnnietheblack
2

BSD / Mac OSX

Utilitas tar yang dikirimkan bersama dengan turunan Mac dan BSD, mendukung ekstraksi arsip zip dari perintah tar

tar -xvf foo.zip

tar --version
bsdtar 2.8.3 - libarchive 2.8.3

Debian / RHEL

Arsip tar yang dikirimkan bersama Ubuntu dan lainnya tidak mendukung ekstraksi file zip. Pilihan terbaik adalah scp file ke mesin dengan zip terpasang.

tar -xvf foo.zip
tar: This does not look like a tar archive
tar: Exiting with failure status due to previous errors

Tes Asap

echo "the quick brown fox jumped over the lazy dog" > bar.txt
zip -r bar.zip bar.txt
rm bar.txt
tar -xvf bar.txt
cat bar.txt
the quick brown fox jumped over the lazy dog

Memperbarui

Tulis ulang jawaban untuk menjelaskan bahwa tar -xvf hanya berfungsi pada bsd OS. Walaupun ini adalah informasi yang baik, bagaimanapun juga tidak akan berfungsi dalam skenario ini.

spuder
sumber
apa yang dilakukan -zxvf?
johnnietheblack
ketika saya mencobanya, saya mendapatkan tar: Ini tidak terlihat seperti tar arsip tar: Melewati header berikutnya ... apakah itu berarti gagal, atau masih berjalan?
johnnietheblack
tarkemampuan untuk memproses file zip akan menjadi ekstensi tar Ubuntu (yaitu GNU tar) tampaknya tidak menyediakan. -zadalah untuk file yang di-zip, bukan yang di-zip (kecuali ekstensi yang sangat baru).
jlliagre
apakah itu berarti jika saya mengunggah gzip itu akan berfungsi?
johnnietheblack
Memang, tapi itu bukan pertanyaan Anda ;-)
jlliagre
2

Saya tidak percaya ada cara lain untuk membuka ritsleting file pada sistem tanpa unzip, tetapi Anda bisa mengirim file ke sistem linux lain (dengan unzip diinstal atau akses root tersedia), unzip file di sana dan - jika perlu - mengirim ritsleting terbuka mengajukan kembali ke server asli.

Perintah untuk mengirim file dari satu server ke yang lain adalah scp. Sintaks untuk mengirim file adalah:

scp <filename> <username>@<otherhostname>:<portnumber><fullpathtolocation>
e.g.: scp file.zip  [email protected]:2222/home/user/ 

Semoga ini membantu!

Luc van Donkers pergi
sumber
0

Salin file ke komputer lain, unzip, dan salin kembali.

dmourati
sumber