---
name: "mkfs.s3ql"
section: "1"
platform: "linux"
package: "s3ql"
version: "5.2.3+dfsg-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mkfs.s3ql"
---

# mkfs.s3ql(1)

Create an S3QL file system

## NAME

mkfs.s3ql - Create an S3QL file system

## SYNOPSIS

```
mkfs.s3ql [options] <storage url>
```

## DESCRIPTION

S3QL is a file system for online data storage. Before using S3QL, make sure to consult the full documentation (rather than just the man pages which only briefly document the available userspace commands).

The **mkfs.s3ql** command creates a new file system in the location specified by *storage url*. The format of the storage url depends on the backend that is used. The S3QL User's Guide should be consulted for a description of the available backends.

Unless you have specified the **--plain** option, **mkfs.s3ql** will ask you to enter an encryption password. This password will *not* be read from an authentication file specified with the **--authfile** option to prevent accidental creation of an encrypted file system.

## OPTIONS

The **mkfs.s3ql** command accepts the following options.

- **--cachedir** *\<path\>*

  Store cached data in this directory (default: **~/.s3ql)**

- **--log** *\<target\>*

  Destination for log messages. Specify **none** for standard output or **syslog** for the system logging daemon. Anything else will be interpreted as a file name. Log files will be rotated when they reach 1 MiB, and at most 5 old log files will be kept. Default: **None**

- **--debug-modules** *\<modules\>*

  Activate debugging output from specified modules (use commas to separate multiple modules, 'all' for everything). Debug messages will be written to the target specified by the **--log** option.

- **--debug**

  Activate debugging output from all S3QL modules. Debug messages will be written to the target specified by the **--log** option.

- **--quiet**

  be really quiet

- **--backend-options** *\<options\>*

  Backend specific options (separate by commas). See backend documentation for available options.

- **--version**

  just print program version and exit

- **--authfile** *\<path\>*

  Read authentication credentials from this file (default: **~/.s3ql/authinfo2)**

- **-L** *\<name\>*

  Filesystem label

- **--data-block-size** *\<size\>*

  Block size (in KiB) to use for storing file contents. Files larger than this size will be stored in multiple backend objects. Backend object size may be smaller than this due to compression. Default: 1024 KiB.

- **--metadata-block-size** *\<size\>*

  Block size (in KiB) to use for storing filesystem metadata. Backend object size may be smaller than this due to compression. Default: 64 KiB.

- **--plain**

  Create unencrypted file system.

## EXIT CODES

**mkfs.s3ql** may terminate with the following exit codes:

- **0**

  Everything went well.

- **1**

  An unexpected error occurred. This may indicate a bug in the program.

- **2**

  Invalid command line argument or configuration file key.

- **3**

  Invalid backend option.

- **11**

  No such backend.

- **12**

  Authentication file has insecure permissions.

- **13**

  Unable to parse proxy settings.

- **14**

  Invalid credentials (Authentication failed).

- **15**

  No permission to access backend (Authorization denied).

- **16**

  Invalid storage URL, specified location does not exist in backend.

- **19**

  Unable to connect to backend, can't resolve hostname.

- **45**

  Unable to access cache directory.

## SEE ALSO

The S3QL homepage is at *https://github.com/s3ql/s3ql/*.

The full S3QL documentation should also be installed somewhere on your system, common locations are **/usr/share/doc/s3ql** or **/usr/local/doc/s3ql**.

## COPYRIGHT

© 2008 Nikolaus Rath \<Nikolaus@rath.org\>
