Ubuntu에서“unzip”외에 파일의 압축을 푸는 다른 옵션이 있습니까? [닫은]


11

내 sysadmin에 지금 연결할 수 없으며 압축을 풀고 싶은 서버에 압축 파일이 있지만 현재 zip 및 unzip이 설치되어 있지 않으며 루트 액세스 권한이 없으므로 설치할 수 없습니다. ..

옵션이 완전히 없습니까? 이 파일의 압축을 풀 수있는 다른 것들이 있습니까?


타르가 설치되어 있지 않습니까? tar -x
spuder

방금 tar -x file.zip을 시도해
보니

@spuder 당신은 이것이 작동하는 경우 답변을 남겨 두어야하고 나중에 내가
투표

답변:


10

나는 이것을 시도하지 않았지만 , zipfile버전 1.6부터 파이썬의 표준 라이브러리에 모듈이 있으며 버전 2.6부터 extractall메소드 가 있었다

다음과 같은 작업을 수행 할 수 있어야 합니다.

  1. 다음 내용으로 파일을 작성하십시오 (사용 사례에 맞게 편집).
  2. 파일을 "unzipfile.py"로 저장하십시오.
  3. 파이썬 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를 다운로드하여 실행할 수 있으면이를 사용하여 압축을 풀 수 있습니다.


나는이의 첫 부분을 노력하고 있어요 :이 프로그램은 '수입'다음 패키지에서 찾을 수 있습니다 : * ImageMagick이 * graphicsmagick - ImageMagick를-의 compat - BTW ... 내가 당신에게 downvote하지 않았다
johnnietheblack

오. 파이썬을 통해 실행해야한다는 것을 알고 있습니까?
Tom O'Connor

1
와. 작동하는 것처럼 보입니다 .... 대화식 모드에서 성공적으로 넘어졌습니다!
johnnietheblack

2
파이썬에 오신 것을 환영합니다. 그것은 굉장.
Tom O'Connor

2
이제 명령 행에서 직접 모듈을 호출 할 수 있습니다 python -m zipfile -e monty.zip target-dir/( docs.python.org/2/library/zipfile.html#command-line-interface 참조 )
Peter Gibson

11

이 경우 java설치는 jar명령은 압축 파일을 압축을 해제 할 수 있습니다 :

jar xvf file.zip 

루트 액세스없이 java를 설치할 수 있습니다. http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html


1
오늘 나는 배웠다.
Tom O'Connor 20 년

프로그램 'jar'는 다음 패키지에서 찾을 수 있습니다. * default-jdk * fastjar * gcj-4.6-jdk * openjdk-6-jdk * gcj-4.5-jdk * openjdk-7-jdk 관리자에게 다음 중 하나를 설치하도록 요청하십시오. 그들 :(
johnnietheblack

1
답변 업데이트를 참조하십시오.
jlliagre

내 시스템 관리자의 분노에 대한 두려움 때문에 서버에 아무것도 설치하지 않아도되지만 필요하다면 분명히 시도 할 것입니다.
johnnietheblack

2

BSD / 맥 OSX

Mac 및 BSD 파생물과 함께 제공되는 tar 유틸리티는 tar 명령에서 zip 아카이브 추출을 지원합니다.

tar -xvf foo.zip

tar --version
bsdtar 2.8.3 - libarchive 2.8.3

데비안 / 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

내가 그것을 시도 할 때, 나는 tar를 얻는다 : 이것은 tar 아카이브 tar처럼 보이지 않는다. tar : 다음 헤더로 건너 뛰는 것은 ... 그것이 실패했거나 여전히 가고 있다는 것을 의미합니까?
johnnietheblack

tarzip 파일을 처리하는 기능은 Ubuntu tar (즉, GNU tar)가 제공하지 않는 확장명입니다. -z압축 파일이 아닌 압축 파일 용입니다 (최근 확장자가 아닌 한).
jlliagre

gzip을 업로드하면 작동한다는 의미입니까?
johnnietheblack

그것은, 그러나 그것은 당신의 질문이 아닙니다 ;-)
jlliagre

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.