目录
2、在仓库主机的软件包目录中准备好软件包列表 ,并使用 createrepo <软件包目录> 命令建立仓库数据文件。
一、YUM仓库服务
1、概述
(1)是基于RPM软件包构建的软件更新机制
(2)可以自动解决依赖关系
(3)所有软件包由集中的YUM软件仓库提供
2、准备安装源
软件仓库的提供方式
FTP服务:ftp:///.........
HTTP服务:http:///......
本地目录:file:///........
YUM软件仓库类型
仓库类型 | 安装路径 |
本地源 | baseurl=file://… |
ftp源 | baseurl=ftp://… |
在线源 | baseurl=http://… baseurl=https://… |
RPM软件包的来源
CentOS发布的RPM包集合
第三方组织发布的RPM包集合
用户自定义的RPM包集合
一键安装软件包的工具
RHEL、CentOS yum dnf
Ubuntu、Debian apt apt-get
yum安装的好处
一键安装更新软件包
自动解决软件包之间的依赖关系
软件包仓库可以集中管理并提供给多个客户机使用
常见的国内镜像源地址
网易163 yum源 安装方法查看:http://mirrors.163.com/.help/
中科大的 yum源 安装方法查看:https://lug.ustc.edu.cn/wiki/mirrors/help
sohu的 yum源 安装方法查看: http://mirrors.sohu.com/help/
阿里云的 yum源 安装方法查看: https:/lopsx.alibaba.com/mirror
清华大学的 yum源 安装方法查看: https://mirrors.tuna.tsinghua.edu.cn/
浙江大学的 yum源 安装方法查看: http://mirrors.zju.edu.cn/
中国科技大学yum源 安装方法查看:http://centos.ustc.edu.cn/
构建CentOS7软件仓库
3、访问yum源
(1)本地YUM源
[root@192 repo.bak]# cd /mnt/ #在mnt中放入本地yum源的文件
[root@192 mnt]# ls
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
[root@192 mnt]# cd /etc/yum.repos.d/ #进入这个目录中准备yum源配置文件
[root@192 yum.repos.d]# ls
local.repo repo.bak
[root@192 yum.repos.d]# vim local.repo #编辑yum源配置文件,在文件进行以下配置
[local]
name=local
baseurl=file:///mnt #本地yum源配置
enabled=1
gpgcheck=0
(2)在线YUM源(官方)
[root@192 yum.repos.d]# cd repo.bak/
[root@192 repo.bak]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-x86_64-kernel.repo
#第一个即是官方yum源配置
[root@192 repo.bak]# vim CentOS-Base.repo
二、搭建yum源仓库
1、初始化操作
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
devtmpfs 1913552 0 1913552 0% /dev
tmpfs 1930628 0 1930628 0% /dev/shm
tmpfs 1930628 12808 1917820 1% /run
tmpfs 1930628 0 1930628 0% /sys/fs/cgroup
/dev/mapper/centos-root 27245572 4585812 22659760 17% /
/dev/sda1 1038336 191084 847252 19% /boot
tmpfs 386128 24 386104 1% /run/user/1000
/dev/sr0 4635056 4635056 0 100% /run/media/huang/CentOS 7 x86_64
[root@localhost ~]# mount /dev/sr0 /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
local.repo repo.bak
[root@localhost yum.repos.d]# vim local.repo
[root@localhost yum.repos.d]# cd /mnt/Packages/
[root@localhost Packages]# ls | grep vsftpd-3.0.2-29.el7_9.x86_64.rpm
vsftpd-3.0.2-29.el7_9.x86_64.rpm
[root@localhost Packages]# rpm -ivh vsftpd-3.0.2-29.el7_9.x86_64.rpm
警告:vsftpd-3.0.2-29.el7_9.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:vsftpd-3.0.2-29.el7_9 ################################# [100%]
2、在仓库主机的软件包目录中准备好软件包列表 ,并使用 createrepo <软件包目录> 命令建立仓库数据文件。
[root@localhost Packages]#systemctl start vsftpd
[root@localhost Packages]# cp * /var/ftp/
[root@localhost Packages]# cd /var/ftp/
[root@localhost ftp]# createrepo ./ //自动根据具软件包的文件创建数据库文件
Spawning worker 0 with 2035 pkgs
Spawning worker 1 with 2035 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
3、客户机配置
在客户机的 /etc/yum.repos.d/ 目录中创建yum仓库源配置文件
配置如下:
4、验证
yum makecache 更新缓存, yum install -y 安装软件
yum在线源替换方法
官方地址替换成在线源地址
cd /etc/yum.repos.d/
vim CentOS-Base.repo
baseurl=http://mirror.centos.org/ 替换成 https://mirrors.tuna.tsinghua.edu.cn/
https://mirrors.aliyun.com/
https://mirrors.163.com/
三、通过yum下载软件包
开启缓存
vim /etc/yum.conf
cachedir=软件包缓存目录
keepcache=1 #1为开启缓存,0为关闭缓存yum install -y 软件名 #下载并安装软件包
下载并保存安装包
示例:下载并保存安装包的方法
先配置CentOS-Base.repo 文件,将yum源修改为国内阿里云的镜像源
修改vim /etc/yum.conf
仅下载软件包
yum install -y 软件名 --downloadonly --downloaddir=软件包下载目录
yumdownloader --destdir=软件包下载目录 --resolv 软件名 #--resolv代表下载软件所需的所有依赖包,不加这个选项代表仅下载指定的软件包
示例:仅下载软件包的方法
yum install -y 软件名 --downloadonly --downloaddir=软件包下载目录
方法二:
在Linux系统下载文件
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo