yum仓库

本文介绍了Yum仓库的基本概念、实现过程,包括yum的配置文件结构、常用命令,以及如何搭建本地和http方式的仓库。重点讲解了yum仓库的配置、仓库文件的位置和作用,以及yum命令的详细解释和操作步骤。
摘要由CSDN通过智能技术生成

yum仓库

一、 yum仓库简介

1、yum简介

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间

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

2、yum实现过程

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

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

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

服务器

  • RPM包 (Packages文件夹中)

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

客户端的配置文件

  • 必须要放在 /etc/yum.repos.d/文件夹下

  • 必须要以 .repo 结尾

  • baseurl=地址一定要写到这两个文件夹 repodata、packages 的上级目录 ,最终形成两个文件夹Packages (包文件夹一般取名packages)和repodata(元数据文件夹)

    1. file:// — 代表本机位置
    2. file:///mnt — 代表本机光盘的挂载点(在/mnt文件夹下)
    3. http:// ip地址 — 代表网络地址
    4. https:// ip地址 — 代表网络地址

仓库类型

  • 光盘的仓库基本仓库比较常用的
  • epel扩展仓库比较新
2.3 实现安装服务

image-20240116225424040

  • 客户端根据配置文件找到服务端
  • 客户端将元信息下载到本地(元信息:安装包的位置,以及安装包的依赖关系)
  • 根据元信息去下载对应的安装包到本地后,然后安装
  • 安装完成后再删除安装包

元信息:是一个文件,记录安装包的路径和安装包的依赖关系

二、yum配置文件及命令

1、主配置文件

  • 位置:vim /etc/yum.conf

image-20240116230317336

[root@localhost]#vim /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

image-20240116230828799

[root@localhost abc]#cd /etc/yum.repos.d
#切换目录
[root@localhost yum.repos.d]#ll
#查看当前目录
总用量 28
-rw-r--r--. 1 root root 1664 830 2017 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 830 2017 CentOS-CR.repo
-rw-r--r--. 1 root root  649 830 2017 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  314 830 2017 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 830 2017 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 830 2017 CentOS-Sources.repo
-rw-r--r--. 1 root root 3830 830 2017 CentOS-Vault.repo
[root@localhost yum.repos.d]#ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo

3、日志

  • 位置:/var/log/yum.log

image-20240116231145963

[root@localhost yum.repos.d]#cat /var/log/yum.log
#查看日志文件
Jan 16 18:50:00 Installed: apr-1.4.8-7.el7.x86_64
Jan 16 18:50:00 Installed: apr-util-1.5.2-6.el7_9.1.x86_64
Jan 16 18:50:00 Installed: httpd-tools-2.4.6-99.el7.centos.1.x86_64
Jan 16 18:50:00 Installed: mailcap-2.1.41-2.el7.noarch
Jan 16 18:50:01 Installed: httpd-2.4.6-99.el7.centos.1.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加入序号重新执行序号里的操作\
命令查询
  1. yum list [软件名]
    • 显示可用的安装包,如不加软件名是显示所有的可用安装包,

    image-20240116232450055

  2. yum info [软件名]
    • 显示安装包详细信息,如不加软件名是显示所有包的详细信息

    image-20240116232551878

  3. yum search <关键词>
    • 根据关键字查找软件安装包

    image-20240116232914657

  4. yum provides <关键词>
    • 知道某个命令,查找具体的安装包

    image-20240116233248613

  5. yum grouplist [包组名]
    • 安装包组的查询 不加包组名 就是显示所有

    image-20240116233457817

  6. yum groupinfo <包组名>
    • 不加包组名显示全部

    image-20240116234120552

三、 搭建仓库的方式

1、搭建本地yum仓库

1.1 搭建yum仓库步骤
  • 首先将光驱中的镜像文件进行挂载(先将虚拟机的光盘载入)

  • 切换到 yum.repo.d 目录 将自带的仓库移走,多个开启仓库文件可能会造成冲突无法使用

  • 新建yum仓库文件

  • yum list 检查仓库无报错信息即可正常使用

2.2 命令格式
mount /dev/sr0 /mnt   #挂载

cd /etc/yum.repos.d    #切换到规定目录

mkdir bak    #新建备份文件夹

mv *.repo bak    #移动所有以repo结尾的文件到bak

vim xxxx.repo    #新建yum仓库文件
[xxxx]
name=xxxx
baseurl=file:///mnt
gpgcheck=0

yum clean all    #清除缓存

yum makecache    #重新下载元数据

yum install httpd -y    #使用yum安装httpd软件
2.3 命令格式(图文详解)

image-20240117123030667

2、http方式搭建云仓库

  • 服务端:192.168.10.11

  • 客户端:192.168.10.12

2.1 http方式搭建云仓库步骤
  • 服务端安装httpd服务

  • 服务端切换到/var/www/html/目录下新建一个centos7目录

  • 服务端将光驱里的文件包全部拷到centos7里面(将光驱挂载到 了centos7目录)

  • 服务端开启相关服务,关闭防火墙

  • 客户端安装http服务并启动关闭防火墙

  • 测试http服务是否正常

  • 编写yum仓库文件

  • 测试是否yum可以正常使用

2.2 命令格式
##服务端和客户端首先要关闭防火墙和防护中心
##服务端:
systemctl stop firewalld    #关闭防火墙

setenforce 0    #关闭防护中心

yum install httpd -y    #安装软件

cd /var/www/html/    #切换目录

mkdir centos7    #新建文件夹

mount /dev/sr0 centos7/    #挂载

systemctl start httpd    #开启服务

