序言
近来须要对服务器的Linux内核版本进行调整以安装特定软件,无奈的是该软件支持的Kernel版本是特定的,假如手动更新LinuxKernel,版本都会超过其支持范围linux kernel版本,被迫只得按照其支持范围安装LinuxKernel。
LinuxKernel影响很大,降级很可能导致系统不稳定,有能力的朋友最好去锤软件提供方。
本文中如不提醒,都是以root身分进行操作,省去每次sudo的工作了。可以通过sudosu获得root身分。
正文检测已安装内核
查看已安装的内核版本:
dpkg --get-selections |grep linux-image
若果出现有的内核旁边是deinstall,意思是
thepackageisselectedforde-installationorremoval(i.e.wewanttoremoveallfiles,exceptconfigurationfiles).
--apt-dpkg--get-selectionsshowspackagesmarked"deinstall"-AskUbuntu
查看GRUB启动项中内核版本:
grep 'menuentry |submenu ' /boot/grub/grub.cfg | cut -f2 -d "'"
安装旧内核失败尝试1
参考了
apt-HowdoIinstallanoldkernel?-AskUbuntu
步入该链接~kernel-ppa/mainline/
然而遗憾的是,我要安装的5.4.0-84并没有找到,这儿有5.4.80,5.4.85,5.4.0中虽然也没有-84,也可能是我不了解相关的命名习惯,在此罢手。
尝试2(成功)
又找到了一个比较老的链接,更简单,就是ubuntu的aptinstall即可。
InstallandBootanOlderKernelinUbuntu
之后还偶然听到了这个链接,其实是用前面的方式出了问题,网路蓝牙适配器都无了。
drivers-Installedolderkernelin20.04butwireless,bluetoothandethernetadaptersaremissing-AskUbuntu
综合两个联接,安装为
apt install linux-image-5.4.0-84-generic linux-headers-5.4.0-84-generic linux-modules-extra-5.4.0-84-generic
安装很顺利,没有报错。下一步是设置Grub的启动项。
首先查看Entry:
grep submenu /boot/grub/grub.cfg
grep gnulinux /boot/grub/grub.cfg
我的环境下输出的内容如图所示。
之后按照输出,更改`/etc/default/grub`,中的默认启动项。
vim /etc/default/grub
更改后的GRUB_DEFAULT大约类似下边这样。
GRUB_DEFAULT="gnulinux-advanced-dc2515a0-8714-42c7-825a-ec047c6cfd6e>gnulinux-5.4.0-58-generic-advanced-dc2515a0-8714-42c7-825a-ec047c6cfd6e"
这儿还可以更改一下GRUB_TIMEOUT,由于我的环境是服务器,重启须要许久,所以就启动kernel选择同时设置等待时间长一些以免不留神错过了选择。具体就是把STYLE从hidden改成menu,时间默认应当是0,-1的话是等待选择linux操作系统好吗,其他数字就是秒数了。
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=30
之后执行
update-grub
之后就要重启机器了。重启机器后,内核早已降级到了指定版本。这儿有一个须要注意的点,GRUB文件中,DEFAULT前面的内容由于是两层linux kernel版本,所以要注意联接两层的>,前后不能有空格linux公社,否则就手动进了第二层的第一个启动选项了。
重启成功后,用MobaXterm进行SSH联接可以看见里面的提示语。降级成功。或则用uname-a验证结果。
本文原创地址://q13zd.cn/rhzfwqsaztdb.html编辑:刘遄,审核员:暂无