一、前言
我们正常的使用云服务等不会遇到离线挂载的问题,但在公司实际项目中,客户现场环境是不允许服务器接入互联网的,但是往往安装各类rpm包时需要各种依赖,未接入互联网时,会下载依赖失败,所以我们需要自己制作一个离线yum源
二、系统版本查看
查看系统版本信息,离线挂载源需要是同系统同版本才可以
三、下载iso镜像
从官网或者阿里云下载系统镜像
1 2 3
| https://developer.aliyun.com/mirror/
|
四、挂载镜像
建立目录
1 2
| mkdir -p /mnt/iso mkdir -p /mnt/cdrom
|
拷贝镜像到服务器mnt/iso下
挂载镜像
1 2 3 4
| mount -o loop /mnt/iso/CentOS-7-x86_64-Everything-2009.iso /mnt/cdrom
ls /mnt/cdrom
|
取消挂载
查看cdrom下的文件夹,最重要的就是Packages,所有依赖包均在该目录下
五、自动挂载
以上挂载操作仅限本次启动有效,如果系统重启,则挂载失效,如需要永久挂载,则需进行以下配置
1 2 3 4 5
| vim /etc/fstab
mnt/iso/CentOS-7-x86_64-DVD-1810.iso /mnt/cdrom iso9660 loop,defaults 0 0
|
六、配置本地yum源
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
ll /etc/yum.repos.d.bak
rm -rf /etc/yum.repos.d/*
vim /etc/yum.repos.d/local.repo
[local] name=local baseurl=file:///mnt/cdrom enabled=1 gpgcheck=0 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7
|
以上配置结束后,接口离线安装一些rpm包,比如wget,telnet等,如果没有可自行下载后拷贝再服务器进行安装,缺少的依赖会从离线源自动安装
七、搭建局域网内的yum源服务器
可选httpd服务或者nginx服务做代理转发,我们下面使用httpd服务
1 2 3 4 5 6 7 8 9 10 11
| yum -y install httpd
systemctl start httpd
telnet 127.0.0.1 80
ln -s /mnt/cdrom /var/www/html/cents7
|
一般服务器均设置防火墙,可能需要配置防火墙放行端口,以下是防火墙常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| firewall-cmd --zone=public --add-port=端口/tcp --permanent
systemctl restart firewalld.service
systemctl start firewalld.service
systemctl status firewalld.service
systemctl stop firewalld.service
|
以上配置后,局域网离线yum源仓库已搭建完成,在需要使用离线yum源的机器上进行以下配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
rm -rf /etc/yum.repos.d/*
vim /etc/yum.repos.d/remote.repo
[remote] name=remote baseurl=http://192.168.80.130/centos7/ enabled=1 gpgcheck=0 gpgkey=http://192.168.80.130/centos7/RPM-GPG-KEY-CentOS-7
|
八、mount命令的常用选项
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| -a,--all:挂载/etc/fstab里面所有的文件系统; -r,--read-only:以只读的权限挂载文件系统; -w,--re,--read-write:以读写权限挂载文件系统; -L,--label LABEL:根据指定的卷标挂载文件系统; -U,--uuid UUID:根据指定的uuid挂载文件系统; -o OPTIONS:指定挂载文件系统的方式; ro:以只读方式挂载; rw:以读写方式挂载,默认挂载选项; async:异步IO,数据写操作优先于内存完成,然后再根据某种策略同步至硬盘中,默认挂载选项; sync:同步IO; atime/noatime:设置文件和目录被访问时是否更新最近一次的访问时间戳; auto/noauto:设置设备是否支持mount的-a选项自动挂载,默认挂载为auto; diratime/nodiratime:目录被访问时是否更新最近一次的访问时间戳; dev/nodev:设置是否支持在此设备上使用设备,默认挂载为dev; exec/noexec:设置是否允许执行此设备上得二进制程序文件,默认挂载为exec; suid/nosuid:设置是否支持在此设备的文件上使用suid,默认挂载为suid; user/nouser:设置是否允许普通挂载此文件设备,默认挂载为nouser; remount:重新挂载选项; acl:设置在此设备上是否支持使用facl,默认不支持;
|