Назад | Перейти на главную страницу

Есть ли другие варианты распаковки файла в Ubuntu, кроме «распаковать»?

Мой системный администратор сейчас недоступен, и у меня есть заархивированный файл на сервере, который я хотел бы распаковать ... однако в настоящее время у нас нет установленных zip и unzip, и у меня нет доступа root для их установки. ..

У меня совсем нет вариантов? Есть еще что-нибудь, что может распаковать этот файл?

Если у вас есть java установлен, jar команда может распаковать заархивированный файл:

jar xvf file.zip 

Обратите внимание, что вы можете установить Java без корневого доступа: http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html

Я не пробовал это, но, есть zipfile модуль в стандартной библиотеке Python с версии 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, то вы могли бы использовать его для распаковки.

BSD / Mac OSX

Утилита tar, поставляемая с Mac и производными от BSD, поддерживает извлечение zip-архивов с помощью команды tar.

tar -xvf foo.zip

tar --version
bsdtar 2.8.3 - libarchive 2.8.3

Debian / RHEL

Архив tar, который поставляется с Ubuntu и другими, не поддерживает извлечение файлов zip. Лучшим вариантом будет скопировать файл на машину с установленным zip.

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. Хотя это хорошая информация, она не сработает в этом сценарии.

Я не верю, что есть другие способы распаковать файл в системе без unzip, но вы можете отправить файл в другую систему Linux (с установленным unzip или доступным root-доступом), распаковать файл там и, при необходимости, отправить распакованный файл обратно на исходный сервер.

Команда для отправки файла с одного сервера на другой: scp. Синтаксис для отправки файла:

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

Надеюсь это поможет!

Скопируйте файл на другой компьютер, разархивируйте и скопируйте обратно.

Если на сервере запущен Gnome, воспользуйтесь утилитой архивирования

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