glibc是应用和kernel的桥梁,glibc封装kernel提供的API形成系统调用system call,Ubuntu上glibc对应libc6这个包。
升级kernel不升级核心库glibc一般不会影响软件的正常使用,像VirtualBox安装时编译有虚拟化相关的dkms内核模块,更新内核后需要重新编译这些模块:
sudo /etc/init.d/vboxdrv setup 模块生成在 /lib/modules/`uname -r`/updates/dkms/vbox*
注:14.04上升级内核时会自动生成VirtualBox的内核模块,不需要手动执行。
新内核里集成了最新的Intel图形驱动 /lib/modules/`uname -r`/kernel/drivers/gpu/drm/i915/i915.ko
这得益于Intel官方Linux开源图形驱动项目:https://01.org/linuxgraphics/
Intel在2012年推出的Ivy Bridge架构的比如i5-3230M等等3代的CPU运行在Ubuntu12.04的3.2.0内核上可能会偶尔出现系统冻结freeze死机的情况。
旧内核不能很好地支持新架构,升级内核一般能解决类似问题。
http://kernel.ubuntu.com/~kernel-ppa/mainline/
Ubuntu官方提供的二进制通用Linux内核deb打包,linux-image.deb大小约55MB.
里面有这些东西:
/boot/vmlinuz-`uname -r` (5.6MB)
/boot/initrd.img-`uname -r` (27MB,安装时生成)
/lib/modules/`uname -r`/ (185MB,里面包含驱动等)
/lib/firmware/`uname -r`/ (1.4MB,固件)
Ubuntu官方提供有最新的内核二进制安装包,升级很方便,比如64位系统升级generic内核(以4.0为例):
sudo dpkg -i \
linux-headers-4.0.0-040000_4.0.0-040000.201504121935_all.deb \
linux-headers-4.0.0-040000-generic_4.0.0-040000.201504121935_amd64.deb \
linux-image-4.0.0-040000-generic_4.0.0-040000.201504121935_amd64.deb
注意:新版内核还从linux-image中分出了一个包linux-modules,有的话也要安装这个包.
安装新内核时会自动update-grub启动项,不会卸载旧内核。
在 /boot 下可以看到多个内核的启动引导程序 vmlinuz 和 initrd.img 。
如果新内核运行不正常,可以在开机GRUB引导里选择旧内核启动。
也可以这样改回原来使用的内核:
ln -sf /boot/vmlinuz-VERSION /vmlinuz
ln -sf /boot/initrd.img-VERSION /initrd.img
其中VERSION是原来内核的版本。
比如我在Kubuntu 12.04上把内核升级到了3.14:
来源:oschina
链接:https://my.oschina.net/u/561214/blog/202438