Linux软件包管理
        Linux软件包应用程序为:Architecture,室友指令和数据组成的,里面也运用了C语言,脚本为解释器(二进制程序)Linux软件包主要有rpm和yum这两种包管理。两种包管理各有用处,其中主要区别是:yum使用简单但需要联网,yum会去网上的yum包源去获取所需要的软件包。而rpm的需要的操作精度比较细,需要我们做的事情比较多。下面让我给大家详细的介绍一下这两种软件包的具体操作。


一:rpm主要的操作
1)安装    rpm -ivh /PATH/TO/PACKAGE_FILE
查找安装包:lftp 172.16.0.1(进入ftp)   cd pub进入目录   cd Server/
    -i:安装软件包
        rpm -i /PHTH/TO/PACKAGE_FILE
    -h:以#显示进度:每个#表示2%;
    -v:显示详细过程
    -vv:显示更详细过程,h为hash是进度信息
    --excludedocs 不安装软件包的文档文件
    --prefix PATH 将软件包安装到指定目录
    --test 只对安装进行测试,并不实际安装(通常用来看下需要的依赖项)
    --replace[pkgs|files] 当出现冲突时或想强制覆盖时可以使用
    --nodeps 不考虑依赖关系
    --force强行安装,可以实现重新重装或降级
挂载光驱的具体操作:
mkdir /mnt/cdrom 生成一个挂载点目录
mount /dev/cdrom /mnt/cdrom 讲dev中的cdrom挂载到挂载点上
2)查询
rpm -q PACKAGE_NAME:查询指定包安装后生成的文件列表
rpm -qa:查询已经安装的所有包
rpm -qp:查询已经安装的所有包
rpm -qi PACKAGE_NAME:查询指定包的说明信息
rpm -ql PACKAGE_NAME:查询指定软件包中的文件列表
rpm -qd PACKAGE_NAME:查询指定包被标注为文档的文件列表
rpm -qc PACKAGE_NAME:查询被标注为配置文件的文件列表
rpm -qc  PACKAGE_NAME:查询指定包安装的配置文件
rpm -qd  PACKAGE_NAME:查询指定包安装的帮助文件
rpm -q --scripts PACKAGE_NAME:查询指定包中包含的脚本   
rpm -qf /path/to/somefile:查询指定的文件是由哪个rpm包安装生成的,
如果某rpm包尚未安装,我们需查询其说明信息、安装以后会发生的的文件: rpm -qpi /PATH/TO/PACKAGE_FILE软件包的信息
rpm -qp1:查询包安装后生成那些文件 
rpm -qpi:软件包中的信息
[tips] 通常可以配合管道 | more [grep sudo] 来使用,使得结果更易读。
3)升级
rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级,否则,就安装  
rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级,否则,退出
 --oldpackage:降级
4)卸载
 rpm -e PACKAGE_NAME
     --nodeps
需要注意的是在卸载软件包的时候若和其它包有依赖关系,可以用--nodeps来强制卸载
5)校验
rpm -v PACKAGE_NAME
rpm -S 为文件大小
rpm -5 为文件的md5校验值
rpm -L 链接文件
rpm -T 文件创建时间
rpm -D 设备文件
rpm -U 文件的用户
rpm -G 文件的用户组
rpm -M 文件的权限
6)重建数据库
rpm --rebuilddb:重建数据库,一定会重新建立
    --initdb:初始化数据库,没有才建立,有就不用建立;
7)检验来源合法性,及软件完整性  
  加密类型:对称:加密解密使用同一个钥匙
           公钥:一对儿密钥,
           私钥:公钥隐含与私钥中,可以提出来,并公开出去     
    单向:# /etc/pki/rpm-gpg/
         rpm -K /PATH/TO/PACKAGE_FILE   
 dsa,gpg:验证来源合法性,也即验证签名,可以使用--nosignature 略过此项    
 sha1,md5:验证软件包完整性,可以使用--nosignature 略过此项         
 rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release:导入密钥文件

二:yum的主要操作
需要联网,操作一RPM类似,只是会自动安装依赖项。
1、主要操作:
1)安装 yum install
2) 检测升级 yum check-update
3) 升级 yum update
4) 软件包查询 yum list
5) 软件包信息 yum info
6) 卸载 yum remove
7) 帮助 yum -help、man yum
2)实例
从光盘中提取二进制包并恢复丢失的文件(用inittab做实验)
先建立一个挂载点并挂载
创建一个备份文档并删除inittab
通过挂载点读取光盘中的二进制包到当前目录
复制恢复被删除的文件
三、源代码包的管理及安装
1)解压解包
tar -xzvf 源代码包
x为解包、z为解压(仅适合gzip,bz2则先解包再bunzip解压)、v显示过程、f指定被解压包名
2)配置
进入解压后的目录,用 ./configure [—prefix=/usr/local/filname] 来配置,这个过程主要是收集系统信息、设置安装目录等(卸载的时候只需将这个目录删除则可)
3)编译
make
4)安装
make install
5)yum的man文件路径:安装在--prefix指定的目录下的man目录
1、man -M /PATH/TO/MAN_DIR COMMAND
2、在/etc/man.config中添加一条MANPATH
 netstat命令:
   -r:显示路由表
   -n:以数字方式显示
   -t:建立的tcp连接
   -u:显示udp连接
   -l:显示监听状态的连接
 netstat -tul
   *:*  :表示允许所有远程主机连接我们的主机
   -p:显示监听指定套接字的进程的进程号及进程名