美文网首页
centos7.6同步rpm包,搭建本地yum源

centos7.6同步rpm包,搭建本地yum源

作者: cyclone_29 | 来源:发表于2019-01-08 10:02 被阅读0次

    由于开发环境只有局域网,没法使用网上的各种YUM源,来回拷贝rpm包安装麻烦,还得解决依赖问题。可以将其他yum源服务器的包同步到本地,可以使用rsync命令直接镜像过来,这里使用的是网易的镜像。
    具体镜像方法:

    1、进入要存储rpms文件的本地目录,比如/root/rpms/extras目录

    2、访问http://mirrors.163.com/centos/目录可以发现有很多的数字目录,这些都是不同的centos版本,但是较老的版本一般都不支持同步了,现在可以同步的只有centos7.6。

    image.png
    3.进入7.6.1810目录,可以看到有很多的子目录
    image.png
    4.一般我们要同步的是os(与本地yum源的x86_64对应)、updates、extras,当然你也可以全部同步。我们目前要同步extras目录,那么就进入extras目录,选择适合自己的路径,我是x86_64架构的电脑,进入x86_64,所有的包都在Packages下,如下图:
    image.png
    5.找到正确的路径后就可以开始同步了,在本地输入rsync -avrt --delete rsync://mirrors.163.com/centos/7/extras/x86_64/Packages/ /root/rpms/extras
    image.png
    注意Packages后面的/,如果没有这个会把Packages目录也拉取下来

    如果命令找不到,使用yum安装rsync

        yum install -y rsync
    

    6.同步完成之后,使用createrepo命令创建元数据。
    createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据
    命令使用:


    image.png

    参数说明:


    image.png
    image.png
    创建元数据:
        createrepo  -v -p /root/rpms/extras
    
    image.png

    创建完成之后,可以看到 /root/rpms/extras目录下多了个repodata目录。


    image.png

    如果该目录下的rpms文件发生变化,可以使用以下命令更新索引,也可以删除repodata目录重新创建索引,不过如果需要创建索引的文件过多,重新创建需要花费很长的时间

        createrepo -update /root/rpms/extras
    

    使用同样的方法同步os,updates目录。
    所有的目录创建完成索引之后,删除/etc/yum.repos.d目录下的所有文件,创建base..repo,文件名随意。

        vi base.repo
    

    参考内容如下:

        [base]
        name=base
        #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
        baseurl=file:///root/rpms/x86_64
        enabled=1
        gpgcheck=0
    
        [updates]
        name=updates
        #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
        baseurl=file:///root/rpms/updates
        enabled=1
        gpgcheck=0
    
        [extras]
        name=extras
        #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
        baseurl=file:///root/rpms/extras
        enabled=1
        gpgcheck=0
    
        #additional packages that extend functionality of existing packages
        [centosplus]
        name=centosplus
        baseurl=file:///root/rpms/centosplus
        gpgcheck=1
        enabled=0
    

    具体的文件的位置依赖实际的存储位置。

        yum clean all #清除原来的yum缓存
        yum makecache #生成新的yum缓存
        yum listrepo #查看支持的repo
    

    不过这样搭建的源只能供本机使用,如果需要作为yum服务器,简单的方法是添加httpd服务,将rpms目录移动到/var/www/html目录下,同时修改base.repo的内容,步骤如下:

        yum install -y httpd
        mv /root/rpms /var/www/html
        systemctl start httpd.service
        systemctl enable httpd.service
    

    修改base.repo内容,参考如下:

      [base]
      name=base
      #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
      baseurl=http://192.168.1.80/rpms/x86_64
      enabled=1
      gpgcheck=0
    
      [updates]
      name=updates
      #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
      baseurl=http://192.168.1.80/rpms/updates
      enabled=1
      gpgcheck=0
    
      [extras]
      name=extras
      #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
      baseurl=http://192.168.1.80/rpms/extras
      enabled=1
      gpgcheck=0
    
      #additional packages that extend functionality of existing packages
      [centosplus]
      name=centosplus
      baseurl=http://192.168.1.80/rpms/centosplus
      gpgcheck=0
      enabled=0
    

    注:192.168.1.80为本机的局域网IP地址,需要按照实际情况填写。
    enable: 1 使用该源 0不使用该源
    gpgcheck:1 进行检测 0 不进行检测
    使用浏览器输入地址:http://192.168.1.80/rpms,查看是否有相应的内容,如果提示没有权限,需要设置/var/www/html/rpms目录的权限

        chmod 755 /var/www/html/rpms
    
    image.png
        yum clean all #清除原来的yum缓存
        yum makecache #生成新的yum缓存
        yum listrepo #查看支持的repo        
    

    完成。
    额外:添加mysql源
    下载文件:


    image.png

    这个是centos7的,其他的linux系统不支持
    下载完成之后,创建/var/www/html/mysql目录,将下载的文件解压到该目录,同样的方式创建RPMS文件元数据,
    创建完成之后,修改base.repo文件,添加mysql源,清除原来的yum缓存,创建新的yum缓存,之后就可以使用以下命令直接安装MySQL了

        yum install -y mysql-community-server
    

    相关文章

      网友评论

          本文标题:centos7.6同步rpm包,搭建本地yum源

          本文链接:https://www.haomeiwen.com/subject/ieshlqtx.html