yum仓库详解(命令+搭建)

本文详细介绍了yum的基础知识,包括其原理、配置文件详解、仓库搭建方法(本地、阿里云、FTP和HTTP),以及与之相关的存储类型、工作环境中的常见问题,如误删包的恢复和离线安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、初步了解yum

1、yum简介

2、yum实现过程

二、yum配置文件及命令

1、 yum配置文件

1.1 主配置文件

1.2 仓库设置文件

 1.3 日志文件

2、yum命令详解

三、搭建仓库的方法

1、搭建本地yum仓库

2、搭建阿里云仓库(http方式外网环境)

3、ftp方式搭建云仓库

4、http方式搭建yum仓库

四、存储类型

五、工作环境

1、误将rpm软件删除

2、自行打包后建立元数据

3、epel源  本地使用

4、离线安装软件


一、初步了解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实现过程

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

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

服务器:

  • RPM包 (Packages文件夹中)

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

客户端的配置文件中

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

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

仓库类型:

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

  • epel扩展仓库 比较新

二、yum配置文件及命令

1、 yum配置文件

1.1 主配置文件

位置:/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:  自定义变量

1.2 仓库设置文件

位置:/etc/yum.repos

创建YUM仓库配置文件是为了在Linux系统中,特别是基于RPM的系统(如CentOS、Fedora等)中设置软件仓库,以便于安装和更新软件包。YUM仓库的配置文件通常存放在`/etc/yum.repos.d/`目录下,每个仓库对应一个以`.repo`为后缀的文件。 以下是创建一个基本的YUM仓库配置文件的步骤: 1. 打开终端并切换到`/etc/yum.repos.d/`目录下。 2. 创建一个新的配置文件,可以使用`touch`命令,例如: ``` sudo touch /etc/yum.repos.d/myrepo.repo ``` 3. 编辑新创建的`.repo`文件,可以使用`vi`、`nano`或其他文本编辑器: ``` sudo vi /etc/yum.repos.d/myrepo.repo ``` 4. 在`.repo`文件中,你需要添加以下内容,解释如下: ``` [myrepo] name=My Repository baseurl=file:///path/to/repo enabled=1 gpgcheck=0 ``` - `[myrepo]` 是该仓库的名称,在一个`.repo`文件中可以有多个仓库段,每个段由方括号包围的名称标识。 - `name` 是对该仓库的描述。 - `baseurl` 是仓库路径,可以是本地路径(如上例所示),也可以是HTTP或FTP路径。 - `enabled` 表示该仓库是否启用,1表示启用,0表示禁用。 - `gpgcheck` 表示安装软件包前是否检查软件包的签名,1表示检查,0表示不检查。如果`baseurl`指向的是本地文件系统,通常不需要检查GPG签名。 5. 保存并关闭文件。 6. 清理YUM缓存并生成新的缓存,以便让YUM识别新的仓库配置: ``` sudo yum clean all sudo yum makecache ``` 7. 此时,你可以使用`yum repolist`查看所有启用的仓库,以及`yum list available`来列出新仓库中的软件包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值