欢迎来到福编程网,本站提供各种互联网专业知识!
您的位置:网站首页 > 操作系统 > Fedora

Fedora系统内核的安装和删除旧内核的教程

发布时间:1970-01-01 作者:derryzhang 来源:Derry的专栏
这篇文章主要介绍了Fedora系统内核的安装和删除旧内核的教程,即基本安装内核源码和删除升级过的残留的内核的方法.,需要的朋友可以参考下

安装内核源码

Fedora内核源码经过长时间的发展,很多用户对Fedora 12 都很了解了,这里我发表一下个人理解,和大家讨论讨论。目前也有中文版本的Linux,如REDHAT(红帽子),红旗Linux等。在国内得到了用户充分的肯定,主要体现在它的安全性和稳定性方面,它与Unix有许多类似之处。但目前这类操作系统目前使仍主要应用于中、高档服务器中。

安装Kernel Headers(头文件)

这个包提供Kernel Headers和makefiles足以应付kernel包中的模块编译。如果你需要安装驱动和某些第三方软件,你应该很需要Kernel Headers。如果一个驱动要求内核源码,那么也许安装Kernel Headers就已经足够了。Kernel Headers通过安装kernel-devel RPM包就可以得到。这个包可能没有被Fedora自动安装。这个软件包可以从你的Fedora DVD安装或者通过FTP和YUM在线安装。在Fedora软件仓库和Update软件仓库中在线查找同时确保他们与你的系统相匹配,使用uname命令。示例:

[wisfern@Wisfern ~]$ uname -rm

2.6.32.11-99.fc12.i686.PAE i686

如果你已经升级过你的kernel(使用yum),那么建议你使用yum来安装这个软件包。

[wisfern@Wisfern ~]$ sudo yum install kernel-PAE-devel

安装Kernel Source(内核源码)

一般来说无须安装Kernel Source除非你有一些特别的原因想要重新编译你的内核源码。无论如何Kernel hesders都是必须的。

围绕Kernel Sourcede的安装有三个基本步骤。

1.准备相关的环境

2.下载你想要的内核源码(与你当前的kernel想匹配如果需要)

3.安装SRC.RPM包

4.使用rpmbuild将源码转换成可用状态

NOTE: 以下的步骤将消耗至少400MB磁盘空间!

准备相关的环境

在开始安装之前,必须安装两个必要的软件包,分别是:rpmdevtools 和yum-utils,可以使用如下命令安装:

复制代码代码如下:

su -c ‘yum install yum-utils rpmdevtools’

安装你之前选择和下载的kernel.src.rpm,这个过程不能在root这个用户下进行!!

设置目录

复制代码代码如下:

rpmdev-setuptree

这个命令在当前的用户目录下生成了rpmbuild目录。

下载内核源码

通过’yum’来获得内核源码(对于最新的Fedora内核源码)

yum工具可以下载最新的内核源代码。如果没有找到,那么这里(还)没有任何更新,那就使用默认的Fedora内核源码。

复制代码代码如下:

[wisfern@Wisfern Desktop]# yumdownloader –source kernel (source选项前是两个-)

安装内核源码

安装依赖性软件

复制代码代码如下:

su -c ‘yum-builddep kernel-.src.rpm’

安装*.src.rpm包

复制代码代码如下:

[wisfern@Wisfern Desktop]#sudo rpm -ivh kernel-2.6.32.11-99.fc12.src.rpm

1:kernel ########################################### [100%]

在安装的过程中,如果出现如下错误:

warning: user mockbuild does not exist – using root

warning: group mockbuild does not exist – using root

新建一个组和一个帐号就好了。

复制代码代码如下:

#gourpadd mockbuild

#useradd mockbuild -g mockbuild

然后再重新安装

准备内核源码

将源码转成可用状态:

进入SPECS目录

复制代码代码如下:

cd ~/rpmbuild/SPECS

执行以下命令

复制代码代码如下:

rpmbuild -bp –target=$(uname -m) kernel.spec (target选项前是两个-)

源文件可以在~/rpmbuild/BUILD/kernel-2.6.32目录中找到。这里有两个有用的目录。

1.linux-2.6.32.i686/arch

这里有包含了Fedora 补丁和更新的标准kernel.org内核源码。系统架构与uname -m的输出相匹配,一般来说是i686 ,如果你想,你可以让–target=选项使用noarch参数。

2.vanilla-2.6.32/

这里只包含标准的kernel.org的kernel(没有补丁和更新).

NOTE: Fedora编译和配置内核源码的详细过程可以在Fedora Wiki中找到。

删除旧内核

由于Fedora更新升级非常的频繁, 所以, 非常有必要清除陈旧的内核,方法如下:

1. 查看当前系统中已安装的内核相关包:

复制代码代码如下:

[root@www.jb51.net ~]# rpm -qa | grep kernel

kernel-headers-2.6.32.12-115.fc12.i686

kernel-firmware-2.6.32.12-115.fc12.noarch

kernel-PAE-devel-2.6.32.11-99.fc12.i686

kernel-devel-2.6.32.12-115.fc12.i686

kernel-PAE-2.6.32.11-99.fc12.i686

kernel-PAE-devel-2.6.32.12-115.fc12.i686

kernel-PAE-2.6.32.12-115.fc12.i686

kernel-devel-2.6.32.11-99.fc12.i686

abrt-addon-kerneloops-1.0.9-2.fc12.i686

2. 查看当前使用的内核:

复制代码代码如下:

[root@www.jb51.net ~]# uname -r

2.6.32.12-115.fc12.i686.PAE

3. 确定要删除的内核:

这里为:kernel-PAE-2.6.32.11-99.fc12.i686[/code]

4. 删除内核:

复制代码代码如下:

[root@www.jb51.net ~]# yum remove kernel-PAE-2.6.32.11-99.fc12.i686

说明:

不推荐网上到处抄来抄去的,直接使用: rpm -e 的方法删除内核包, 而是使用 yum remove 进行删除,

因为使用yum remove删除, yum 会自动移除 : /boot/grub/menu.lst 中的相关启动项。

相关推荐