Ich bin wirklich auf dieses kleine (ich bin mir sicher) Problem fest, so dass jede Hilfe sehr geschätzt werden würde. Ich habe ein Standard-Ubuntu-Paket mit dh_make erstellt. Der Zweck dieses Pakets besteht darin, ein Paket zu erstellen, das alle ldap-bezogenen Pakete aufbaut, die ein System benötigt, einschließlich seiner Konfiguration. Einer der Schritte, die ich versuche, ist, eine Datei /etc/ldap.conf zu kopieren, während eine Sicherungskopie der vorhandenen Datei erstellt wird. Wie mache ich das? Ich habe versucht, ein Postinst-Skript zu erstellen, das im Wesentlichen wie das Folgende aussieht, aber ich bin nicht klar, wie das Paket die Dateien speichert, und ich bekomme einen Fehler, der die fehlende Datei etc/ldap.conf sagt. Was ist der beste Weg, dies zu tun? Hier ist mein postinst Skript:Debian-Paket-Erstellung - Wie installiert man Konfigurationsdateien?
#!/bin/bash -xv
install -v -b etc/ldap.conf /etc/ldap.conf > /tmp/tst 2>&1
Hier ist meine Skelettstruktur:
[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
Hier einige zusätzliche Informationen des Pakets I erstellt.
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
Sicherung in postinst? vielleicht in preinst? check file exists: 'if [-f /etc/ldap.conf] dann cp /etc/ldap.conf /etc/ldap.conf.dist fi', oder? – mkjasinski
Das Problem liegt nicht in der Logik des CP. Das Problem ist, dass die Quelle /etc/ldap.conf nicht existiert. Wie schließe ich das in das Paket ein, damit mein postinstall-Skript die Datei /etc/ldap.conf sehen kann? Ich erhalte einen Fehler in meinem Skript, in dem etwas wie folgt steht: install: can not stat '/navldap-0.1/debian/etc/ldap.conf ': Keine solche Datei oder Director – user2175757
seltsam, Sie haben keine Datei in'/usw. und einen Fehler, dass Sie es nicht in einem anderen Verzeichnis haben? Skript kann 'stat' in der Datei in Ihrem Paket nicht ausführen, von welchem Verzeichnis führen Sie aus? – mkjasinski