1.RPM软件包的特性
- 无互动界面
- 适合所有软件,包括系统内核和其它程序
- 不需要旧版本支持
2。系统如何管理RPM
RPM:Red Hat Pagckage Manager
包括以下三个组件:
- 本地资料库 /var/lib/rpm
- rpm命令和其它可执行文件
- rpm软件包文件
RPM软件包的名称的五个组成部分含义:- name-version-release.architecutures.rpm
release:版本修正 archiectures:适用平台- 常见平台:i386,i586,i686,noarch; i386只要x86的CPU都可以使用,i586代表只有586平台才可以使用,noarch所有平台均适合。
- name-version-release.architecutures.rpm
- 主要功能:
- install/remove 安装和卸载软件
- query 查询信息
- verify 验证己安装的软件
- build 将原始码编译成rpm文件
3.安装及卸载软件
- 常用的RPM操作:
- rpm -i , --install
- rpm -U , --upgrade 升级并卸载旧版本
- rpm -F , --freshen 升级并卸载旧版本,但无旧版本时不执行安装操作
- rpm -e , --erase
- rpm -vh 显示安装进度
- 安装支持ftp:// ,http://格式的路径
4. 更新系统内核
- rpm -U or -F 注意不要拿来更新内核,因为不确定新内核是否稳定
- rpm -ivh 的方法来安装kernel
- 使用新版内核进行测试 (更改/boot/grub/grub.conf修改默认启动)
- 新版本内核有问题选用旧版内核
- 新版内核无问题 rpm -e kernel-oldversion
5. 查询信息
- 查询已安装的软件
- rpm -qa 查询所有已安装的软件包 q=queries a=all
- rpm -ql filename 显示软件用哪个软件包安装;例: rpm -ql /bin/gzip
- rpm -qi package_name 显示安装包信息
- rpm -ql package_name 列出软件包中的文件
- 查询无安装的软件包
- rpm -qip package_file.i386.rpm
- rpm -qlp package_file.i386.rpm
6. 验证
- 验证返回值的含义:
- S 文件大小不同
- M 文件的权限或大小不同
- 5 MD5值有变
- D 主要或次要设备编号不同
- L 链接路径有变动
- U 文件的拥有者被修改
- G 文件的所属组的值篡改
- T 时间戳变动
- 安装前软件包签证检查:
- rpm --import RPM-GPG-KEY 导入rpm软件包的私有签证
- rpm -qa gpg-pubkey 查系统中已存在的gpg-pubkey
- rpm --checksig package_file.i386.rpm 检验软件包是否经签证
- rpm -V package_name 验证指定软件和rpm资料库作比对
- rpm -Vp package_name.rpm 指定软件和指定rpm软件包比对
- rpm -Va 将所有己安装的文件与rpm资料库比对
7. RPM的其它工具和特性
- rpm2cpio rpm文件只能root执行操作,cpio普通用户可使用。例: rpm2cpio a.rpm > a.cpio
- 列出cpio文件内的文件: # cpio -it < a.cpio
- 解开cpio文件: # cpio -id < a.cpio
- system-config-package
8. 自动安装软件包的依赖库
前提:
- 使用要使用rpmdb-redhat资料库
- 包含依赖库的软件包要放在同一个目录
- 使用 --aid 参数
举例: # rpm -ivh a.rpm --aid
9. kickstart批量安装操作系统
产生ks.cfg批量安装文件
- system-config-kickstart 产生 ks.cfg 文件
- ks.cfg中的%package是选择在安装时选择要安装的软件包
- %pre即Per-Installation Script,安装前要执行的自定义脚本
- %post即Post-installation script,安装后要执行的自定义脚本
网络安装服务器配置
- 服务器: 将安装文件复制到安装共享目录中
- 客户端: 将第一片光盘放入光驱作引导,并将含ks.cfg的软盘放入软驱。引导后出现boot:
输入 linux ks=floppy
![](http://img.zemanta.com/pixy.gif?x-id=ced911e7-dcc2-8d05-980f-ab1822b6753e)