Linux YUM详解
RPM
RPM包主要用于在Linux操纵体系中管理软件包的安装、升级、卸载和查询等操纵。
RPM(Red Hat Package Manager)是一种用于Linux体系的软件包管理工具,它答应用户对软件包举行安装、升级、卸载和查询等操纵。
YUM
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器主动下载RPM包并且安装,可以主动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。YUM相当于在PRM根本上举行了封装,使用YUM后底层还是调用PRM举行包安装
YUM的利益
- 用RPM安装需要手动下载包后在安装而yum是一种主动化的软件包管理工具,可以主动下载并安装软件包。
- RPM只能安装指定的软件包,假如软件包依赖其他软件包,需要手动下载并安装所有依赖的软件包,yum主动办理软件包依赖关系,主动下载并安装所有依赖的软件包。
- yum因为可以主动下载包所以更新包版本方便
- yum操纵命令简单
YUM源配置
什么是yum源?yum安装rpm包的时候可以先把rpm包下载,然后再使用yum loaclinstall安装,但是要每次安装下载都需要手动找rpm包及依赖下载。所以需要一个yum的仓库,可以直接通过 yum 举行访问完成 (下载/更新)动作,配置好这个仓库后,就可以直接使用 install,upgrade,update,yum就会自己去这个仓库获取相应的rpm包举行操纵。配置仓库可以使用长途仓库,也可以使用本地仓库。YUM源本质就是一个下载路径,通过这个路径可以获取RPM包,不管是远端源还是本地源。
YUM源格式
再 /etc/yum.reps.d下所有.repo后缀的文件都是用于配置YUM源的,打开此中一个文件可以包含许多个源仓库的配置,下面为一个源仓库的根本结构。
- # 源标识 唯一自定义配置
- [base]
- # 源名称 唯一自定义配置
- name=CentOS-$releasever - Base - mirrors.aliyun.com
- # 源的参数配置 priority为baseurl顺序尝试失败了获取下一关链接, roundrobin随机尝试
- failovermethod=priority
- # 源的位置
- baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
- http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
- http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
- #是否启用此源 1启用,0不启用 默认为启用
- enabled=1
- # 是否校验源 1校验 0不校验 防止源被篡改
- gpgcheck=1
- # 校验地址 如果gpgcheck为0 则不校验
- gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
- 配置完成后清理缓存
- yum clean all
复制代码- #查看已启用的源仓库配置 (enabled为1)
- yum repolist enabled
- 下面截图为查询出的源名称 CentOS-7 - Base - mirrors.aliyun.com就是上面配置好的
复制代码
YUM长途源
长途源位置及内容
- # 进入yum源位置
- cd /etc/yum.reps.d
- 下面会有很多.repo文件,其中CentOs-Base.repo就是配置远程源的,配置远程源修改这一个文件即可
- 默认这个文件配置的应该是centos自带的源地址,所以只需要更换里面的地址即可,建议直接替换已经配置好的CentOs-Base.repo文件。
复制代码
CentOS-Base.repo(截图是已经替换后的)
更换长途源
- # 阿里镜像里面包含了镜像源
- http://mirrors.aliyun.com/repo/
- 看个人需要,再替换源前如果有需要可以把CentOS-Base.repo做个备份
- # 再linux下可以使用wget进行下载,下载Centos-7.repo 到/etc/yum.reps.d目录下,文件命名为CentOS-Base.repo
- wget -O /etc/yum.reps.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- (也可以再windows下载好,然后使用远程链接工具拖到服务器上配置)
- # yum缓存清理,把之前的索引删掉
- yum clean all
- # 创建缓存,用刚配置好的源下载软件包的元数据和索引信息,并将它们存储在本地缓存中,加快操作速度减少网络访问
- yum makecache
复制代码
YUM本地源
yum源本地搭建(暂空)
后续自己搭建本地源后会举行更新
本地源配置
使用本地源大概率是因为服务器由于限制无法链接公网,所以内网一般都会自己搭建源。
实质就是把baseurl路径换成了你本地存储rpm包的路径位置,这样再实行yum命令的时候baserurl就会去体系路径里面探求rpm包了。假如把存储了rpm包的这个服务器当成yum源服务器开放访问权限,那么其实就相当于你把远端源迁移到了内网里面,对别的机器来说,你搭建了yum源的服务器就是他们的远端源。
- # 进入源位置目录
- cd /etc/yum.repos.d
- # 备份下里面的文件 (觉得没用可以不备份)
- tar -zcvf /备份路径/repos.bak.tar.gz *
- # 删除配置
- rm -rf *.repo
- # 创建配置
- vim /etc/yum.repos.d/ldsx.repo
- [ldsxLocal] 自定义但是必须唯一
- name=Centos 7.9 自定义
- # 本地源路径,本地源存放路径,或者内网源访问路径
- baseurl=file://本地源路径 本地位置(file:///home/ldsx/xxxx) 内网访问位置 http://源所在服务器ip/所在路径
- # 是否启用 1启用,0不用
- enabled=1
- # 是否验证 0不验证
- gpgcheck=0
- # yum缓存清理,把之前的索引删掉
- yum clean all
- # 创建缓存,用刚配置好的源下载软件包的元数据和索引信息,并将它们存储在本地缓存中,加快操作速度减少网络访问
- yum makecache
复制代码 YUM根本命令
查看源仓库
- # 展示所有源仓库
- yum repolist all
- # 展示启用的源仓库
- yum repolist enabled
- # 展示禁用的源仓库
- yum repolist disabled
复制代码 展示所有
查看
- # 列出可用rpm包列表,包括已装跟未装
- yum list
- # 使用过滤条件
- yum list | grep xxxx*
- yum list xxxx*
- # 查看已经安装的包
- yum list installed
- # 查找包,模糊查找
- yum search 关键字
- # 查找包,通过命令 如果你知道一个特定的文件 `xxx` 在你的系统中,但是你不知道是哪个软件包包含它可以使用
- yum provides 要查询的可执行文件
- 如:yum provides ifconfig
- # 查看包详情
- yum info 包名称
复制代码
下载带依赖的rpm包
需要下载离线包
- #安装 Yumdownloader 工具
- yum install yum-utils
- #下载包并且把找个包所需要的依赖一起下载
- yumdownloader --resolve 包名 (默认下载到当前目录)
- # 下载到指定目录
- yumdownloader --resolve --destdir <directory> <package-name>
- yumdownloader --resolve --destdir 下载到本地目录 下载的包名
复制代码 安装
一般情况配置源,使用源安装即可
- # yum源安装,会自动处理依赖 , -y参数自动回答yes , --nogpgcheck 跳过gpgcheck环节
- yum install 要安装的包名
- # 已经按准过的包重新安装
- yum reinstall 要安装的包名
- # yum本地安装rpm包,无依赖
- yum localinstall /xxxx/路径要安装的包
- # yum本地安装rpm包,有依赖(前提本地已经下载好了所有依赖(下载方式见上节),rpm包放入同一目录 )
- yum localinstall /xxx/路径/*.rpm -y
- # rpm安装方式,再下载完成rpm包的基础上,如果确认不需要依赖可以使用。(不推荐,可以了解)
- rpm -ivh /xxx/路径/要安装的包
复制代码 更新
upgrade
更新包后删除旧包,当全部更新时不会对体系内核升级
- #更新所有可以升级的包,只更新包
- yum upgrade
- #指定包更新
- yum upgrade 指定包名
复制代码 update
更新包后对旧包操纵可控制(可删除可不删),还同时升级软件和体系内核确保体系的稳定性和安全性
- #配置是否保留旧包
- vi /etc/yum.conf
- 其中obsoletes 1删除,0保留修改此参数控制是否保留包
- #更新系统中已安装的软件包到最新版本,还同时升级软件和系统内核确保系统的稳定性和安全性
- yum update
- #指定包更新
- yum upgrade 指定包名
复制代码 卸载
清理缓存
- # yum缓存清理,把之前的索引删掉
- yum clean all
复制代码 天生缓存
- # 创建缓存,用刚配置好的源下载软件包的元数据和索引信息,并将它们存储在本地缓存中,加快操作速度减少网络访问
- yum makecache
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |