我注意到在Debian中通过apt-get进行软件包安装后,默认情况下会启用systemd中的服务.但是,在其他发行版(例如Arch Linux)中,默认情况下禁用该程序包中的服务.
我的问题是:
>这个行为取决于什么?它是包管理器中的某个设置还是包本身决定它是否启用?
我的意思是在Debian上看起来像systemctl启用docker.service在安装后执行.在Arch-linux上,docker.service被禁用.
>我该如何改变它?
解决方法:
As the systemd preset blurb states,这是经销商制定的政策选择:
On Fedora all services stay off by default, so that installing a package will not cause a service to be enabled (with some exceptions). On Debian all services are immediately enabled by default, so that installing a package will cause its service(s) to be enabled right-away.
理论上,systemd发行版使用预设系统来决定是否应该在软件包安装后启用服务,在软件包安装后维护脚本中运行systemctl预设而不是systemctl enable;并将本地覆盖应用于分发策略就像在/ etc / systemd / system-preset /中创建自己的更高优先级预设一样简单. (Arch doco在这里颇具误导性.通常的情况是创建一个单独的本地预设文件来解决特定服务.)
在实践中,一些systemd发行版不使用预设系统,并且将本地覆盖应用于systemd是使用发行版本身的机制,如果他们实际上有这样的话.
进一步阅读
>RaphaëlHertzog(2014-12-08). deb-systemd-helper does not respect systemd Preset files. Debian Bug#772555.
>“Enable installed units by default”. systemd.拱维基.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。