(红色字体为变量)

一、软件包封装类型:

1、RPM软件包:扩展名为“.rpm”只能使用RPMRPM    package ManagerRPM软件包管理器)机制的linux操作系统中安装。安装rpm包需要使用linux系统中的rpm命令

2、DEB软件包:扩展名“.deb”只能使用DPKGDebian      Packagedebian包管理器)机制的linux操作系统安装。安装DEB软件包需要使用Linux系统中的dkpg命令。

3、源代码软件包:这种软件包是程序员开发完成的原始代码,一般被制作成“.tar.gz”“.tar.bz2”等格式的压缩包。安装源代码需要相应的编译工具。

4、提供安装程序的软件包:扩展名不一,TARBall格式居多。软件包中会提供用于安装的可执行程序或脚本文件。如;install.shsetup等。有时会以“.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