yum
c/s的工作方式
有yum源即服务器
有yum客户即本地使用yum命令的主机
功能,自动解决软件包依赖关系
yum reposiroty (yum源,其实就是文件服务器)支持三种指定方式
1.ftp://
2.http://
3.file:/// 本地方式
yum客户端的配置文件由两部分组成
1./etc/yum.conf (公共部分)
[main]全局属性
tolarant=1 安装多个软件包时,如果其中有已安装过的,此选项就表示忽略并继续安装未安装的软件包
2./etc/yum.repos.d/*.repo (所有以.repo结尾的文件,如果自己创建时也应该遵从此规矩)
[...] yum源的识别段,除main不可写,其余均可写,唯一标识即可
name=
baseurl=ftp://;http://;file:/// 指定yum源在何处
gpgcheck= 检查签名
0:不检查
1:检查
enabled= 是否启用此yum源
0:不启用
1:代表启用
yum命令
yum [options] [command] 包
list all 列出所有来自yum源的包,安装和未安装的
installed 列出已安装的包
avaiable 列出yum源中可安装的包
update 列出可升级的包 需要配置升级yum源
Attention:后面可加globbing通配 *?
-y 交互命令 install pac1 pac2 ..
自动填写yes 不用指定路径自动检索yum源
remove|erase pac1 pac2 ..
删除时也一样自动解决依赖关系
update pac1 升级
checkupdate 检查升级软件包
info pac1 ..
查询包详细信息,类似rpm -qi
provides|whatprovides file1 ..
查询某个文件来自于哪个软件包
类似rpm -qf
downgrade pac1 pac2 ..
降级软件包
-y自动填yes reinstall pac1 pac2 ..重新安装软件包
repolist 显示启用的yum源
all 显示启用和禁用的yum源
enabled 显示启用的yum源 默认
dienabled 显示禁用的yum源
clean all 清除存放yum数据的缓存
grouplist 显示所有install和available的包组
groupinstall "包组名" 安装包组
包组名中含有空格,一定要用“”括起
groupremove "包组名" 卸载包组
包组名中含有空格,一定要用“”括起
groupinfo 显示某个包组的详细信息
localinstall 完整路径(最后带文件名而非包名)
应用情况,从互联网上下载的包,yum源中无此包,但需要使用yum源来解决安装此包的依赖关系
此时系统自动检查包的签名,应对办法有两种
1.导入签名
rpm --import 签名路径
redhat官方签名在/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
rpm -K 完整路径(最后带文件名字,而非包名)
2.使用yum localinstall 的长选项 --nogpgcheck 来忽略签名检测
--nogpgchengeck
localupdate 通过本地rpm包升级软件包
search keyword
可以使用globbing(*?)方式在yum源查找rpm包
创建yum源(基于本地)
rpm包作者会定义依赖关系(dependences) 关于系统包的依赖关系默认存放在redhat安装文件Server|VT|Cluster|ClusterStorage
/repodata这个目录下,其中有5个文件
primary.xml.gz 此yum源(Server|VT|Cluster|ClusterStorage)中包含RPM所有文件名和依赖关系,还有每隔RPM包中文件的名字
Attention:如果不解压就想查看使用gzip压缩的文件 使用zcat来查看
firstlists.xml.gz 此yum源中的每一个rpm包中的文件的文件相关信息
other.xml.gz 额外信息,比如使用rpm -q --checklog 包名查看到的信息
repomod.xml 以上三个文件的校验码(MD5)和时间戳(最近修改时间)
comps-rhel5-server-core.xml
软件包的分组信息
基于本地的yum源两种创建办法
1.在磁盘上的某个目录下,建立yum源(以Server为例)
1.创建目录/tmp/dvd/Server
2.将官方提供的Server目录中的以.rpm结尾的文件放入/tmp/dvd/Server中
可以采用从网上下载,这里我采用的是光盘挂载
1.mount /dev/dvd /media/dvd 将光盘挂载到/media/dvd目录下(当然此目录应该事先存在)
2.使用mount 查看是否挂载成功
3.将/media/dvd/Server目录下以.rpm结尾的文件复制到/tmp/dvd/Server目录下
cp /media/dvd/Server/*.rpm /tmp/dvd/Server/
4.安装createrepo包 位置在官方提供的安装文件的Server目录下,下载或copy下来安装此包一般不存在依赖关系可直接使用rpm -ivh 安装
rpm -ivh createrepo(使用TAB补全)
5.使用createrepo在/tmp/dvd/Server/下创建repodata/目录(如没有分组,使用此项)
createrepo /tmp/dvd/Server/
Attention:一定要指向repodata的父目录所在位置
6.此时repodata中没有comps-rhel5-server-core.xml文件,需要再使用 (如有分组,使用此项,或者后来添加分组,使用此项)
createrepo -g /media/dvd/Server/repodata/comps-rhel5-server-core.xml(光盘上的comps-rhel5-server-core.xml所在位置)
/tmp/dvd/Server/
Attention;此时指向的也是所要创建的repodata的父目录
7.编辑/etc/yum.repos.d/Server.repo 指向yum源
vim /etc/yum.repos.d/Server.repo
[base]
name=Server
baseurl=file:///tmp/dvd/Server
gpgcheck=0
enabled=1
8.使用yum repolist 来检验是否出错
2.直接将安装文件挂载至/media/dvd 而后指向即可
1.mount /dev/dvd /media/dvd
2.编辑/etc/yum.repos.d/Server.repo 指向yum源
vim /etc/yum.repos.d/Server.repo
[base]
name=Server
baseurl=file:///media/dvd/Server
gpgcheck=0
enabled=1
此外createrepo命令还有其他选项可使用
createrepo -q 在创建yum源 repodata/目录静默执行
-V Verbose 尽可能详细显示出信息
yum,yum指向,yum源创建
原创
©著作权归作者所有:来自51CTO博客作者xyl289430836的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:umask及特殊权限位(ST)
下一篇:编译源代码的方式安装软件包
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
使用Nginx搭建本地YUM源
离线环境使用nginx搭建本地yum源(2种方式)
nginx yum源 服务器 -
Centos7.9 清华yum源配置
清华YUM源配置
CentOS centos -
yum源创建及rpm与yum命令
用
职场 Redhat 休闲 -
【yum】搭建yum源,163 阿里云yum源部署
搭建阿里、163yum源
Linux 云 yum