回顾:使用别人编译好的二进制(dep[apt]rpm)软件包管理器,linux没有注册表。编译安装源代码(gcc
 
rpmyum使用类似于c/s的架构。基于三个协议:file:///ftp://http://
创建yum库:createrepo工具,xml格式定义软件包的组
/var/yum/repodata/
 
install 安装    update升级   remove卸载    info显示软件包的信息   list{all|installed|available}
clean all 清楚缓存 search    whatprovides查询哪个文件是由哪个安装包安装的   localinstall --nogpgcheck   grouplist   groupinstall   groupremove   repolist
 
 
 
rpm的使用(www.rpmfind.net库文件)
安装:-I  -v-h显示安装进度  --nodeps不检查依赖关系 –force忽略软件包及文件的冲突
      --test测试不安装 --replacepkgs重新安装
 
卸载:-e   --nodeps
升级:-U可安装可升级/-F要有老版本的软件包,内核一定不能升级只能安装   --force强行
查询:-q –i显示文件包中的概要信息  -l显示软件包中的文件列表 –f查询文件属于哪个软件包安装的  -p显示软件包的文件(路径) -a查询所有安装的软件包   -c查询配置文件
-d显示文档文件列表  -R显示软件包所依赖的文件  --scripts 显示安装软件包时可能会自动执行的脚本 
校验:-V校验文件包是否被破坏  S大小发生改变 N:文件权限类型5MD5校验码发生改变 D:特殊文件的设备号是否改变 Lresdlink路径不匹配
  U:所属用户改变 G:组发生改变  T:时间改变
  -K校验数字签名   rpm –import  /etc/pki/rmp-gpg/RPM-GPG-KEY-redhat-下的文件
  --checksig同上
md5sum检查一文件的校验码
 
rpm –ql rpm    /var/lib/rpm数据库、改变时重建数据库
rpm --initdb 初始化   --rebuilddb没有创建有覆盖
 
如何使用函数:
是实现模块化编程,代码重用,实现结构化明朗
定义function
 function NAME {
  statement
…..
return    0-255  返回值
}
 
NAME(){ }