##客户端:
cd /etc/yum.repos.d    #切换到规定目录

mkdir bak    #新建备份文件夹

mv *.repo bak    #移动所有以repo结尾的文件到bak

vim httpd.repo    #新建yum仓库文件
[http]
name=httpd
baseurl=http://192.168.10.11/centos7
gpgcheck=0

yum clean all    #清除缓存

yum makecache    #重新下载元数据

##验证
yum list    #检查仓库无报错信息即可正常使用

yum install ftp -y    #安装软件(软件源来自于http)
2.3 命令格式(图文详解)
  • 服务端

image-20240117114419525

  • 客户端

image-20240117115510491

  • 验证

image-20240117115813561

  • 29
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Linux上搭建yum仓库,需要按照以下步骤进行操作: 1. 安装httpd和createrepo软件包,这两个软件包是搭建yum仓库的基础。 2. 创建一个目录,用于存放rpm软件包,例如/var/www/html/yum。 3. 将需要添加到yum仓库的rpm软件包复制到该目录下。 4. 运行createrepo命令,生成repodata目录和相关文件,例如:createrepo /var/www/html/yum。 5. 配置httpd服务,将/var/www/html/yum目录设置为httpd服务的根目录,并启动httpd服务。 6. 在客户端上配置yum仓库,将仓库的baseurl设置为http://<yum服务器IP>/yum。 7. 完成上述步骤后,就可以使用yum命令从yum仓库中安装软件包了。 需要注意的是,搭建yum仓库需要一定的Linux基础知识和操作经验,建议在操作前先备份重要数据,以免造成不必要的损失。 ### 回答2: yum是一种用于在Linux操作系统中,自动从互联网上下载安装的软件包的软件工具。在Linux系统中,Yum仓库是用于存储Linux软件包和相关依赖关系的仓库。通过搭建自己的Yum仓库,可以更方便地管理软件包、集中控制软件版本,提高软件部署效率和安全性。 首先需要在服务器上安装httpd服务,以便于其他客户端可以通过http协议访问yum仓库。 接着需要安装createrepo工具,用于创建软件仓库的元数据。首先将准备好的软件包上传到web服务器指定的目录下,执行以下命令: $ createrepo --database /path/to/my_repo/ 注意:此处的/path/to/my_repo/指的是存储软件包的目录。 然后修改httpd服务的配置文件httpd.conf,将软件仓库的目录加入到httpd服务中: Alias /my_repo /path/to/my_repo/ <Directory /path/to/my_repo/> Options Indexes FollowSymLinks MultiViews Require all granted </Directory> 接着保存并重启httpd服务: $ systemctl restart httpd 最后,在客户端的yum配置文件(/etc/yum.repos.d)中添加新的仓库。例如,创建一个新的仓库文件my_repo.repo: [my_repo] name=My Repo baseurl=http://server_ip/my_repo enabled=1 gpgcheck=0 注意:此处的server_ip指的是Yum仓库所在服务器的实际IP地址。 现在可以使用yum命令来从你自己的仓库中安装软件包了: $ yum install package_name 通过以上步骤,就可以成功地搭建自己的Yum仓库了,方便地进行软件包管理、版本控制和软件部署。 ### 回答3: Linux是一种非常流行的操作系统,拥有一个强大的社区和开源生态系统。Linux搭建yum仓库是一种在Linux上管理软件包的常用方法。yum仓库是一种软件库,用于安装、更新和卸载软件包。在yum仓库中,您可以找到和下载大量的软件包。以下是如何搭建一个yum仓库步骤。 1.准备环境 在搭建yum仓库之前,需要准备一个Linux机器,此处以CentOS为例。还需要一个HTTP服务器,这里使用Apache。确保系统已经安装了必要的软件包,如:httpd、createrepo和yum-utils。 2.配置HTTP服务器 yum使用HTTP和FTP来获取和安装软件包,因此需要配置一个HTTP服务器。可以使用Apache来搭建一个HTTP服务器。打开Apache配置文件,位置在/etc/httpd/conf/httpd.conf,搜索DocumentRoot,将其修改为所需目录,例如/var/www/html。 在此之后,启用Apache服务,这可以通过执行以下命令实现:systemctl enable httpd.service systemctl start httpd.service 3.创建yum仓库 将需要的rpm包拷贝到一个目录中,模拟一个yum仓库服务器。使用createrepo来创建仓库,这个工具会扫描指定目录中的所有rpm包并生成仓库的索引信息。 在httpd的DocumentRoot目录下,创建一个子目录yum,然后将rpm包放在这个目录下。使用createrepo工具来生成仓库索引。命令为createrepo /var/www/html/yum。 4.配置yum仓库文件 yum使用repo文件来指定软件源,新建一个*.repo文件,例如:centos7.repo,将其保存在/etc/yum.repos.d/目录下。编辑文件,添加如下内容: [base] baseurl=http://localhost/yum/ gpgcheck=0 enabled=1 在这个文件里,baseurl是yum仓库服务器的地址,gpgcheck是指是否检查GPG密钥,enbled设置为1表示该软件源可用。 5.测试yum仓库 现在,yum仓库已经配置好了,可以测试yum是否连接到了这个新的软件源。执行以下命令: yum clean all yum list 如果您可以看到新安装的rpm包,说明yum已经成功连接到了新的yum仓库服务器。 总结: 搭建yum仓库是非常方便的,您可以使用已有的HTTP服务器来构建,然后使用createrepo对rpm包进行索引。通过配置*.repo文件,您可以轻松地将新的软件源添加到yum,并使用yum命令来获取、安装和卸载rpm包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值