文档章节

linux源代码安装软件

ustbgaofan
 ustbgaofan
发布于 2014/07/30 16:03
字数 1326
阅读 41
收藏 0


./configure 配置环境

make是编译的意思。就是把源码包编译成二进制可执行文件

make install 就是安装的意思。

 在Linux中利用源码包安装软件最重要的就是要仔细阅读安装包当中的README  INSTALL两个说明文件,这两个文件会清楚的告诉你如何可以正确的完成这个软件的安装!         我们都知道源码包安装分为这么几个阶段,1、  ./configureconfigure会在你的系统上测试存在的特性  Make:编译程序。5、<span times="" new="" roman'"="" style="padding: 0px">  Make install:安装文件!以上五步就是源码包安装软件的步骤,每一步不成功,则下一步就没法去完成!下面我们就找个软件来安装,并且一步一步来解释一下!我们就那httpd-2.2.11.tar.gz来做例子吧!1、<span times="" new="" roman'"="" style="padding: 0px">  Tar:解压这个源码软件包。这步没什么好说的,把源码包解压开就好了,接下来第二步!2、(或者<span tahoma','sans-serif';="" color:="" #2a2a2a;="" mso-bidi-font-size:="" 14px"="" style="padding: 0px">bug!)然后来建立Makefile文件来完成makeconfigure”脚本有大量的命令行选项,对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的。而我们用的最多的也就是下面这条命令:./configure --prefix=/软件要安装的路径但是我们也可以直接./configure而不指定路径,通常通过从源码包编译安装的软件默认路径都是/usr/local/,如果./configure不成功而直接去make的话,就会出现下图的错误:当我们解决完./configure的错误,然后重新./configure成功后,我们就可以编译程序了!再说几个能关系到能否编译成功的文件:/etc/ld.so.confldconfig首先说一下/etc/ld.so.conf,这个文件中记录的编译时使用的动态链接库的路径,默认情况下编译器只会使用/lib/usr/lib这两个目录下的库文件,如果你安装了其他的库,那么安装完成后就在/etc/ld.so.conf把这个库文件中的绝对路径写进去就OK了。再来看看ldconfig是个什么东西吧:他是一个程序,它的作用就是将/etc/ld.so.conf中的路径缓存到/etc/ld.so.cache中,因此在安装完一些库文件或者修改ld.so.conf增加新的路径后需要运行一下/sbin/ldconfig使所有的库文件都缓存都ld.so.cache中,如果没有运行/sbin/ldconfig,即使库文件就在/etc/ld.so.conf中,也是不会被使用的,结果在编译的过程中同样报错缺少XXX库!4Make:编译程序。在编译的时候,gcc个版本之间存在着差异,所以有时候用不同版本的gcc去编译,有的版本能编译成功,有的就编译失败,这样的错误只是版本问题。另外在make的时候会出现的另一个错就是比较难办的,遇到这样的问题就只能凭经验查找原因,比如说某个头文件没有找到,这个时候就要顺着出错的位置一行一行的往上找,比如显示XXXXXX.h………no such file or directory,说明缺少头文件,或者找到你觉得有价值的错误信息去搜索引擎里搜索,从这里可能会找到对你有用的信息,最重要的就是在安装之前仔细的去看READMEINSTALL文件,这两个文件里会告诉你程序应该怎样去安装,需要什么依赖文件等等。有的时候在编译时不知道是否编译成功,而在没有编译成功就去make  install肯定会出错,这样就增加了问题的复杂性,俗话说的好“道高一尺魔高一丈”,这样我们可以在make结束的时候通过一条命令来检查是否成功编译:echo  $?输入这条命令回车后,输出的结果是0,那么就说明成功编译,否则就是出错了,echo  $?表示检查上一条命令的退出状态,程序正常退出返回05、<span times="" new="" roman'"="" style="padding: 0px">  Make install:安装文件!它也从Makefile中读取指令,然后安装到指定的位置。看到上图输出0之后我们就可以make  install来安装了,运行完之后输入echo  $?检查看看是否有错误,只要输出结果为0,那就说明我们的安装成功,我们可以测试一下,把Apache的服务起来/usr/local/apache2/bin/apachectl start,因为Apache的端口是80所以我们netstat -lan | grep 80来看看80端口处于监听状态不:然后再IE里输入服务器的IP地址http://10.10.234.203/成功了,说明我们的安装没问题!其实./configuremakemake  install这三个命令,我们可以用&&来把命令连接起来执行,表示当前一条命令正常结束后,后面的命令才会执行,这个办法很好,既节省时间,又可以防止发生错误。例:./configure  &&  make  &&  make  install

