源码包安装

注意事项

1、 软件包类型的选择

  • 如果软件包是给大量用户提供访问,建议似乎用源码包安装,如LAMP环境的搭建,因为源码包效率更高。
  • 如果软件包是给Linux底层使用,或只给少量用户访问,建议使用rpm包安装,因为rpm包简单。
    注:在系统中装过rpm包之后,是可以再装源码包的,因为安装的位置不同。

1、 源码包必须指定安装路径
rpm包有标准数据库来记录安装位置,除了少数极个别的软件,一般源码包必须指定安装路径,因为源码包没有专用的卸载命令。

安装过程

1、 下载软件包
2、 解压缩
3、 进入解压目录
4、 "./configure"做编译前准备
这一步主要是有这些作用:

  • 在安装之前需要检测系统环境是否符合安装要求。
  • 定义需要的功能选项,"./configure"支持的功能选项比较多,可以执行"./configure --help"命令查询其支持的功能,一般都会通过"./configure --prefix=安装路径"来指定安装路径。
  • 把系统环境的检测结果和定义好的功能写入Makefile文件,后续的编译和安装需要依赖这个文件的内容。
  • “./configure” 是源码包软件自带的一个脚本程序,所以必须采用"./configure"方式执行。

1、 make编译
make会调用gcc编译器,并读取Makefile文件中的信息进行系统软件编译,编译的目的就是把源码包程序转变为能被Linux识别的可执行文件,这些可执行文件保存在当前目录下,编译过程会耗费一定的时间。 2、 makeclean清空编译内容(非必须步骤)
如果"./configure"或make中报错,可以用make clean命令来清空编译结果。

  • 安装过程必须停止。
  • 出现no、warn、error字眼。

1、 makeinstall编译安装
执行这条命令会执行安装过程,一般会写清楚程序的安装位置,如果忘记指定安装目录,可以把这个命令的执行过程保存下来,以备将来删除使用。

打入补丁

diff命令

用diff命令来比较新旧文件的不同,生成补丁文件。

diff  选项 old new

常用选项:

  • -a:将任何文档当作文本文档来处理。
  • -N:当比较两个目录时,如果某个文件只在一个目录中,则在另一个目录中视作空文件。
  • -r:当比较目录时,递归比较子目录。
  • -u:使用同一的输出格式。

patch命令

patch -pn 补丁文件
#n是指新文件前的目录级数,"/root/test/2"总共含有3级目录

例:

[root@ddkk.com test]# diff -Naur /root/test/1 /root/test/2 >pat.txt
#将文件1和文件2进行对比,不同写入pat.txt,记得要写绝对路径
[root@ddkk.com test]# patch -p3 <pat.txt
#将相同和不同的地方进行修改

脚本安装

  • 优点:方便。
  • 缺点:不安全,而且不符合自己的习惯。

例:Webmin安装
“Webmin 能够在远程使用支持 HTTPS (SSL 上的 HTTP)协议的 Web 浏览器通过 Web 界面管理你的主机。这在保证了安全性的前提下提供了简单深入的远程管理。”

[root@ddkk.com ~]# tar -zxvf webmin-1.984.tar.gz 
#解压软件包
[root@ddkk.com ~]# cd  webmin-1.984
#进入相应目录
[root@ddkk.com webmin-1.984]# ./setup.sh
#执行安装脚本

执行安装脚本之后选择相应的选项就可以等待安装完成了,就类似于Windows下的安装程序一样。