linux源代码安装,centos7安装源

今天给各位分享linux源代码安装的知识,其中也会对centos7安装源进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

我安装了linux,怎么才能看到源代码呢

linux内核的源代码都在www.hernel.org的/pub/linux目录下软件的源代码在该一般项目主页或发行版的“源”,或其他开源软件的网站or:随着linux的逐步普及,现在有不少人对于Linux的安装及设置已经比较熟悉了。与Linux的蓬勃发展相适应,想深入了解Linux的也越来越多。而要想深入了解Linux,就需要阅读和分析linux内核的源代码。 Linux的内核源代码可以从很多途径得到。一般来讲,在安装的linux系统下,/usr/src/linux目录下的东西就是内核源代码。另外还可以从互连网上下载,解压缩后文件一般也都位于linux目录下。内核源代码有很多版本,目前最新的稳定版是2.2.14。许多人对于阅读Linux内核有一种恐惧感,其实大可不必。当然,象Linux内核这样大而复杂的系统代码,阅读起来确实有很多困难,但是也不象想象的那么高不可攀。只要有恒心,困难都是可以克服的。也不用担心水平不够的问题,事实上,有很多事情我们不都是从不会到会,边干边学的吗?任何事情做起来都需要有方法和工具。正确的方法可以指导工作,良好的工具可以事半功倍。对于Linux内核源代码的阅读也同样如此。下面我就把自己阅读内核源代码的一点经验介绍一下,最后介绍Window平台下的一种阅读工具。对于源代码的阅读,要想比较顺利,事先最好对源代码的知识背景有一定的了解。对于linux内核源代码来讲,我认为,基本要求是:1、操作系统的基本知识;2、对C语言比较熟悉,最好要有汇编语言的知识和GNU C对标准C的扩展的知识的了解。另外在阅读之前,还应该知道Linux内核源代码的整体分布情况。我们知道现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序、网络等组成。看一下Linux内核源代码就可看出,各个目录大致对应了这些方面。Linux内核源代码的组成如下(假设相对于linux目录):arch这个子目录包含了此核心源代码所支持的硬件体系结构相关的核心代码。如对于X86平台就是i386。include这个目录包括了核心的大多数include文件。另外对于每种支持的体系结构分别有一个子目录。init此目录包含核心启动代码。mm此目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm目录下,如对应于X86的就是arch/i386/mm/fault.c。drivers系统中所有的设备驱动都位于此目录中。它又进一步划分成几类设备驱动,每一种也有对应的子目录,如声卡的驱动对应于drivers/sound。ipc此目录包含了核心的进程间通讯代码。modules此目录包含已建好可动态加载的模块。fs Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext2文件系统对应的就是ext2子目录。kernel主要核心代码。同时与处理器结构相关代码都放在arch/*/kernel目录下。net核心的网络部分代码。里面的每个子目录对应于网络的一个方面。lib此目录包含了核心的库代码。与处理器结构相关库代码被放在arch/*/lib/目录下。scripts此目录包含用于配置核心的脚本文件。Documentation此目录是一些文档,起参考作用。清楚了源代码的结构组成后就可以着手阅读。对于阅读方法或者说顺序,有所谓的纵向与横向之分。所谓纵向就是顺着程序的执行顺序逐步进行;所谓横向,就是分模块进行。其实他们之间不是绝对的,而是经常结合在一起进行。对于Linux源代码来讲,启动的代码就可以顺着linux的启动顺序一步一步来,它的大致流程如下(以X86平台为例):./larch/i386/boot/bootSect.S-->./larch/i386/boot/setup.S-->./larch/i386/kernel/head.S-->./init/main.c中的start_kernel()。而对于象内存管理等部分,则可以单独拿出来进行阅读分析。我的体会是:开始最好按顺序阅读启动代码,然后进行专题阅读,如进程部分,内存管理部分等。在每个功能函数内部应该一步步来。实际上这是一个反复的过程,不可能读一遍就理解。俗话说:“工欲善其事,必先利其器”。阅读象Linux核心代码这样的复杂程序令人望而生畏。它象一个越滚越大的雪球,阅读核心某个部分经常要用到好几个其他的相关文件,不久你将会忘记你原来在干什么。所以没有一个好的工具是不行的。由于大部分爱好者对于Window平台比较熟悉,并且还是常用Window系列平台,所以在此我介绍一个Window下的一个工具软件:Source Insight。这是一个有30天免费期的软件,可以从www.sourcedyn.com下载。安装非常简单,和别的安装一样,双击安装文件名,然后按提示进行就可以了。安装完成后,就可启动该程序。这个软件使用起来非常简单,是一个阅读源代码的好工具。它的使用简单介绍如下:先选择Project菜单下的new,新建一个工程,输入工程名,接着要求你把欲读的源代码加入(可以整个目录加)后,该软件就分析你所加的源代码。分析完后,就可以进行阅读了。对于打开的阅读文件,如果想看某一变量的定义,先把光标定位于该变量,然后点击工具条上的相应选项,该变量的定义就显示出来。对于函数的定义与实现也可以同样操作。别的功能在这里就不说了,有兴趣的朋友可以装一个Source Insight,那样你阅读源代码的效率会有很大提高的。怎么样,试试吧!

