目录

  • 1 Linxu服务器配置与管理
    • 1.1 首页
    • 1.2 申报书
    • 1.3 项目介绍
    • 1.4 项目团队
    • 1.5 建设方案
    • 1.6 支出预算
    • 1.7 课程资源
  • 2 学习情境1 RedHat Linux基础操作
    • 2.1 学习情境1.1 RedHat Linux基本应用操作
    • 2.2 学习情境1.2 常见工具软件应用
    • 2.3 学习情境1.3 Linux系统用户与用户组的管理
  • 3 学习情境2 网络服务器架设
    • 3.1 学习情境2.1 DNS服务器架设
    • 3.2 学习情境2.2 DHCP服务的架设
    • 3.3 学习情境2.3 MySQL数据库架设
    • 3.4 学习情境2.4 Apache Web服务器架设
    • 3.5 学习情境2.5 vsftp FTP服务架设
    • 3.6 学习情境2.6 Sendmail电子邮件服务架设
    • 3.7 学习情境2.7 Helix流媒体的架设
  • 4 学习情境3 系统维护管理
    • 4.1 学习情境3.1 Linux核心管理与定制
    • 4.2 学习情境3.2 RAID磁盘阵列与LVM逻辑卷的管理应用
    • 4.3 学习情境3.3 Web集群服务器的架构
学习情境3.1 Linux核心管理与定制

学习情境3.1 Linux核心管理与定制

3.1.1 学习要点

1.知识点:理解内核功能的配置选项,能根据任务需求生成专用内核

2.技能点:掌握内核与模块的编译安装步骤,能使用新内核启动机器

3.1.2 任务描述

升级自己系统的内核,要求支持本机的千兆网卡设备,支持4G以上内存,支持NTFS文件系统,支持本地的硬件设备,比如CDROM。

3.1.3 相关知识

1 内核的概念

内核是操作系统最基本的部分,如图3.1.1所示。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的,所以内核通常提供一种硬件抽象的方法来完成这些操作。硬件抽象隐藏了复杂性,为应用软件和硬件提供了一套简洁、统一的接口,使程序设计更为简单。

严格地说,内核并不是计算机系统中必要的组成部分。程序可以直接地被调入计算机中执行,这样的设计说明了设计者不希望提供任何硬件抽象和操作系统的支持,它常见于早期计算机系统的设计中。最终,一些辅助性程序,例如程序加载器和调试器,被设计到机器核心当中,或者固化在只读存储器里。这些变化发生时,操作系统内核的概念就渐渐明晰起来了。

内核是一个操作系统的核心,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

Linux内核以独占的方式执行最底层任务,保证系统正常运行,协调多个并发进程,管理进程使用的内存,使它们相互之间不产生冲突,满足进程访问磁盘的请求等等。

图3.1.1 内核结构

2.为什么要升级内核

现有内核中会不断发现漏洞,需要打补丁后重新编译内核,以便系统能够更加安全的运行。

新的内核版本通常会带来用户所需要的新功能。

新的内核版本会支持较新的硬件设备正常工作。

正确地为主机配置个性化的内核会使系统运行得更加快速、稳定。

3.内核版本号

由于Linux的源程序是完全公开的,任何人只要遵循GPL,就可以对内核加以修改并发布给他人使用。Linux内核有两种:稳定的和处于开发中的。稳定内核具有工业级强度,可以广泛的部署和应用。

Linux通过内核的命名机制来区分内核是稳定的还是处于开发中的。这种机制使用三个“.”分隔的数字来表示不同内核。第一数字叫主版本号,第二个叫次版本号,第三个叫修订版本号。三个数字组成的版本号如果是偶数,那么内核就是稳定的,如果是奇数,则表示内核是处于开发中。如版本号2.6.0表示是一个稳定的。头两个数字在一起描述了内核的系列。

4.安装Linux内核源代码

Linux内核源代码以打包的形式提供,rpm和bz2两种格式的源码包的安装方法不同。

安装Red Hat Linux中的RPM内核源码包

