При установке mysql-server на Debian Wheezy пользователь mysql создается без домашнего каталога. В моей настройке сразу после установки MySQL выполняется новая задача, которая полагается на пользователя mysql, имеющего / var / lib / mysql в качестве домашнего каталога.
На данный момент эта задача не выполняется. Мне нужно настроить пользователя mysql и снова запустить мою задачу. Итак, я ищу встроенный метод в Debian, который позволяет мне либо «предварительно задать» домашний каталог пользователя mysql (который создается одним из пакетов mysql), либо создать триггер, который реагирует на событие mysql. -server устанавливается (или создается пользователь mysql, мне все равно).
Я знаю, что могу изменить пакет mysql или обернуть установку mysql в какой-то сценарий или манифест марионетки; однако подобные вещи не подходят для моей установки. Для этого мне нужен чистый метод Debian.
Есть ли что-то, что может быть активировано при установке пакета или создании пользователя? Я думал о просмотре файлов mysql через inotify в качестве обходного пути; однако я думаю, что inotify будет слишком много для моей маленькой проблемы.
В настоящее время я смотрю на dpkg-триггеры, но не уверен, что это правильное решение.
Вы можете создать пользователя mysql непосредственно перед установкой пакета. Если вы посмотрите на сценарий preinst пакета, это ничего не сломает:
# creating mysql user if he isn't already there
if ! getent passwd mysql >/dev/null; then
# Adding system user: mysql.
adduser \
--system \
--disabled-login \
--ingroup mysql \
--no-create-home \
--home /nonexistent \
--gecos "MySQL Server" \
--shell /bin/false \
mysql >/dev/null
fi
http://sources.debian.net/src/mysql-5.5/5.5.35%2Bdfsg-2/debian/mysql-server-5.5.preinst