Я создал сценарий удара, который будет хранить некоторые данные в mysql базу данных. Затем я создал deb
файл с тем сценарием и сделал это доступным для установки путем создания локального способного репозитория.
Теперь, я могу установить тот пакет в любой системе (apt-get install packgename
), но проблема, я должен вручную создать mysql базу данных для того сценария после каждой установки в каждой системе.
Есть ли любой путь так, чтобы я мог запустить скрипт для создания mysql база данных (поскольку это - одно требование времени для системы) во время самой установки. Я услышал что-то как post
и pre
сценарии, но не получение любой идеи погуглить. Могли Вы парни давать некоторые хорошие учебные руководства для этого?
Позволяет предполагают, что у Вас есть Ваш .deb
- локальный файл (Если не можно загрузить его через apt-get download package
).
Распаковывают Ваш deb файл:
ar x package.deb
Внутренняя часть текущая папка там теперь несколько файлов. data.tar.gz
файл с содержанием пакета. Но мы заинтересованы файлом control.tar.gz
, где пост - и предписания. Так, распакуйте файл управления в другой папке:
tar xfs control.tar.gz
Теперь, то, что Вы ищете, является сценарием, названным postinst
, который выполняется после установки пакета. Если тот сценарий не существует, просто создайте его, с rwxr-xr-x
полномочия (755). В том месте сценария Ваш дб создает команду и позволил сценарию закончиться exit 0
для успешной установки или exit 1
для отказа.
, Когда Вы сделали все свое имущество, tar
файлы назад в файл управления. Используйте ту команду в папке для создания control.tar.gz
файл.
tar -czf control.tar.gz *
Теперь, воссоздайте deb-пакет с теми новыми файлами с этой командой:
ar r package.deb debian-binary control.tar.gz data.tar.gz
Вот именно!