文章目录

  • 场景1、使用操作系统iso文件作为本地yum源
  • 场景2、通过可以上网的电脑制作yum包,拷贝到目标服务器搭建本地yum源。
  • 1、可以上网的Linux缓存所需各种rpm依赖包(centos7)
  • 2、无法上网的操作系统Linux操作

  • 场景1:
    客户现场服务器没有条件上互联网,然而安装rpm软件需要解决各种rpm包依赖问题,当所需要的rpm依赖包都可以从操作系统iso中获取时,可以通过iso文件搭建本服务器的yum源解决软件安装依赖问题。
  • 场景2:
    客户现场服务器没有条件上互联网,然而安装rpm软件需要解决各种rpm包依赖问题,当所需要的rpm依赖包无法从操作系统iso中获取时,可以通过能上网的电脑或者虚拟机,yum安装所需软件,同时缓存rpm文件,然后备份rpm缓存目录,拷贝到不能上网的目标服务器搭建本地yum源解决依赖问题。

场景1、使用操作系统iso文件作为本地yum源

  1. 将/etc/yum.repos.d/下所有文件备份后删除并创建abc.repo (6.0以下有红帽rhel-debuginfo.repo文件)或者可以在xxx-base最后加【local】。
[root@RAC yum.repos.d]mkdir bak
[root@RAC yum.repos.d]move * bak
[root@RAC yum.repos.d]touch abc.repo
[root@RAC yum.repos.d]# ls
abc.repo bak
  1. vi编辑abc.repo 添加如下内容
#注意centos 6.0以下包路径为:/DVD/Server
#注意centos 6.x包路径为:/DVD
[base]
name = abc
baseurl =file:///DVD  
enabled =1
gpgcheck = 0

注意centos 8.0以上需要增加俩个路径(BaseOS和AppStream)

[base]
name = abcbase
baseurl =file:///DVD/BaseOS  
enabled =1
gpgcheck = 0
[app]
name = abcapp
baseurl =file:///DVD/AppStream
enabled =1
gpgcheck = 0
  1. yum repolist查看可用源
[root@RAC yum.repos.d] yum repolist
Loading mirror speeds from cached hostfile
源标识                                                                                    源名称                                                                                    状态
!base                                                                                     abcyum                                                                                    10,070
  1. 挂在ISO光盘到/DVD目录
[root@RAC yum.repos.d]# mkdir /DVD
[root@RAC yum.repos.d]# mount /dev/cdrom /DVD
mount: /dev/sr0 写保护,将以只读方式挂载
[root@RAC yum.repos.d]# ls /DVD
CentOS_BuildTag  EFI  EULA  GPL  images  isolinux  LiveOS  Packages  repodata  
.......
  1. 清理缓存并 安装软件vsftp测试
[root@RAC yum.repos.d]# yum clean all
正在清理软件源: base
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors

[root@RAC yum.repos.d]# yum install vsftpd
已加载插件:fastestmirror, product-id, search-disabled-repos, subscription-manager
正在解决依赖关系
--> 正在检查事务
---> 软件包 vsftpd.x86_64.0.3.0.2-25.el7 将被 安装
--> 解决依赖关系完成
  正在安装    : vsftpd-3.0.2-25.el7.x86_64                                                                                                                                                                1/1 
  验证中      : vsftpd-3.0.2-25.el7.x86_64                                                                                                                                                                1/1 
已安装:
  vsftpd.x86_64 0:3.0.2-25.el7                                                                                                                                                                                
完毕!
  1. 列出源包情况
[root@RAC yum.repos.d]# yum groups list  hidden
已加载插件:fastestmirror, product-id, search-disabled-repos, subscription-manager
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
可用的环境分组:
   最小安装
   GNOME 桌面
可用组:
   Anaconda 工具
   CentOS Linux Client product core
   FTP 服务器
   开发工具
  。。。。。。。
  1. 安装源包的套件安装方法(如:开发工具)
yum  groupinstall "开发工具"

场景2、通过可以上网的电脑制作yum包,拷贝到目标服务器搭建本地yum源。

1、可以上网的Linux缓存所需各种rpm依赖包(centos7)
  1. 安装所需工具包
    yum install -y createrepo
  2. 编辑yum安装配置文件,启用keepcache=1
vi /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1
  1. 通过网络安装所需软件(比如docker容器)
    yum install -y docker
[root@RAC 7]#  yum install -y docker --nogpgcheck
已加载插件:fastestmirror, product-id, search-disabled-repos, subscription-
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 docker.x86_64.2.1.13.1-161.git64e9980.el7_8 将被 安装
--> 解决依赖关系完成  
警告:RPM 数据库已被非 yum 程序修改。
 正在安装    : 2:docker-1.13.1-161.git64e9980.el7_8.x86_64                                                                                                                                               1/1 
 验证中      : 2:docker-1.13.1-161.git64e9980.el7_8.x86_64                                                                                                                                               1/1 
已安装:
 docker.x86_64 2:1.13.1-161.git64e9980.el7_8
  1. cd切换目录到rpm缓存目录,查看缓存
[root@RAC ~]# cd /var/cache/yum/x86_64/7/
[root@RAC 7]# ls  extras/packages/
docker-1.13.1-161.git64e9980.el7_8.x86_64.rpm
  1. 当前目录制作yum包createrepo -v ./
[root@RAC 7]# createrepo -v ./
[root@RAC 7]# ls
base  extras  <font color=red>repodata</font> timedhosts  timedhosts.txt  updates
[root@RAC 7]# tar -zcvf yumdocker.tar.gz *
2、无法上网的操作系统Linux操作
  1. WinSCP拷贝yumdocker.tar.gz文件到新服务器/DVD里,并解压
[root@RAC DVD]# tar -zxvf yumdocker.tar.gz 
[root@RAC DVD]# ls
base  extras  repodata  timedhosts  timedhosts.txt  updates  yumdocker.tar.gz
  1. 配置本地yum
cd /etc/yum.repos.d/
[root@RAC yum.repos.d]mkdir bak
[root@RAC yum.repos.d]move * bak
[root@RAC yum.repos.d]touch local.repo
[root@RAC yum.repos.d]# ls
local.repo bak
[local]
name=local-repo
baseurl=file:///DVD
gpgcheck=0
enabled=1
  1. 安装所需软件包
[root@RAC yum.repos.d]#  yum install -y docker
已加载插件:fastestmirror, product-id, search-disabled-repos, subscription-manager
正在安装:
 docker                                     x86_64                                     2:1.13.1-161.git64e9980.el7_8                                     local                                      18 M
安装  1 软件包
总下载量:18 M
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
  正在安装    : 2:docker-1.13.1-161.git64e9980.el7_8.x86_64                                                                                                                                          1/1 
  验证中      : 2:docker-1.13.1-161.git64e9980.el7_8.x86_64                                                                                                                                          1/1 
已安装:
  docker.x86_64 2:1.13.1-161.git64e9980.el7_8                                                                                                                                                            
完毕!