首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用内核名称(不是当前内核)获取内核版本

如何使用内核名称(不是当前内核)获取内核版本
EN

Stack Overflow用户
提问于 2011-07-19 19:46:21
回答 4查看 4.5K关注 0票数 1

简单地说,我想清理旧内核的模块。它是"uname“,但我需要用-r获取所有内核的此类信息(我已经知道它们的名称,并且可以清理内核文件、initramfs和System.map)。如果可能的话..。

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-07-19 20:02:30

uname命令报告正在运行的内核,因此它对您没有帮助。但是这些模块都存储在/lib/modules下。下面的程序可以将它们全部清除。

代码语言:javascript
复制
#!/usr/bin/python2

import os
import shutil

moddirs = os.listdir("/lib/modules")
moddirs.remove(os.uname()[2])

for d in moddirs:
    shutil.rmtree(os.path.join("/lib/modules", d))
票数 3
EN

Stack Overflow用户

发布于 2011-07-19 19:59:09

可能有点粗糙,但您可以尝试在/boot中查找

代码语言:javascript
复制
aix@aix:~$ ls -al /boot/vmlinu[xz]-*
-rw-r--r-- 1 root root 4050848 2010-09-16 19:24 /boot/vmlinuz-2.6.32-24-generic
-rw-r--r-- 1 root root 4050592 2010-10-16 21:37 /boot/vmlinuz-2.6.32-25-generic
-rw-r--r-- 1 root root 4050080 2010-11-24 10:58 /boot/vmlinuz-2.6.32-26-generic
-rw-r--r-- 1 root root 4049888 2010-12-02 04:42 /boot/vmlinuz-2.6.32-27-generic
-rw-r--r-- 1 root root 4052512 2011-01-11 00:27 /boot/vmlinuz-2.6.32-28-generic
-rw-r--r-- 1 root root 4053280 2011-02-11 21:37 /boot/vmlinuz-2.6.32-29-generic
-rw-r--r-- 1 root root 4055488 2011-03-02 01:24 /boot/vmlinuz-2.6.32-30-generic
-rw-r--r-- 1 root root 4055840 2011-04-08 23:26 /boot/vmlinuz-2.6.32-31-generic
-rw-r--r-- 1 root root 4049376 2011-04-20 23:38 /boot/vmlinuz-2.6.32-32-generic
-rw-r--r-- 1 root root 4050464 2011-07-08 02:00 /boot/vmlinuz-2.6.32-33-generic

这些是安装在我的机器上的内核。

或者,在Debian类型的发行版(例如Ubuntu)上,您可以运行:

代码语言:javascript
复制
aix@aix:~$ dpkg --list | grep linux-image
ii  linux-image-2.6.32-24-generic                               2.6.32-24.43                                    Linux kernel image for version 2.6.32 on x86
ii  linux-image-2.6.32-25-generic                               2.6.32-25.45                                    Linux kernel image for version 2.6.32 on x86
ii  linux-image-2.6.32-26-generic                               2.6.32-26.48                                    Linux kernel image for version 2.6.32 on x86
ii  linux-image-2.6.32-27-generic                               2.6.32-27.49                                    Linux kernel image for version 2.6.32 on x86
ii  linux-image-2.6.32-28-generic                               2.6.32-28.55                                    Linux kernel image for version 2.6.32 on x86
ii  linux-image-2.6.32-29-generic                               2.6.32-29.58                                    Linux kernel image for version 2.6.32 on x86
ii  linux-image-2.6.32-30-generic                               2.6.32-30.59                                    Linux kernel image for version 2.6.32 on x86
ii  linux-image-2.6.32-31-generic                               2.6.32-31.61                                    Linux kernel image for version 2.6.32 on x86
ii  linux-image-2.6.32-32-generic                               2.6.32-32.62                                    Linux kernel image for version 2.6.32 on x86
ii  linux-image-2.6.32-33-generic                               2.6.32-33.70                                    Linux kernel image for version 2.6.32 on x86
ii  linux-image-generic                                         2.6.32.33.39                                    Generic Linux kernel image

基于RPM的发行版(例如RedHat)需要类似以下内容:

代码语言:javascript
复制
$ rpm -qa kernel
kernel-2.6.18-128.7.1.el5
kernel-2.6.18-128.2.1.el5
kernel-2.6.18-194.17.4.el5
票数 0
EN

Stack Overflow用户

发布于 2011-07-19 19:59:36

正如@utdemir指出的那样,没有每个人都必须遵守的内核路径,但有许多发行版遵循的Fileystem Hierarchy Standard。根据FSH的说法,内核文件应该位于/boot中,并被称为vmlinux/vmlinuz (未压缩/压缩)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6746614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档