当前位置:首页 » 操作系统 » 修改linux版本号

修改linux版本号

发布时间: 2023-06-14 08:12:50

⑴ 如何查询linux内核版本

如何查询Linux内核版本

终端下输入
[xxxx@ ~]uname -r
3.5.0-34-generic

查看内核版本命令:
1) [root@q1test01 ~]# cat /proc/version

Linux version 2.6.9-22.EL *** p ([email protected].) (g version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005

2) [root@q1test01 ~]# uname -a
Linux
q1test01 2.6.9-22.EL *** p #1 SMP Mon Sep 19 18:00:54 EDT 2005 x86_64
x86_64 x86_64 GNU/Linux3) [root@q1test01 ~]# uname -r2.6.9-22.EL *** p

如何查询Linux内核函数

如果要看这两个函数在标准库中的定义用ctags或cscope生成索引.h,cscope,可以跳转到函数定义,man malloc,声明见stdlib。
如果仍然找不到,可以用ctags,si或grep。
windows下用source insight也可,然后查找函数定义,用grep -r 搜索关键字,atoi和malloc在C的标准库中有定义。
1.安装ctags
在源代码目录下运行
ctags -R
这样,会递归生成当前目录下及其子目录的tags文件。
2.使用VIM根据tags文件查找函数或结构定义。
1.在源码目录下查找
vi -t tagname
2.如果要在任意位置使用,则需要把该tags文件添加到~/.vimrc文件中
set tags=/home/money/sda8/2.6232/tags
3.如果要在代码中实时跟踪,则光标移动到函数名上,使用CTRL+]键,按CTRL+t可以返回。
如果要跟踪系统函数,使用shift+K可以自动跳转道光标所在函数的手册。

如何分析LINUX内核2.6.29版本

uname -a 显示版本号,是这意思吗?

这个问题洞桥太大了,近似于说:请教下我怎么编写一个Linux内核。
分析内核唯一可以做的就是一行行看代码,Linux早期版本有完整的代码分析,如果是指定2.6.29的话,猛唤那估计有人做出来就可以出书收钱了……

如何根据linux内核判断linux版本

在Linux内核的顶层Makefile中,顶端就有,格式为
VERSION = 3
PATCHLEVEL = 0
SUBLEVEL = 8
EXTRAVERSION =
NAME = Sneaky Weasel
以上的版本号就是3.08

如何修改linux内核版本号

得重新编译内核,之前修改源代码的顶层纳知猛目录下的Makefile文件,比如2.6.29.1内核的Makefile中:
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 29
EXTRAVERSION = .1

在Qt C/C++中怎样查询Linux内核版本号

查询Linux内核版本号可以调用uname函数,uname函数的函数原型是这样的:
int uname(struct utsname *name);
uname函数在调用时需要向它传递一个utsname结构体指针(或地址),uname函数会写入name参数指向的utsname结构体,Linux的内核版本号就保存在utsname结构体的release成员里面,代码就像下面这样:
struct utsname uts;
if(uname(&uts) >= 0) {
printf("The version is %s ", uts.release);
}
注意,使用uname函数需要包含sys/utsname.h头文件:
#include <sys/utsname.h>

⑵ linux版本信息和区别

查看内核版本命令:

1) [root@localhost~]# cat /proc/version

Linux version 2.6.18-238.el5 ([[email protected]](mailto:[email protected])) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)) #1 SMP Sun Dec 19 14:22:44 EST 2010





2)[root@localhost~]# uname -r

2.6.18-238.el5



3)[root@localhost~]# uname -a

Linux SOR_SYS.99bill.com 2.6.18-238.el5 #1 SMP Sun Dec 19 14:22:44 EST 2010 x86_64 x86_64 x86_64 GNU/Linux



查看linux版本:

1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如:



[root@localhost~]# lsb_release -a

LSB Version:    :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch

Distributor ID: RedHatEnterpriseAS

Description:    Red Hat Enterprise Linux AS release 4 (Nahant Update 4)

Release:        4

Codename:      NahantUpdate4



注:这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。

2) 登录到linux执行cat /etc/issue,例如如下:



