Expand description

sqlar - an SQLite Archive utility

An “SQLite Archive” is a file container similar to a ZIP archive or Tarball but based on an SQLite database.

See the SQLite Archive Files documentation for all information.

This library allows to list archive contents, extract files from archives or create a new archive. It’s main usage is throug the command line utility sqlar.

Installation

The command line utility sqlar can be installed through cargo:

cargo install sqlar

Usage

List the content of an archive

sqlar l path/to/file.sqlar

Extract an archive

sqlar x path/to/file.sqlar path/to/dest/

Create an archive

sqlar c path/to/new-archive.sqlar path/to/source/

Example

The library can also be used progamatically.

List files in an archive

use sqlar::with_each_entry;

with_each_entry("path/to/archive.sqlar", false, |entry| {
   println!("File: {}, file type: {:?}, mode: {}", entry.name, entry.filetype, entry.mode);
   Ok(())
});

Create an archive

use sqlar::create;

create("path/to/new-archive.sqlar", &["path/to/source"]);

Extract all files from an archive

use sqlar::extract;

extract("path/to/archive.sqlar", "path/to/dest");

Structs

A file entry in the archive

Enums

A file’s type

Functions

Create a new archive and add all regular files and directories.

Extract all files from the SQLar at path into dest.

Iterate over each entry in the archive.

Type Definitions

A typedef of the result returned by many methods.