---
name: "makeself"
section: "1"
platform: "linux"
package: "makeself"
version: "2.5.0-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/makeself"
---

# makeself(1)

An utility to generate self-extractable archives.

## NAME

makeself - An utility to generate self-extractable archives.

## SYNTAX

**makeself \[*options*\] archive\_dir file\_name label** **\[*startup\_script*\] \[*args*\]**

## DESCRIPTION

This program is a free (GPL) shell utility designed to create self-extractable compressed archives from a directory. The resulting file appears as a shell script, and can be launched as is. The archive will then uncompress itself to a temporary directory and an optional arbitrary command will be executed (for example an installation script).

- Makeself archives also include checksums for integrity self-validation (CRC and/or MD5/SHA256 checksums).

  ## OPTIONS

The following options are supported:

- **-v, --version**

  Prints out the makeself version number and exits.

- **-h, --help**

  Print out help information.

- **--tar-quietly**

  Suppress verbose output from the tar command

- **--quiet**

  Do not print any messages other than errors

- **--gzip**

  Compress using gzip (default if detected).

- **--bzip2**

  Compress using bzip2.

- **--bzip3**

  Compress using bzip3.

- **--pbzip2**

  Compress using pbzip2.

- **--xz**

  Compress using xz.

- **--lzo**

  Compress using lzop.

- **--lz4**

  Compress using lz4.

- **--pigz**

  Compress using pigz.

- **--zstd**

  Compress using zstd.

- **--base64**

  Encode the archive to ASCII in Base64 format instead of compressing (base64 command required).

- **--gpg-encrypt**

  Encrypt the archive using GPG. This will prompt for a password to encrypt with.

- **--ssl-encrypt**

  Encrypt the archive using OpenSSL. This will prompt for a password to encrypt with.

- **--keep-umask**

  Keep the umask set to shell default, rather than overriding when executing the self-extracting archive.

- **--compress**

  Compress using the UNIX 'compress' command.

- **--nocomp**

  Do not compress the data.

- **--complevel lvl**

  Specify the compression level for gzip, bzip2, pbzip2, xz, zstd, lzo or lz4. Defaults to 9.

- **--threads num**

  Specify the number of threads to be used by compressors that support parallelization.

- **--tar-format opt**

   Specify the tar archive format (default is ustar); you may use any value accepted by your tar command (such as posix, v7, etc).

- **--tar-extra opt**

  Append more options to the tar command line.

- **--notemp**

  The archive will create archive\_dir in the current directory and uncompress in ./archive\_dir.

- **--copy**

  Upon extraction, the archive will first copy itself to a temporary directory.

- **--append**

  Append more files to an existing makeself archive. The label and startup scripts will then be ignored.

- **--current**

  Files will be extracted to the current directory. Both --current and --target dir imply --notemp.

- **--target dir**

  Extract directly to a target directory. Directory path can be either absolute or relative.

- **--header file**

  Specify location of the header script.

- **--help-header file**

  Add a header to the archive's help output.

- **--cleanup file**

  Specify a cleanup script that executes on interrupt and when finished successfully.

- **--follow**

  Follow the symlinks in the archive.

- **--noprogress**

  Do not show the progress during the decompression.

- **--nooverwrite**

  Do not extract the archive if the target directory already exists.

- **--nox11**

  Disable automatic spawn of an xterm if running in X11.

- **--nowait**

  Do not wait for user input after executing embedded program from an xterm.

- **--nomd5**

  Do not create a MD5 checksum for the archive.

- **--sha256**

  Adds a SHA256 checksum for the archive.

- **--nocrc**

  Do not create a CRC32 checksum for the archive.

- **--lsm file**

  LSM file describing the package.

- **--license file**

  Append a license file.

- **--packaging-date date**

  Use provided string as the packaging date instead of the current date.

- Here is an example, assuming the user has a package image stored in a /home/joe/mysoft,

  ## EXAMPLES

and he wants to generate a self-extracting package named mysoft.sh, which will launch the "setup" script initially stored in /home/joe/mysoft:

- makeself.sh /home/joe/mysoft mysoft.sh "Joe's Nice Software Package" ./setup

  - Here is also how I created the makeself.run archive which contains the Makeself distribution:

  - makeself.sh --notemp makeself makeself.run "Makeself by Stephane Peter" echo "Makeself has extracted itself"

  ## AUTHORS

Makeself has been written by Stephane Peter \<megastep@megastep.org\>. This man page was originally written by Bartosz Fenski \<fenio@o2.pl\> for the Debian GNU/Linux distribution (but it may be used by others).
