Если вы программист или нет, и вам нужен метод для установки этого приложения или скрипта, вот несколько методов.
Пакет 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» и в этом другом имени Настраивать
затем внутри последней папки мы создаем две папки с именем "ДЕБИАН" и другой «Уср».
Это контрольный файл
Пакет: ubunlog-web Версия: 0.11.5.13 Архитектура: все Сопровождающий: ИМЯ ТУ Раздел: партнер/веб Приоритет: необязательно Описание: Учебники, рабочие столы 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/ &
сохраняем в папке "Бин" с именем «ubunlog-Веб".
Теперь заходим в папку "Компартир" в этом мы создаем папку с именем "Pixmaps" и сохраняем с именем «ubunlog-web.png» мы загрузили это изображение из здесь
Нам нужно только создать пусковую установку, для этого мы создаем последнюю папку в Share по имени "Приложения"
Это код того же
[Запись на рабочем столе] Кодировка=UTF-8 Имя=Ubunlog Комментарий в веб-блоге=Учебные пособия, рабочие столы Linux, программное обеспечение, новости и все об Ubuntu GenericName=Учебные пособия, рабочие столы Linux, программное обеспечение, новости и все об Ubuntu Exec=ubunlog-web Terminal=false Тип=Значок приложения=ubunlog-web Категории=Приложение;Сеть;Интернет; ЗапускWMClass=ubunlog-web StartupNotify=истина
Они хранят это в папке "Приложения" в качестве «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 настройка
Если все верно, пакет у вас уже есть «ubunlog-web_0.11.5.13_all.deb».
Самораспаковывающееся руководство (Проверено только на Ubuntu, работает на любом дистрибутиве)
Этот метод заключается в создании файлов с помощью скрипта makeself (http://megastep.org/makeself/).
Они скачивают из Интернета, это файл .run, они дают ему права, и мы его выполняем,
Как это использовать.
makeself.sh ПАПКА / ИСТОЧНИК / РЕЗУЛЬТАТ.RUN "ТЕКСТ" ./setup.sh
Как вы видете "ПАПКА / ПРОИСХОЖДЕНИЕ / » файлы и папки нашего приложения или скрипта «РЕЗУЛЬТАТ.ПРОБ» итоговый файл или самораспаковывающийся файл
"ТЕКСТ" - это сообщение, которое отображается при запуске самораспаковывающегося файла, и оно заключено в кавычки.
"./Setup.sh" это сценарий, который запускается при распаковке самораспаковывающегося файла, не забудьте предоставить ему разрешения.
Чтобы сделать его более понятным, мы будем использовать тот же пример пакета deb, но адаптированный к нему.
Создаем папку с именем «ubunlog» и скопируйте созданную папку, переименуйте ее как Сделать себя
В папке «ubunlog» создать другое имя установка и внутри этого поместите следующие файлы.
Сценарий установщика
#!/bin/sh cp ubunlog-web /usr/bin/ chmod 755 /usr/bin/ubunlog-web chmod +x /usr/bin/ubunlog-веб-CP ubunlog-web.png /usr/share/pixmaps/ chmod 755 /usr/share/pixmaps/ubunlog-web.png КП 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» мы загрузили это изображение из здесь
Кувшин
[Запись на рабочем столе] Кодировка=UTF-8 Имя=Ubunlog Комментарий в веб-блоге=Учебные пособия, рабочие столы Linux, программное обеспечение, новости и все об Ubuntu GenericName=Учебные пособия, рабочие столы Linux, программное обеспечение, новости и все об Ubuntu Exec=ubunlog-web Terminal=false Тип=Значок приложения=ubunlog-web Категории=Приложение;Сеть;Интернет; ЗапускWMClass=ubunlog-web StartupNotify=истина
Они сохраняют это как «ubunlog-web.desktop»
Теперь мы генерируем самораспаковывающийся файл
chmod 755 setup/ chmod +x setup/setup.sh sh ../makeself/makeself.sh setup ubunlog-web.run "Ubunlog - Учебники, рабочие столы Linux, программное обеспечение, новости и все об Ubuntu"./setup.sh
Самораспаковывающийся файл у нас уже есть.
Надеюсь, это тебе в чем-то поможет
Спасибо за ваши комментарии, если есть ОШИБКА, это продукт вашего воображения, хахаха
Отличный мануал, поздравляю ...
Отличная статья Лучано!
Я вас очень поздравляю.
Объятья! Павел.
Поздравляю! Эта статья - одна из лучших, которые я видел, чтобы научиться упаковывать двоичные файлы .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, чтобы посмотреть, решит ли она мою проблему, но ничего не поделать.
Привет.