作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
我们的Linux进阶部分,到目前为止,已经讲过:硬件,日常运维,基础软件,日志,进阶命令,防火墙,Shell编程,以及本章将要讲解的内核相关内容,和最后一章Linux系统。
让我们了解和熟悉基本的Linux内核相关的信息,Linux内核我们主要从以下几个方面来讲解:
Linux内核-什么是内核(本章节)
Linux内核-内核参数
Linux内核-proc文件系统
Linux内核-sys文件系统
Linux内核-tmpfs文件系统
我们都知道安卓手机,但是安卓手机有很多厂商。同Linux对标的话,Linux内核就是安卓系统,各大手机厂商就是各大发行版,比如我们用的红帽系列centos)。Debian系统(ubuntu)。他们都基于安卓(Linux内核)开发自己的OS系统。
虽然我们用安卓来比喻内核,不是很恰当,毕竟安卓系统也是基于Linux内核,我们这里也不用纠结这个问题,我们只需要理解这个比较抽象的概念即可。
Linux 内核是Linux操作系统的核心部分,它是一个自由和开放源代码的类Unix操作系统内核。Linux内核负责管理系统的硬件资源,并提供必要的服务来支持其他系统软件和应用程序。以下是Linux内核的一些关键特点和功能:
开源:Linux内核的源代码是公开的,任何人都可以查看、修改和发布自己的版本。
模块化设计:Linux内核由许多模块组成,这些模块可以根据需要加载或卸载,这使得内核可以根据实际使用的硬件进行定制。
多任务处理:Linux内核能够同时运行多个进程,每个进程都有独立的虚拟地址空间。
内存管理:Linux内核提供了复杂的内存管理系统,用于管理物理内存,并通过虚拟内存技术来扩展可用内存。
进程调度:Linux内核使用一个调度程序来决定哪个进程在给定的时间运行。
文件系统支持:Linux内核支持多种文件系统,包括本地文件系统(如ext4, Btrfs等)和网络文件系统(如NFS)。
网络功能:Linux内核内置了TCP/IP协议栈,支持广泛的网络功能,如互联网连接、服务器操作等。
设备驱动:Linux内核包含了大量的设备驱动程序,可以支持各种硬件设备,从硬盘到图形适配器等。
安全性:Linux内核提供了多种安全机制,以保护系统免受恶意软件和未授权访问的影响。
稳定性与可靠性:Linux内核以其稳定性和可靠性而闻名,这对于服务器环境尤为重要。Linux内核的发展始于1991年,由芬兰学生林纳斯·托瓦兹开始编写。随着时间的推移,它已经演变成一个由全球开发者社区维护的庞大项目。
在智能手机早期,有一个概念叫刷机就是给手机更换操作系统,实际上和升级内核差不多。在centos6时代,内核版本是2.6.x,但是当时Docker技术非常火爆,而Docker官方推荐的内核是3.10.x,这个时候就有两个选择:一个是升级内核;另外一个就是更换centos7操作系统。
查看内核
[root@localhost ~]# uname -r
3.10.0-1062.el7.x86_64
[root@localhost ~]#
其实这里的内核版本就是3.10.0,后面的衍生的信息。
Linux内核的官方网址就是https://www.kernel.org/
本地内核文件
我们在Linux基础-linux目录介绍过/boot目录就是内核相关的的目录,这个是未升级内核之前的目录结构,可以和上面的内核版本进行对应。
[root@localhost ~]# ll /boot/
总用量 91912
-rw-r--r--. 1 root root 152976 8月 8 2019 config-3.10.0-1062.el7.x86_64
drwxr-xr-x. 3 root root 17 6月 7 19:56 efi
drwxr-xr-x. 2 root root 27 6月 7 19:57 grub
drwx------. 5 root root 97 6月 7 20:00 grub2
-rw-------. 1 root root 57623455 6月 7 19:59 initramfs-0-rescue-92af6efa67314b84b2b38893dfd77567.img
-rw-------. 1 root root 18941936 6月 7 20:00 initramfs-3.10.0-1062.el7.x86_64.img
-rw-r--r--. 1 root root 318717 8月 8 2019 symvers-3.10.0-1062.el7.x86_64.gz
-rw-------. 1 root root 3594971 8月 8 2019 System.map-3.10.0-1062.el7.x86_64
-rwxr-xr-x. 1 root root 6734016 6月 7 19:59 vmlinuz-0-rescue-92af6efa67314b84b2b38893dfd77567
-rwxr-xr-x. 1 root root 6734016 8月 8 2019 vmlinuz-3.10.0-1062.el7.x86_64
升级前启动界面
升级内核
这里下载rpm内核过程略过
[root@localhost ~]# rpm -ihv kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm
警告:kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm: 头V4 DSA/SHA256 Signature, 密钥 ID baadae52: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:kernel-lt-5.4.278-1.el7.elrepo ################################# [100%]
[root@localhost ~]#
修改启动顺序
#查看当前内核的排序
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (5.4.278-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1062.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-92af6efa67314b84b2b38893dfd77567) 7 (Core)
#选择新升级内核作为启动选
#这个是从排序是从0开始
grub2-set-default 0
重启
reboot
升级后启动界面
我们可以看到,新的内核已经是默认内核。
查看内核和文件
[root@localhost ~]# uname -r
5.4.278-1.el7.elrepo.x86_64