Извлеки себя сам

Меня давно интересовало, как делаются самораспаковывающиеся архивы с расширением *.run. В таком виде поставляются, например, драйвера nVIDIA, VirtualBox, некоторое время назад — JDK и прочие Java-фреймворки. Оказывается, для генерирования run-файлов служит утилита makeself:

makeself <archive_dir> <file_name> <label>