#rpm-ivh kernel-source-2.6.27-8.i386.rpm

安装网络下载的内核源码包

#tar zxvf Linux-2.6.27.tar.gz

(1)配置内核前的准备工作

#cd/usr/src/kernels/Linux-2.6.27

进入内核源码目录后,才能够正确执行所有的内核配置、编译命令。

#makemrproper

在每次配置并重新编译内核前需要先执行“makemrproper”命令清理源代码树,包括过去曾经配置的内核配置文件“.config”都将被清除。

(2)内核模块的概念

内核模块简称模块,是一段可执行的程序,但是它可以被动态加载到内核中,并成为内核的一部分。

加载到内核里的模块具有与内核一样的权力,可以访问任何内核中的数据结构。

(3)内核的配置界面

文本交互配置界面

#make config

文本窗口配置界面(如图3.1.2所示):

#makemenuconfig

图3.1.2 文本窗口配置界面

图形窗口配置界面(如图3.1.3所示):

#make xconfig

图3.1.3 图形窗口配置界面

配置完成后保存退出,会根据原有配置文件自动生成新的配置文件.config。

5.内核功能的配置方法

图3.1.3中的圆中点是编译成可以随时加入的模块(以下简称M),方块中一勾是编译进入内核(以下简称Y),空就是不要(简称N)。

Y 配置某功能编译进内核。

M 配置某功能作为模块编译。

N 配置不使用某功能(既不编译进内核,也不作为模块编译)。

(1)可装载模块支持(如图3.1.4所示)

在通常的Linux系统中都需要对该项进行支持,否则内核将不能使用内核模块。

图3.1.4 可装载模块配置界面

(2)内核配置项———处理器(如图3.1.5所示)

图3.1.5 处理器配置界面

(3)内核配置项———常规设置(如图3.1.6所示)

图3.1.6 内核配置界面

(4)内核配置项———网络设置(如图3.1.7所示)

图3.1.7 网络设置界面

在完成对内核的配置后,选择“Save and Exit”按钮保存并退出配置界面。

注:具体内核编译配置选项可参考金步国先生翻译的资料《内核编译配置选项》

网址http://lamp.Linux.gov.cn/Linux/kernel_options.html

6.内核与模块的编译、安装步骤

make: 编译。

makemodules:编译内核模块。

makemodules_install: 安装内核模块。

make install: 安装内核。

GRUB引导配置(如图3.1.8所示):

内核安装过程会对在GRUB启动引导器的配置文件“grub.conf”进行自动修改,添加对新内核的引导。

图3.1.8 GRUB引导配置

如图3.1.8所示是新内核安装完成后,在GRUB开机管理文件/boot/grub/grub.conf文件中新增加的一个内核引导菜单。

使用新内核启动:

#reboot

重新启动系统,并选择新内核进行引导。

3.1.4 任务实施

升级自己系统的内核,要求支持本机的千兆网卡设备,支持4G以上内存,支持NTFS文件系统,支持本地的硬件设备,比如CDROM。

任务步骤如下:

1.下载新kernel

(1)从http://www.kernel.org下载最新的kernel文件Linux-2.6.27.tar.gz到自己的Linux服务器

(2)解压kernel

#cd/usr/src/kernels

#tar xvzf Linux-2.6.27.tar.gz

2.编译配置内核功能选项

在控制台上登陆gnome的图形界面:

#cd/usr/src/kernels/Linux-2.6.27

#make xconfig

支持本机的千兆网卡设备

Device Drivers(设备驱动程序)→Network device support(网络设备)→Ethernet(1000 Mbit)(目前已成装机主流的1000M网卡)

选择自己本机系统的千兆网卡设备,比如sis191gigabit类型,用鼠标勾上圆点,加到内核模块中,如图3.1.9所示。

图3.1.9 千兆网卡设备配置界面

支持4G以上内存

