Muszę utworzyć pakiet deb, który utworzy katalog dla dzienników. Chcę utworzyć katalog /var/logs/my_package
i zmienić jego właściciela na my_user
.
W dokumentacji znajdują się informacje, które mogę utworzyć plik debian/dir
. Ale są informacje, że nie jest to najlepszy sposób, aby to zrobić. I nie ma informacji jak zmienić właściciela katalogu (myślę o umieszczeniu polecenia chown my_user.my_user /var/logs/my_package
w debian/postinst
pliku).
Jaki jest zalecany sposób utworzenia katalogu z pakietem deb?
permissions
package-management
directory
deb
chown
Besarabow
źródło
źródło
Odpowiedzi:
Miałeś rację, potrzebujesz
debian/my_package.postint
pliku, aby wykonać taką operację:Uwaga : Skrypt sprawdza, czy użytkownik istnieje przed wywołaniem
chown
.źródło
This generally means there is a problem with the Makefile.
że rozumiem tę wiadomość, że istnieje inny sposób, aby to zrobić. I chcę się dowiedzieć, jaki jest zalecany sposób wykonania tego zadania.debian/rules
którym znajdują sięMakefile
pakiety debian. Ponieważ nie znałem twojegodebian/rules
, wolałem zaproponować rozwiązanie oparte na jednym pliku. Alechown
polecenie musi być procesem poinstalacyjnym. Debian / dirs należy unikać, ale moja wstępna odpowiedź jest całkowicie w porządku. Głosuj i zaakceptuj to, dzięki.Nie musisz tworzyć
postinst
skryptu, ale rozwiązanie jest nadal nieco trudne. Używamdh
symboli wieloznacznych wdebian/rules
:który robi wszystkie potrzebne rzeczy. Ale muszę zastąpić część własności katalogu (nazwijmy to danymi). Muszę więc zrobić wyjątek, używam specjalnej dyrektywy (to jest przykład):
Katalog danych nie musi znajdować się w pliku * .dirs. Ale wciąż jest jedna sztuczka. Debhelper zawiera skrypt dh_fixperms, który naprawiłby własność z powrotem do katalogu głównego, więc musimy też przesłonić:
To wszystko. Pamiętaj, że katalog danych nie jest liczony jako plik konfiguracyjny, więc zostanie usunięty po usunięciu pakietu. Jeśli musisz zmienić go w conffile, to inna historia.
źródło