【rpm】安装软件包
rpm -i /PATH/TO/PACKAGE_FILE

参数:
【-i】:安装软件包
【-h】:以#显示进度:每个#表示2%;
【-v】:显示详细过程
【-vv】:更详细的过程

【--nodeps】:忽略依赖关系
【--replacepkgs】:重新安装,替换原有安装:
【--force】:强行安装,可以实现重装或降级;
【--test】测试

2.查询
rpm -q PACKAGE_NAME //查询指定的包是否已经安装
rpm -qa //查询已经安装的所有包
rpm -qi PACKAGE_NAME //查询指定包的说明信息
rpm -ql PACKAGE_NAME //查询指定包安装后生成的文件列表
rpm -qc PACEAGE_NAME //查询指定包安装的配置文件
rpm -qd PACEAGE_NAME //查询指定包安装的帮助文件

rpm -q --scripts PACEAGE_NAME //查询指定包中包含的脚本

rpm -qf /path/to/somefile //查询指定的文件是由哪个rpm包安装生成的

如果某个rpm包尚未安装,我们需要查询其说明信息、安装以后会生成的文件:
rpm -qpi /PATH/TO/PACKAGE_FILE //查询这个还没安装的软件包安装信息
rpm -qpl /PATH/TO/PACKAGE_FILE //查询这个还没安装的软件包安装后会生成那些文件
rpm -qpc /PATH/TO/PACKAGE_FILE //查询这个...的安装配置文件
rpm -qpd /PATH/TO/PACKAGE_FILE
rpm -qp --scripts /PATH/TO/PACKAGE_FILE

3.升级
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE //如果装有老版本的,则升级:否则,则安装
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE //如果装有老版本的,则升级,否则,退出
【--oldpackage】:降级安装
例如: rpm -Uvh --oldpackage 旧版的包 //在已存在该包的情况下安装其比他版本低的包

4.卸载
rpm -e PACKAGE_NAME
--nodeps 强行卸载(忽略依赖关系)

5.校验
rpm -V PACKAGE_NAME //校验安装包是否已经发生变化

6.重建数据库
--rebuilddb //重建数据库,一定会重建数据库
--initdb //初始化数据库,没有才建立,有就不用建立

7.检验来源合法性,及软件完整性:
对称:加密解密使用同一个密钥
公钥:一对儿密钥,公钥,私钥;公钥隐含于私钥中。
单向:

rpm -K /PATH/TO/PACKAGE_FILE //检验包的来源合法性
dsa ,gpg:验证来源合法性,也就是验证签名:可以使用--nosignature ,略过此项
sha1,md5:验证软件包完整性:可以使用--nodigest,略过此项
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
其中:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release验证红帽软件的秘钥


例如:
[root@gdy Packages]# rpm -K zsh-4.3.10-5.el6.i686.rpm 
zsh-4.3.10-5.el6.i686.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#fd431d51) 
[root@gdy Packages]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 
[root@gdy Packages]# rpm -K zsh-4.3.10-5.el6.i686.rpm 
zsh-4.3.10-5.el6.i686.rpm: rsa sha1 (md5) pgp md5 OK
[root@gdy Packages]# 

----------------------------------------------------------------------------------
手动编译安装一个软件包,大致有这样三个步骤
前提:准备开发环境(编译环境)
安装“Development Tools”和“Development Librari"
第一步:
执行./configure脚本
--help查看帮助
--prefix=/path/to/somewhere 指定安装目录
--sysconfdir=/PATH/TO/CONFFILE_PATH 指定配置文件路径,如果不指定,配置文件将默认存放在安装目录中。
功能:
第二步:
执行make
第三步:
执行make install

# tar xf tengine-1.4.2.tar.gz
# cd tengine-1.4.2.tar.gz
# ./configure --prsefix=/usr/local/tengine --conf-path=/etc/tengine/tengine.conf
#make 
# make install
# /usr/local/tengine/sbin/nginx


1、修改PATH环境变量,以能够识别此程序的二进制文件路径;
修改/etc/profile文件   或者
在/etc/profile.d/目录建立一个以.sh为后缀的文件,在里面定义export PATH=$PATH:/path/to/somewhere
2、默认情况下,系统搜索库文件的路径/lib,/usr/lib;要增添额外搜寻路径;
在/etc/ld.so.conf.d/中创建以.conf为后缀名的文件,而后要把增添的路径直接写至此文件中;
# ldconfid 通知系统重新搜索库文件
-v:显示重新搜寻库的过程
3、头文件:输出给系统
默认:/usr/include
增添文件搜寻路径,使用连接进行:
假如:原路径为/usr/local/tengine/include/           /usr/include
两种方式
ln -s  /usr/local/tengine/include/*   /usr/include/  或
ln -s  /usr/local/tengine/include /usr/include/tengine 
4、man文件路径:安装在--prefix指定的目录下的man目录:   /usr/share/man 
第一种方式:man -M /PATH/TO/MAN_DIR COMMAND
第二中方式:在/etc/man.config中添加一条MANPATH