如何将Linux源码安装到你的计算机上linux源码安装

Linux源码安装过程之前需要准备一个Linux环境,具体方法,可参考将Linux安装到虚拟机上。确保该环境可以正确使用后,就可以着手源码安装步骤。

1.首先,下载Linux源码包

有很多渠道可以下载Linux源码。可以从Linux官方站点,各大社区以及github等热门网站上自行下载最新的源码。

2.配置环境变量

从Linux环境中安装源码之前,需要在终端里设置编译源码的环境变量。需要先运行如下命令,来配置编译环境:

Hecho“export CC=/usr/bin/gcc”

Hecho“export CXX=/usr/bin/g++”

Hecho“export CPLUS_INCLUDE_PATH=/usr/include/c++/4.4/:/usr/include/c++/4.4/i686-linux-gnu”

3.展开源码包

在指定的目录下展开源码包,同样需要从终端执行,下面是展开源码的具体命令:

Tar-xVf x.tar.gz#假设下载的源码包名称为x.tar.gz

4.进入源码文件夹并编译

进入到解压缩出来的源码文件夹,然后执行编译操作,具体命令如下:

Cd#假设解压缩出来的文件夹叫做

Hecho“./configure”

Hecho“make”

Hecho“make install”

5.安装完成

完成上述步骤后,当出现install成功提示时,就表明Linux源码安装成功。然后可以验证是否正确安装,运行命令如下:

Hecho“uname-a”

如果出现类似 Linux x xx xx xx xx xx,表明源码安装没有问题,安装及验证均成功完成。

总结:Linux源码的安装确实有一定的难度,但只要理解大致的步骤和命令,也是可以完成的。安装完成后,用户还可以继续修改环境设置,更好的调试Linux源码。

linux中源代码包安装的基本步骤是什么

详解linux源码包安装过程

1.解压缩包

可以通过下载或其他方式获得了一个软件包,通常它是一个压缩文件,大部分可能是存档的和压缩的,这些文件一般以.tar.gz为扩展名。

首先拷贝它到一个目录,然后 untar和 gunzip解压它。通常这个命令是

tar xzvf filename [filename是软件文件名称]

解压后的文件一般会在当前目录下的创建子目录,并以这个包名来命名。你也可以用用这个命令预先查看结果 tar tzvf filename,显示包里有那些解压文件。

源文件如果是新的 bzip2(.bz2)格式,可用

bzip2-cd filename| tar xvf-,或更简单的 tar xyvf filename,这很不错的tar命令被不断的完善。

说明:

A:有时候一些文件必须安装在用户的 home目录下,或更多的是在一个固定的目录,比如/,/usr/src,或/opt。所以必须仔细阅读安装包的配置信息。当一个软件包里如果有config和 Makefiles文件则最好去编辑它,这里包括了安装指令和说明。提示:你改变 makefile会导致不同的结果。大部分软件包允许用 make install自动处理安置二进制文件在适当的系统位置。

B:你可能碰到过一些共享文件、shell存档文件、尤其是 Internet上的源码新闻组。它们保留的原因是具有人性化的可读性,并且允许新闻组缓冲并通过它们筛选和剔除出不合格的。它们可能用 unshar filename.shar命令来解压。

C:一些源码存档文件是用非标准的 DOS,Mac或其他压缩的比如:

zip, arc, lha, arj, zoo, rar, and shk.

D:有时候,你可能需要使用一个 patch或显示改变了的 diff文件来升级或修复存档的源码文件。这 doc文件或者 README文件将告诉你怎么去使用。一个很好的命令用标准语法来调用的命令是 patch< patchfile.

2:关于 rpm安装包

一些 Linux用户惧怕通过使用源码来手动安装软件包,不过现在有方便的 rpm和 deb或新格式的 slp包。例如:rpm安装运行平稳又快,作为一个软件安装在某几个有名的操作系统。

作为方便的RPM包也存在很多不好的缺点,例如:

A:要了解软件中更多更详细的内容你必须去在二进制中去了解,而不是rpm包。

