SOZIP(1) GDAL SOZIP(1)

NAME


sozip - Generate a seek-optimized (SOZip) file.

New in version 3.7.


SYNOPSIS



sozip [--help] [--help-general]
[--quiet|--verbose]
[[-g|--grow] | [--overwrite]]
[-r|--recurse-paths]
[-j|--junk-paths]
[-l|--list]
[--optimize-from=<input.zip>]
[--validate]
[--enable-sozip={auto|yes|no}]
[--sozip-chunk-size=<value>]
[--sozip-min-file-size=<value>]
[--content-type=<value>]
<zip_filename> [<filename>]...

DESCRIPTION


The sozip utility can be used to:

+o create a SOZip (Seek-Optimized ZIP) file

+o append files to an existing ZIP/SOZip file

+o list the contents of a ZIP/SOZip file

+o validate a SOZip file

+o convert an existing Zip file in a SOZip optimized one

--help Show this help message and exit

--help-general
Gives a brief usage message for the generic GDAL commandline
options and exit.

--quiet
Quiet mode. No progress message is emitted on the standard
output.

--verbose
Verbose mode.

-g

--grow Grow an existing zip file with the content of the specified
filename(s). This is the default mode of the utility. This
switch is here for compatibility with Info-ZIP zip utility

--overwrite
Overwrite the target zip file if it already exists.

-l

--list List the files contained in the zip file in an output similar
to Info-ZIP unzip utility, but with the addition of a column
indicating whether each file is seek-optimized.

--validate
Validates a SOZip file. Baseline ZIP validation is done in a
light way, limited to being able to browse through ZIP records
with the InfoZIP-based ZIP reader used by GDAL. But validation
of the SOZip-specific aspects is done in a more thorougful
way.

-r

--recurse-paths
Travels the directory structure of the specified
directory/directories recursively.

-j

--junk-paths
Store just the name of a saved file (junk the path), and do
not store directory names. By default, sozip will store the
full path (relative to the current directory).

--optimize-from=<input.zip>
Re-process {input.zip} to generate a SOZip-optimized .zip.
Options --enable-sozip, --sozip-chunk-size and
--sozip-min-file-size may be used in that mode.

--enable-sozip={auto|yes|no}
In auto mode, a file is seek-optimized only if its size is
above the value of --sozip-chunk-size. In yes mode, all input
files will be seek-optimized. In no mode, no input files will
be seek-optimized.

--sozip-chunk-size=<value>
Chunk size for a seek-optimized file. Defaults to 32768 bytes.
The value is specified in bytes, or K and M suffix can be
respectively used to specify a value in kilo-bytes or
mega-bytes.

--sozip-min-file-size=<value>
Minimum file size to decide if a file should be
seek-optimized, in --enable-sozip=auto mode. Defaults to 1 MB
byte. The value is specified in bytes, or K, M or G suffix can
be respectively used to specify a value in kilo-bytes,
mega-bytes or giga-bytes.

--content-type=<value>
Store the Content-Type for the file being added as a key-value
pair in the extra field extension 'KV' (0x564b) dedicated to
storing key-value pair metadata

<zip_filename>
Filename of the zip file to create/append to/list.

<filename>
Filename of the file to add.

MULTITHREADING


The GDAL_NUM_THREADS configuration option can be set to ALL_CPUS or a
integer value to specify the number of threads to use for
SOZip-compressed files. Defaults to ALL_CPUS.

C API


Functionality of this utility can be done from C with
CPLAddFileInZip() or VSICopyFile().

EXAMPLES


Create a, potentially seek-optimized, ZIP file with the content of
my.gpkg:

sozip my.gpkg.zip my.gpkg

Create a, potentially seek-optimized, ZIP file from the content of a
source directory:

sozip -r my.gpkg.zip source_dir/

Create a, potentially seek-optimized, ZIP file from an existing ZIP
file.

sozip --convert-from=in.zip out.zip

List the contents of a ZIP file and display which files are
seek-optimized:

sozip -l my.gpkg.zip

Validates a SOZip file:

sozip --validate my.gpkg.zip

AUTHOR


Even Rouault <even.rouault@spatialys.com>

COPYRIGHT


1998-2025

January 8, 2025 SOZIP(1)

tribblix@gmail.com :: GitHub :: Privacy