Linux 使用ftp自建yum源解决内网环境rpm依赖的问题(centos7)

  • 熟悉centos的同学都知道有网的时候可以使用yum解决依赖问题,但是万一企业里服务器不让连外网呢?有童鞋想到了说,我挂系统镜像,一俩台可以手动挂,10多台的时候,你还手动挂吗,而且系统完全镜像这个东西,动不动5G往上,比较浪费磁盘空间,所以这里决定搭建一个ftp服务器,当做yum源
  • ftp服务器挂载镜像
mkdir /mnt/cdrom 
mount -o loop /opt/rhel-server-5.7-x86_64-dvd.iso  /mnt/cdrom/
#看到下面类似的提示说明成功了
#mount: block device /dev/sr0 is write-protected, mounting read-only
#在/mnt/cdrom 目录下就有iso文件里的所有内容,而不是iso文件。需要时也可以加上参数iso9660
#mount -t iso9660 -o loop xxx.iso /some/path
  • 打包备份所有默认配置的yum源,tar -czvf repo.tar.gz /etc/yum.repos.d/CentOS-*,删除所有的reporm -f /etc/yum.repos.d/*.repo
  • 编辑ftp服务器yum源配置
# iso.repo 是自定义的名称,随便取
# vi /etc/yum.repos.d/iso.repo
# 名称,自定义
[iso]
name=iso  
# yum 软件包路径
baseurl=file:///mnt/cdrom
# 启用这个仓库
enabled=1 
# 不启用包检查
gpgckeck=0
# 这个去/mnt/cdrom/目录下去找GPG-KEY的文件的文件名
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7
  • yum clean all
  • yum install vsftpd
  • mkdir /yum
  • vi /etc/vsftpd/vsftpd.conf并增加匿名用户root目录(默认已经启用匿名访问)anon_root=/yum/
  • 关闭selinux,vi /etc/selinux/config,设置SELINUX=disabled,保存退出,执行setenforce 0使改变的内容生效,这一步不执行的话会导致使用浏览器打开ftp服务器看不到文件
  • iptables -F
如果不想把所有防火墙的过滤规则都去掉,可以执行netstat -tunpl | grep ftp
如果显示netstat:command not found
yum install net-tools 就好
查看ftp占用的端口,并给ftp端口开启iptables白名单
vi /etc/sysconfig/iptables
添加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
保存退出
重启iptables:service iptables restart
  • 启动ftp服务,service vsftpd start
  • 现在,同网段的机器可以通过ftp://ftp服务器ip地址可以访问到ftp服务器的目录:/yum/
  • 安装repo创建工具:yum -y install createrepo
  • 拷贝镜像里的rpm包到/yum/目录:cp -r /mnt/cdrom/Packages/ /yum,也就是ftp目录,这里你可以去爬163,阿里或者其他yum源的软件包到你本地
  • 创建自定义repo:createrepo /yum/,创建完成后会在/yum/目录下生成一个repodata的文件夹:
[root@localhost yum]# ls /yum/
Packages  repodata
  • 在另一台内网机器上打包备份所有默认配置的yum源,tar -czvf repo.tar.gz /etc/yum.repos.d/CentOS-*,删除所有的reporm -f /etc/yum.repos.d/*.repo编辑其repo文件
# vi /etc/yum.repos.d/ftp.repo
[ftp]
name=ftp
# yum 软件包路径
baseurl=ftp://ftp服务器ip地址/
# 启用这个仓库
enabled=1
# 不启用包检查
gpgckeck=0
# GPG KEY 文件
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  • yum clean all,然后就可以用yum 继续愉快的装软件了
  • 卸载镜像umount /mnt/cdrom,卸载之后,你的ftp服务器上的repo文件对应的baseurl也要修改成ftp地址
  • 详细的关于yum源的信息可参考linux yum源配置
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容