翼度科技»论坛 云主机 LINUX 查看内容

Linux下本地yum源配置及局域网yum配置

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
1、Linux下本地yum源配置

本地yum源依赖于python解析,首先要确保系统的python和yum源安装完成
1.1、本地yum源配置及挂载

上传ISO镜像或使用本机镜像,使用mount命令挂载镜像到/dev/loop0设备文件(用于模拟块设备)
  1. mount /dev/loop0 /opt/yum-iso  # 报错如下
  2. # failed to setup loop device: No such file or directory
复制代码

在类 UNIX 系统里,loop 设备是一种伪设备(pseudo-device),或者说是仿真设备,我们又叫它为循环接口文件,它能使我们像块设备一样访问一个文件。在使用之前,一个 loop 设备必须要和一个文件进行连接。这种结合方式给用户提供了一个替代块特殊文件的接口。因此,如果这个文件包含有一个完整的文件系统,那么这个文件就可以像一个磁盘设备一样被 mount 起来。
这种文件格式,我们经常见到的是 CD 或 DVD 的 ISO 光盘镜像文件或者是软盘(硬盘)的 *.img 镜像文件。通过这种 loop mount (回环mount)的方式,我们可这些镜像文件 mount 到当前文件系统的一个目录下,从而读取镜像中内容。
loop 含义:对于第一层文件系统,它直接安装在我们计算机的物理设备之上;而对于这种被 mount 起来的镜像文件(它也包含有文件系统),它是建立在第一层文件系统之上,这样看来,它就像是在第一层文件系统之上再overlay了一层文件系统,所以称为 loop,而在Linux系统里,用块文件模拟了该接口,Centos上默认有0-7个这样的设备。正常系统
一般显示如下:

1.1.1、处理过程

 1、手动新建,执行:
  1. mknod -m 666 /dev/loop0 b 7 0 #实际验证无效
  2. chown :disk /dev/loop0
  3. #附:批量
  4. chown :disk --reference=/dev/loop0 /dev/loop*
复制代码
 2、尝试手动先将镜像装入loop,在挂载loop伪设备
  1. losetup -a  #查看当前loop设备使用情况,返回当前已经使用的所有环回设备,即先查看一下哪些是空闲的
  2. sudo losetup -f  #自动查找空闲的设备,返回第一个未使用的环回设备
  3. #新建一个loop
  4. dd if=/dev/zero of=test.img bs=5M count=1000  #新建5g的img
  5. losetup /dev/loop0 /opt/CentOS-7-x86_64-DVD-1810.iso
  6. mount /dev/loop0 /opt/yum-iso
  7. #实际等同于
  8. mount -o loop /opt/CentOS-7-x86_64-DVD-1810.iso /opt/yum-iso
  9. mount /opt/CentOS-7-x86_64-DVD-1810.iso /opt/yum-iso -o loop=/dev/loop0
  10. #卸载
  11. umount /opt/yum-iso
  12. losetup -d /dev/loop0
复制代码
1.1.2、挂在时错误解决

错误1:写保护,将以只读方式挂载

格式化分区:mkfs.ext4 /dev/sdb1可参考标题2磁盘分区当中的格式化分区操作
重新挂载即可。
错误2:不能读取超块
可进行磁盘修复,如下:
  1. # 磁盘目录:/dev/vdb
  2. fsck.ext3 -B 1024 /dev/vdb
复制代码
 重新挂载即可。
1.2、创建本地repo文件
  1. # 备份原*.repo文件
  2. cp /etc/yum.repos.d/CentOS-Media.repo /etc/yum.repos.d/CentOS-Media.repo.bak
  3. # 编辑repo文件
  4. vim /etc/yum.repos.d/CentOS-Media.repo
复制代码
输入以下内容,file后面的/yum-iso目录与上节挂载目录保持一致
  1. [ftpYum]
  2. name=ftpYum
  3. baseurl=file:///opt/yum-iso
  4. enabled=1
  5. gpgcheck=0
复制代码

配置完成后,执行以下命令
  1. # 清除缓存
  2. yum cleam all
  3. # 生成新缓存
  4. yum makecache
复制代码
1.3、 修改yumRepo.py文件

可暂时忽略该步骤,尝试使用yum进行安装尝试看是否成功,若不成功可使用该步骤操作后重试
yum安装测试:yum install ntp -y
根据系统python版本编辑yumRepo.py
  1. vim /usr/lib/pythonx.x/site-packages/yum/yumRepo.py
复制代码
查找(vim 进入后输入/remote,进行查找,约在1008行)以下内容
  1. remote = url + '/' + relative
  2. # 修改为以下内容
  3. remote = url + '/opt/yum-iso' + relative
复制代码
重新使用yum安装命令进行测试即可。
2、Linux下局域网yum配置

本例使用Cnetos7示例,其他Linux大致相同,可以参照修改。
2.1、yum服务端应安装以下软件

yum、createrepo、httpd,使用rpm -q httpd createrepo yum检查是否安装

 如果未安装可以使用rpm -ivh或yum安装
  1. yum install httpd createrepo -y
复制代码
 2.1.1、开放防火墙80端口或关闭防火墙

可使用默认防火墙firewall或者iptables
firewall 防火墙开放端口
  1. # 开放单个端口
  2. firewall-cmd --zone=public --add-port=8080/tcp --permanent
  3. # 开放多个端口
  4. firewall-cmd --zone=public --add-port=20000-29999/tcp --permanent
  5. # 关闭端口
  6. firewall-cmd --zone=public --remove-port=8080/tcp --permanent
  7. # 重启防火墙
  8. firewall-cmd --reload
  9. # 关闭防火墙
  10. systemctl stop firewalld
  11. # 查看开放端口
  12. firewall-cmd --list-ports
复制代码
iptables 防火墙开放端口
  1. # 临时开放80端口,重启服务器后无效
  2. iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  3. # 查看端口开放和禁用情况
  4. iptabls -nL
复制代码
 2.1.2、关闭Selinux
  1. # 编辑
  2. vim /etc/selinux/config
复制代码
将SELINUX=enforcing改为SELINUX=disabled,保存后退出重启系统生效。
2.1.3、配置发布源

本例使用web服务器提供yum安装源的发布功能,也可使用ftp来实现相同功能。
首先安装好apache web服务器(yum install httpd -y)
在/etc/httpd/conf/httpd.conf中进行配置(可忽略该步骤)可直接对挂载点建立软连接(且将软连接建立在web服务器的初始目录下)
2.1.3.1、对挂载点建立软连接
  1. # 在web服务器初始目录下建立centos7目录
  2. mkdir /var/www/html/centos7
  3. # 建立软连接
  4. ln -s /opt/yum-iso/ /var/www/html/centos7
复制代码
重启httpd服务:
  1. # 重启httpd服务
  2. systemctl restart httpd.service
  3. # 开机自动重启
  4. systemctl enable httpd.service
  5. # 查看状态
  6. systemctl status httpd.service
复制代码
浏览器验证:http://ip/centos7/

以上图片表示局域网yum源服务端配置成功
2.2、yum源客户端配置

yum源客户端只需要编辑/etc/yum.repos.d/CentOS-Media.repo文件,将原yum源替换为局域网服务端yum源即可,具体替换为以下内容即可:
  1. vim /etc/yum.repos.d/CentOS-Media.repo
复制代码
替换为以下内容:
  1. [http]
  2. name=http
  3. baseurl=http://局域网yum源服务端IP/centos7/
  4. gpgcheck=0
  5. enabled=1
复制代码
使用yum源随便安装个软件测试即可。

来源:https://www.cnblogs.com/aerfazhe/p/17606614.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具