LiteNet.Ru - Актуально о ПК и ПО. 2006-2019.
СТАТЬИ | НОВОСТИ | ПРОГРАММЫ | ОБРАТНАЯ СВЯЗЬ | КАРТА САЙТА
Сейчас на сайте: 12 пользователей онлайн
Обновления
Комментарии кварцвиниловая пли... [17.02.19]
Комментарии personal opinion e... [17.02.19]
Комментарии Best Nude Playmate... [17.02.19]
Комментарии Заработок на перев... [17.02.19]
Комментарии фаст моторс отзывы... [17.02.19]
Комментарии Представляем химию... [16.02.19]
Комментарии Carrie Underwood i... [16.02.19]
Комментарии Nude Sex Pics, Sex... [16.02.19]
Комментарии The Affirm Interce... [16.02.19]
Комментарии Увлекательный взгл... [16.02.19]
Комментарии Кандидозный вульво... [16.02.19]
Комментарии buy tramadol onlin... [16.02.19]
Материал Чипы Intel дешевеют и лучше продаются [08.02.19]
Материал AVG AntiVirus Free 19.2.3079 [08.02.19]
Материал Kaspersky Virus Removal Tool 08.02.2019 [08.02.19]
Материал Dr.Web CureIt! 08.02.2019 [08.02.19]
Материал Microsoft Safety Scanner 1.0.3001.0 (08.02.19) [08.02.19]
Материал Seagate и IBM создадут глобальную систему слежения за жёсткими дисками [07.02.19]
Материал Версия October 2018 Update используется на 12,4% устройств с Windows 10 [07.02.19]
Материал Skype Classic официально больше не поддерживается Microsoft [07.02.19]
Материал KMPlayer 4.2.2.21 [07.02.19]
Материал Skype 8.38.0.161 [07.02.19]
Материал Яндекс.Браузер 19.1.1.909 [07.02.19]
Материал Vivaldi 2.3.1440.41 [07.02.19]

RSS

Последние добавленные статьи

Как создать самораспаковывающийся архив или инсталлятор в Linux?
22.08.2014

Логотип LinuxВ то время как обычный файл архива требует отдельной программы (например tar, gunzip) для извлечения контента из архива, самораспаковывающийся (SFX) архив сам является исполняемым, и может сам извлекать свой контент при запуске. Самораспаковывающийся инсталлятор делает то же самое, но при этом копирует извлекаемые файлы в соответствующие директории.

В этом руководстве я покажу, как создать самораспаковывающийся архив или инсталлятор в Linux.

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

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

$ wget http://megastep.org/makeself/makeself-2.1.5.run
$ chmod 755 makeself-2.1.5.run
$ ./makeself-2.1.5.run
$ cd makeself-2.1.5
$ sudo cp *.sh /usr/bin

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

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

Аргумент "label" - это сообщение, которое выводится после окончания распаковки.

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

Некоторые другие полезные опции makeself.sh:
--gzip : использовать для сжатия gzip (используется по умолчанию);
--bzip2 : использовать для сжатия bzip2;
--nocomp : не использовать сжатие;
--notemp :извлекать файлы не во временную директорию, а в специальную новую поддиректорию, созданную в текущей директории;
--follow : следовать всем символьным ссылкам и файлам архива, которые связаны между собой символьными ссылками.

Создание самораспаковывающегося архива

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

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

About to compress 1540 KB of data...
Adding files to archive named "./backup.run"...
./
./jpeg/
./jpeg/1.jpg
.
.
CRC: 2238411397
MD5: 0b0fd3a2ba08ffcec821b9cbaa11b70d

Самораспаковывающийся архив "./backup.run" успешно создан.

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

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

Создание самораспаковывающегося инсталлятора

Если вы хотите создать самораспаковывающийся инсталлятор, вам необходимо подготовить отдельный стартовый скрипт, который будет инсталлировать извлекаемые файлы. Здесь я предполагаю, что директория программы расположена в ./program, поэтому поместим стартовый скрипт в эту директорию.

$ vi ./program/install.sh
#!/bin/sh
   
if [ -d $HOME/bin ]
then
    cp myprogram $HOME/bin/
fi

Затем сделаем стартовый скрипт исполняемым.

$ chmod 755 ./program/install.sh

И наконец создаем инсталлятор со стартовым скриптом, как показано ниже:

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

Что еще почитать?


Оставленные комментарии:


Всего 0 комментариев


Введите Ваше имя:


Не используйте HTML и ВВ-коды - не работает. Пользуйтесь смайликами :)
Very HappySmileLaughingCoolWinkSurprised
RazzSleepSadShockedEvil or Very MadRolling Eyes

В этом поле Вы можете ввести текст комментария:


До конца всего осталось символов

Код на БОТливость: Код на БОТливость:
Введите код: