RPM(软件包管理器)和YUM 软件仓库

一、RPM软件包的功能:

  1. 存储和数据压缩
  2. 文件安装
  3. 配置文件生成
  4. 系统服务注册
  5. 软件依赖检查和依赖输出

存储数据压缩

RPM具有软件包的基本功能——数据压缩存储,RPM 安装列表中的文件在按照某个指定的算法(如 gzip)压缩后,作为最终 RPM 文件的一个数据块,与其他控制信息存储进同一个文件中。最终所有的数据都存储在同一个 RPM 文件中。

文件安装

文件安装是软件包的一个基本功能,它将压缩的文件解压至目标操作系统上。安装过程中,还可能动态生成一些文件,并安装到系统中。

配置文件生成
配置文件既可能是预先写好的静态文件,也可能是根据安装环境动态生成的文件。

系统服务注册

使用 rpm 安装一些软件包,比如 apache,mysql-server 等,在安装完成后,目录 /etc/init.d/下会生成一个服务启动脚本文件,而且此服务还可能被加入到系统的自动启动服务中。

软件依赖检查

大多数程序都会依赖其他组件,比如数据库操作程序可能需要 libmysql 的支持。为了保证每个软件在安装后都能正常运行,在安装过程中,软件安装程序需要对该软件包所依赖的所有元素进行检查。

其他功能

RPM 还有一个重要功能就是对嵌入脚本的支持:它支持在安装软件或者卸载软件的过程中,执行用户预定义的指令。

二、常见命令、参数

1.常用命令:

-ivh:安装显示安装进度--install--verbose--hash
-Uvh:升级软件包--Update;
-qpl: 列出RPM软件包内的文件信息[Query Package list];
-qpi:列出RPM软件包的描述信息[Query Package install package(s)];
-qf:查找指定文件属于哪个RPM软件包[Query File];
-Va:校验所有的 RPM软件包,查找丢失的文件[View Lost];
-e:删除包

rpm -qa bind-chroot 查看软件是否安装
rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm //指定安装目录
rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm    //用来检查依赖关系;并不是真正的安装;

2.常用参数:
Install/Upgrade/Erase options:
-i, --install install package(s)
-v, --verbose provide more detailed output
-h, --hash print hash marks as package installs (good with -v)
-e, --erase erase (uninstall) package
-U, --upgrade=+ upgrade package(s)
--replacepkge 无论软件包是否已被安装,都强行安装软件包
–test 安装测试,并不实际安装
–nodeps 忽略软件包的依赖关系强行安装
–force 忽略软件包及文件的冲突
Query options (with -q or --query):
-a, --all query/verify all packages
-p, --package query/verify a package file
-l, --list list files in package
-d, --docfiles list all documentation files
-f, --file query/verify package(s) owning file

三、RPM源代码包装安装

.src.rpm结尾的文件,这些文件是由软件的源代码包装而成的,用户要安装这类RPM软件包,必须使用命令:
rpm --recompile vim-4.6-4.src.rpm #这个命令会把源代码解包并编译、安装它,如果用户使用命令:
rpm --rebuild vim-4.6-4.src.rpm  #在安装完成后,还会把编译生成的可执行文件重新包装成i386.rpm 的RPM软件包。

四、yum 软件仓库,解决软件相关依赖性

1、常用命令
RPM(软件包管理器)和YUM 软件仓库_第1张图片

2、配置模式

1)本地模式

cd /etc/yum.reps.d/ #进入目录

rm -rf /etc/yum.repos.d/* #删除已有的文件,重新配置

vi /etc/yum.repos.d/yum.repo #yum配置结尾必须以repo结尾!

[c7] #软件源的名称
name=c7-locate #软件仓库的名称
baseurl=file:///mnt #软件源地址,将光盘挂载至mnt下即可
gpgcheck=0 #gpg的校验,确定软件包的来源有效和安全,1为启用
enabled=1 #启用源,0为禁用
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #校验的gpg密钥

yum clean all 清除缓存

yum install 软件名

2)网络模式

网络模式

rm -rf /etc/yum.repos.d/* #删除已有的文件
cd /etc/yum.repos.d
wget http://mirrors.aliyun.com/repo/Centos-7.repo #使用阿里的源
wget http://mirrors.aliyun.com/repo/epel-7.repo #EPEL (Extra Packages for Enterprise Linux)是
基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS等
yum clean all #配置完成,清除缓存。

你可能感兴趣的:(RPM(软件包管理器)和YUM 软件仓库)