搭建本地Yum仓库
yum其实就解决rpm依赖的问题,虽然网上有很多epel源,但是前提企业得有外网,有些严格要求的企业是只有内网的,如果需要安装某个服务时比较麻烦,站在节省宽带的原则可以在闲置一台机器上搭建一个yum仓库,方便内网环境使用
我在VM里添加一个磁盘(我这个是VM实验,用光盘挂载的方式,生产环境直接把安装包内文件拷贝到相应文件目录即可)

之后我们扫描磁盘看看系统识别出来没有,发现有两个安装光盘,我要做两个yum仓库,一个是centos7与RHEL8的
[root@centos7 wordpress]#df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda2 52403200 6270468 46132732 12% /
devtmpfs 915828 0 915828 0% /dev
tmpfs 931624 0 931624 0% /dev/shm
tmpfs 931624 10676 920948 2% /run
tmpfs 931624 0 931624 0% /sys/fs/cgroup
/dev/sda3 20961280 1195420 19765860 6% /data
/dev/sda1 1038336 177872 860464 18% /boot
tmpfs 186328 20 186308 1% /run/user/0
/dev/sr1 6935944 6935944 0 100% /run/media/root/RHEL-8-0-0-BaseOS-x86_64
/dev/sr0 10491772 10491772 0 100% /run/media/root/CentOS 7 x86_64
这个时候就可以安装yum instal nginx/httpd,因为我的电脑里面已经有nginx是编译安装的,我就不yum安装了,之后在创建需要的挂载文件
[root@centos7 wordpress]#mkdir centos/{7,8}/os/x86_64/ -pv
mkdir: 已创建目录 "centos"
mkdir: 已创建目录 "centos/7"
mkdir: 已创建目录 "centos/7/os"
mkdir: 已创建目录 "centos/7/os/x86_64/"
mkdir: 已创建目录 "centos/8"
mkdir: 已创建目录 "centos/8/os"
mkdir: 已创建目录 "centos/8/os/x86_64/"
看一下目录结构没问题
[root@centos7 wordpress]#tree
.
├── centos
│ ├── 7
│ │ └── os
│ │ └── x86_64
│ └── 8
│ └── os
│ └── x86_64
下面我们开始挂载
[root@centos7 wordpress]#mount /dev/sr0 centos/7/os/x86_64/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@centos7 wordpress]#mount /dev/sr1 centos/8/os/x86_64/
mount: /dev/sr1 写保护,将以只读方式挂载
之后我们进入文件夹看一下文件,已经显示文件了,说明挂载没问题
[root@centos7 x86_64]#ls
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
之后我们配置repo文件,我们进入/etc/yum.repos.d/,把之前的repo文件给全部mv转走并且备份,在创建一个新的文件叫test.repo,配置文件内添加如下内容
[root@centos7 yum.repos.d]#vim test.repo
[base]
name=base
baseurl=http://XXX.XXX.XXX.XXX/centos/$releasever/os/$basearch/
gpgcheck=0
之后我们在配置一下nginx配置文件nginx.conf,nginx默认不会开启浏览目录功能的,
autoindex on开启,
autoindex_exact_size off;默认为on,显示出文件的确切大小,单位是bytes。
改为off后,显示出文件的大概大小,单位是kB或者MB或者GB
autoindex_localtime on;默认为off,显示的文件时间为GMT时间。
改为on后,显示的文件时间为文件的服务器时间
location / {
root html;
index index.html index.htm index.php;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
之后我们启动nginx -t测一下,没问题启动nginx,在reload一下
[root@centos7 yum.repos.d]#nginx -t
nginx: the configuration file /apps/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /apps/nginx/conf/nginx.conf test is successful
[root@centos7 yum.repos.d]#nginx
[root@centos7 yum.repos.d]#nginx -s reload
我们来访问一下,没问题

之后我们开始更新yum源
[root@centos7 yum.repos.d]#yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: base
Cleaning up list of fastest mirrors
Other repos take up 1.1 G of disk space (use --verbose for details)
[root@centos7 yum.repos.d]#yum repolist
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
base | 3.6 kB 00:00:00
(1/2): base/7/x86_64/group_gz | 166 kB 00:00:00
(2/2): base/7/x86_64/primary_db | 6.0 MB 00:00:00
源标识 源名称 状态
base/7/x86_64 base 10,019
repolist: 10,019
之后我们安装一个软件试试,没问题
[root@centos7 yum.repos.d]#yum install httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-88.el7.centos 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-88.el7.centos,它被软件包 httpd-2.4.6-88.el7.centos.x86_64 需要
--> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-88.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 httpd-tools.x86_64.0.2.4.6-88.el7.centos 将被 安装
---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=================================================================================================
Package 架构 版本 源 大小
=================================================================================================
正在安装:
httpd x86_64 2.4.6-88.el7.centos base 2.7 M
为依赖而安装:
httpd-tools x86_64 2.4.6-88.el7.centos base 90 k
mailcap noarch 2.1.41-2.el7 base 31 k
事务概要
=================================================================================================
安装 1 软件包 (+2 依赖软件包)
总下载量:2.8 M
安装大小:9.6 M
Is this ok [y/d/N]: y
Downloading packages:
(1/3): httpd-tools-2.4.6-88.el7.centos.x86_64.rpm | 90 kB 00:00:00
(2/3): httpd-2.4.6-88.el7.centos.x86_64.rpm | 2.7 MB 00:00:00
(3/3): mailcap-2.1.41-2.el7.noarch.rpm | 31 kB 00:00:00
-------------------------------------------------------------------------------------------------
总计 12 MB/s | 2.8 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : mailcap-2.1.41-2.el7.noarch 1/3
正在安装 : httpd-tools-2.4.6-88.el7.centos.x86_64 2/3
正在安装 : httpd-2.4.6-88.el7.centos.x86_64 3/3
验证中 : httpd-tools-2.4.6-88.el7.centos.x86_64 1/3
验证中 : mailcap-2.1.41-2.el7.noarch 2/3
验证中 : httpd-2.4.6-88.el7.centos.x86_64 3/3
已安装:
httpd.x86_64 0:2.4.6-88.el7.centos
作为依赖被安装:
httpd-tools.x86_64 0:2.4.6-88.el7.centos mailcap.noarch 0:2.1.41-2.el7
完毕!
[root@centos7 yum.repos.d]#
总结:发现一个问题redhat8的目录路径跟centos7是不一样的,如果是6通用,不过本例子是centos7所以不影响,如果是redhat8在改test.repo哈
