snap install 报错 error: system does not fully support snapd 处理方法之升级 Linux 内核

阅读数: 680 2021年12月18日

在安装 CertBot 过程中,执行到 snapd 安装后,使用 snap install core 时候,发现报错:

error: system does not fully support snapd: cannot read the value of fs.may_detach_mounts kernel

       parameter: open /proc/sys/fs/may_detach_mounts: no such file or directory


搜索资料发现是 Linux 内核(Linux 3.10.0-327.22.2.el7.x86_64)太老了,需要升级内核

第一步:先执行 yum update 更新所有的包


第二步:先查看并记录当前的内核版本

# uname -sr
Linux 3.10.0-327.22.2.el7.x86_64


第三步:大多数现代发行版提供了一种使用 yum 等包管理系统和官方支持的仓库升级内核的方法。

但是,这只会升级内核到仓库中可用的最新版本 - 而不是在 https://www.kernel.org/ 中可用的最新版本。不幸的是,Red Hat 只允许使用前者升级内核。

与 Red Hat 不同,CentOS 允许使用 ELRepo,这是一个第三方仓库,可以将内核升级到最新版本。

要在 CentOS 7 上启用 ELRepo 仓库,请运行:

# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm


第四步:仓库启用后,你可以使用下面的命令列出可用的内核相关包:

# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available


第五步:接下来,安装最新的主线稳定内核:

# yum --enablerepo=elrepo-kernel install kernel-ml
将会安装最新版本的内核


第六步:重启机器


第七步:为了让新安装的内核成为默认启动选项,你需要如下修改 GRUB 配置:

为了让新安装的内核成为默认启动选项,你需要如下修改 GRUB 配置:打开并编辑 /etc/default/grub 并设置 GRUB_DEFAULT=0。意思是 GRUB 初始化页面的第一个内核将作为默认内核。

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto   idle=halt net.ifnames=0 console=tty0 console=ttyS0,115200n8"
GRUB_DISABLE_RECOVERY="true"


第八步接下来运行下面的命令来重新创建内核配置。

# grub2-mkconfig -o /boot/grub2/grub.cfg


第九步:重启机器,并查看内核版本是否升级成功

# uname -r
5.15.10-1.el7.elrepo.x86_64

说明成功了。

参考资料
https://blog.csdn.net/weixin_43343144/article/details/110108501
https://linux.cn/article-8310-1.html
phpriji.cn | 网站地图 | | 沪ICP备17015433号-1