五、RHEL6安装软件和YUM管理软件
rpm包命名格式:
1、RPM命令
查询已安装的RPM软件信息
格式:rpm -q[子选项] [软件名]
-qa:查看系统中已安装的所有RPM软件包列表
-qi:查看指定软件的详细信息
-ql:查询指定软件包所安装的目录、文件列表
-qc:仅显示指定软件包安装的配置文件
-qd:仅显示指定软件包安装的文档文件
-qf:查询文件/目录属于哪个RPM软件
查询未安装的RPM包文件
格式:rpm -qp[子选项] RPM包文件
-qpi:通过.rpm包文件查看该软件的详细信息
-qpl:查看.rpm安装包内所包含的目录、文件列表
-qpc:查看.rpm安装包内包含的配置文件列表
-qpd:查看.rpm安装包内包含的文档文件列表
安装或升级RPM软件包
格式:rpm [选项] RPM包文件...
-i:安装一个新的rpm软件
-e:卸载指定的rpm软件
-U:升级某个rpm软件,若原本未装,则进行安装
-F:更新某个rpm软件,若原本未装,则放弃安装
--force:强制安装所指定的rpm软件包
--nodeps:安装、升级或卸载软件时,忽略依赖关系
-h:以“#”号显示安装的进度
-v:显示安装过程中的详细信息
2、YUM源使用
当我们安装一个软件的时候,需要下载好多依赖的包,这时就很麻烦,使用yum源就可以自己去查找依赖包来安装,提高工作效率。yum源可以是本地的,也可以是ftp或http协议来发布的。
在RHEL6系统的安装光盘中,已针对软件目录Packages/建好了repodata数据,因此只要简单地将整个光盘中的内容或将光盘全部内容复制到硬盘通过HTTP或FTP进行发布,就可以作为软件仓库了。
3、YUM命令格式:yum <options> <command> <package...>
options:
-y : 就这个比较常用,这个参数是在安装软件使用,有需要输入yes的自动回答
command:
list : 列出在yum server 上面有的RPM套件;若执行yum list installed则表示只列出系统中已安装的软件包,yum list available则表示只列出软件仓库中可用(尚未安装)的软件包,yum list update则表示列出可以升级版本的软件包。
install: 安装某个套件
update : 升级某个套件,如果update后面没有接套件名称,即更新目前主机所有已安装的套件.
info : 列出某个套件的详细信息,相当于rpm -qi package内容
clean : 将已下载到本机的packages或headers移除
remove : 移除已经安装在系统中的某个套件
yum localinstall package:本地安装软件包
yum update:全部更新
yum update package :更新指定程序包package
yum check-update :检查可更新的程序
yum info <package> :显示安装包信息
yum search packages:查找软件包
yum removepackage:删除程序包
yum clean packages:清除下载的rpm包
yum clean all:清除header与rpm包
yum grouplist:列出所有组
yum groupinstall:安装某个软件组
4、创建FTP源
vi /etc/yum.repos.d/server.repo #后缀必须是repo结尾
[rhel6] #软件仓库的名字
name=rhel6 #软件仓库的描述
baseurl=ftp://192.168.0.202/pub/ #软件仓库的位置
enabled=1 #是否起用软件仓库
gpgcheck=1 #是否检查GPG签名(用来验证要安装的包是不是RedHat官方的)
gpgkey=file://etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #GPG签名密钥的位置
如果安装软件包出现public key for …….rpm is not install
解决方法:导入完整性验证的公钥
mount /dev/sr0 /mnt
rpm --import /mnt/RPM-GPG-KEY-redhat-release
5、创建自己搜集软件包源
必须包括存在依赖关系的所有安装文件,还需要手动创建repodata数据文件,使用createrepo工具,
createrepoa主要用于收集目录中的rpm包文件的头信息,以创建repodata软件仓库数据。
yum install createrepo
cp -a /mnt/Packages/* /var/ftp/pub/Packages/ #我们以rhel软件包为例,复制到ftp目录下
cd /var/ftp/pub/
createrepo --database ./ #创建软件仓库信息文件
ls repodata #可以看到已经创建好了相应的软件仓库信息文件
filelists.sqlite.bz2 other.sqlite.bz2 primary.sqlite.bz2 repomd.xml
filelists.xml.gz other.xml.gz primary.xml.gz
yum list #查看yum源软件包