Yum仓库

发布时间:2024年01月16日

一、yum仓库的简介


1.yum介绍


? ? ? ? yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间 为什么会有依赖关系的发生 因为linux本身就是以系统简洁为自身优势,所以在安装操作系统的时候并没有将所有的库文件以及编译软件包进行安装,所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。

? ? ? ?YUM 的前身是 YUP(Yellow dog Updater,Yellow dog Linux 的软件更新器),最初由 TSS 公司(Terra Soft Solutions,INC.)使用 Python 语言开发而成,后来由杜克大学(Duck University)的 Linux 开发队伍进行改进,命名为 YUM(Yellow dog Updater,Modified)。 要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依 赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。

2.yum实现过程


首先要有安装包

安装包:

1.光驱里自带 挂载提供软件包

? ? ? ?先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。

yum需要依赖于环境,依赖于服务端和客户端,允许跨网络

服务器:

RPM包 (Packages文件夹中)

元数据(repodata文件夹:目录(软件的目录),软件的依赖关系,软件的位置)

客户端的配置文件中

baseurl=地址 一定要写到到 这两个文件夹 repodata packages 的上级目录

最终形成两个文件夹Packages (包文件夹一般取名packages)和 repodata(元数据文件夹)

仓库类型:

光盘的仓库基本仓库 比较常用的

epel扩展仓库 比较新

3.如何实现安装服务

二、yum配置文件


1.yum主配置文件


位置:/etc/yum.conf //主配置文件

[root@localhost]# /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件架构 $releasever系统版本比如7
keepcache=0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //是否保存缓存 ?0代表不保存,1代表保存
debuglevel=2 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//调试级别了解即可
logfile=/var/log/yum.log ? ? ? ? ? ? ? ? ? ? // 日志文件位置
exactarch=1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //是否允许不同版本的rpm安装
obsoletes=1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//update 的一个参数是否可以允许旧版本的运行 ? ?
gpgcheck=1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//验证秘钥
plugins=1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //是否允许插件1代表可以
installonly_limit=5 ? ? ? ? ? ? ? ? ? ? ? ? //保存几个内核 5代表5个
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量

2.yum仓库设置文件


位置:/etc/yum.repos.d/*.repo //yum仓库文件位置

例子里是默认的yum仓库 是centos官方的yum源,需要联网才可以使用

[root@localhost yum.repos.d]# ls /etc/yum.repos.d/
bak ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? CentOS-Debuginfo.repo ?CentOS-Sources.repo
CentOS-Base.repo ? ? ?CentOS-fasttrack.repo ?CentOS-Vault.repo
CentOS-CR.repo ? ? ? ? CentOS-Media.repo

3.日志文件


位置:/var/log/yum.log //日志文件

[root@localhost yum.repos.d]# cat /var/log/yum.log //查看日志文件
Jun 23 11:03:16 Installed: apr-1.4.8-3.el7.x86_64
Jun 23 11:03:16 Installed: apr-util-1.5.2-6.el7.x86_64
Jun 23 11:03:16 Installed: httpd-tools-2.4.6-67.el7.centos.x86_64
Jun 23 11:03:16 Installed: mailcap-2.1.41-2.el7.noarch
Jun 23 11:03:17 Installed: httpd-2.4.6-67.el7.centos.x86_64
Jun 23 11:03:26 Installed: ftp-0.17-67.el7.x86_64
Jun 23 11:03:38 Installed: vsftpd-3.0.2-22.el7.x86_64

4.yum命令详情

命令不加关键字加入关键词、软件包、软件包组
yum list显示所有可用包单个的可安装包
yum info显示所有可用包的信息单个具体的信息
yum search\模糊查找所有的相关信息
yum provides\精确查找
yum grouplist显示所有可用包组显示具体的包组
yum groupinfo显示所有的包组具体信息显示具体的包组的具体信息
yum install\安装具体软件包
yum groupinstall\安装具体软件包组
yum update所有软件升级具体软件升级
命令不加关键字加入关键词、软件包、软件包组
yum group update所有包组升级具体包组升级
yum remove\卸载具体软件
yum groupremove\卸载具体包组软件
yum history查看当前yum操作历史\
yum history undo加入序号卸载序号里安装的软件\
yum history redo加入序号重新执行序号里的操作\

三、yum命令详情

1. yum list [软件名]

显示当前可用包的列表,如不加软件名是显示所有的可用包,由于软件过多不做例子。

yum list | wc -l

#统计可用包的数量

yum list httpd

#看到具体的包的名字

yum list *http*

#看到包含http的包

2.yum? ?info? ?[软件名]

显示安装包的详细信息

yum? ? info? ? httpd

#查看httpd的详细信息

3.yum? ?search? 关键词

查找包含关键词的包,约等于yum? ?list? 命令

yum? ?search? ?http

#查找包含http的包

约等于yum? ?list? ?*http*

4.yum? ?provides? 关键词

5.yum? ? history

看到用yum安装的历史记录

yum? ? ?history? undo? ?2

#对ID为2的软件进行卸载

补充:

文章来源:https://blog.csdn.net/YUEAwb/article/details/135616513
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。