Я зашел в Ubuntu wiki, но запутался, там было слишком много способов. Пожалуйста, подскажите мне простое руководство по упаковке Debian.
Этот является хорошим руководством для создания базового .deb
файл. Он подходит для создания .deb
файлы для личного использования, но недостаточно строгие, если вы хотите, чтобы пакет был включен в Debian / Ubuntu - для этого вам следует прочитать Руководство нового сопровождающего Debian и/или в Руководство по упаковке Ubuntu (который, я полагаю, вы уже пробовали).
Хороший инструмент для проверки вашего .deb
досье на соответствие требованиям является lintian
(можно установить из репозиториев).
Здесь, в чатах Ask Ubuntu, было проведено два сеанса.
С какими частями у вас возникли проблемы? Несмотря на сложность, руководство казалось вполне понятным, когда я следовал ему.
Краткое резюме:
- Извлечь источник
.tar.gz
- Бежать
dh_make
- Редактирование файлов debian
- Запустите debuild
Вы даже можете использовать dpkg-deb
для создания простых пакетов.
Вот хороший учебник от Вездесущие форумы.
Первоначально опубликовано на StackOverflow, это руководство предназначено для предварительно скомпилированного или интерпретируемого программного обеспечения:
Правильный способ создания пакета deb - это использование dpkg-buildpackage
но иногда это немного сложно. Вместо этого вы можете использовать dpkg -b <folder>
и это создаст ваш пакет Debian.
Это основы для создания пакета Debian с dpkg -b <folder>
с любым двоичным файлом или с любым типом скрипта, который запускается автоматически без необходимости ручной компиляции (Python, Bash, Pearl, Ruby):
-
Создайте файлы и папки, чтобы воссоздать следующую структуру:
ProgramName-Version/ProgramName-Version/DEBIANProgramName-Version/DEBIAN/controlProgramName-Version/usr/ProgramName-Version/usr/bin/ProgramName-Version/usr/bin/your_script
Сценарии, размещенные на
/usr/bin/
вызываются непосредственно из терминала, обратите внимание, что я не добавлял расширение в скрипт. Также вы можете заметить, что структура пакета deb будет структурой программы после ее установки. Поэтому, если вы будете следовать этой логике, если ваша программа имеет один файл, вы можете напрямую поместить его вProgramName-Version/usr/bin/your_script
, но если у вас есть несколько файлов, вы должны поместить их вProgramName-Version/usr/share/ProgramName/all your files
и поместите только один файл под/usr/bin/
это вызовет ваши скрипты из/usr/share/ProgramName/
-
Измените все права доступа к папкам на root:
chown root:root -R /path/to/ProgramName-Version
-
Измените разрешения скрипта:
chmod 0755 /path/to/the/script
Наконец, вы можете запустить:
dpkg -b /path/to/the/ProgramName-Version
и ваш пакет deb будет создан! (Вы также можете добавить сценарии post / pre inst и все, что захотите, это работает как обычный пакет Debian)
Вот пример того, как control
файл. Вам нужно только скопировать / вставить его в пустой файл с именем "control" и поместить его в папку DEBIAN.
Package: ProgramNameVersion: VERSIONArchitecture: allMaintainer: YOUR NAME <EMAIL>Depends: python2.7, etc , etc,Installed-Size: in_kbHomepage: http://foo.comDescription: Here you can put a one line description.This is the short Description. Here you put the long description, indented by 1 space.
Нет, самое простое и понятное руководство по упаковке в этом мире - это
Упаковка Java-приложений для Ubuntu и других Debian
Несколько дней назад для моего первого приложения я создал пакет DEB, следуя этому руководству. Очень понятно, и мое приложение успешно упаковано. Да, по крайней мере, для меня это проще всего.
Вы можете сравнить его с Руководством по упаковке Debian.
У меня такая же проблема. Большинство руководств и руководств начинаются с “get the upstream tarball”. С этого момента мы заблудились. У нас есть простая вещь, которую мы хотим развернуть, нет вышестоящего tarball, нет исходного кода. это просто файл war, несколько скриптов и несколько файлов jar. Что такое upstream tar ball, и видел ли кто-нибудь руководство, НЕ использующее его, которое является всеобъемлющим (например, касается проблем пользователей)
Вы хотите создавать пакеты для собственного использования, на определенном компьютере или для использования другими пользователями?
На каком языке вы хотели бы упаковать программное обеспечение?
Если вы хотите создать “виртуальные пакеты” (группировать зависимости вместе), стоит взглянуть на [equivs-build](http://manpages.ubuntu.com/manpages/trusty/man1/equivs-build .1.html )