Processor type and features(中央处理器(CPU)类型及特性)→High Memory Support,最高内存支持,总内存小于等于1G的选“off”,大于4G的选“64G”,如果内存大于4G,选择PAE(物理地址扩展)支持(如图3.1.10所示)。

图3.1.10 高内存支持配置界面

支持NTFS文件系统

File systems(文件系统)→DOS/FAT/NT Filesystems(DOS/Windows的文件系统)→NTFS file system support,用鼠标勾上圆点,加到内核模块中,如图3.1.11所示。

图3.1.11 NTFS文件系统支持配置界面

支持本地的硬件设备cdrom

(1)Device Drivers(设备驱动程序)→Block devices(块设备)→Packetwriting on CD/DVD media(CD/DVD刻录支持),用鼠标勾上圆点,加到内核模块中,如图3.1.12所示。

Enable write caching选项:为CD-R/W设备启用写入缓冲。

图3.1.12 CD/DVD支持配置界面

(2)Device Drivers(设备驱动程序)→ATA/ATAPI/MFM/RLL support(通常是IDE硬盘和ATAPI光驱,纯SCSI系统且不使用这些接口可以不选)→Include IDE/ATAPICDROM support(有IDE光驱的就选),用鼠标勾上圆点,加到内核模块中,如图3.1.13所示。

图3.1.13 IDE接口光驱支持配置界面

完成配置后保存退出

#make

编译时间根据自己的硬件环境一般20分钟左右。

3.模块的编译与安装

#makemodules

#makemodules_install

新的模块存放在/lib/modules/2.6.27目录,2.6.27是新内核的版本号。

4.内核的安装

#make install

这个是安装内核的过程。

5.grub开机菜单的管理

查看/boot/grub/grub.conf开机管理配置文件

#cat/boot/grub/grub.conf

default=0//默认启动第num+1行选项,也就说default=0,则默认启动菜单第1行的操作系统

timeout=5//设置在5秒之后引导默认的操作系统,如果设成-1,则GRUB会一直等待直到用户选择一个选项为止

splashimage=(hd0,1)/boot/grub/splash.xpm.gz//指定启动菜单的背景文件(xpm图像或其gzip)压缩文件

Hiddenmenu//隐藏启动菜单

title RedHat Enterprise Linux Server(2.6.27)//后面的字符就是在菜单项上所看见的选项

root(hd0,1)//设置GRUB的根设备(root)为Linux内核所在分区。hd0是指第一个硬盘(主硬盘),(hd0,1)是指第一个硬盘的第二个分区

kernel/boot/vmlinuz-2.6.27 ro root=LABEL=/rhgb quiet//指出Linux内核文件的路径在/boot/vmlinuz-2.6.27中,root=/dev/hda2是指把第一个硬盘的第二个分区作为根挂载点

initrd/boot/initrd-2.6.27.img//加载镜像文件,ramdisk是一种基于内存的虚拟文件系统,通常用于放置内核的中间数据。而initrd全称为“boot loader initialized RAM disk”,也就是由启动加载器所初始化的RamDisk设备,它的作用是完善内核的模块机制。只有把ext3的支持作为模块编译并且打开scsi支持时才需要initrd-2.6.27.img

title Red Hat Enterprise Linux Server(2.6.18-92.el5PAE)

root(hd0,1)

kernel/boot/vmlinuz-2.6.18-92.el5PAE ro root=LABEL=/rhgb quiet initrd/boot/initrd-2.6.18-92.el5PAE.img title windows

rootnoverify(hd0,0)//设置Grub的根设备(root)为Windows系统所在分区,但不加载文件系统。root(hd0,0)是指第一个硬盘上的第一个分区

chainloader+1//调用Windows分区的引导器引导Windows系统灰色的部分是kernel自动增加的部分。

3.1.5 考核要点

表3.1.1 《Linux核心管理与定制》考核标准

3.1.6 能力拓展

升级自己系统的内核,要求

(1)支持本机的千兆网卡设备

(2)支持4G以上内存

(3)支持NTFS文件系统

(4)支持本地的硬件设备,比如CDROM