Создаем свой инсталлятор linux

Как создать установочный файл под линукс?

Необходимо создать установочный файл приложения, написанного на QT под Linux. В интернете нашел много способов сделать это через консоль, но в силу обстоятельств нужна утилита с графическим интерфейсом, например, как на Windows: Smart Install Maker или createinstall.

Это невозможно, так как линукс — понятие слишком обширное. Установочные файлы создают не под линукс, а под конкретные дистрибутивы. И да, графический инсталлятор считается злом.

И уж тем более вряд ли вы найдёте линуксовый аналог createinstall, потому что в линуксе такие поделия нафиг никому не нужны (ну, кроме вас)

@andreymal, понятие слишком обширное — скорее, наоборот, очень узкое: ведь программа linux не имеет абсолютно никакого отношения к gui. // в остальном — присоединяюсь к изложенному.

@aleksandrbarakin ну это по официальному термину оно узкое, а в разговорной речи оно чудовищно широкое 🙂

2 ответа 2

Линуксоиды любят пакеты.

Самый простой способ собрать пакет — это программа checkinstall. Начните с неё.

Заходишь в папку с проектом. Делаешь qmake —project (создаст pro файл)

и наконец checkinstall -D —install=no (для выполнения должен быть установлен пакет checkinstall)

Будет предложенна анкетка. Создастся пакет под дистрибутив с которого запускалась checkinstall (rpm или deb).

Возможно прийдется доработать проект чтоб он устанавливался правильно.

Нелюбимый способ

Чтоб создать установщик в стиле Windows можно воспользоваться binarycreator из Qt Installer Framework. В пакетах его нет, устанавливается через тот же инсталятор скачать тут.

  • проще выпускать
  • встроенные зависимости
  • не нужно беспокоиться о вериях системы пользователя
  • занимает много места
  • компоненты qt не обнавляются
  • сложнее администрирование и установка
Читайте также:  Установка wine gecko astra linux

Источник

Как сделать инсталятор ОС Linux?

У всех дистрибутивов Linux есть свой «инсталлятор», за исключением правда Gentoo, LFS, Arch Linux.

Следуй традициям gentoo и crux — инсталятор не нужен.

или может тебя что-то вроде live-cd/dvd/usb интересует?

Мне нужно что-то вроде загрузочного диска который после загрузки подготовит разделы жесткого диска и скопирует туда ядро, модули и библиотеки.

Здравствуй, юный падаван. Рано тебе вопросы задавать такие. Ознакомься сперва с документом этим. И да пребудет с тобой Сила.

У всех дистрибутивов Linux есть свой «инсталлятор», за исключением правда Gentoo, LFS, Arch Linux.

Инсталлятор Арча — это пользователь. 😛 The best bug-free code is no code!

за исключением правда Gentoo, LFS, Arch Linux.

ну врать то не надо, там тоже он есть, но только находится между стулом и монитором.

А для чего тебе делать новый? Используй дистрибутив с установщиком.

дело дениски живёт и здравствует

Хочу установить свою собственную сборку. Есть варианты самому собрать этот инсталлятор?

сборку на основе чего?Для каких целей ты её делаешь?ОТ этого будет зависеть,что и как тебе собирать.

ладно б дениски, главное что бы не Бабушкина.

А у Gentoo или LFS по твоему не так?

читай LFS
пиши shell-скрипт

А у Gentoo или LFS по твоему не так?

Странный вывод из моей фразы.

можно написать скрипт на… на чём угодно

Ну а зачем тогда выделаешь Arch Linux из представленных 3-х дистрибутивов?

прими мои соболезнования xD

Здравствуйте! Как сделать инсталятор ОС Linux?

Дружище, это вопрос из серии «как самому сделать автомобиль» или «как освоить иностранный язык». Они вроде простые, но полный ответ на него займёт несколько лет обучения и практики. А короткий ответ будет бессмысленным тролингом.

Сначала изучи Линукс. Не как пользователь, как разработчик. Начни например с Linux From Scratches. Овладей языком консоли, bash, разберись в архитектуре ОС и компьютеров, чтобы процесс освоения не превращался в тупой copy\past. Ты должен выяснить смысл каждого твоего действия и понять принципы и необходимость наличия каждого устанавливаемого тобою программного пакета до полной прозрачности.

Читайте также:  Установка activemq на linux

Параллельно изучай программирование вообще, конкретно язык C и скриптовые языки, python например. И в какой то момент всё станет понятно.

Да. Можно написать на том же bash с использованием какого-нибудь dialog. Посмотри исходники такового, например, в slackware(хотя там sh).

Или, например, установщик Archbang. Да куча уже понаписана. Бери, пили под свои нужды и да пребудет с тобой сила.

Вот и смотри. А как бы ты сделал всё вышеперечисленное в консоли?

Для создания live-cd можно существующую linux-систему запаковать в squashfs. Отдельно положить ядро и initrd. Добавить загрузчик(допустим, syslinux). И полученный результат сделать iso-образом.

Для ручной разметки можно вызвать gparted(если в live-cd есть гуй), или тот же cfdisk + создание файловых систем через mk_нужной_фс.

Для автоматической из скрипта можно вбить нужные команды fdisk.

Дальше копирование нужных тебе компонентов на целевую систему(допустим).

1
2
3
Дальше сам включай мозг, пиши скрипты для тех действий, которые тебе нужны.

X10Dead ★★★★★ ( 19.09.14 01:21:45 MSK )
Последнее исправление: X10Dead 19.09.14 01:22:51 MSK (всего исправлений: 1)

Источник

M atteo M attei

Hello, my name is Matteo Mattei and this is my personal website. I am computer engineer with a long experience in Linux system administration and web software development.

© 2006-2022 Matteo Mattei — all rights reserved.
VAT number: 06751410488. My blog code

Create a self-contained installer in Bash

In this post I will show you how to develop a self contained Linux command line installer in Bash that will decompress an archive and perform some tasks.

Installer content

Our installer that is basically a self-extracting archive with some logic around, consists in three parts:

  • A bash script that performs the extraction of the archive and applies some logic.
  • A marker to separate the bash script and the archive.
  • An archive containing the actual data to install.
Читайте также:  Loading operating system linux

Start now!

Create a new bash script called installer.sh with the following content:

#!/bin/bash echo "" echo "My Command Line Installer" echo "" # Create destination folder DESTINATION="/opt/my_application" mkdir -p $ # Find __ARCHIVE__ maker, read archive content and decompress it ARCHIVE=$(awk '/^__ARCHIVE__/ ' "$") tail -n+$ "$" | tar xpJv -C $ # Put your logic here (if you need) echo "" echo "Installation complete." echo "" # Exit from the script with success (0) exit 0 __ARCHIVE__ 

This script is self-explain but I will try to describe the steps:

  1. Create a destination folder $ .
  2. Find __ARCHIVE__ marker and put the tarball content into $ variable.
  3. Decompress the tarball into the destination folder.
  4. Eventually apply your installation logic (copy some files, change some others, etc…).
  5. Exit from the script (this step is mandatory otherwise bash will try to interpret the tarball and will exit with error).
  6. Add __ARCHIVE__ marker at the bottom of the script. This marker will be used to separate the actual bash script with the tarball content.

Now generate a compressed tarball of your application (I used .tar.xz in the above example):

tar cJf myarchive.tar.xz /folder/to/archive 

OK, now append it to the installer bash script and make it executable:

cat myarchive.tar.xz >> installer.sh chmod +x installer.sh 

That’s all! You can now distribute your installer.

Execute your installer

The users will execute your installer simply running:

Источник

Оцените статью
Adblock
detector