現在、私のシステム管理者にアクセスできず、解凍したいサーバー上にzipファイルがあります...しかし、現時点ではZipとunzipがインストールされておらず、それらをインストールするためのrootアクセス権がありません。 ..
私は完全に選択肢を失っていますか?このファイルを解凍できるものは他にありますか?
私はこれを試していません、but、バージョン1.6以降、およびバージョン2.6以降、Pythonの標準ライブラリにzipfile
モジュールがありますextractall
メソッド
あなたは次のようなことができるはずです:
そして、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をダウンロードして実行できる場合は、それを使用して物を解凍できます。
Java
がインストールされている場合は、jar
コマンドでzipファイルを解凍できます。
jar xvf file.Zip
ルートアクセスなしでJavaをインストールできることに注意してください: http://docs.Oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html
unzip
がないシステムでファイルを解凍する他の方法はないと思いますが、ファイルを別のLinuxシステム(unzipがインストールされているか、rootアクセスが利用可能)に送信し、そこでファイルを解凍して、-必要に応じて-解凍したファイルを元のサーバーに送り返します。
サーバー間でファイルを送信するコマンドはscp
です。ファイルを送信する構文は次のとおりです。
scp <filename> <username>@<otherhostname>:<portnumber><fullpathtolocation>
e.g.: scp file.Zip [email protected]:2222/home/user/
お役に立てれば!
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でのみ機能することを明確にするために、回答を書き直しました。それは良い情報ですが、結局このシナリオでは機能しません。
ファイルを別のマシンにコピーし、解凍してコピーします。
サーバーでGnomeが実行されている場合は、アーカイブユーティリティを使用します。