一、什么是yum源
1、概念:
yum(Yellowdog Updater, Modified)是一个在基于RPM的Linux发行版(如Fedora、CentOS、RHEL等)中广泛使用的包管理器。它用于自动化地安装、更新、删除和管理软件包及其依赖关系。yum通过访问一个或多个软件仓库(通常称为“yum源”或“软件源”)来获取软件包及其信息。
yum源(或软件源)是一个存储了软件包及其元数据的仓库。这些软件包可以是编译好的二进制文件,可以直接安装在系统上。每个软件包都包含了软件本身、安装脚本、版本信息、依赖关系等。元数据则包括了软件包的描述、版本号、依赖关系等信息,yum利用这些信息来解析依赖关系,确保安装的软件包能够正确地协同工作。
yum源可以是本地仓库(例如,一个包含rpm包的目录),也可以是远程仓库(例如,一个网络上的HTTP、FTP或NFS服务器)。远程仓库特别有用,因为它们允许用户访问大量的软件包,这些软件包由发行版的官方维护者或第三方社区维护。
2、yum优点:
Rpm安装(下载软件,单独安装,需要解决依赖关系) 源码安装 configure make make install yum基于rpm,相当于rpm升级版,自动解决依赖关系
3、分类:
本地yum源 :yum仓库在本地,系统光盘/镜像文件
网络yum源:aliyun 163源 sohu源 清华源 centos源 redhat源 epel源
特定软件:nginx mysql zabbix
4、本地yum源备份
(1)找到源⽂件
当前在etc⽬录,跳转到yum.repos.d⽬录
[root@localhost etc]# cd yum.repos.d/
#查看默认的源⽂件
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
mysql-community.repo
CentOS-CR.repo CentOS-Media.repo CentOS-x86_64-kernel.repo
mysql-community-source.repo
CentOS-Debuginfo.repo CentOS-Sources.repo mysql-communitydebuginfo.repo
[root@localhost yum.repos.d]# pwd
/etc/yum.repos.d
(2)将所有的repo⽂件做成压缩包,命名为repo.tar.gz
[root@localhost yum.repos.d]# tar -zcvf repo.tar.gz ./*.repo
./CentOS-Base.repo
./CentOS-CR.repo
./CentOS-Debuginfo.repo
./CentOS-fasttrack.repo
./CentOS-Media.repo
./CentOS-Sources.repo
./CentOS-Vault.repo
./CentOS-x86_64-kernel.repo
./mysql-community-debuginfo.repo
./mysql-community.repo
./mysql-community-source.repo
您在 /var/spool/mail/root 中有新邮件
查看⽂件信息
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
mysql-community.repo
CentOS-CR.repo CentOS-Media.repo CentOS-x86_64-kernel.repo
mysql-community-source.repo
CentOS-Debuginfo.repo CentOS-Sources.repo mysql-communitydebuginfo.repo repo.tar.gz
(3)删除所有的repo⽂件
[root@localhost yum.repos.d]# rm -rf ./*.repo
您在 /var/spool/mail/root 中有新邮件
[root@localhost yum.repos.d]# ls
repo.tar.gz
5、本地yum源光盘配置
查看本地源
Loading mirror speeds from cached hostfile
repolist: 0
所有的yum都已经被删除了
(1)使⽤光盘作为yum源仓库
在vmware中装载centos7.6光盘镜像
(2)把光盘挂载到指定⽬录下
[root@localhost ~]# mount /dev/sr0 /mnt/ -o ro
您在 /var/spool/mail/root 中有新邮件
[root@localhost ~]# ls /mnt/
CentOS_BuildTag EULA images LiveOS repodata RPMGPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7
TRANS.TBL
解除挂载
将挂载添加到开机启动⽂件中
chmod +x /etc/rc.local 添加权限
echo 'mount -o ro /dev/sr0 /mnt' >> /etc/rc.local 向⽂件中添加⼀⾏
查看磁盘挂载情况
[root@localhost ~]# umount /mnt
您在 /var/spool/mail/root 中有新邮件
[root@localhost ~]# ls /mnt/
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
"#sda1 8:1 0 1G 0 part /boot
$#sda2 8:2 0 19G 0 part
"#centos-root 253:0 0 17G 0 lvm /
$#centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 8.8G 0 rom
(3)执行开机自动挂载
方式一:
编写本地repo⽂件创建⼀个repo⽂件编辑内容
[root@localhost ~]# vim /etc/rc.local
方式二:
[root@localhost ~]# echo 'mount -o or /dev/sr0 /mnt' >> /etc/rc.local
[root@localhost ~]# ls -l /etc/rc.local
lrwxrwxrwx. 1 root root 13 6⽉ 16 20:18 /etc/rc.local -> rc.d/rc.local
(4)编写本地repo文件
yum仓库格式:
[root@localhost~]#vim /etc/yum.repos.d/local.repo
(5)yum缓存
[root@localhost ~]# yum clean all #清除缓存
[root@localhost~]#yum makecache
[root@localhost~]#yum -y remove httpd
(6)测试yum---安装httpd
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# rpm -q httpd
6、网络yum源
(1)知名站点
搜索阿里镜像源
根据提示配置yum源
https://developer.aliyun.com/mirror/centos
复制阿⾥云提供的url,下载⽂件
[root@localhost yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo
https://mirrors.aliyun.com/repo/Centos-7.repo
--2024-07-14 20:00:04-- https://mirrors.aliyun.com/repo/Centos-7.repo
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 117.23.49.221,
117.23.49.224, 58.222.47.210, ...
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|117.23.49.221|:443... 已
连接。
已发出 HTTP 请求,正在等待回应... 200 OK
⻓度:2523 (2.5K) [application/octet-stream]
正在保存⾄: “/etc/yum.repos.d/CentOS-Base.repo”
100%
[======================================================================
] 2,523 --.-K/s ⽤时 0s
2024-07-14 20:00:04 (469 MB/s) - 已保存 “/etc/yum.repos.d/CentOSBase.repo” [2523/2523])
查看下载的⽂件
[root@localhost yum.repos.d]# ls
20240714001.repo CentOS-Base.repo repo.tar.gz
[root@localhost yum.repos.d]#
3.运⾏ yum makecache⽣成缓存 yum clear
4.查看源
[root@localhost yum.repos.d]# yum repolist all
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
base: mirrors.aliyun.com
extras: mirrors.aliyun.com
updates: mirrors.aliyun.com
源标识 源名称
状态
base/7/x86_64 CentOS-7 - Base -
mirrors.aliyun.com 启⽤: 10,072
centosplus/7/x86_64 CentOS-7 - Plus -
mirrors.aliyun.com 禁⽤
contrib/7/x86_64 CentOS-7 - Contrib -
mirrors.aliyun.com 禁⽤
extras/7/x86_64 CentOS-7 - Extras -
mirrors.aliyun.com 启⽤: 526
local local0
启⽤: 9,911
updates/7/x86_64 CentOS-7 - Updates -
mirrors.aliyun.com 启⽤: 6,173
repolist: 26,682
5.再次安装httpd
[root@localhost yum.repos.d]# yum -y install httpd
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
base: mirrors.aliyun.com
extras: mirrors.aliyun.com
updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-99.el7.centos.1 将被 安装
--> 解决依赖关系完成
依赖关系解决
=======================================================================
=========================================
Package 架构 版本
源 ⼤⼩
=======================================================================
=========================================
正在安装:
httpd x86_64 2.4.6-99.el7.centos.1
updates 2.7 M
事务概要
=======================================================================
=========================================
安装 1 软件包
总下载量:2.7 M
安装⼤⼩:9.4 M
Downloading packages:
httpd-2.4.6-99.el7.centos.1.x86_64.rpm
| 2.7 MB 00:00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : httpd-2.4.6-99.el7.centos.1.x86_64
1/1
验证中 : httpd-2.4.6-99.el7.centos.1.x86_64
1/1
已安装:
httpd.x86_64 0:2.4.6-99.el7.centos.1
完毕!
[root@localhost yum.repos.d]#
5.清除缓存,生成缓存
查看yum源
[root@localhost ~]# ls /etc/yum.repos.d/
6、腾讯镜像
https://mirrors.cloud.tencent.com/
查看帮助⽂档
https://mirrors.cloud.tencent.com/help/centos.html
安装nginx
[root@localhost ~]# yum list | grep nginx
[root@localhost ~]# yum -y install nginx.x86_64
[root@localhost ~]# nginx
[root@localhost ~]# curl http://localhost
[root@localhost ~]# nginx -s stop
[root@localhost ~]# curl http://localhost
删除nginx
[root@localhost ~]# yum -y remove nginx
nginx镜像
[root@localhost ~]# vim /etc/yum.repos.d/nginx.repo
[root@localhost ~]# ls /etc/yum.repos.d/
bak.tar.gz CentOS-Base.repo.bakup local.repo.bakup nginx.repo
[root@localhost ~]# cp /etc/yum.repos.d/CentOS-Base.repo.bakup /etc/yum.repos.d/CentOS-Base.repo
[root@localhost ~]# vim /etc/yum.conf
测试:(tree)
[root@localhost ~]# yum -y remove tree
[root@localhost ~]# yum -y install tree
[root@localhost ~]# cd /var/cache/yum/
[root@localhost yum]# ls
x86_64
[root@localhost yum]# cd x86_64/
[root@localhost x86_64]# ls
[root@localhost x86_64]# cd 7/
[root@localhost 7]# ls
AppStream centos extras nginx-stable timedhosts.txt
base epel local timedhosts updates
[root@localhost 7]# find ./ -name "*tree"
[root@localhost 7]# find ./ -name "tree"
./base/packages/tree-1.7.0-15.el8.x86_64.rpm
[root@localhost 7]# ls -l ./base/packages/tree-1.7.0-15.el8.x86_64.rpm
-rw-r--r--. 1 root root 60780 7月 2 2019 ./base/packages/tree-1.7.0-15.el8.x86_64.rpm
安装createrepo制作仓库的软件
[root@localhost ~]# yum -y install createrepo
版权归原作者 祈愿平安& 所有, 如有侵权,请联系我们删除。