web-dev-qa-db-ja.com

「unzip」以外にUbuntuでファイルを解凍する他のオプションはありますか?

現在、私のシステム管理者にアクセスできず、解凍したいサーバー上にzipファイルがあります...しかし、現時点ではZipとunzipがインストールされておらず、それらをインストールするためのrootアクセス権がありません。 ..

私は完全に選択肢を失っていますか?このファイルを解凍できるものは他にありますか?

11
johnnietheblack

私はこれを試していません、but、バージョン1.6以降、およびバージョン2.6以降、Pythonの標準ライブラリにzipfileモジュールがありますextractallメソッド

あなたは次のようなことができるはずです

  1. 次の内容のファイルを作成します(ユースケースに合わせて編集します)。
  2. ファイルを「unzipfile.py」として保存します
  3. python unzipfile.pyで実行

そして、test.Zip/home/user/directoryに抽出します。

import zipfile

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

ソース: https://stackoverflow.com/a/9432315/167299

または、 BusyBox にunzipの「モジュール」が含まれ、静的にリンクされたBusyBoxをダウンロードして実行できる場合は、それを使用して物を解凍できます。

9
Tom O'Connor

Javaがインストールされている場合は、jarコマンドでzipファイルを解凍できます。

jar xvf file.Zip 

ルートアクセスなしでJavaをインストールできることに注意してください: http://docs.Oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html

11
jlliagre

unzipがないシステムでファイルを解凍する他の方法はないと思いますが、ファイルを別のLinuxシステム(unzipがインストールされているか、rootアクセスが利用可能)に送信し、そこでファイルを解凍して、-必要に応じて-解凍したファイルを元のサーバーに送り返します。

サーバー間でファイルを送信するコマンドはscpです。ファイルを送信する構文は次のとおりです。

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

お役に立てれば!

2

BSD/Mac OSX

MacおよびBSD派生物に同梱されるtarユーティリティは、tarコマンドからのZipアーカイブの抽出をサポートします

tar -xvf foo.Zip

tar --version
bsdtar 2.8.3 - libarchive 2.8.3

Debian/RHEL

Ubuntuなどに同梱されているtarアーカイブは、Zipファイルの抽出をサポートしていません。最良のオプションは、Zipがインストールされているマシンにファイルをscpすることです。

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

煙のテスト

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

更新

Tar -xvfがbsd OSでのみ機能することを明確にするために、回答を書き直しました。それは良い情報ですが、結局このシナリオでは機能しません。

2
spuder

ファイルを別のマシンにコピーし、解凍してコピーします。

0
dmourati

サーバーでGnomeが実行されている場合は、アーカイブユーティリティを使用します。

enter image description here

http://www.wikihow.com/Unzip-Files-in-Linux

0
spuder