Как создать каталог и изменение, это - владелец с deb пакетом

Я должен создать deb пакет, который создаст каталог для журналов. Я хочу создать каталог /var/logs/my_package и измениться это - владелец к my_user.

В документах существует информация, что я могу создать файл debian/dir. Но существует информация, что это не лучший способ сделать это. И нет никакой информации, как нужно изменить там владельца каталога (я думаю о помещающей команде chown my_user.my_user /var/logs/my_packageэто в debian/postinst файл).

Что рекомендуемый путь состоит в том, чтобы создать каталог с deb пакетом?

10
задан 27 March 2014 в 10:23

2 ответа

Вы были правы, Вам нужно debian/my_package.postint файл для выполнения такой операции:

#!/bin/sh

#DEBHELPER#

set -e

USER="my_user"

mkdir -p /var/log/my_package/    
if id -u $USER > /dev/null 2>&1; then    
    chown ${USER}:${USER} /var/log/my_package/
fi

Примечание : сценарий проверяет, существует ли пользователь прежде, чем звонить chown.

8
ответ дан 16 November 2019 в 15:39

Эй не должны создавать postinst, сценарий, но решение все еще немного хитер. Я использую dh подстановочный знак в debian/rules:

#!/usr/bin/make -f
%:
        dh $@

binary:
        dh $@

, который делает весь необходимый материал. Но я должен переопределить владение некоторого dir (позволяет, называют это данными). Таким образом, я должен сделать некоторое исключение, я использую специальную директиву (это - пример):

    override_dh_install:
        dh_install   #calls default *.install and *.dirs installation
        install -d -o www-data -g www-data $(CURDIR)/debian/<package_name>/var/www/<something>/data 

каталог данных не должны быть в *.dirs файле. Но все еще существует один прием. Debhelper содержит сценарий dh_fixperms, который зафиксировал бы владение назад для укоренения, таким образом, мы должны переопределить также:

override_dh_fixperms:
    dh_fixperms --exclude data

Это - все. Следует иметь в виду, что dir данных не рассчитывает как conffile, таким образом, он будет удален на пакете, удаляют. Если необходимо сделать это conffile, это - другая история.

3
ответ дан 16 November 2019 в 15:39

Другие вопросы по тегам:

Похожие вопросы: