LiteNet.Ru - Актуально о ПК и ПО. 2006-2019.
СТАТЬИ | НОВОСТИ | ПРОГРАММЫ | ОБРАТНАЯ СВЯЗЬ | КАРТА САЙТА
Сейчас на сайте: 8 пользователей онлайн
Обновления
Материал Windows 10X и ее основные отличия от обычной Windows 10 [16.01.21]
Материал Рассекречена новая версия Windows (Windows 10X) [16.01.21]
Материал Огромное обновление Microsoft OneDrive. Файлы до 250 ГБ [15.01.21]
Материал Реализация DisplayPort 2.0 отложена [15.01.21]
Материал Чем отличаются активированная и неактивированная версии Windows 10? [15.01.21]
Материал Понижение Windows 7 Ultimate до Professional. Инструкция. [15.01.21]
Материал Как изменится Windows 10 после грандиозного пересмотра дизайна [15.01.21]
Материал PotPlayer 201209 [15.01.21]
Материал Rufus 3.13 [15.01.21]
Материал Gimp 2.10.22 [15.01.21]
Материал MakeMKV 1.5.4 [15.01.21]
Материал WinScan2PDF 6.41 [15.01.21]
Комментарии Самый лучший брауз... [17.11.20]
Комментарии dynabook Satellite... [29.03.19]
Комментарии СПАСИБО!!! Получил... [04.03.19]
Комментарии Уважаемый Професси... [11.01.19]
Комментарии спасибо... [14.12.18]
Комментарии Спасибо, не заняло... [05.12.18]
Комментарии Toshiba satelit a2... [25.11.18]
Комментарии Вы шутите?... [23.11.18]
Комментарии Отличный продукт. ... [18.11.18]
Комментарии На второй вкладке ... [10.09.18]
Комментарии Помогло трёхсекунд... [04.07.18]
Комментарии Toshiba 440CDT Пр... [04.07.18]

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

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


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

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