[root@localhost~]# cat /etc/issue

Red Hat Enterprise Linux Server release 5.6 (Tikanga)

Kernel \r on an \m

- 3) 登录到linux执行cat /etc/redhat-release ,例如如下:

- [root@localhost~]# cat /etc/redhat-release

  Red Hat Enterprise Linux AS release 4 (Nahant Update 4)

- 注:这种方式下可以直接看到具体的版本号,比如 AS4 Update 1

另:第3)、4)两种方法只对Redhat Linux有效

5) [root@localhost~]# file /bin/bash

/bin/bash: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped





6) [root@localhost~]# file /bin/cat

/bin/cat: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped



linux版本信息说明

Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3个数字组成:r.x.y



  r:目前发布的内核主版本。

  x:偶数表示稳定版本;奇数表示开发中版本。

  y:错误修补的次数。



内核版本号每位都代表什么 ?



•以版本号为例: 2.6.18-128.ELsmp ,



•r:  2 , 主版本号



•x:  6 , 次版本号,表示稳定版本



•y:  18 , 修订版本号 , 表示修改的次数,头两个数字合在一齐可以描述内核系列。如稳定版的2.6.0,它是2.6版内核系列。



•128:  表示这个当前版本的第5次微调patch , 而ELsmp指出了当前内核是为ELsmp特别调校的



•EL :  Enterprise Linux  ; smp : 表示支持多处理器 , 表示该内核版本支持多处理器





amd和intel

amd和Intel这俩公司的渊源很深,早期时Intel先是自己搞了个x86架构,然后amd拿到了x86的授权也可以自己做x86了。接着intel向64位过渡的时候自己搞了个ia64(x64架构)但是因为和x86架构不兼容市场反应极差,amd率先搞了x86的64位兼容(32和64的混合架构)也就是后来的x86-64,后来Intel也拿到了生产这货的授权(i和a两家专利交叉的很严重),也搞了x86-64,因为amd先搞出来的所以x86-64也叫amd64



目前amd和Intel是世界上最大的两家x86和x86-64的cpu厂家(intel比较给力,四分天下有其三)。除了这两家还有几家小的公司也有x86的授权,比如via,不过技术水平真的很一般





x86

x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,ntel官方文档里面称为“IA-32”

早期的x86是cisc的代表,后来的发展中逐步引入了risc的部分理念,将内部指令的实现大量模块化,准确来说是一个cisc外加risc部分技术的架构。目前x86的主要产品有Intel的至强,酷睿,奔腾,赛扬和凌动;amd的锐龙,apu等。上文提到的x64架构目前只有intel 安腾而且已经放弃了产品线。



到目前为止intel和amd的x86架构cpu虽然指令集上有很大差别了但是还是相互兼容的,所以软件可以直接用。'



x84_64 与amd64

x84_64是x86 CPU开始迈向64位的时候,有2选择:1、向下兼容x86。2、完全重新设计指令集,不兼容x86。AMD抢跑了,比Intel率先制造出了商用的兼容x86的CPU,AMD称之为AMD64,抢了64位PC的第一桶金,得到了用户的认同。而Intel选择了设计一种不兼容x86的全新64为指令集,称之为IA-64(这玩意似乎就是安腾),但是比amd晚了一步,而且IA-64也挺惨淡的,因为是全新设计的CPU,没有编译器,也不支持windows(微软把intel给忽悠了,承诺了会出安腾版windows server版,但是迟迟拿不出东西)。。。后来不得不在时机落后的情况下也开始支持AMD64的指令集,但是换了个名字,叫x86_64,表示是x86指令集的64扩展,大概是不愿意承认这玩意是AMD设计出来的。

也就是说实际上,x86_64,x64,AMD64基本上是同一个东西,我们现在用的intel/amd的桌面级CPU基本上都是x86_64,与之相对的arm,ppc等都不是x86_64。

arm与mips

arm是risc的典型代表,不过在arm的发展过程中引入了部分复杂指令(完全没有复杂指令的话操作系统跑起来异常艰难),所以是一个risc基础外加cisc技术的cpu。



