zoukankan      html  css  js  c++  java
  • 按需制作最小的本地yum源

    【需求背景】

    有时候客户的环境里面只能离线安装文件,此时可以使用CentOS的ISO光盘作为本地源进行安装,或者是制作一个包含了YUM源服务的虚拟机。

    无论上面的哪一种方式都不够轻量,我们自己的组件可能只需要YUM源中的若干包即可。

    按照下面的方法,可以将需要的包下载到本地文件夹,并制作成YUM源,体积较小,并且利于发布安装。

       

    【下载yum包】

    在一台纯净的CentOS虚拟机上(建议与客户环境部署用的CentOS虚拟机镜像相同的虚拟机,保持初始状态,不要安装任何包,否则会影响后面的downloadonly插件的下载结果)

    安装YUM插件yum-plugin-downloadonly:

    yum install yum-plugin-downloadonly

       

    下载自己需要的包以及对应的依赖包到本地文件夹:

    yun install --downloadonly --downloaddir=~/package/ [package-name]

       

    各个包的依赖包之间可能有重叠,建议先把各个包的依赖包下载到单独的文件夹之后再合并,这时可以全局掌握一下依赖包重叠的情况。

       

    此时文件夹[package-name]下面应该存在着大量的rpm包,但此时这个文件夹还不能作为yum源来使用,它还缺少元信息和索引

       

    使用YUM安装:

    yum install createrepo

       

    执行createrepo

    createrepo --database ~/package/

       

    命令完成之后,会在 ~/package 文件夹下面生成一个新的文件夹 repodata ,下面包含了一下叫 repomd.xml 的文件,以及一些名称很长的元数据文件。

       

    此时整个package文件夹就可以当作一个完整的YUM源来使用。

       

    【yum源使用】

    在一台不能联网的机子上拷贝package文件夹到任意目录下,如 /root/package/

       

    再在 /etc/yum.repo.d/ 文件夹下面新建一个 local-repo.repo 的文件,内容如下(尽量先把原来已经存在的repo文件都删除掉):

    [local-repo]

    name=local-repo

    baseurl=file:///root/package

    gpgcheck=0

       

    此时就可以直接使用yum来安装了。

       

    如果以后需要在YUM源里面添加东西,按照上面的步骤再把依赖包下载下来,添加到package文件夹中,再进行 createrepo 更新元信息即可。

       

       

       

      

  • 相关阅读:
    wsl 2 unbuntu 部署 asp.net core 使用 nginx 做反向代理,调试文件上传失败
    【原创】Linux PCI驱动框架分析(三)
    JavaScript 的灵异事件之一
    javascript 对http的get请求参数编码encodeURIComponent、encodeURI 和Java 解码
    Docker 容器逃逸漏洞 (CVE-2020-15257)
    如何关掉页面版知乎的登录模态框
    一个让java程序员有杀人的冲动的Xerces冲突问题
    双十一 大促 云服务器哪家好 哪家强(价格最低)
    git 拉取指定目录
    nginx 剔除 $args 变量中任意指定参数之万金油
  • 原文地址:https://www.cnblogs.com/liuxia912/p/11311557.html
Copyright © 2011-2022 走看看