在 Debian Wheezy 上安装 mysql-server 时,创建的用户“mysql”没有主目录。在我的设置中,直接在安装 MySQL 之后,将执行一个新任务,该任务依赖于将 /var/lib/mysql 作为主目录的 mysql 用户。
目前,此任务失败。我必须调整 mysql 用户并再次重新运行我的任务。所以我正在寻找的是 Debian 中的一个内置方法,它允许我“预置”mysql 用户的主目录(由其中一个 mysql 包创建)或创建一个触发器,该触发器对 mysql 的事件做出反应-server 包正在安装(或正在创建的 mysql 用户,我不在乎)。
我知道我可以修改 mysql 包或将 mysql 安装包装在某种脚本或木偶清单中;但是,这样的事情不适合我的设置。我需要一个干净的 Debian 方法来做到这一点。
是否存在可以在软件包安装或用户创建时触发的东西?我考虑过通过 inotify 观看 mysql 文件作为一种解决方法;但是,我认为 inotify 对我这里的小问题来说太多了。
我目前正在查看 dpkg-triggers,但我不确定这是否是正确的解决方案..
您可以在安装软件包之前创建用户 mysql 。如果您查看包的 preinst 脚本,这不会破坏任何内容:
http://sources.debian.net/src/mysql-5.5/5.5.35%2Bdfsg-2/debian/mysql-server-5.5.preinst