소개
Z-Manager CLI는 Frank Zhu가 만든 명령줄 기반 압축 유틸리티로, ZIP, 7z, TAR.ZST 등 다양한 아카이브 형식을 빠르고 안전하게 처리하는 것을 목적으로 합니다. 데스크톱 GUI 앱과 동일한 Rust 기반 아카이브 엔진을 공유하면서도 단독으로 사용할 수 있도록 설계되어, 프로젝트 아카이브 생성, 광범위한 형식의 안전한 추출, 콘텐츠 검사, 스크립트 기반 워크플로우를 GUI 없이 수행할 수 있게 합니다.
상세정보
광범위한 추출 지원
- 아카이브, 패키지, 디스크 이미지, 원시 압축 등 현실에서 자주 마주치는 다양한 형식을 기본 활성화된 안전 검사와 함께 추출
- 이름만으로 열 수 있는 주요 형식: ZIP, ZIPX, JAR, WAR, IPA, APK, APPX, XPI, 7z, TAR(및 압축 변형), RAR, CPIO, CPGZ, ISO, XAR, CAB, AR, DEB, RPM, SPK 스타일 tar 패키지, Apple Archive(.aar/.aea), 원시 압축 파일
의도적으로 좁혀진 생성 지원
- 생성 가능한 형식:
.zip(Deflate/store 및 AES-256 암호화),.tzst(.tar.zst, Zstandard),.tgz(.tar.gz, gzip),.tzap(Zstandard + 암호화/복구 메타데이터),.7z(LZMA2, AES-256 암호화), Apple Archive(.aar/.aea) - 실용적이고 잘 지원되는 형식 위주로 새 아카이브 생성
암호화 및 패스워드 처리
- ZIP, 7z, TZAP, Apple Archive, RAR의 list/test/extract에서 prompt 또는
--password-stdin으로 패스워드 입력 - 새로 만드는 암호화 ZIP, TZAP, 7z는 AES-256 경로 사용
- 패스워드는 명령 인자로 받지 않아 셸 히스토리/프로세스 목록 노출을 방지
TZAP: 오픈소스 RAR 대체
- 최신 암호화 서명, 다중 수신자 암호화, 안전한 패스프레이즈 보호, 자가 치유 오류 복구 기능을 갖춘 현대적 포맷
- 패스프레이즈 보호 기반 create/list/test/extract 지원
안전한 추출 모델
- 기본 거부/보호 대상: 절대 경로 및
..경로 traversal, 심볼릭/하드 링크 escape, 정규화 결과 중복 경로, 유니코드/대소문자 무시 경로 충돌, 안전하지 않은 특수 파일, 비정상적으로 큰 확장 크기 또는 압축률, 요청된 덮어쓰기 모드가 허용하지 않는 실수 덮어쓰기
명령 인터페이스
- 기존 아카이브 도구에 익숙한 사용자를 위한 클래식 플래그와, 스크립트 가독성을 위한 서브커맨드를 모두 제공
- 예시:
zm -cf project.zip project/,zm create project.tzst project/,zm list project.zip,zm test project.zip
셸 자동완성
- 패키지 매니저가 지원하는 경우 bash, zsh, fish 자동완성 설치
- Windows용 PowerShell 인자 completer 출력 지원:
zm completions powershell > zm.ps1
출력 동작
- 사람이 읽는 출력은
--color auto가 기본값이며, 터널 스트림에서만 색상 표시,NO_COLOR환경변수로 자동 색상 비활성화 --color always/--color never로 명시 지정- JSON 출력과
--to-stdout의 원시 아카이브 페이로드는 색상이 적용되지 않음
Windows에서 설치
PowerShell에서 WinGet으로 설치합니다.
- 전체 빌드:
winget install FrankZhu.ZManagerCLI - 오프라인 빌드:
winget install TzapOrg.ZManagerCLI.Offline
macOS에서 설치
- 전체 빌드:
brew install tzap-org/zmanager/zmanager - 오프라인 빌드:
brew install tzap-org/zmanager/zmanager-offline
Linux에서 설치
- 전체 빌드:
curl -fsSL https://raw.githubusercontent.com/tzap-org/zmanager/main/install.sh | sh - 오프라인 빌드:
... | sh -s -- --offline
기본 사용 흐름
- 프로젝트 디렉터리를 ZIP으로 묶기:
zm -cf project.zip project/ - 특정 위치에 풀기:
zm -xf project.zip -C out/ - TZST(현대적 포맷) 생성/추출:
zm create project.tzst project/,zm extract project.tzst -C out/ - 암호화된 TZAP 백업:
printf '%sn' "$ZM_PASSWORD" | zm create backup.tzap project/ --password-stdin - 아카이브 내용 확인:
zm list project.zip,zm test project.zip
소스에서 빌드
git clone https://github.com/tzap-org/zmanager.gitcargo build -p zmanager-cli --release./target/release/zm --help로 도움말 확인
Q. 설치된 빌드가 전체(full)인지 오프라인(offline)인지 어떻게 확인하나요?
zm --version 출력의 괄호 안에 변형이 표시됩니다. 예: zm 2.1.2 (full) 또는 zm 2.1.2 (offline).
Q. 오프라인 빌드와 전체 빌드의 차이는 무엇인가요?
두 빌드는 동일한 아카이브 명령 세트를 제공하며, 차이는 zm auth 같은 온라인 신원 기능 포함 여부입니다. 네트워크 사용이 제한된 환경에서는 오프라인 빌드를 선택할 수 있습니다.
Q. 패스워드가 필요한 아카이브는 어떻게 처리하나요?
대화형 prompt 또는 --password-stdin으로 패스워드를 전달합니다. 명령 인자로 패스워드를 넘기면 셸 히스토리나 프로세스 목록에 노출될 수 있어 권장되지 않습니다.
Q. 어떤 형식을 새로 만들 수 있나요?
ZIP, TZST(.tar.zst), TGZ(.tar.gz), TZAP, 7z, Apple Archive(.aar/.aea)를 생성할 수 있으며, ZIP/TZAP/7z 생성 시 AES-256 암호화 옵션이 제공됩니다.
시스템 요구사항
지원 환경 및 요구 사항
Z-Manager CLI는 macOS, Linux, Windows에서 동작하는 크로스플랫폼 명령줄 도구이며, Rust로 작성되어 있습니다.
설치 경로
- macOS: Homebrew 탭에서
brew install tzap-org/zmanager/zmanager(전체 빌드) 또는 오프라인 공식zmanager-offline설치 - Linux: 설치 스크립트
curl -fsSL https://raw.githubusercontent.com/tzap-org/zmanager/main/install.sh | sh사용,--offline옵션으로 오프라인 빌드 지정 - Windows: WinGet
winget install FrankZhu.ZManagerCLI, 오프라인은TzapOrg.ZManagerCLI.Offline
빌드 환경
- 소스에서 빌드 시 Rust 도구チェーン(
cargo) 필요 - Linux용 미리보기 빌드는 gh CLI 필요
네트워크 / 패키지
- 기본(full) 빌드는
zm auth같은 온라인 신원 기능을 포함 - 오프라인 빌드는 네트워크 기능을 제거한 동일 아카이브 명령어 세트 제공
zm --version출력에서full/offline변형 확인 가능


