Я действительно застрял в этом вопросе (я уверен), поэтому любая помощь будет очень признательна. Я создал стандартный пакет ubuntu с dh_make. Цель этого пакета - создать пакет, который будет устанавливать все связанные с ldap пакеты, которые требуется системе, включая конфигурацию. Одним из шагов, которые я пытаюсь сделать, является копирование файла /etc/ldap.conf при создании резервной копии существующего файла. Как мне это сделать? Я попытался создать postinst-скрипт, который выглядит по существу следующим образом, но я не понимаю, как пакет хранит файлы, и я получаю сообщение об ошибке с отсутствующим файлом etc/ldap.conf. Каков наилучший способ сделать это? Вот мой postinst сценарий:Создание пакета Debian. Как установить файлы конфигурации?
#!/bin/bash -xv
install -v -b etc/ldap.conf /etc/ldap.conf > /tmp/tst 2>&1
Вот мой скелет структура:
[email protected]:~/navldapubuntu-0.1/debian# tree ├── changelog ├── compat ├── control ├── copyright ├── docs ├── etc └── ldap.conf ├── install ├── postinst ├── README.Debian ├── README.source ├── rules ├── source └── format ├── navldapubuntu └── etc ├── navldapubuntu.debhelper.log ├── navldapubuntu.dirs └── navldapubuntu.doc-base.EX
Вот некоторая дополнительная информация о пакете я создал.
dpkg --contents tnoldapubuntu_0.1-1_all.deb (truncated output) ./usr/ ./usr/share/ ./usr/share/doc
./usr/share/doc/navldapubuntu/ ./usr/share/doc/navldapubuntu/copyright ./usr/share/doc/navldapubuntu/README.Debian ./usr/share/doc/navldapubuntu/changelog.Debian.gz ./etc/ldap.conf
резервное копирование в postinst? возможно, в preinst? файл проверки существует: 'if [-f /etc/ldap.conf], затем cp /etc/ldap.conf /etc/ldap.conf.dist fi', правильно? – mkjasinski
Проблема не в логике cp. Проблема в том, что источник /etc/ldap.conf не существует. Как включить это в пакет, чтобы мой скрипт postinstall увидел файл /etc/ldap.conf? Теперь я получаю сообщение об ошибке в моем скрипте: install: can not stat '/navldap-0.1/debian/etc/ldap.conf ': Нет такого файла или режиссера – user2175757
странно, у вас нет файла в'/и т. д. и выбрасывание ошибки, которой у вас нет в другом каталоге? сценарий не может запускать 'stat' в файле в вашем пакете, из которого вы запускаете установку? – mkjasinski