🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
yum是Yellowdog Updater Modifier的缩写,常用在Redhat/CentOS系列的linux发行版上,类似于Ubuntu的apt-get,用于管理操作系统上的软件包。 > 快速解决依赖关系 > 安装更新卸载方便 ~~~ yum-config-manager --add-repo ~~~ ~~~ rpm -q --qf %{version} lrzsz 0.12.20 ~~~ ### 客户端 client #### 配置文件 ##### yum配置文件 `/etc/yum.conf` ``` [main] cachedir=/var/cache/yum/$basearch/$releasever 客户端缓存路径 keepcache=0 是否保存缓存RPM debuglevel=2 调试级别,安装过程中 logfile=/var/log/yum.log exactarch=1 严格检查平台类型 obsoletes=1 过期废弃 gpgcheck=1 检查来源信息 plugins=1 installonly_limit=5 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum distroverpkg=centos-release 发行版名称 # metadata_expire=90m # PUT YOUR REPOS HERE OR IN separate files named file.repo # in /etc/yum.repos.d ``` ##### yum仓库配置文件 `/etc/yum.repo.d/` yum仓库元数据文件缓存至本地,加快了查询和下载速度。 ### yum仓库 #### 元数据文件 repodata当成`仓库路径` 创建元数据文件(repodata)命令 `createrepo` CentOs直接在光盘主目录下 Rhel在主目录/Server下 ``` *primary.xml.gz:当前仓库所有RPM的列表、依赖关系、每个RPM安装之后生成的文件 *filelists.xml.gz:当前仓库中多有RPM包的所有文件的列表(包括生成的文件) *other.xml.gz:额外信息,RPM的修改日志(软件开发人员) repomd.xml:上面三个文件的时间戳和校验和 *comps-rhel6-Server.xml.gz:RPM分组信息 必须安装、建议安装、可选安装 ``` ### yum命令使用方法 #### 安装和升级 ``` # 使用远程仓库进行安装 install package1 [package2] [...] # 使用本地rpm包进行安装 localinstall rpmfile1 [rpmfile2] [...] # 检查更新 check-update # 升级 update [package1] [package2] [...] update-to [package1] [package2] [...] localupdate rpmfile1 [rpmfile2] [...] # 降级 downgrade package1 [package2] [...] # 重新安装 reinstall package1 [package2] [...] ``` #### 卸载 ``` remove | erase ``` #### 查看软件信息 ``` list [...] -qa info [...] -qi # 搜索 search string1 [string2] [...] provides | whatprovides feature1 [feature2] [...] -qf clean [ packages | metadata | expire-cache | rpmdb | plugins | all ] 清除缓存 makecache 创建缓存 ``` #### 包组管理 ``` # 安装 groupinstall group1 [group2] [...] # 升级 groupupdate group1 [group2] [...] # 卸载 groupremove group1 [group2] [...] # group列表 grouplist [hidden] [groupwildcard] [...] # 查看组信息 groupinfo group1 [...] ``` #### 解决依赖关系 ``` resolvedep dep1 [dep2] [...] deplist package1 [package2] [...] ``` #### 仓库管理 ``` repolist [all|enabled|disabled] version [ all | installed | available | group-* | nogroups* | grouplist | groupinfo ] history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats] load-transaction [txfile] check ``` #### 只下载,不安装 ``` yum -y install yum-utils yumdownloader telnet ``` #### yum shell ``` shell [filename] ``` --- ### 如何为yum定义repo文件 ``` [Repo_ID] name=Description baseurl= ftp:// http:// file:///此处的路径指定到RPM包的路径 enabled={1|0} 1表示启用(默认),0表示禁用 gpgcheck={1|0} GPG验证 gpgkey= ftp:// http:// file:/// ``` --- ### 创建yum仓库 ``` createrepo DIR 这样未定义组 createrepo -g comps.*.xml DIR ``` ~~~ rpm --rebuilddb :重建数据库,几秒钟可以建立 --initdb:初始化数据库,没有则建立,有则不用建立 ~~~ ## 导入密钥文件 ~~~ rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 rpm -K /PATH/TO/RPM ~~~