makeself(1)

MAKESELF(1) General Commands Manual MAKESELF(1)

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
Base64-encode the final compressed archive (base64 command required). This runs after compression and can be combined with any compressor.
--gpg-encrypt
Encrypt the archive using GPG. This will prompt for a password to encrypt with.
--gpg-asymmetric-encrypt-sign
Asymmetrically encrypt and sign the archive using GPG.
--gpg-extra opt
Append more options to the gpg command line.
--ssl-encrypt
Encrypt the archive using OpenSSL. This will prompt for a password to encrypt with.
--ssl-passwd pass
Use the given password to encrypt the data using OpenSSL.
--ssl-pass-src src
Use the given src as the source of password to encrypt the data using OpenSSL.
--ssl-no-md
Do not use "-md" option (for older OpenSSL).
--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.
--comp-extra opt
Append more options to the compressor's command line.
--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.
--untar-extra opt
Append more options when extracting the tar archive.
--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.
Specify location of the header script.
--help-header file
Add a header to the archive's help output.
--preextract file
Specify a pre-extraction script.
--cleanup file
Specify a cleanup script that executes on interrupt and when finished successfully.
--cleanup-args args
Arguments to the cleanup script (wrap in quotes to provide multiple arguments).
--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.
--nochown
Do not give the target folder to the current user.
--chown
Give the target folder to the current user recursively.
--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.
--needroot
Require root permissions for extraction.
--export-conf
Export configuration variables to the startup script.

ENVIRONMENT

SETUP_NOCHECK
If set to 1, then checksum validation will be skipped.

EXAMPLES

Here is an example, assuming the user has a package image stored in a /home/joe/mysoft, 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).

2.7.1