源码包安装
注意事项
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下的安装程序一样。