Мой системный администратор сейчас недоступен, и у меня есть заархивированный файл на сервере, который я хотел бы распаковать ... однако в настоящее время у нас нет установленных 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
метод
Вы должен уметь делать что-то вроде:
И он извлечет 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, воспользуйтесь утилитой архивирования