B:还有安装一个 rpm包如果需要依赖关系那么安装就可能会导致失败。

C:当 rpm请求你系统中不同版本的库,那么安装将不能继续,除非你为错误的库位置创建连接符号到正确的位置。

说明:必须使用root安装 rpm和 deb。因为它需要必须的写入权限。

最简单的,用命令 rpm-i packagename.rpm和 dpkg--install packagename.deb会自动解包和安装。

3:关于安装 Linux包出现的一些问题及解决方案

假设 make失败有个链接错误:-lX11: No such file or directory,正好在 xmkmf之后已被调用,这可能意味着 Imake不能被完全建立。检查第一部分 Makefile文件的的行是这样:

· LIB=-L/usr/X11/lib

· INCLUDE=-I/usr/X11/include/X11

· LIBS=-lX11-lc-lm

这个-L和-I开关告诉编译器和链接分别在哪里找到 library和 include文件。在这个例子里, X11库应该在/usr/X11/lib目录,且 X11包含文件应该在/usr/X11/include/X11目录里。假如对于你的机器上的这个错误,请处理修改 Makefile并重新再 make。

没有声明涉及的数学库函数,像下列各项:

/tmp/cca011551.o(.text 0x11): undefined reference to `cos'

要修复它,需要明确链接到匹配的库,在 Makefile(看先前的例子)里增加一个-lm到 LIB或 LIBS标记。

用其他方法尝试

仍然失败如果失败,参考下列脚本:

make-DUseInstalled-I/usr/X386/lib/X11/config

这个直接方式的类别相当于。

在少数例子里,用 root运行 ldconfig可能会解决:

# ldconfig更新共享库链接符号。

一些 Makefiles使用你系统里未被承认的库别名。一个例子,构建可能需要 libX11.so.6,但是在/usr/X11R6/lib不存在文件或链接。然而,在那里是 libX11.so.6.1。解决方法是用 root运行ln-s/usr/X11R6/lib/libX11.so.6.1/usr/X11R6/lib/libX11.so.6,接着需要运行 ldconfig。

有一些包需要你安装一个或更多库的升级版本。需要拷贝一个或更多的库到适当的目录里,删除旧的库,重新设置动态链接库。

4:一些其他的问题处理

安装一个shell脚本如果出现:No such file or directory的错误消息。这是可以检查文件权限确定文件事可执行的,并检查文件头确定是否 shell或程序是脚本在指定的位置被调用。一个例子,这个脚本可能是这样开始的:

#!/usr/local/bin/EDEN

如EDEN的实际安装位置是在你的/usr/bin目录,用一个/usr/local/bin替代

这个脚本不能运行有两个方法来纠正!!

A:文件头改成#!/usr/bin/EDEN

B:或增加一个链接符, ln-s/usr/bin/EDEN

5:一个典型的例子 Xloadimage

首先说明下面的例子来源于国外网站的一个技术实例,这里我做了翻译和整理。

这个例子展现一个简单的问题。xloadimage程序对我的图形工具的调整设置是有用的附加。从源码目录拷贝文件,用 tar xzvf解压文件,可是在运行 make的时候出现令人讨厌的错误并停止了。

gcc-c-O-fstrength-reduce-finline-functions-fforce-mem

-fforce-addr-DSYSV-I/usr/X11R6/include

-DSYSPATHFILE=\"/usr/lib/X11/Xloadimage\" mcidas.c

In file included from/usr/include/stdlib.h:32,

from image.h:23,

from xloadimage.h:15,

from mcidas.c:7:

/usr/lib/gcc-lib/i486-linux/2.6.3/include/stddef.h:215:

conflicting types for `wchar_t'

/usr/X11R6/include/X11/Xlib.h:74: previous declaration of

`wchar_t'

make[1]:*** [mcidas.o] Error 1

make[1]: Leaving directory

`/home/thegrendel/tst/xloadimage.4.1'

make:*** [default] Error 2

这个错误消息包含了实质的线索:

查看 image.h文件的 23行:

#include< stdlib.h>

在源码的某处对于 xloadimage, wchar_t已经在指定标准 include文件重新定义。告诉我们首先在 image.h的 23行尝试注释它,或许 stdlib.h include是不存在的,毕竟不是所有都是必需的。

在这点,构建中的收益来源于所有任何一个致命错误。xloadimage现在功能正常。

6:安装 Linux包的一些总结

坚持自己动手处理所有的安装出现的问题,不断总结努力学习,从错误里去仔细研究,努力动手排错,从每个不足甚至失败的地方得到扩充和提升,可以增强安装构建软件的技巧。

阅读剩余
THE END