本文转载自:http://wangqiyong.blog.51cto.com/500227/367049

共有 人打赏支持
ustbgaofan
粉丝 15
博文 148
码字总数 38017
作品 0
海淀
程序员
私信 提问
(九)Linux学习笔记-常用软件包管理

(九)Linux学习笔记-常用软件包管理 常用的软件包管理 以下为Red Hat系列Linux的命令集,我使用的Centos7.5版本。 常用的软件包管理 在CentOS中常用的软件管理有三种: 1、RPM,Redhat公司开...

Super_RD
2018/12/27
0
0
Linux与FreeBSD有什么区别?

基础 许多人所称的“Linux”实际上不是 Linux。Linux 从技术上说只是 Linux 内核,典型的 Linux 发行版则包括了 Linux 内核和许多软件。这是为什么 Linux 有时被称为 GNU/Linux。事实上,许多...

linux-tao
2018/09/24
0
0
从WINDOWS转到LINUX之路

说起来你可能不信,两年前我还根本不知道 Linux 是什么,放弃 Windows 转投 Linux 更是不可能。 我花了大量时间和耐心在 Linux 上,我的朋友们都能为我证明这点。说起来你可能不信,两年前我...

linuxprobe16
2017/11/04
0
0
Debian学习 Linux系统服务器的搭建方法

Linux服务器具有稳定性好,价格低等优点。最为一个开源平台,无论是商业机构的支持还是网络开源程序组织的技术,都达到了一个成熟的水平。因为,目前中小型企业可以考虑一下使用Linux作为Web...

JavaGG
2009/05/07
550
0
Ubuntu的软件安装问题

Ubuntu怎么安装软件 1.命令:sudo apt-get install 后面加软件名 2.到ubuntu软件中心图形界面安装 3.到系统-系统管理-新力得软件包管理 安装 4.到网上下载包双击安装 5.到网上下载软件的源代...

长平狐
2013/06/17
358
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7 下安装 Nginx

1、添加Nginx存储库 要添加CentOS 7 EPEL仓库,请打开终端并使用以下命令 yum install epel-release 2、安装Nginx 现在Nginx存储库已经安装在您的服务器上,使用以下yum命令安装Nginx yum i...

Oo若离oO
14分钟前
0
0
漏洞防御与修复工作

漏洞管理工作是企业安全建设必不可少的一环,在风险管理工作中,漏洞管理能够防患于未然,企业对漏洞管理有着广泛的基础建设和实践经验。但随着攻防技术的发展,传统漏洞管理的安全技术和管理...

linuxprobe16
今天
1
0
MicroPython技术及应用前景

1 Micropython技术是什么? MicroPython极精简高效的实现了Python3语言。它包含Python标准库的一小部分,能在单片机和受限环境中运行。 1.1 MicroPython发展 由剑桥大学的理论物理学家乔治....

bodasisiter
今天
5
0
跟我学Spring Cloud(Finchley版)-13-通用方式使用Hystrix

本节详细讲解使用Hystrix的通用方式。 简介 Hystrix是由Netflix开源的一个延迟和容错库,用于隔离访问远程系统、服务或者第三方库,防止级联失败,从而提升系统的可用性与容错性。Hystrix主要...

周立_ITMuch
今天
2
0
🛠️Hanjst/汉吉斯特更新加JavaScript运行时优化等

这是 Hanjst/汉吉斯特 发布以来的首个主要升级更新版本。这次的主要升级更新的内容包括移除HTML Comments注释行, 优化在 Hanjst include模板文件时的JavaScript运行时环境。 Hanjst 在设计和...

wadelau
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部