目录
一.YUM仓库服务
YUM (Yellow dog Updater Modified)
Linux系统各家厂商用的安装源
准备安装源
软件仓库的提供方式
RPM软件包的来源
构建Centos7软件仓库
在软件仓库中加入非官方RPM包组
为客户机指定YUM仓库位置
制作ftp源
服务端
(1)关闭防火墙
(2)下载vsftpd,启动vsftp服务
(3)将光盘镜像文件挂载到FTP共享目录中
(4) 配置ftp的yum源
(5)清除原有缓存,建立元数据缓存
主机端
(2)编辑yum源
(3)清除原有缓存,建立元数据缓存,并检验
yum在线源替换方法
yum软件包的下载方式
(1)开启缓存下载
( 2)仅下载软件包
yum的常用操作命令
一.YUM仓库服务
YUM (Yellow dog Updater Modified)
- 基于RPM包构建的软件更新机制
- 可以自动解决依赖关系
- 所有软件包由集中的YUM软件仓库提供
Linux系统各家厂商用的安装源
- centos7和rhel 7 默认使用的时 yum仓库源 ,软件包的结尾是".rpm"
- centos8 和 rhel 8 可以使用 dhf (是yum的衍生产品)
- Ubuntu debian 使用的是 apt 软件包是以“.deb”结尾
准备安装源
软件仓库的提供方式
-
FTP服务:ftp://..…
-
HTTP服务:http://.
-
本地目录:file://...
RPM软件包的来源
- Centos发布的RPM包集合
- 第三方组织发布的RPM包集合
- 用户自定义的RPM包集合
构建Centos7软件仓库
- RPM包来自CentOS7DVD光盘
- 通过FTP方式提供给客户机
在软件仓库中加入非官方RPM包组
- 包括存在依赖关系的所有RPM包
- 使用createrepo工具建立仓库数据文件
为客户机指定YUM仓库位置
- 配置文件:/etc/yum.repos.d/centos7.repo\
制作ftp源
服务端
(1)关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
(2)下载vsftpd,启动vsftp服务
[root@localhost ~]# yum -y install vsftpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 vsftpd.x86_64.0.3.0.2-29.el7_9 将被 安装
--> 解决依赖关系完成依赖关系解决==========================================================================================Package 架构 版本 源 大小
==========================================================================================
正在安装:vsftpd x86_64 3.0.2-29.el7_9 loacl 173 k事务概要
==========================================================================================
安装 1 软件包总下载量:173 k
安装大小:353 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装 : vsftpd-3.0.2-29.el7_9.x86_64 1/1 验证中 : vsftpd-3.0.2-29.el7_9.x86_64 1/1 已安装:vsftpd.x86_64 0:3.0.2-29.el7_9 完毕!
[root@localhost ~]# systemctl start vsftpd
(3)将光盘镜像文件挂载到FTP共享目录中
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7
[root@localhost ftp]# mount /dev/sr0 /var/ftp/centos7/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ftp]# df
文件系统 1K-块 已用 可用 已用% 挂载点
devtmpfs 914412 0 914412 0% /dev
tmpfs 931496 0 931496 0% /dev/shm
tmpfs 931496 10740 920756 2% /run
tmpfs 931496 0 931496 0% /sys/fs/cgroup
/dev/mapper/centos-root 17811456 5431252 12380204 31% /
/dev/sda1 1038336 191096 847240 19% /boot
tmpfs 186300 68 186232 1% /run/user/0
/dev/sr0 4635056 4635056 0 100% /run/media/root/CentOS 7 x86_
(4) 配置ftp的yum源
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# vim ftp.repo[ftp]
name=ftp
baseurl=ftp://20.0.0.146/centos7
enable=1
gpgcheck=1
gpgkey=ftp://20.0.0.146/centos7/RPM-GPG-KEY-CentOS-7
(5)清除原有缓存,建立元数据缓存
[root@localhost yum.repos.d]# yum clean all && yum makecache
已加载插件:fastestmirror, langpacks
正在清理软件源: ftp
Cleaning up list of fastest mirrors
Other repos take up 872 M of disk space (use --verbose for details)
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
ftp | 3.6 kB 00:00:00
(1/4): ftp/group_gz | 153 kB 00:00:00
(2/4): ftp/filelists_db | 3.3 MB 00:00:00
(3/4): ftp/primary_db | 3.3 MB 00:00:00
(4/4): ftp/other_db | 1.3 MB 00:00:00
元数据缓存已建立
主机端
(1)关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
(2)编辑yum源
[root@localhost ~]# mkdir /opt/yum
[root@localhost ~]# mv /etc/yum.repos.d/* /opt/yum
[root@localhost ~]# vim /etc/yum.repos.d/local.repo[ftpyum]
name=ftpyum
baseurl=ftp://20.0.0.146/centos7
enabled=1
gpgcheck=0
(3)清除原有缓存,建立元数据缓存,并检验
[root@localhost ~]# yum clean all && yum makecache
已加载插件:fastestmirror, langpacks
正在清理软件源: ftpyum
Cleaning up list of fastest mirrors
Other repos take up 872 M of disk space (use --verbose for details)
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
ftpyum | 3.6 kB 00:00
(1/4): ftpyum/group_gz | 153 kB 00:00
(2/4): ftpyum/filelists_db | 3.3 MB 00:00
(3/4): ftpyum/primary_db | 3.3 MB 00:00
(4/4): ftpyum/other_db | 1.3 MB 00:00
元数据缓存已建立
[root@localhost ~]# yum repolist
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源标识 源名称 状态
ftpyum ftpyum 4,070
repolist: 4,070
yum在线源替换方法
sed -e 's|^mirrorlist=|#mirrorlist=|g' \-e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \-i.bak \/etc/yum.repos.d/CentOS-*.repocd /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软件包的下载方式
(1)开启缓存下载
- yum下载软件包虽然会自动下载依赖包以保证正常安装所需软件包,但是依赖包会在安装完后自动删除,可以修改配置文件:/etc/yum.conf让依赖包不会被自动删除,即可得到所有下载的软件包
[root@localhost ~]# vim /etc/yum.conf[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=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
( 2)仅下载软件包
yum install -y 软件名 --downloadonly --downloaddir=软件包下载目录
[root@localhost ~]# yum install -y tomcat --downloadonly --downloaddir =/lll/
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 tomcat.noarch.0.7.0.76-16.el7_9 将被 安装
--> 正在处理依赖关系 tomcat-lib = 7.0.76-16.el7_9,它被软件包 tomcat-7.0.76-16.el7_9.noarch 需要
--> 正在处理依赖关系 apache-commons-pool,它被软件包 tomcat-7.0.76-16.el7_9.noarch 需要
--> 正在处理依赖关系 apache-commons-logging,它被软件包 tomcat-7.0.76-16.el7_9.noarch 需要
--> 正在处理依赖关系 apache-commons-dbcp,它被软件包 tomcat-7.0.76-16.el7_9.noarch 需要
--> 正在处理依赖关系 apache-commons-daemon,它被软件包 tomcat-7.0.76-16.el7_9.noarch 需要
--> 正在处理依赖关系 apache-commons-collections,它被软件包 tomcat-7.0.76-16.el7_9.noarch 需要
--> 正在检查事务
---> 软件包 apache-commons-collections.noarch.0.3.2.1-22.el7_2 将被 安装
---> 软件包 apache-commons-daemon.x86_64.0.1.0.13-7.el7 将被 安装
---> 软件包 apache-commons-dbcp.noarch.0.1.4-17.el7 将被 安装
--> 正在处理依赖关系 mvn(org.apache.geronimo.specs:geronimo-jta_1.1_spec),它被软件包 apache-commons-dbcp-1.4-17.el7.noarch 需要
---> 软件包 apache-commons-logging.noarch.0.1.1.2-7.el7 将被 安装
--> 正在处理依赖关系 mvn(logkit:logkit),它被软件包 apache-commons-logging-1.1.2-7.el7.noarch 需要
--> 正在处理依赖关系 mvn(log4j:log4j),它被软件包 apache-commons-logging-1.1.2-7.el7.noarch 需要
--> 正在处理依赖关系 mvn(avalon-framework:avalon-framework-api),它被软件包 apache-commons-logging-1.1.2-7.el7.noarch 需要
---> 软件包 apache-commons-pool.noarch.0.1.6-9.el7 将被 安装
---> 软件包 tomcat-lib.noarch.0.7.0.76-16.el7_9 将被 安装
--> 正在处理依赖关系 tomcat-servlet-3.0-api = 7.0.76-16.el7_9,它被软件包 tomcat-lib-7.0.76-16.el7_9.noarch 需要
--> 正在处理依赖关系 tomcat-jsp-2.2-api = 7.0.76-16.el7_9,它被软件包 tomcat-lib-7.0.76-16.el7_9.noarch 需要
--> 正在处理依赖关系 tomcat-el-2.2-api = 7.0.76-16.el7_9,它被软件包 tomcat-lib-7.0.76-16.el7_9.noarch 需要
--> 正在处理依赖关系 ecj >= 1:4.2.1,它被软件包 tomcat-lib-7.0.76-16.el7_9.noarch 需要
--> 正在检查事务
---> 软件包 avalon-framework.noarch.0.4.3-10.el7 将被 安装
--> 正在处理依赖关系 xalan-j2,它被软件包 avalon-framework-4.3-10.el7.noarch 需要
---> 软件包 avalon-logkit.noarch.0.2.1-14.el7 将被 安装
--> 正在处理依赖关系 jms,它被软件包 avalon-logkit-2.1-14.el7.noarch 需要
---> 软件包 ecj.x86_64.1.4.5.2-3.el7 将被 安装
---> 软件包 geronimo-jta.noarch.0.1.1.1-17.el7 将被 安装
---> 软件包 log4j.noarch.0.1.2.17-18.el7_4 将被 安装
--> 正在处理依赖关系 mvn(javax.mail:mail),它被软件包 log4j-1.2.17-18.el7_4.noarch 需要
---> 软件包 tomcat-el-2.2-api.noarch.0.7.0.76-16.el7_9 将被 安装
---> 软件包 tomcat-jsp-2.2-api.noarch.0.7.0.76-16.el7_9 将被 安装
---> 软件包 tomcat-servlet-3.0-api.noarch.0.7.0.76-16.el7_9 将被 安装
--> 正在检查事务
---> 软件包 geronimo-jms.noarch.0.1.1.1-19.el7 将被 安装
---> 软件包 javamail.noarch.0.1.4.6-8.el7 将被 安装
---> 软件包 xalan-j2.noarch.0.2.7.1-23.el7 将被 安装
--> 正在处理依赖关系 xerces-j2,它被软件包 xalan-j2-2.7.1-23.el7.noarch 需要
--> 正在处理依赖关系 osgi(org.apache.xerces),它被软件包 xalan-j2-2.7.1-23.el7.noarch 需要
--> 正在检查事务
---> 软件包 xerces-j2.noarch.0.2.11.0-17.el7_0 将被 安装
--> 正在处理依赖关系 xml-commons-resolver >= 1.2,它被软件包 xerces-j2-2.11.0-17.el7_0.noarch 需要
--> 正在处理依赖关系 xml-commons-apis >= 1.4.01,它被软件包 xerces-j2-2.11.0-17.el7_0.noarch 需要
--> 正在处理依赖关系 osgi(org.apache.xml.resolver),它被软件包 xerces-j2-2.11.0-17.el7_0.noarch 需要
--> 正在处理依赖关系 osgi(javax.xml),它被软件包 xerces-j2-2.11.0-17.el7_0.noarch 需要
--> 正在检查事务
---> 软件包 xml-commons-apis.noarch.0.1.4.01-16.el7 将被 安装
---> 软件包 xml-commons-resolver.noarch.0.1.2-15.el7 将被 安装
--> 解决依赖关系完成依赖关系解决================================================================================================================Package 架构 版本 源 大小
================================================================================================================
正在安装:tomcat noarch 7.0.76-16.el7_9 ftp 93 k
为依赖而安装:apache-commons-collections noarch 3.2.1-22.el7_2 ftp 509 kapache-commons-daemon x86_64 1.0.13-7.el7 ftp 54 kapache-commons-dbcp noarch 1.4-17.el7 ftp 167 kapache-commons-logging noarch 1.1.2-7.el7 ftp 78 kapache-commons-pool noarch 1.6-9.el7 ftp 113 kavalon-framework noarch 4.3-10.el7 ftp 88 kavalon-logkit noarch 2.1-14.el7 ftp 87 kecj x86_64 1:4.5.2-3.el7 ftp 1.9 Mgeronimo-jms noarch 1.1.1-19.el7 ftp 31 kgeronimo-jta noarch 1.1.1-17.el7 ftp 20 kjavamail noarch 1.4.6-8.el7 ftp 758 klog4j noarch 1.2.17-18.el7_4 ftp 445 ktomcat-el-2.2-api noarch 7.0.76-16.el7_9 ftp 83 ktomcat-jsp-2.2-api noarch 7.0.76-16.el7_9 ftp 96 ktomcat-lib noarch 7.0.76-16.el7_9 ftp 3.9 Mtomcat-servlet-3.0-api noarch 7.0.76-16.el7_9 ftp 214 kxalan-j2 noarch 2.7.1-23.el7 ftp 1.9 Mxerces-j2 noarch 2.11.0-17.el7_0 ftp 1.1 Mxml-commons-apis noarch 1.4.01-16.el7 ftp 227 kxml-commons-resolver noarch 1.2-15.el7 ftp 108 k事务概要
================================================================================================================
安装 1 软件包 (+20 依赖软件包)总下载量:12 M
安装大小:15 M
Background downloading packages, then exiting:
警告:/root/=/lll/apache-commons-daemon-1.0.13-7.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
apache-commons-daemon-1.0.13-7.el7.x86_64.rpm 的公钥尚未安装
(1/21): apache-commons-daemon-1.0.13-7.el7.x86_64.rpm | 54 kB 00:00:00
(2/21): apache-commons-collections-3.2.1-22.el7_2.noarch.rpm | 509 kB 00:00:00
(3/21): apache-commons-dbcp-1.4-17.el7.noarch.rpm | 167 kB 00:00:00
(4/21): apache-commons-logging-1.1.2-7.el7.noarch.rpm | 78 kB 00:00:00
(5/21): avalon-framework-4.3-10.el7.noarch.rpm | 88 kB 00:00:00
(6/21): apache-commons-pool-1.6-9.el7.noarch.rpm | 113 kB 00:00:00
(7/21): avalon-logkit-2.1-14.el7.noarch.rpm | 87 kB 00:00:00
(8/21): geronimo-jms-1.1.1-19.el7.noarch.rpm | 31 kB 00:00:00
(9/21): geronimo-jta-1.1.1-17.el7.noarch.rpm | 20 kB 00:00:00
(10/21): javamail-1.4.6-8.el7.noarch.rpm | 758 kB 00:00:00
(11/21): ecj-4.5.2-3.el7.x86_64.rpm | 1.9 MB 00:00:00
(12/21): tomcat-7.0.76-16.el7_9.noarch.rpm | 93 kB 00:00:00
(13/21): log4j-1.2.17-18.el7_4.noarch.rpm | 445 kB 00:00:00
(14/21): tomcat-el-2.2-api-7.0.76-16.el7_9.noarch.rpm | 83 kB 00:00:00
(15/21): tomcat-jsp-2.2-api-7.0.76-16.el7_9.noarch.rpm | 96 kB 00:00:00
(16/21): tomcat-servlet-3.0-api-7.0.76-16.el7_9.noarch.rpm | 214 kB 00:00:00
(17/21): xalan-j2-2.7.1-23.el7.noarch.rpm | 1.9 MB 00:00:00
(18/21): tomcat-lib-7.0.76-16.el7_9.noarch.rpm | 3.9 MB 00:00:00
(19/21): xml-commons-apis-1.4.01-16.el7.noarch.rpm | 227 kB 00:00:00
(20/21): xerces-j2-2.11.0-17.el7_0.noarch.rpm | 1.1 MB 00:00:00
(21/21): xml-commons-resolver-1.2-15.el7.noarch.rpm | 108 kB 00:00:00
----------------------------------------------------------------------------------------------------------------
总计 88 MB/s | 12 MB 00:00:00
exiting because "Download Only" specified
yumdownloader --destdir=软件包下载目录 --resolv 软件名 #--resolv代表下载软件所需的所有依赖包,不加这个选项代表仅下载指定的软件包
[root@localhost ~]# mkdir /ll
[root@localhost ~]# yumdownloader httpd --destdir=/ll --resolve
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-97.el7.centos.5 将被 已重新安装
--> 解决依赖关系完成
警告:/ll/httpd-2.4.6-97.el7.centos.5.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
httpd-2.4.6-97.el7.centos.5.x86_64.rpm 的公钥尚未安装
httpd-2.4.6-97.el7.centos.5.x86_64.rpm | 2.7 MB 00:00:00
在Linux系统下载文件
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repocurl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
--2024-04-29 16:00:08-- https://mirrors.aliyun.com/repo/Centos-7.repo
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 27.19.248.237, 1.194.165.235, 124.115.10.169, ...
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|27.19.248.237|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:2523 (2.5K) [application/octet-stream]
正在保存至: “/etc/yum.repos.d/CentOS-Base.repo”100%[======================================================================>] 2,523 --.-K/s 用时 0.005s 2024-04-29 16:00:08 (496 KB/s) - 已保存 “/etc/yum.repos.d/CentOS-Base.repo” [2523/2523])