Linux Kernel版本号后面的加号如何去除?
发布时间:2022-04-25 12:28:13
不少朋友在编译Linux Kernel的时候,生成的RPM包中的版本号都莫名其妙地带着一个加号,这可能是因为修改了Linux.git中的文件。那么如何去除Linux Kernel版本号后面的加号?可以参考以下方法。
内核版本号是根据Makefile里提供的数字生成的。打开Makefile,文件开始可以看到:
1 VERSION = 3
2 PATCHLEVEL = 10
3 SUBLEVEL = 28
4 EXTRAVERSION =
5 NAME = TOSSUG Baby Fish
和内核版本号生成相关的文件是 scripts/setlocalversion, 其中有如下的部分脚本:
# scm version string if not at a tagged commit
if test “$CONFIG_LOCALVERSION_AUTO” = “y”; then
# full scm version string
res=“$res$(scm_version)”
else
# append a plus sign if the repository is not in a clean
# annotated or signed tagged state (as git describe only
# looks at signed or annotated tags - git tag -a/-s) and
# LOCALVERSION= is not specified
if test “${LOCALVERSION+set}” != “set”; then
scm=$(scm_version --short)
res=“$res${scm:++}”
fi
fi
如果
CONFIG_LOCALVERSION_AUTO
没有被配置, LOCALVERSION 也没有数值,那么,根据上面的脚本,+号就不会被添加了。
实际在编译代码的时候,可以执行:
LOCALVERSION= make
另外,在文件scripts/setlocalversion里面,有一句:
if test -d .git && head=`git rev-parse --verify --short HEAD 2》/dev/null`;
git rev-parse 是为了取出最近的 commit的id:
$ git rev-parse --verify --short HEAD
e77fcc1
charles@taotao:~/code/linux-3.10.28$ git rev-parse --verify HEAD
e77fcc1e9be7a0ab373f96d5b9d58e1136c8c4b0
或者用:
$ git log --pretty=format:‘%h’ -n 1
e77fcc1
${LOCALVERSION+set} 是variable expansion modfier.
它有一下几种形式:
${variable:–word}如果 variable被设置了一个不为空的值,那么这个表达式的值就是 variable的值;反之,则是 word的值(variable的值不变)
${variable:=word} 如果 variale被set或者值非空,那么这个表达式的值就是 variable的值; 反之,则是 word的值(variable的值被更新)
${variable:+word} 如果 variable被设置了一个不为空的值,那么这个表达式的值就是 variable的值;反之,为NULL。
${variable:offset} 获得字符串的一个子串(从variable字符串索引为 offset开始, offset值从0开始计算)
${variable:?word}如果 variable被设置了一个不为空的值,那么这个表达式的值就是 variable的值;否则,打印 word的值,退出。
${variable:offset:length}获得variable的字串(从 offset开始,长度为length)


猜你喜欢
- Win10电脑开启远程桌面能够帮助我们更好地控制另一端的电脑,那么我们要如何开启这项功能呢?接下来小编就和大家分享一下解决方法。操作方法如下
- 我们使用系统的过程中难免会打开视频文件,但是有的用户在打开视频文件的时候就会出现黑屏的情况,即使重启也没办法解决问题,那我们必须从根本进行解
- PPT怎么设置输出PDF文件的时候禁止打印?将ppt文件导出为pdf文件的时候,系那个让pdf文件禁止打印,该怎么设置呢?今天我们就来看看p
- win10系统删除的文件其实是可以恢复的,万一有隐私照片被别有用心的人恢复了,就大事了,该怎么彻底清除win10硬盘删除的文件呢?下面分享一
- 我们可以通过电脑的安全中心进行一些系统设置,但是最近有Win11用户跟小编反映自己打开Windows安全中心却显示英文,完全看不懂,这是怎么
- 一位用户反馈自己在使用Win8系统过程中,发现不少后台运行的服务会占用着整个系统的程序,因此就希望能够优化Win8需要 ,以便释放更多的运行
- EDIUS是一款专业的非线性视频编辑软件,操作简单非常适合编辑视频的新手,在之前的教程中也介绍了很多关于EDIUS的使用方法,今天小编继续为
- 最近Win11系统深受广大用户喜爱,那如何手动更新Win11呢?下文小编就为大家带来了详细的的安装教程,需要的朋友一起看看吧。手动安装Win
- 雷电模拟器如何连接网络?很多网友都想知道怎么用雷电模拟器来接家里的WIFI来上网,虽然雷电模拟器是不能够联网的,但是我们可以用它来模拟连接W
- win10系统桌面网络图标变成了英文怎么解决?很多时候,在用户不小心的误操作下,会导致系统产生变化,就有的用户发现自己的桌面上的网络图标变成
- PPT怎么设计多个方格组成的图片?ppt中想要给图片制作一些艺术效果,该怎么制作呢?下面我们就来看看ppt方格图片效果的制作方法,需要的朋友
- 有的时候某些表格的要求很严格,把高度限制住了,这样的话,自动换行功能就不行了,能不能设置为自动调整呢?是可以的,这时就需要让EXCEL自动调
- 系统文件指的是存放操作系统主要文件的文件夹,该文件夹中的文件直接影响系统的正常运行,一般情况下是不能随意改变的,下面为大家介绍下通过SFC命
- 人没有十全十美的,微软系统也是一样,它并不是完美的,总是出现这样或那样的小故障,让人措手不及,关于xp系统有很多小故障,所以我们要先来熟悉这
- 对于wps文档的制作,怎么样设置文档的背景图呢?对于常用WPS的朋友就再熟悉不过了,下面小编就为你介绍wps文字怎样设置背景图的方法啦。欢迎
- PS可以说是一款专业的图片编辑软件,有很多小伙伴都有在使用PS,而长时间的使用PS会导致软件拥有过多缓存从未会影响处理图片的速度,那么遇到这
- Win7系统桌面右下角经常会出现一个白色小旗的图标,这是Win7操作中心图标。如果操作中心有新的消息,就会在旗帜上显示已个红叉,让人看着就像
- 今天给大家分享一些常用的函数公式,可以有效的解决Excel中办公所需,0基础也可以轻松学会。建议收藏,在需要的时候可以直接套用函数。1、计算
- 最新的BIOS中英文对照表,支持当前的Intel Core i7、Intel Core i5系列设定,从本文所列BIOS大家可以
- 如果你想浏览一些国外的网站,那么使用代理超人是极其合适的,代理超人是一款全功能的代理搜索、验证、管理和调度软件。使用了这款软件,你就可以浏览