Ubuntuで「unzip」以外にファイルを解凍するオプションはありますか?[閉まっている]


11

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

私は完全にオプションを失っていますか?このファイルを解凍できるものは他にありますか?


tarはインストールされていませんか?tar -x
spuder 2013

tar -x file.zipを試したところ、何かをしているようです...
johnnietheblack

@spuderこれが機能する場合は回答を残してください。そうすれば、yaに
賛成投票し

回答:


10

私はこれを試していませんzipfilePythonの標準ライブラリにはバージョン1.6以降のモジュールがあり、バージョン2.6には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には解凍「モジュール」が含まれており、静的にリンクされたBusyBoxをダウンロードして実行できれば、それを使用して解凍することができます。


私はこれの最初の部分を試してみました:プログラム 'import'は次のパッケージにあります:* imagemagick * graphicsmagick-imagemagick-compat-btw ...私はあなたにダウン投票しませんでした
johnnietheblack

ああ。あなたはそれをPythonを通して実行する必要があることを知っていますか?
トム・オコナー

1
ワオ。それはうまくいったようです...私はインタラクティブモードでうまくつまずきました!
johnnietheblack 2013

2
Pythonへようこそ。それは素晴らしいです。
トム・オコナー

2
コマンドラインから直接モジュールを直接呼び出すことができますpython -m zipfile -e monty.zip target-dir/docs.python.org/2/library/zipfile.html#command-line-interfaceを参照)
Peter Gibson

11

あなたがしている場合はjavaインストールされ、jarコマンドは、ZIPファイルを解凍することができます:

jar xvf file.zip 

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


1
今日私は学びました。
トム・オコナー

プログラム「jar」は、次のパッケージにあります。* default-jdk * fastjar * gcj-4.6-jdk * openjdk-6-jdk * gcj-4.5-jdk * openjdk-7-jdk管理者に、それら:(
johnnietheblack

1
私の回答の更新を参照してください。
jlliagre 2013

私は、システム管理者の怒りを恐れて、サーバーに何かをインストールするのが少し苦手ですが、必要に応じてこれを確実に試します。
johnnietheblack 2013

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でのみ機能することを明確にするために、回答を書き直しました。それは良い情報ですが、結局このシナリオでは機能しません。


-zxvfは何をしますか?
johnnietheblack 2013

試してみると、tarが表示されます。これはtarアーカイブのtarのようには見えません。次のヘッダーにスキップします...失敗したか、それともまだ実行中ですか?
johnnietheblack 2013

tarzipファイルを処理する機能は、Ubuntu tar(つまり、GNU tar)が提供しない拡張機能です。-zこれはgzip圧縮されたファイル用であり、zipファイルではありません(ごく最近の拡張子でない限り)
jlliagre 2013

これは、gzipをアップロードしても機能することを意味しますか?
johnnietheblack 2013

それはできますが、それはあなたの質問ではありません;-)
jlliagre '10

2

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

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

scp <filename> <username>@<otherhostname>:<portnumber><fullpathtolocation>
e.g.: scp file.zip  user@server.example.com:2222/home/user/ 

お役に立てれば!


0

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


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.