Naprawdę utknąłem w tym drobnym (jestem tego pewien) problem, więc każda pomoc będzie bardzo ceniona. Stworzyłem standardowy pakiet ubuntu z dh_make. Celem tego pakietu jest utworzenie pakietu, który skonfiguruje wszystkie pakiety związane z ldap, które system potrzebuje, włączając jego konfigurację. Jednym z kroków, które próbuję wykonać, jest skopiowanie pliku /etc/ldap.conf podczas tworzenia kopii zapasowej istniejącego pliku. Jak mam to zrobic? Próbowałem utworzyć skrypt postinst, który wygląda zasadniczo tak, jak poniżej, ale nie jestem pewien, w jaki sposób pakiet przechowuje pliki i pojawia się komunikat o braku pliku etc/ldap.conf. Jaki jest najlepszy sposób na zrobienie tego? Oto mój skrypt postinst:Tworzenie pakietów Debiana - Jak instalować pliki konfiguracyjne?
#!/bin/bash -xv
install -v -b etc/ldap.conf /etc/ldap.conf > /tmp/tst 2>&1
Oto moja konstrukcja szkieletu:
[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
Oto kilka dodatkowych informacji pakietu stworzyłem.
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
kopia zapasowa w postinst? może w preinst? plik check istnieje: 'if [-f /etc/ldap.conf] to cp /etc/ldap.conf /etc/ldap.conf.dist fi', prawda? – mkjasinski
Problem nie leży w logice cp. Problem polega na tym, że źródło /etc/ldap.conf nie istnieje. Jak dołączyć to do pakietu, aby mój skrypt po instalacji zobaczył plik /etc/ldap.conf? Pojawił się błąd w moim skrypcie teraz, który stwierdza coś takiego: install: can not stat '/navldap-0.1/debian/etc/ldap.conf ': Nie ma takiego pliku lub dyrektor – user2175757
dziwnie, nie masz pliku w'/etcetera i zgłaszanie błędu, którego nie masz w innym katalogu? skrypt nie może uruchomić 'stat' na pliku w twoim pakiecie, z którego katalogu uruchamiasz instalację? – mkjasinski