Advanced usage
Purpose
This section covers advanced topics for power users and developers who need to go beyond basic extraction and compression.
Topics Covered
Multi-Part Cabinets
Working with cabinet files split across multiple parts:
-
Extracting multi-part archives
-
Creating split archives
-
Handling disk spanning scenarios
-
Managing continuation cabinets
Embedded Cabinets
Finding and extracting cabinets embedded in other files:
-
Searching for embedded archives
-
Extracting from executables
-
Handling multiple embedded cabinets
-
Forensic analysis techniques
Custom I/O Handlers
Implementing custom storage backends:
-
Understanding the I/O abstraction layer
-
Creating custom handle types
-
Network and cloud storage
-
Database and encrypted file support
Error Handling
Robust error recovery and handling:
-
Error class hierarchy
-
Common errors and solutions
-
Retry and recovery patterns
-
Production-ready error handling
Salvage Mode
Recovering data from corrupted archives:
-
When and how to use salvage mode
-
Partial file recovery
-
Block-level recovery techniques
-
Quality assessment of recovered data
Performance Tuning
Optimizing compression and extraction:
-
Buffer size configuration
-
Algorithm selection strategies
-
Parallel processing
-
Benchmarking and profiling
Memory Operations
In-memory archive processing:
-
Creating and extracting without disk I/O
-
Web application integration
-
Memory-efficient patterns
-
Archive transformation techniques
Prerequisites
These guides assume you’re familiar with:
-
Basic Cabriolet usage (see Basic Usage)
-
Ruby programming fundamentals
-
File format basics (see Format Guides)
Getting help
If you encounter issues with advanced features:
-
Check the Error Handling guide
-
Review relevant API documentation
-
Try salvage mode for corrupted archives
-
Consult the Troubleshooting guide
Related sections
-
Basic Usage - Foundation operations
-
Format Guides - Format-specific advanced features
-
Compression - Advanced compression techniques
-
Architecture - Understanding system design
-
Troubleshooting - Solve advanced problems