LINUX.ORG.RU

Нужны рекомендации по созданию deb пакета


0

1

Всем добрый день!

Прошу не кидать в меня помидорами, так как я очень неопытный пользователь Linux. Тем не менее передо мной стоит задача создать deb-пакет, содержащий 4 скомпилированных файла программ. Нужно закинуть их в /bin на десяти машинах.

К сожалению, все примеры, которые я смог нарыть по созданию deb пакетов, слишком далеки от моей задачи + не хватает опыта. Обращаюсь за помощью!

Тем не менее передо мной стоит задача создать deb-пакет, содержащий 4 скомпилированных файла программ.

В каком виде распространяется программа? *.tar.gz с исходниками?

AITap ★★★★★ ()

Вариант bash скрипта с установкой в /usr/local/bin не рассматривается?

rafister ()
Ответ на: комментарий от r2d2

Спасибо огромное!

Но, думаю, гораздо полезнее мне будет научиться делать это самому.

Программы не распространяются. Я их сам писал. Кстати, если у кого-то проблемы с реализацией CCNET в Линуксе, могу немножко помочь. Короче, *.tar.gz нет, исходники есть.

Bash-скрипт рассматривается, но я не знаю, как лучше это сделать. Как упаковать 4 файла и bash-скрипт, копирующий их в нужные места, чтобы затем распаковать весь пакет можно было 1 действием? Ещё я знаю, что правильно установленный deb пакет позволяет потом удаление сделать так же легко, а не удалять все файлы вручную.

Akella ()
Ответ на: комментарий от Akella

Возьми Makefile-шаблон cdbs. Инструкции по установке напиши там. Все довольно просто.

dizza ★★★★★ ()
Ответ на: комментарий от Akella

Как упаковать 4 файла и bash-скрипт, копирующий их в нужные места, чтобы затем распаковать весь пакет можно было 1 действием?

Лучше так не делать, а собрать пакет из скопированных файлов.

AITap ★★★★★ ()

deb пакет это архив формата ar. Почитай ман к этой программе, распакуй любой deb пакет, разберись как он устроен и сделай такой же на коленке, это будет быстрее всего. Если хочешь идеологически правильно, читай всякие Debian Maintainer Guide, но там придётся разбираться долго, да и не нужно оно тебе конкретно для этой задачи.

Legioner ★★★★★ ()
Ответ на: комментарий от Akella

Кстати, если у кого-то проблемы с реализацией CCNET в Линуксе, могу немножко помочь. Короче, *.tar.gz нет, исходники есть.

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

Esh ★★★★ ()
17:42 ~/build  mkdir mycoolprog-0.1                                                                                               
17:42 ~/build  cd mycoolprog-0.1                                                                                                  
17:43 ~/build/mycoolprog-0.1  man dh_make
17:44 ~/build/mycoolprog-0.1  echo "echo hello world" > hello
17:44 ~/build/mycoolprog-0.1  dh_make -n -f hello  # см ман

После всего этого тебе нужны в папке debian фалы:

  • changelog
  • control
  • compat
  • copyright
  • rules

остальные можешь пирибить пока что и еще создать файлы mycoollprog.install и mycoolprog.dirs (если нужно создавать папки)

в инсталл пишешь куда какие файлы копировать:

hello    usr/bin/
hello.lib   usr/lib/
Без начального слеша у usr

В dirs пишешь папки которые надо создать по путю на строчку, так же без начального слеша правишь контролы, копирайты

потом запускаешь debuild и кажется все должно создасться.

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

Zubchick ()
Ответ на: комментарий от Zubchick

ах да еще тебе наверно понадобится gpg ключ для подписания пакета

Zubchick ()
Ответ на: комментарий от Zubchick

а еще не забудь поправить контролл файл Да и вообще посмотри все файлы :)

Zubchick ()

Обычно все сводится к 4 командам:

dh_make vi debian/rules vi debian/control dpkg-buildpackage -rfakeroot -uc -us

Это если распространять не будешь. За подробностями посмотри доки да и примеров найдешь.

slapin ★★★★★ ()
Ответ на: комментарий от slapin

в смысле:

dh_make

vi debian/rules

vi debian/control

dpkg-buildpackage -rfakeroot -uc -us

slapin ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.