(红色字体为变量)
一、软件包封装类型:
1、RPM软件包:扩展名为“.rpm”只能使用RPM(RPM package Manager,RPM软件包管理器)机制的linux操作系统中安装。安装rpm包需要使用linux系统中的rpm命令
2、DEB软件包:扩展名“.deb”只能使用DPKG(Debian Package,debian包管理器)机制的linux操作系统安装。安装DEB软件包需要使用Linux系统中的dkpg命令。
3、源代码软件包:这种软件包是程序员开发完成的原始代码,一般被制作成“.tar.gz”“.tar.bz2”等格式的压缩包。安装源代码需要相应的编译工具。
4、提供安装程序的软件包:扩展名不一,TARBall格式居多。软件包中会提供用于安装的可执行程序或脚本文件。如;install.sh、setup等。有时会以“.bin”格式的单个安装文件形式出现,只需运行安装文件就可以根据向导提示完成安装。
5、绿色免安装的软件包:这种软件包直接含有编译好的执行程序文件,因此不许要特别安装,只需要解压或复制到某目录中即可使用。
二、管理RPM软件包
1、查询RPM软件包信息
参数:
-qa:显示已使用rpm方式安装的所有软件列表
-qi:显示指定软件版本、许可协议等详细信息
-ql:显示指定软件包在当前系统中安装的所有目录和文件列表
-qf:查看指定文件或目录是由那个软件包所安装的。
-qc:显示指定软件包在当前系统中安装的配置文件列表
-qd:显示指定软件包在当前系统中安装的文档文件列表
-qp:查询尚未安装的rpm软件包信息
例:rpm –qf /etc/httpd/httpd.conf
2、查看rpm包中相关信息
-qpi:查看软件包详细信息
-qpl:查看那软件包准备安装的所有目录和文件系统
-qpc:查看该软件包准备安装的配置文件列表
-qpd:查看该软件包准备安装的文档文件列表
例:rpm –qpi apache-1.3.6-4.rpm
rpm –qpc apache-1.3.6-4.rpm
3、升级、安装、卸载RPM软件包
-i:在当前系统中安装(install)一个新的rpm软件包
-e:卸载指定名称的软件包
-U:检查并升级某个软件包,若未安装则想到与-i命令。
-F:检查并更新系统中的某个软件包,若未安装则放弃。
--force:强制安装某个软件包
--nodeps:安装、升级、卸载是不会检查软件包依赖信息
--allmatches:是把与这个rpm包所有相匹配的rpm包全部删除掉;
-h:安装升级软件包时以“#”号显示安装进度
-v:显示软件安装过程中的详细信息
例:rpm –ivh apache-1.3.6-4.rpm
rpm –i --force apache-1.3.6-4.rpm
rpm -e --allmatches --nodepshttpd
rpm –e httpd
4、维护RPM数据库
RPM数据库用于记录linux系统中安装、卸载、升级应用程序相关信息。自动维护不需要干预,当数据库损坏rpm软件包无法卸载安装。需要使用“--rebuilddb”或“--initdb”重建数据库。
例:
rpm --rebuliddb
三、源代码编译安装
1、大多数的开源软件总是以源代码形式最先发布,之后才会有.rpm和.deb等二进制封装版本。所以使用源代码编译方式可以安装最新的程序功能和安全补丁。
2、从网上下载的软件包建议使用md5sum命令工具检查MD5校验和
3安装步骤:
a、解包:释放出源代码,一般将各种软件源代码文件保存到“/usr/src”目录,便于管理。源代码包一般是Tarball格式,所以可以使用tar命令解压释放。
命令:tar zxvf 源代码文件名-C /usr/src/
b、配置:编译前需要进入源代码目录,对要安装的目录文件夹等参数进行配置。
命令:./configure --prefix=/usr/local/应用程序名
(注:配置工作一般由“configure”脚本文件完成。“--prefix”用于指定软件安装包安装的目录文件夹,不同应用程序参数不同,但都会有一个“--prefix”形式的参数。可以使用“./configure --help”命令查看)
c、编译:把源代码转换成二进制文件
命令:make
d、安装:将软件的执行程序、配置文件、帮助文档等相关文件复制的linux系统中
命令:make install
(编译安装可以写成一行:make&&make install)