<b>Linux内核入门,包教会</b>[Linux安全]
本文“<b>Linux内核入门,包教会</b>[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
这年初,Linux成了一个时髦词.自夸对电脑玩的精通的学生和IT人士们,没有哪个不在自己的电脑上安装1、两个Linux,并自觉赶上了时髦.但是,在Ubuntu或SUSE的论坛中,常常有这样的对话:
“你学Linux学了这么久,都学到了什么?”
“哦,我目前Linux的安装、进级、桌面美化都很纯熟!你看我这是最新版的Ubuntu,桌面很漂亮吧!”
“……”
Linux社区中有一句名言:假如你进入你的操作系统不知道该做什么,那最好还是关掉电脑,一定有更重要的事等着你去做.说真的,假如对Linux号令不纯熟,真的不能算是学过Linux.但是另一方面,Linux内核固然是普通用户可学可不学的内容,但可以说倒是Linux操作系统中最好玩的部份.特别关于开辟者而言,Linux内核开辟绝对是最抱负的磨练场所.51CTO编辑一向认为,国外之所以IT技术大拿林立,和他们从小接触类UNIX系统、把玩内核开辟是脱不了关系的.
下面是Linux内核开辟者Robert Love写的一篇入门文章,号称“包教会”,举荐对Linux内核开辟感爱好的学生、Linux爱好者、开辟者以及系统管理员们一定不要错过.当然,固然标题说是包教会,你大概需求一定的Linux号令以及C语言的底子.
以下是正文内容:
Linux内核一向都被视为学习Linux最难的一块,相信大家也一定看过不少关于内核的文章,但扪心自问,你目前毕竟掌握了多少?本文将从零开始介绍被视为高深的Linux内核,内容触及内核源代码的下载,编译,安装,以及内核开辟相关的内容.
若何获得Linux内核源代码
下载Linux内核当然要去官方网站了,网站供应了两种文件下载,一种是完好的Linux内核,另一种是内核增量补钉,它们都是tar归档紧缩包.除非你有分外的缘由需求利用旧版本的Linux内核,不然你应当老是进级到最新版本.
利用Git
由Linus领头的内核开辟部队从几年前就开始利用Git版本掌握系统管理Linux内核了(参考阅读:什么是Git?),而Git项目本身也是由Linus成立的,它和传统的CVS不一样,Git是分布式的,因此它的用法和工作流程很多开辟人员大概会感到很陌生,但我激烈倡议利用Git下载和管理Linux内核源代码.
你可以利用下面的Git号令获得Linus内核代码树的最新“推送”版本:
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
然后利用下面的号令将你的代码树与Linus的代码树最新状况同步:
$ git pull
安装内核源代码
内核包有GNU zip(gzip)和bzip2格局.Bzip2是默许和首选格局,因为它的紧缩比普通比gzip更好,bzip2格局的Linux内核包普通采取linux-x.y.z.tar.bz2情势的文件名,这里的x.y.z是内核源代码的具体版本号,下载到源代码包后,解压和抽取就很简单了,假如你下载的是bzip2包,运行:
$ tar xvjf linux-x.y.z.tar.bz2
假如你下载的是gzip包,则运行:
$ tar xvzf linux-x.y.z.tar.gz
无论履行上面哪一个号令,最后城市将源代码解压和抽取到linux-x.y.z目录下,假如你利用Git下载和管理内核源代码,你不需求下载tar包,只需求运行git clone号令,它就会自动下载和解压.
内核源代码普通城市安装到/usr/src/linux下,但在开辟的时刻最好不要利用这个源代码树,因为针对你的C库编译的内核版本普通也链接到这里的.
利用补钉
Linux内核开辟人员会将自己的改正做成补钉与别的人员分享,并且补钉是增量的,增量补钉是从一个内核树移动到另一个内核树的有效办法,不用下载完好的内核包便可以进级内核,不但可节俭带宽,也节俭了内核进级时间,利用补钉之前先进入内核源代码树所在目录,然后运行:
$ patch –p1 < ../patch-x.y.z
注意,补钉包也有明确的版本号,这里的版本号与Linux内核源代码的版本号要一致,内核和补钉版本号不一致时,强迫利用补钉会惹起意想不到的后果.
内核源代码树介绍
内核源代码树分为很多目录,它们下面又包含很多子目录,源代码树的顶级目录及其描写拜见下表.
目录 | 描写 |
arch | 特定架构的源代码 |
block | 块I/O层 |
crypto | 加密API |
Documentation | 内核源代码文档 |
drivers | 设备驱动 |
firmware | 利用某个驱动需求的设备固件 |
fs | VFS和独立文件系统 |
include | 内核头 |
init | 内核启动和初始化 |
ipc | 进程间通信 |
kernel | 核心子系统,如调度器 |
lib | 助手例路程序 |
mm | 内存管理子系统和VM |
net | 网络子系统 |
samples | 示例,示范代码 |
scripts | 用于生成内核的脚本 |
security | Linux安全模块 |
sound | 声音子系统 |
usr | 早期的用户空间代码(叫做initramfs) |
tools | 帮助Linux开辟的工具 |
virt | 虚拟化底子设备 |
在源代码树的根目录下还有很多文件需求阐明,COPYING是内核答应描写文件(即GNU GPL v2),CREDITS是参与Linux内核的开辟人员名单,MAINTAINERS列出了保护各个子系统和驱动的个人,Makefile是内核Makefile的底子.
以上是“<b>Linux内核入门,包教会</b>[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |