apt 安装软件包时,自定义 systemd 服务重启问题

88 天前
 GoodRui

求 Linux 大佬给指点迷津!

不知道有没有人用过 apache geode 缓存服务。Ubuntu 24.04 系统,为了让 geode 能开机自启,把 geode 弄成了 systemd 服务,服务配置单元如下:

[Unit]
Description=Apache Geode
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
User=ubuntu
Group=ubuntu
Environment="JAVA_HOME=/usr/java"
WorkingDirectory=/opt/geode
ExecStart=/opt/geode/bin/gfsh run --file=/opt/geode/bin/start
TimeoutStartSec=300
#Restart=on-failure
#SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

问题来了,每次 sudo apt install/upgrade 任意软件包,都会自动重启这个 geode.service 服务,而且只会重启它一个 systemd 服务。。。

无语了,这个缓存服务重启后,很多其它使用他的程序都得重启一遍。geode 也没什么依赖进程,为什么使用 apt 安装任意软件包,都要自动重启它呢! 关键是还有好多其它 jar 包微服务,rocketmq 啊等等程序都配置了 systemd 服务,单单就只有 geode 服务会重启。而且把它改名,比如 areyouok.service,apt 装完软件包还是会单单重启它... 如果不使用 systemd 服务启动这个 geode ,手动执行 /opt/geode/bin/gfsh run --file=/opt/geode/bin/start 命令起来的 geode ,就不受影响

977 次点击
所在节点    Linux
2 条回复
zljklang
88 天前
NeedRestart=no # 关键:禁用 APT 触发的自动重启
加上试试有用吗
GoodRui
88 天前
@zljklang 感谢老哥回复,我搜了下,这个是不是不能加载单独的 systemd 服务单元里,这个是修改全局 systemd 服务行为的,但是我还不想这样,毕竟有 sshd 这种软件包 upgrade 的时候,sshd 服务还是要重启一下的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1137856

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX