CAB 아카이브 형식
CAB(캐비닛) 아카이브는 파일과 디렉터리를 압축 형식으로 패키지하는 데 사용됩니다. 이를 통해 파일 크기를 줄이고 하나의 컨테이너에 편리하게 배포할 수 있습니다. 이 형식은 설치 패키지 및 소프트웨어 업데이트를 위해 Windows 운영 체제에서 자주 사용됩니다.
CAB 아카이브 정보 정보
CAB 아카이브는 특히 Windows 운영 체제 내에서 파일을 효율적으로 저장하고 배포하는 데 사용됩니다. CAB 파일은 LZX, MSZIP 및 Quantum을 포함한 다양한 압축 알고리즘을 사용하여 포함된 파일의 크기를 줄입니다. 이러한 아카이브는 디렉터리 구조를 유지하면서 단일 압축 파일에 여러 파일과 디렉터리를 저장할 수 있습니다. CAB 아카이브는 소프트웨어 설치 패키지, 드라이버 배포 및 Windows 업데이트에 자주 사용됩니다. 디지털 서명을 지원하므로 아카이브 내 파일의 무결성과 신뢰성을 확인할 수 있습니다.
CAB 내역 정보
- 1994년: Microsoft는 소프트웨어 패키지 및 업데이트 배포를 용이하게 하기 위해 CAB 파일 형식을 도입했습니다.
- 1995년: Windows 95에서 응용 프로그램 설치에 CAB 파일이 활용되었습니다.
- 2000: CAB 파일은 Windows Installer(.msi) 기술의 필수 부분이 되어 Windows 2000에서 응용 프로그램 배포를 지원합니다.
- 2001: CAB 형식이 .NET Framework SDK에 포함되어 다양한 개발 환경에서 유용성이 향상되었습니다.
- 2005년: Microsoft는 Windows XP 및 Windows Server 2003 출시를 통해 CAB 사용을 확대하여 시스템 업데이트 및 드라이버 설치에 CAB를 활용했습니다.
- 2008년: Windows Vista 및 Windows Server 2008이 도입되면서 CAB 파일은 Windows 업데이트 및 서비스 팩에서 계속해서 광범위하게 사용되었습니다.
- 2012: CAB 파일은 Windows 8 및 Windows Server 2012 운영 체제에서 지원되어 소프트웨어 배포 및 시스템 업데이트에서의 역할을 유지합니다.
- 2021년: CAB 파일은 Windows 11의 드라이버 배포, 시스템 업데이트 및 소프트웨어 설치에 사용되는 Windows 생태계의 중요한 부분으로 남아 있습니다.
캐비닛 파일의 구조
CAB는 여러 압축 파일을 단일 파일에 저장하도록 설계된 바이너리 파일 형식으로, 소프트웨어 배포 및 배포에 적합합니다. CAB 아카이브는 세 가지 기본 구성 요소로 구성됩니다.
- 헤더: 헤더에는 총 파일 수, 폴더 수, 사용된 압축 방법에 대한 정보 등 아카이브에 대한 메타데이터가 포함됩니다.
- 폴더 구조: CAB 파일에는 각각 파일의 논리적 그룹을 나타내는 여러 폴더 구조가 포함될 수 있습니다. CAB 아카이브의 각 폴더 항목에는 폴더에 보관된 파일과 사용된 압축 방법에 대한 정보가 포함되어 있습니다.
- 파일 데이터: 실제 파일 데이터는 지원되는 여러 알고리즘 중 하나를 사용하여 압축된 CAB 아카이브에 저장됩니다. 각 파일의 데이터는 일반적으로 블록에 저장되므로 효율적인 압축 및 압축 해제가 가능합니다.
CAB 압축 방법
CAB 아카이브는 데이터를 효율적으로 저장하기 위해 다양한 압축 방법을 지원합니다. 기본 압축 방법은 다음과 같습니다.
- MSZIP: ZIP 파일에 사용되는 DEFLATE 알고리즘을 기반으로 한 압축 알고리즘입니다. MSZIP은 압축률과 속도 간의 적절한 균형을 제공하므로 CAB 파일에 널리 사용됩니다.
- Quantum: 일부 CAB 파일에 사용되는 이전 압축 방법입니다. Quantum은 오늘날 덜 일반적이지만 CAB 형식의 초기 구현에서는 사용되었습니다.
- LZX: MSZIP에 비해 더 나은 압축률을 제공하지만 압축 및 압축 해제 속도가 느린 대신 높은 압축 알고리즘입니다. LZX는 대규모 소프트웨어 패키지 및 설치 파일의 크기를 줄이는 데 적합합니다.
- 압축되지 않음: CAB 파일은 압축되지 않은 데이터를 저장할 수도 있습니다. 이는 압축이 필요하지 않거나 파일에 대한 빠른 액세스가 필요할 때 유용합니다.
.cab 지원되는 작업
Aspose.Zip은 현재 CAB 아카이브 생성 기능을 제공하지 않지만 해당 내용을 추출하는 데는 탁월합니다. 달성할 수 있는 내용은 다음과 같습니다.
- 전체 추출: API를 사용하여 CAB 아카이브에서 모든 파일과 폴더를 추출할 수 있습니다.
- 선택적 추출: 이름이나 필터를 기준으로 특정 파일이나 폴더를 추출합니다.
- 폴더 구조 유지: 추출된 파일은 CAB 아카이브 내에서 원래 폴더 구조를 유지합니다.
CAB - 내부 구조
캐비닛(CAB) 아카이브 형식은 단일 아카이브 내에서 여러 파일을 효율적으로 압축하고 저장하도록 설계되었습니다. 특히 Microsoft 환경에서 소프트웨어 배포에 일반적으로 사용됩니다. CAB 아카이브의 구조에 대한 개요는 다음과 같습니다.
헤더: CAB 파일은 다음과 같이 아카이브에 대한 필수 메타데이터가 포함된 헤더로 시작됩니다.
- 서명: 파일을 CAB 아카이브(ASCII 문자열 “MSCF”)로 식별합니다.
- 예약된 필드: 향후 사용 또는 특정 구현 세부 사항을 위해 다양한 예약된 필드입니다.
- 아카이브 크기: CAB 파일의 전체 크기입니다.
- 폴더 수: 아카이브에 있는 폴더 구조(파일의 논리적 그룹) 수를 나타냅니다.
- 파일 개수: CAB 아카이브에 저장된 총 파일 개수입니다.
- 첫 번째 CFFOLDER로 오프셋: 아카이브 내의 첫 번째 폴더 항목을 가리킵니다.
- 예약됨: 추가로 예약된 필드입니다.
폴더 구조: 각 CAB 파일에는 여러 폴더 구조가 포함될 수 있습니다. 각 폴더 항목은 다음을 제공합니다.
- 오프셋: 이 폴더의 데이터가 시작되는 CAB 파일 내의 위치입니다.
- 데이터 블록 수: 폴더에 있는 데이터 블록 수를 나타냅니다.
- 압축 유형: 이 폴더의 파일에 사용되는 압축 방법을 지정합니다(예: MSZIP, LZX).
파일 항목: CAB 아카이브에는 각 파일에 대한 항목이 포함되어 있으며 다음을 자세히 설명합니다.
- 비압축 크기: 압축 전 파일의 원본 크기입니다.
- 오프셋: CAB 파일 내에서 압축된 파일 데이터가 시작되는 위치입니다.
- 폴더 색인: 파일이 속한 폴더를 지정합니다.
- 속성: 파일 속성(예: 읽기 전용, 숨김).
- 파일 이름 길이: 파일 이름의 길이입니다.
- 파일명 : 파일명입니다.
데이터 블록: 실제 파일 데이터는 압축된 데이터 블록에 저장됩니다. 각 블록에는 다음이 포함됩니다.
- 압축 데이터: 지정된 방법(예: MSZIP, LZX)에 따라 압축된 파일 데이터입니다.
- 압축해제 정보: 원본 크기, 압축된 크기 등 데이터 블록의 압축을 해제하는 데 필요한 메타데이터입니다.
옵션 데이터: 일부 CAB 아카이브에는 다음과 같은 확장 기능을 위한 추가 옵션 데이터가 포함될 수 있습니다.
- 무결성 체크섬: 아카이브의 무결성을 확인합니다.
- 디지털 서명: 아카이브의 신뢰성을 보장합니다.
CAB의 인기와 지원
CAB 파일은 Windows에서 소프트웨어 설치, 업데이트 및 드라이버 배포를 위해 널리 사용됩니다. Microsoft는 CAB 파일을 생성, 추출 및 관리할 수 있는 MakeCab, Expand 및 DISM과 같은 도구를 제공합니다. CAB 파일은 효율적인 압축을 제공하고 Windows Installer와 통합되며 여러 부분으로 구성된 아카이브에 사용할 수 있습니다.
캐비닛 파일 사용 예
CAB 아카이브는 LZX, MSZIP 또는 Quantum과 같은 압축 알고리즘을 사용하여 압축된 형식으로 파일을 저장합니다. 디렉터리 구조를 유지하면서 하나의 아카이브에 여러 파일을 저장할 수 있습니다. 다음은 C#, Java 및 Python.Net에서 CAB 아카이브 압축을 풀기 위한 코드 예제입니다.
C#
using (var archive = new CabArchive("installer.cab"))
{
archive.ExtractToDirectory(@"C:\extracted");
}
Java
try (CabArchive archive = new CabArchive("installer.cab")) {
archive.extractToDirectory("C:\\extracted");
}
Python.Net
import aspose.zip as az
with az.cab.CabArchive('installer.cab') as archive:
archive.extract_to_directory("C:\\extracted")
Aspose.Zip offers individual archive processing APIs for popular development environments, listed below:
![]() | ![]() | ![]() |
---|
추가 정보
사람들이 물어봤어
1. CAB 파일이란 무엇이며 어떤 용도로 사용됩니까?
캐비닛 파일은 소프트웨어, 시스템 구성 요소 및 드라이버의 효율적인 배포 및 설치를 위해 Microsoft에서 주로 사용하는 아카이브 파일입니다. MSZIP, Quantum 및 LZX와 같은 여러 압축 알고리즘을 지원하여 파일 크기를 줄이는 동시에 포함된 파일을 관리하기 위해 체계적이고 체계적인 형식을 유지합니다.
2. CAB 파일을 여러 부분으로 분할할 수 있나요?
예, CAB 파일은 다중 부분 아카이브 생성을 지원합니다. 이 기능은 여러 개의 작은 CAB 파일에 대규모 데이터 세트를 배포하는 데 유용하므로 대량의 데이터를 더 쉽게 관리하고 전송할 수 있습니다. 여러 부분으로 구성된 CAB 파일을 추출할 때 원본 파일을 성공적으로 재구성하려면 모든 부분이 존재하고 액세스할 수 있어야 합니다.
3. CAB 파일을 직접 만들 수 있나요?
CAB 파일을 수동으로 생성할 수도 있지만 일반적으로 MakeCab(Microsoft 유틸리티)이나 CAB 형식을 지원하는 기타 보관 소프트웨어와 같은 특수 도구를 사용하는 것이 더 편리합니다.