Как это выглядит?
Предельно просто. Пользователь загружает .sh файл и запускает его. Скрипт не просто создаёт все директории и т.п., а ещё и извлекает "из себя" файлы приложения и раскладывает их куда нужно.
Как это сделать?
Сначала создаём скрипт, а потом с помощью команды cat добавляем в него архив с файлами.
Например install.sh:
Тут делаем следующее:
- #!/bin/bash
- A_F=`readlink -e "$0"`
- DIR=`dirname "$A_F"`
- TMP_ARH="tmp.tar.gz"
- cd $DIR
- echo "Creating temporary arhive $TMP_ARH"
- tail -n +15 "$0" > $TMP_ARH
- echo "Unpacking temporary arhive $TMP_ARH"
- tar xzf $TMP_ARH
- echo "Removing temporary arhive $TMP_ARH"
- rm -f $TMP_ARH
- echo "Installation is complete!"
- exit 0
- ######
- В строках 2-3 определяем директорию, в которой в данный момент находится скрипт, в строке 5 переходим туда. Все дальнейшие операции выполняем относительно этой директории.
- В строке 4 задаём имя временного архива.
- В строке 7 "отрезаем" бинарную часть нашего скрипта (в данном случае она начинается со строки 15), которую добавим к скрипту позже. Бинарную часть сохраняем как временный архив.
- В строке 9 распаковываем архив в текущую директорию и удаляем его в строке 11
- Завершаем выполнение скрипта в строке 13 (чтобы bash не решил выполнить и наши бинарные данные, расположенные ниже).
Как видно из скрипта в строке 15 начинается архив с нашим приложением. Добавим его:
cat my_app.tar.gz >> install.sh
После команды извлечения данных в вашем "инсталляторе" вы сможете сделать также все необходимые симлинки и выполнить другие операции по настройке системы.
Комментариев нет:
Отправить комментарий