关于我正在尝试做的事情的一些背景信息:我们正在构建一个 Ubuntu 映像,并将其部署到数千个工作站。我们需要在工作站上提供 MariaDB,但我们只希望在需要时启动它,以免对不需要它的机器的启动时间产生负面影响。
systemctl disable mariadb.service
因此,我的计划是在构建映像时执行操作,然后通过知道何时需要它的代理启动它。我已检查过systemctl disable mariadb.service
删除.wants
符号链接:
Removed /etc/systemd/system/multi-user.target.wants/mariadb.service.
Removed /etc/systemd/system/mysqld.service.
Removed /etc/systemd/system/mysql.service.
并且我已经确认/etc/systemd/system/multi-user.target.wants/mariadb.service
图像中不存在该内容。
但是当我们启动映像时,mariadb.service
根据 和 的输出, 已启用systemctl status mariadb
。/etc/systemd/system/multi-user.target.wants/mariadb.service
似乎有一些东西可以在第一次启动时启用它。我想知道这是怎么回事,这样我就可以禁用它。
我查看了列出的文件,dpkg -L mariadb-server-10.3 mariadb-server-core-10.3
但没有发现任何东西。
答案1
它被启用systemd-预设
我可以通过添加这个文件来防止这种情况发生:
# /etc/systemd/system-preset/10-mariadb.preset
disable mariadb.service