Як створити саморозпаковується або інсталятор в linux

Як створити саморозпаковується або інсталятор в linux
У той час як звичайний файл архіву вимагає окремої програми (наприклад tar, gunzip) для вилучення контенту з архіву, що саморозпаковується (SFX) архів сам є виконуваним, і може сам отримувати свій контент при запуску. Саморозпаковується інсталятор робить те ж саме, але при цьому копіює витягають файли у відповідні директорії.

У цьому керівництві я покажу, як створити саморозпаковується або інсталятор в Linux.

Для цих цілей ви можете використовувати утиліту командного рядка під назвою makeself, яка представляє собою скрипт оболонки, що створює архів, стиснений за допомогою TAR, і додає до нього невеликий скрипт-заглушку на початку архіву для ініціації самі розпаковуються і управління установкою видобутих файлів.

Щоб встановити makeself в Linux, скачайте його архів з останньою версією, і розпакуйте скачаний архів, як показано нижче. Після того, як архів розпакується, він створить нову директорію з назвою makeself-2.1.5. Скопіюйте всі скрипти в директорію / usr / bin.

Базовий синтаксис makeself.sh:

makeself.sh [options] [directory_to_package] [sfx_archive_filename] [label] [startup_script] [optional_script_args]

Аргумент "label" - це повідомлення, яке виводиться після закінчення розпакування.

Аргумент "startup_script" задає стартовий скрипт / команду, які виконуються після успішної розпакування архіву. Це корисно при створенні саморозпаковуваного інсталятора. Зазвичай стартовий скрипт копіює / інсталює витягнутий контент до відповідних цільових директорії. Стартовий скрипт може бути розташований всередині директорії пакета, щоб скрипт був включений в саморозпаковується.

Створення саморозпаковується

Для створення саморозпаковується архіву, що містить всі файли з директорії ./backup, використовуйте наведену нижче команду. Тут стартова процедура не робить нічого, крім того, що виводить повідомлення "Extraction done".

$ Makeself.sh --notemp ./backup ./backup.run "SFX archive for backup" echo "Extraction done"
Header is 403 lines long

Саморозпаковується "./backup.run" успішно створений.

Для вилучення файлів з архіву просто запустіть його:

$ ./backup.run
Creating directory backup
Verifying archive integrity. All good.
Uncompressing SFX archive for backup.
Done

Створення саморозпаковується інсталятора

Якщо ви хочете створити саморозпаковується інсталятор, вам необхідно підготувати окремий стартовий скрипт, який буде інсталювати видобувні файли. Тут я припускаю, що директорія програми розташована в ./program, тому помістимо стартовий скрипт в цю директорію.

Потім зробимо стартовий скрипт виконуваним.

$ Chmod 755 ./program/install.sh

І нарешті створюємо інсталятор зі стартовим скриптом, як показано нижче:

$ Makeself.sh ./program ./program.run "SFX installer for program" ./install.sh

Схожі статті