arm的主要专利技术在arm公司手中,像高通,三星,苹果这些公司需要拿到arm的授权。



另一个risc的典型处理器就是mips。mips是一个学院派的cpu,授权门槛极低,因此很多厂家都做mips或者mips衍生架构。我们平时接触到的mips架构cpu主要用在嵌入式领域,比如路由器。



目前最活跃的mips是中国的龙芯,其loongisa架构其实是mips的扩展。





mips mipsel mips64el 区别

- Debian目前提供3个端口,'mips','mipsel'和'mips64el'。 'mips'和'mipsel'端口分别是大端和小端变体,使用O32 ABI和硬件浮点。他们在Jessie中使用MIPS II ISA,在Stretch中使用MIPS32R2 ISA。 'mips64el'端口是一个64位小端端口,使用N64 ABI,硬件浮点和MIPS64R2 ISA。

- mips 是32位大端字节序

- mipsel 是32位小端字节序

⑶ Linux内核版本号的规则

Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3个数字组成:r.x.y

r:目前发布的内核主版本。
x:偶数表示稳定版本;奇数表示开发中版本。
y:错误修补的次数。

内核版本号每位都代表什么 ?

以版本号为例: 2.6.9-5.ELsmp ,

r: 2 , 主版本号

x: 6 , 次版本号,表示稳定版本

y: 9 , 修订版本号 , 表示修改的次数

头两个数字合在一齐可以描述内核系列。如稳定版的2.6.0,它是2.6版内核系列。

5: 表示这个当前版本的第5次微调patch , 而ELsmp指出了当前内核是为ELsmp特别调校的

EL : Enterprise Linux ; smp : 表示支持多处理器 , 表示该内核版本支持多处理器

知识延伸
一般的有三种
1 smp
2 bigmem
3 一般的内核

Red Hat Linux开机的时候,GRUB的启动菜单会有两个选项,分别是
Red Hat Enterprise Linux ES (版本号.ELsmp)
Red Hat Enterprise Linux ES-up (版本号.EL)
这两个分别是代表什么含义呢?
其实这个就是系统开机时由GRUB引导启动 - 单处理器 与 对称多处理器启动核心文件的区别。
Red Hat Enterprise Linux ES (版本号.ELsmp) multiple processor (symmetric multiprocessing )
Red Hat Enterprise Linux ES-up (版本号.EL) uniprocessor
下面就把SUSE与Red Hat启动菜单内可选择的选项,列举出来

SUSE
版本号-default: SUSE Linux kernel for uniprocessor machines 默认选项,支持单处理器机器
版本号-smp: SUSE Linux kernel that supports symmetric multiprocessing and up to 4 GB of RAM

支持4GB内存的对称多处理器机器
版本号-bigsmp: SUSE Linux kernel supports symmetric multiprocessing and up to 64 GB

支持64GB内存的对称多处理器机器
Red Hat Linux
版本号.EL: Red Hat Linux kernel for uniprocessor machines 支持单处理器机器
版本号.ELhugemem: Red Hat Linux kernel that supports up to 64 GB of RAM

支持64GB内存的对称多处理器机器
版本号.ELsmp: Red Hat Linux kernel that supports symmetric multiprocessing 对称多处理器机器,支持4G内存
有些情况下你需要支持1和2特性,那么你可以:重新编译一下内核,在处理器及内存选择项上选择与你配置相对应的选项即可。

如何下载对应内核版本的源代码 ?
一般情况下,可以直接到官网:http://www.kernel.org下载,

缺点是:对于任何内核做过特殊优化调校的发行版是不合适的,尤其是fedora ubuntu 这一类的,毕竟他们在内核中打了大量的补丁,做了很多优化,如果直接使用官方源码 ,你就无法享受到这些东西 ,内核不是越新越好的 越合适越好

因此最好到发行商的官网去下载,因为官方已经提供了编译好的源码rpm包。

如何使用对应的内核源码包 ?

以fedora官方提供的内核源码: kernel-2.6.23.9-85.fc8.src.rpm 为例

首先,安装源码

[root@lq ~]# rpm -ivh kernel-2.6.23.9-85.fc8.src.rpm

