Deb-build
Материал из Ksimute
Правильные пацаны скрипты по серверам раскладывают пакетами. Т.к. это debian way да и апдейтить сотни серверов не имея репозитария, контроля версий и т.п. это ад в реальности. Как билдить пакеты: Вытягиваем из svn исходники:
packdev:~# svn co https://sources.mydomain.com/svn/operational/munin-plugins/munin-dwh-swap-usage-and-ram-1.0.0
В нем лежит наш
Внимание -1.0.0 обязательно (версия для работы dh_make)
packdev:~/munin-dwh-swap-usage-and-ram-1.0.0# dh_make -e ksi_korobanov@mail.ru --createorig Type of package: single binary
Создаем MakeFile
packdev:~/munin-dwh-swap-usage-and-ram-1.0.0# packdev-l32:~/munin-plugins/munin-vertica-events-check-1.0.0-1# cat Makefile clean: echo "Nothing to clean" build: echo "Everything is built already" install: mkdir -p ${DESTDIR}/usr/share/munin/plugins cp -p swap-usage* ${DESTDIR}/usr/share/munin/plugins
Правим
debian/control
добавляем описание создаем postinst по примеру
case "$1" in configure) rm /etc/munin/plugins/swap_usage_and_ram ln -sf /usr/share/munin/plugins/swap_usage_and_ram /etc/munin/plugins/swap_usage_and_ram /etc/init.d/munin-node restart ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac
Строим пакет
dpkg-buildpackage
Выкладываем в repo
dput
Повысить версию пакета на еденичку:
dch -i -m "what was done in this build"
смена версии
dch -v 0.3.6-0 -m "what was done in this version"