UnZip-6.0
UnZip 소개
UnZip 패키지에는 ZIP 추출 유틸리티가 포함되어 있습니다. 이 유틸리티는 ZIP 아카이브에서 파일을 추출하는 데 유용합니다. ZIP 아카이브는 주로 DOS 환경에서 PKZIP 또는 Info-ZIP 유틸리티를 사용하여 생성됩니다.
이 패키지는 LFS 12.1 플랫폼을 사용하여 빌드하고 제대로 작동하는 것으로 알려져 있습니다.
주의 이전 버전의 UnZip 패키지에는 일부 로캘 관련 문제가 있었습니다. 현재 이러한 로캘 문제를 테스트할 수 있는 BLFS 편집기는 없습니다. 따라서 로캘 관련 정보는 이 페이지에 남아 있지만 테스트되지 않았습니다. 이러한 문제에 대한 보다 일반적인 논의는 Locale Related Issues 페이지의 Program Assumes Encoding 섹션에서 확인할 수 있습니다.
패키지 정보
- 다운로드 MD5 합계: 62b490407489521db863b523a7f86375
- 다운로드 크기: 1.3 MB
- 필요한 예상 디스크 공간: 9 MB
- 예상 빌드 시간: 0.1 SBU 미만
추가 다운로드
UnZip Locale 문제
참고 BLFS 지침에서는 파일 이름에 ASCII가 아닌 문자가 포함된 파일을 추출할 때 UnZip을 사용하지 않으므로 JDK, Mozilla, DocBook 또는 기타 BLFS 패키지 설치에서 UnZip을 사용하는 것은 문제가 되지 않습니다.
이러한 문제는 패치에서 해결될 것으로 예상됩니다. 그러나 편집자 중 누구도 이 문제를 테스트할 데이터가 없기 때문에 여전히 필요할 경우를 대비하여 다음과 같은 해결 방법을 유지합니다.
UnZip 패키지는 비유닉스 시스템에서 생성된 ZIP 아카이브에 저장된 파일명이 CP850으로 인코딩되고 파일시스템에 파일을 쓸 때 ISO-8859-1로 변환되어야 한다고 가정합니다. 하지만 이러한 가정이 항상 유효한 것은 아닙니다. 실제로 ZIP 아카이브 내부에서 파일 이름은 해당 국가에서 사용 중인 DOS 코드 페이지로 인코딩되며 디스크의 파일 이름은 로케일 인코딩으로 되어 있어야 합니다. MS Windows에서는 User32.DLL의 OemToChar() C 함수가 올바른 변환을 수행하지만(실제로 MS Windows가 미국 영어를 사용하도록 설정된 경우 CP850에서 ISO-8859-1의 상위 집합으로 변환됨) Linux에는 이에 상응하는 함수가 없습니다.
unzip을 사용하여 ASCII가 아닌 파일명이 포함된 ZIP 아카이브의 압축을 풀 때 인코딩 가정 중 하나라도 잘못되면 unzip이 부적절한 변환을 사용하기 때문에 파일명이 손상됩니다. 예를 들어, ru_RU.KOI8-R 로캘에서는 파일 이름을 CP866에서 KOI8-R로 변환해야 하지만, CP850에서 ISO-8859-1로 변환하면 단어 대신 해독할 수 없는 문자로 구성된 파일 이름이 생성됩니다(영어 전용 사용자가 이해할 수 있는 가장 가까운 예는 rot13입니다). 이 제한을 해결하는 방법에는 여러 가지가 있습니다:
- libarchive-3.7.2의 bsdtar -xf를 사용하여 ZIP 아카이브의 압축을 풉니다. 그런 다음 도구convmv를 사용하여 파일 이름에 발생한 손상을 수정합니다. 다음은
zh_CN.UTF-8
로캘에 대한 예제입니다:
convmv -f cp936 -t utf-8 -r --nosmart --notest \
</path/to/unzipped/files>
UnZip 설치
먼저 패치를 적용합니다:
patch -Np1 -i ../unzip-6.0-consolidated_fixes-1.patch
이제 패키지를 컴파일합니다:
make -f unix/Makefile generic
테스트 스위트는 “generic”을 대상으로는 작동하지 않습니다.
이제 root 사용자로서
make prefix=/usr MANDIR=/usr/share/man/man1 \
-f unix/Makefile install
명령 설명
- make -f unix/Makefile generic:
이 타겟은 구성 스크립트를 실행하는 것으로 시작하며(linux 및 linux_noasm과 같은 이전 타겟과 달리) 빌드에 사용되는 플래그 파일을 생성합니다. 이렇게 하면 32비트 x86 빌드가 압축을 풀 때 2GB보다 큰 파일의 압축을 풀기 위한 올바른 플래그를 받을 수 있습니다.
내용
- 프로그램:
funzip, unzip, unzipfsx, zipgrep 및 zipinfo - 라이브러리:
없음 - 디렉토리:
없음
짧은 설명
- funzip
unzip 명령의 출력을 리디렉션할 수 있습니다. - unzip
ZIP 아카이브에서 파일을 나열, 테스트 또는 추출합니다. - unzipfsx
ZIP 아카이브에 추가할 수 있는 자동 압축 풀기 스텁입니다. 이 형식의 파일을 사용하면 수신자가 UnZip을 설치하지 않고도 아카이브의 압축을 풀 수 있습니다. - zipgrep
ZIP 아카이브에서 패턴과 일치하는 줄이 있는지 파일을 검색합니다. - zipinfo
파일 액세스 권한, 암호화 상태, 압축 유형 등 ZIP 아카이브의 파일에 대한 기술 정보를 생성합니다.