然后,转换源码
转换之前,请确保/usr/src/目录下有redhat目录(一般/usr/src/是空目录)。
[root@lq ~]# rpmbuild -bp --target=$(uname -m) /usr/src/redhat/SPECS/kernel.spec
这样会将源码放置在/usr/src/redhat/BUILD/kernel-2.6.23/。
这里有两个有用的文件夹:.
linux-2.6.23.ARCH——这个是kernel.org 提供的包经过Fedora 补丁和升级得到的。也就是 2.6.23.9-85.fc8 这个 打过补丁的内核
ARCH 与uname-m 的输出结果一致,通常为i686。如果你想得到不同的输出,你可以使用
“--target=”这个选项来进行指定。
vanilla——这个是标准的、由kernel.org 提供的没有经过补丁和升级的源码。

⑷ 如何编译linux版本

编译linux内核步骤:
1、安装内核
如果内核已经安装(/usr/src/目录有linux子目录),跳过。如果没有安装,在光驱中放入linux安装光盘,找到kernel-source-2.xx.xx.rpm文件(xx代表数字,表示内核的版本号),比如RedHat linux的RPMS目录是/RedHat/RPMS/目录,然后使用命令rpm -ivh kernel-source-2.xx.xx.rpm安装内核。如果没有安装盘,可以去各linux厂家站点或者www.kernel.org下载。
2、清除从前编译内核时残留的.o 文件和不必要的关联
cd /usr/src/linux
make mrproper
3、配置内核,修改相关参数,请参考其他资料
在图形界面下,make xconfig;字符界面下,make menuconfig。在内核配置菜单中正确设置个内核选项,保存退出
4、正确设置关联文件
make dep
5、编译内核
对于大内核(比如需要SCSI支持),make bzImage
对于小内核,make zImage
6、编译模块
make moles
7、安装模块
make moles_install
8、使用新内核
把/usr/src/linux/arch/i386/boot/目录内新生成的内核文件bzImage/zImage拷贝到/boot目录,然后修改/etc/lilo.conf文件,加一个启动选项,使用新内核bzImage/zImage启动。格式如下:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux-new ### 告诉lilo缺省使用新内核启动linux ###
append="mem=256M"
image=/boot/vmlinuz-2.2.14-5.0
label=linux
read-only
root=/dev/hda5
image=/boot/bzImage(zImage)
label=linux-new
read-only
root=/dev/hda5
保留旧有的启动选项可以保证新内核不能引导的情况,还可以进入linux进行其他操作。保存退出后,不要忘记了最重要的一步,运行/sbin/lilo,使修改生效。
9、重新生成ram磁盘
如果您的系统中的/etc/lilo.conf没有使用了ram磁盘选项initrd,略过。如果您的系统中的/etc/lilo.conf使用了ram磁盘选项initrd,使用mkinitrd initrd-内核版本号,内核版本号命令重新生成ram磁盘文件,例如我的Redhat 6.2:
mkinitrd initrd-2.2.14-5.0 2.2.14-5.0
之后把/etc/lilo.conf中的initrd指向新生成的initrd-2.2.14-5.0文件:
initrd=/boot/initrd-2.2.14-5.0
ram磁盘能使系统性能尽可能的优化,具体参考/usr/src/linux/Documents/initrd.txt文件
10、重新启动,OK!

热点内容
360的密码保护一般在哪里 发布:2025-03-29 21:49:23 浏览:51
net数据库测试 发布:2025-03-29 21:35:55 浏览:537
编程题鸟 发布:2025-03-29 21:35:51 浏览:284
安卓源码下载网站 发布:2025-03-29 21:30:48 浏览:200
linux文件管理系统 发布:2025-03-29 21:29:49 浏览:751
11位密码组合有多少种 发布:2025-03-29 21:25:26 浏览:498
我的世界外国服务器ip版 发布:2025-03-29 21:25:23 浏览:77
移动办公如何设置服务器址和端口 发布:2025-03-29 21:25:22 浏览:457
cf游戏源码 发布:2025-03-29 21:21:53 浏览:980
数据库功能树 发布:2025-03-29 21:20:13 浏览:469