Если вы программист или нет, и вам нужен метод для установки этого приложения или скрипта, вот несколько методов.
Пакет DEB со шрифтами (Только для debian и производных)
Этот метод подходит, когда у нас есть исходный код приложения.
Сначала мы устанавливаем программу, которая творит чудеса "Проверить установку", в терминале выполняем
sudo aptitude установить checkinstall
Для примера воспользуемся библиотекой "ХРОМОЙ", загрузите исходный код из здесь, создаем папку и помещаем файл хромой-3.98.4.tar.gz и из терминала как root мы заходим в эту папку и выполняем эти строки.
tar -xzvf lame-3.98.4.tar.gz cd lame-3.98.4 ./configure make checkinstall cp * .deb ../ cd .. rm -R lame-3.98.4 chmod 777 lame-3.98.4 *. деб
Он генерирует для нас пакет deb, этот метод устанавливает сгенерированный пакет в конце.
Ручной пакет DEB (Только для debian и производных)
Этот метод предназначен для наших предварительно скомпилированных скриптов или приложений.
Структура пакета DEB
| Настройка (общая папка) | | -DEBIAN (папка, в которой находятся файлы конфигурации) | --control (файл конфигурации) | --preinst (файл или скрипт, который запускается перед установкой) | --postinst (файл или скрипт, который запускается после установки) | --prerm ( Файл или сценарий для запуска перед удалением) | --postrm (Файл или сценарий для запуска после удаления) | | -usr (Папка, в которой находятся файлы вашего приложения) | -usr / bin (Папка, в которой находятся двоичные файлы или скрипты) | -usr / share / pixmaps (Папка, в которой находятся значки) | -usr / share / applications (Папка, в которой находятся пусковые установки)
Пример «контрольного» файла
Пакет: TUPACKAGE Версия: VERSION Архитектура: amd64 (i386 или все) Сопровождающий: AUTHOR Раздел: партнер / Интернет Приоритет: необязательно Описание: TEXT
Создание пакета DEB
sudo chmod -R root: установка root / sudo chmod -R 755 setup / sudo dpkg -b setup / package.deb chmod 777 package.deb chown -R setup
С этими данными мы теперь можем сгенерировать пакет deb для нашего приложения, в качестве примера мы собираемся сделать простой сценарий bash
Создаем папку с именем «Убунлог» и в этом другом имени Настраивать
затем внутри последней папки мы создаем две папки с именем "ДЕБИАН" и другой «Уср».
Это контрольный файл
Пакет: ubunlog-web Версия: 0.11.5.13 Архитектура: all Сопровождающий: ВАШЕ ИМЯ Раздел: партнер / сеть Приоритет: необязательно Описание: Учебники, рабочие столы Linux, программное обеспечение, новости и все о Ubuntu
Храним внутри папки "ДЕБИАН" что мы создали раньше как «контроль»
Этот код взят из файла postinst
#! / bin / sh chmod 755 / usr / bin / ubunlog-web chmod + x / usr / bin / ubunlog-web chmod 755 /usr/share/pixmaps/ubunlog-web.png chmod 755 / usr / share / applications / ubunlog-web.desktop chmod + x /usr/share/applications/ubunlog-web.desktop
Мы сохраняем это в той же папке, что и раньше, как "postinst".
Теперь мы создаем папки для скрипта, средства запуска и значка внутри папки. Настраивать мы создаем папку с именем «Уср»
Как видите, у нас есть две папки: одна "ДЕБИАН" и другой «Уср» которые мы создали несколько секунд назад, в последнем мы создаем папки по одной "Бин" и другой "Компартир"
Это код скрипта
#! / bin / sh firefox https://ubunlog.com/ &
сохраняем в папке "Бин" с именем «Убунлог-веб».
Теперь заходим в папку "Компартир" в этом мы создаем папку с именем "Pixmaps" и сохраняем с именем "Ubunlog-web.png" мы загрузили это изображение из здесь
Нам нужно только создать пусковую установку, для этого мы создаем последнюю папку в Share по имени "Приложения"
Это код того же
[Desktop Entry] Encoding = UTF-8 Name = Ubunlog Web Blog Comment = Учебники, рабочие столы Linux, программное обеспечение, новости и все о Ubuntu GenericName = Учебники, рабочие столы Linux, программное обеспечение, новости и все, что касается Ubuntu Exec = ubunlog-web Terminal = false Тип = Значок приложения = ubunlog-web Категории = Приложение; Сеть; Интернет; StartupWMClass = ubunlog-web StartupNotify = true
Они хранят это в папке "Приложения" в качестве "Ubunlog-web.desktop"
У нас все готово, осталось только сгенерировать пакет deb, он запрашивает пароль root, но ничего не устанавливает.
sudo chmod -R root: root setup / sudo chmod -R 755 setup / sudo dpkg -b setup / ubunlog-web_0.11.5.13_all.deb chmod 777 ubunlog-web_0.11.5.13_all.deb chown -R setup
Если у вас все в порядке, у вас уже есть пакет «ubunlog-web_0.11.5.13_all.deb».
Самораспаковывающееся руководство (Проверено только на Ubuntu, работает на любом дистрибутиве)
Этот метод заключается в создании файлов с помощью скрипта makeself (http://megastep.org/makeself/).
Они скачивают из Интернета, это файл .run, они дают ему права, и мы его выполняем,
Как это использовать.
makeself.sh ПАПКА / ИСТОЧНИК / РЕЗУЛЬТАТ.RUN "ТЕКСТ" ./setup.sh
Как вы видете "ПАПКА / ПРОИСХОЖДЕНИЕ / » файлы и папки нашего приложения или скрипта «РЕЗУЛЬТАТ.ПРОБ» итоговый файл или самораспаковывающийся файл
"ТЕКСТ" - это сообщение, которое отображается при запуске самораспаковывающегося файла, и оно заключено в кавычки.
"./Setup.sh" это сценарий, который запускается при распаковке самораспаковывающегося файла, не забудьте предоставить ему разрешения.
Чтобы сделать его более понятным, мы будем использовать тот же пример пакета deb, но адаптированный к нему.
Создаем папку с именем «Убунлог» и скопируйте созданную папку, переименуйте ее как Сделать себя
В папке «Убунлог» создать другое имя установка и внутри этого поместите следующие файлы.
Сценарий установщика
#! / bin / sh cp ubunlog-web / usr / bin / chmod 755 / usr / bin / ubunlog-web chmod + x / usr / bin / ubunlog-web cp ubunlog-web.png / usr / share / pixmaps / chmod 755 /usr/share/pixmaps/ubunlog-web.png cp ubunlog-web.desktop / usr / share / applications / chmod 755 /usr/share/applications/ubunlog-web.desktop chmod + x / usr / share / applications / ubunlog-web.desktop
Они сохраняют его как setup.sh
Наш сценарий
#! / bin / sh firefox https://ubunlog.com/ &
Они сохраняют его как «ubunlog-web» значок, который мы сохраняем с именем "Ubunlog-web.png" мы загрузили это изображение из здесь
Кувшин
[Desktop Entry] Encoding = UTF-8 Name = Ubunlog Web Blog Comment = Учебники, рабочие столы Linux, программное обеспечение, новости и все о Ubuntu GenericName = Учебники, рабочие столы Linux, программное обеспечение, новости и все, что касается Ubuntu Exec = ubunlog-web Terminal = false Тип = Значок приложения = ubunlog-web Категории = Приложение; Сеть; Интернет; StartupWMClass = ubunlog-web StartupNotify = true
Они сохраняют это как "Ubunlog-web.desktop"
Теперь мы генерируем самораспаковывающийся файл
chmod 755 setup / chmod + x setup / setup.sh sh ../makeself/makeself.sh setup ubunlog-web.run «Ubunlog - Учебники, рабочие столы Linux, программное обеспечение, новости и все об Ubuntu» ./setup.sh
Самораспаковывающийся файл у нас уже есть.
Надеюсь, это тебе в чем-то поможет
Спасибо за ваши комментарии, если есть ОШИБКА, это продукт вашего воображения, хахаха
6 комментариев, оставьте свой
Отличный мануал, поздравляю ...
Отличная статья Лучано!
Я вас очень поздравляю.
Объятья! Павел.
Поздравляю! Эта статья - одна из лучших, которые я видел, чтобы научиться упаковывать двоичные файлы .deb для Debian и производных, таких как Ubuntu.
В случае ArchLinux мы используем PKGBUILD в лучшем стиле BSD: https://wiki.archlinux.org/index.php/PKGBUILD_%28Espa%C3%B1ol%29
Обнять!
Здравствуйте, спасибо за ваш комментарий, если вы думаете, что мы можем добавить в пост, как создавать пакеты для Arch, я поясняю, что использую только ubuntu и немного centos, я комментирую, что это очень хорошо, я пробовал однажды, но у меня не было время, чтобы установить его, для чего было бы очень хорошо, так как, если я могу, кто угодно может.
Здравствуйте, спасибо за ваши комментарии, как я уже упоминал в других случаях, мои сообщения основаны на моем опыте, я надеюсь, что они будут вам полезны.
Привет, Лучано.
Я начал следовать инструкциям, но мне не удалось пройти проверку. Он возвращает следующую ошибку:
"Makefile: 349: рецепт целевой" рекурсивной установки "не выполнен
make: *** [install-recursive] Ошибка 1
**** Не удалось выполнить установку. Прерывание создания пакета ".
Перед этим команда "make" показывает в выводе следующее:
«Сделайте [3]: Ничего не нужно делать для« всех »».
Я не понимаю, что не так. Я попытался загрузить самую последнюю версию LAME, чтобы посмотреть, решит ли она мою проблему, но ничего не поделать.
Привет.