腾讯云CentOS 使用光盘ISO镜像搭建本地源实现离线/无网络yum安装软件或lnmp

安装LNMP一键安装包或者通过yum命令安装软件都是需要通过CentOS系统上设置的源进行的,一般情况下系统源一般为网络源,但是在一些内网或者某些单位保密等原因限制联网的环境中需要安装LNMP或者通过yum安装一些软件包,这里我们就需要使用CentOS的光盘来搭建一个本地源来实现离线或无网络安装。下面说一下具体步骤,其实和RHEL8设置光盘源步骤是基本一样的:

1、下载CentOS光盘镜像

下面以CentOS 7 为例,目前是国内环境,我们使用国内163源的镜像 http://mirrors.163.com/centos/7/isos/x86_64/ ,当然阿里云、华中科大的源都行。

下载地址:http://mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1810.iso   注意:这里的1810是centos的具体版本号,要和你系统上的匹配,可以 cat /etc/redhat-release 查看,主镜像一般只有当前最新版,如之前的老版本可以点击去对应版本isos目录下找。

然后使用wget下载的这个iso文件上传到服务器/root 目录下:


cd /root && wget http://mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1810.iso

2、挂载光盘镜像

mkdir /mnt/dvd
mount -o loop /root/CentOS-7-x86_64-Everything-1810.iso /mnt/dvd

这样就将光盘挂载 /mnt/dvd 目录了。
当然这个挂载命令只是一次性的,系统重启或者自己umount后就没了,需要使用本地源yum安装时需要线执行这个挂载命令。
PS:如果像有多张ISO光盘的CentOS 6之类的版本,可以 mkdir /mnt/dvd2,再参考前面的命令将第二张挂载到 /mnt/dvd2 上。

3、备份yum源配置文件

将/etc/yum.repos.d/ 所有的以.repo结尾的文件全部重命名为:xxxx.repo.backup

4、配置新yum本地源

使用winscpnanovim之类的软件编辑 /etc/yum.repos.d/CentOS-Media.repo
添加如下内容:

[local-media]

name=CentOS-$releasever - Media
baseurl=file:///mnt/dvd/
#file:///mnt/dvd2/
#如果有第二张光盘将前面dvd2行前面的 # 注释符号去掉
gpgcheck=1
enabled=1
gpgkey=file:///mnt/dvd/RPM-GPG-KEY-CentOS-7

保存

gpgcheck 签名检查可以改成 0 就会不检查。
gpgkey 最后面如果是CentOS-6就把最后面数字改成6

CentOS 8本地源配置文件写法与CentOS6和7不同,配置文件内容如下:

[LocalRepo_BaseOS]

name=LocalRepository_BaseOS
baseurl=file:///mnt/dvd/BaseOS
enabled=1
gpgcheck=0

[LocalRepo_AppStream]

name=LocalRepository_AppStream
baseurl=file:///mnt/dvd/AppStream
enabled=1
gpgcheck=0

保存

5、测试yum本地源是否正常工作

执行以下命令,清空以下缓存并创建新的缓存

yum clean all
yum makecache

然后 yum install wget 试一下能否正常安装依赖包。

没有报错的话就是正常工作了,当然wget也可能已经安装了,也可以换其他软件包尝试。

如果是要离线安装lnmp一键安装包,需要使用full包另外添加 CheckMirror=n 参数实现,安装命令例子 


CheckMirror=n ./install.sh lnmp

 

注意事项:

1、预留空间不足导致mysql一直安装失败

遇到报错信息如下:

cp: error writing ‘/etc/init.d/mysql’: No space left on device
cp: failed to extend ‘/etc/init.d/mysql’: No space left on device
cp: error writing ‘/etc/systemd/system/mysql.service’: No space left on device
cp: failed to extend ‘/etc/systemd/system/mysql.service’: No space left on device
include/mysql.sh: line 613: cannot create temp file for here-document: No space left on device
ldconfig: Writing of cache data failed: No space left on device
Failed to execute operation: Cannot send after transport endpoint shutdown
^Gmysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
failed, try other way...
include/mysql.sh: line 47: cannot create temp file for here-document: No space left on device
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Set password failed!
include/main.sh: line 767: cannot create temp file for here-document: No space left on device
include/main.sh: line 759: echo: write error: No space left on device
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Update root password...
include/main.sh: line 759: echo: write error: No space left on device
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
 ... Failed!
Remove anonymous users...
include/main.sh: line 759: echo: write error: No space left on device

从提示上看是空间不足导致安装失败,由于某些原因系统只清理出6G空间,以为是其它原因导致问题,反复尝试后依然安装失败。最后清理出10G空间后安装成功。

 

版权声明:
作者:管理员
链接:http://weifantech.com/index.php/2022/03/25/tyzcentossygpisojxcjbdzsxlxwtlyumazrjhlnmp/
来源:YunDevOps
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录