본문으로 건너뛰기
로그인 둘러보기
윈도우즈 유틸 · 파일·디스크·압축·백업

Z-Manager CLI

0

Z-Manager CLI는 Frank Zhu가 만든 명령줄 기반 압축 유틸리티로, ZIP, 7z, TAR.ZST 등 다양한 아카이브 형식을 빠르고 안전하게 처리하는 것을 목적으로 합니다.

7z아카이브압축

소개

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.git
  • cargo 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 변형 확인 가능