越学越糟心,今天遇到又一种新的服务控制方式 snap,用它来跑snmpd

163 阅读2分钟

偶尔登录一台测试机,随手top了一下,怎么load这么高? 看到snmpd进程占用比较高,先不管了停掉吧

service snmpd stop, 一切顺利,再top 一下

怎么snmpd还在?

kill掉看看, 好家伙立马拉起来了

意识到它的管理进程还在,要停它必须找到它的上级部门沟通

root@ubuntu117:~# ps aux|grep snmpd
root      1517  6.5  0.0  10908  2136 ?        Ss   16:17   0:00 /snap/core/17212/usr/lib/snapd/snap-confine snap.net-snmp.snmpd /usr/lib/snapd/snap-exec net-snmp.snmpd
root      1556  0.0  0.0  10908   240 ?        S    16:17   0:00 /snap/core/17212/usr/lib/snapd/snap-confine snap.net-snmp.snmpd /usr/lib/snapd/snap-exec net-snmp.snmpd
root      1561  0.0  0.0  11280  1088 pts/0    S+   16:17   0:00 grep --color=auto snmpd

snap? 这是什么?

snap 是 Canonical 公司开发的一种软件打包和部署系统,用于 Linux 发行版。它提供了一种安全、可靠的方式来安装、更新和管理应用程序。

snap 的核心特点

  1. 容器化应用:每个 snap 应用都运行在自己的沙盒环境中
  2. 自动更新:支持后台自动更新应用程序
  3. 跨发行版:同一个 snap 包可以在多个 Linux 发行版上运行
  4. 依赖包含:所有依赖都打包在 snap 中,避免系统依赖冲突

snap 与传统包管理的区别

特性snap传统包管理(apt/yum)
依赖管理自包含系统级共享
更新机制自动滚动更新需手动更新
隔离性强隔离弱隔离
跨发行版支持支持不支持
回滚能力支持有限支持

听起来不错,就是我又要学习一种新的服务管理方式了,从service, chkconfig, systemd, pm2, supervisor来到了新的天地,不过它有些功能似乎还不错,就是能不能始终在一条路上更新?

最后停掉它,太平了一些

root@ubuntu117:~# snap services
Service         Startup  Current  Notes
net-snmp.snmpd  enabled  active   -

root@ubuntu117:~# snap stop net-snmp.snmpd
Stopped.