前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux内核-什么是内核

Linux内核-什么是内核

作者头像
运维小路
发布2024-11-01 20:09:53
780
发布2024-11-01 20:09:53
举报
文章被收录于专栏:运维小路

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们的Linux进阶部分,到目前为止,已经讲过:硬件,日常运维,基础软件,日志,进阶命令,防火墙,Shell编程,以及本章将要讲解的内核相关内容,和最后一章Linux系统。

让我们了解和熟悉基本的Linux内核相关的信息,Linux内核我们主要从以下几个方面来讲解:

Linux内核-什么是内核(本章节)

Linux内核-内核参数

Linux内核-proc文件系统

Linux内核-sys文件系统

Linux内核-tmpfs文件系统

我们都知道安卓手机,但是安卓手机有很多厂商。同Linux对标的话,Linux内核就是安卓系统,各大手机厂商就是各大发行版,比如我们用的红帽系列centos)。Debian系统(ubuntu)。他们都基于安卓(Linux内核)开发自己的OS系统。

虽然我们用安卓来比喻内核,不是很恰当,毕竟安卓系统也是基于Linux内核,我们这里也不用纠结这个问题,我们只需要理解这个比较抽象的概念即可。

什么是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操作系统。

查看内核

代码语言:javascript
复制
[root@localhost ~]# uname -r
3.10.0-1062.el7.x86_64
[root@localhost ~]# 

其实这里的内核版本就是3.10.0,后面的衍生的信息。

Linux内核的官方网址就是https://www.kernel.org/

本地内核文件

我们在Linux基础-linux目录介绍过/boot目录就是内核相关的的目录,这个是未升级内核之前的目录结构,可以和上面的内核版本进行对应。

代码语言:javascript
复制
[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内核过程略过

代码语言:javascript
复制
[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 ~]# 

修改启动顺序

代码语言:javascript
复制
#查看当前内核的排序
[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)
代码语言:javascript
复制
#选择新升级内核作为启动选
#这个是从排序是从0开始
grub2-set-default 0

重启

代码语言:javascript
复制
reboot

升级后启动界面

我们可以看到,新的内核已经是默认内核。

查看内核和文件

代码语言:javascript
复制
[root@localhost ~]# uname -r
5.4.278-1.el7.elrepo.x86_64
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是Linux内核
    • 升级内核
    相关产品与服务
    云服务器
    云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档