zoukankan      html  css  js  c++  java
  • 无法连接公网场景下的软件依赖问题

    从事IT行业,有很多的情况会遇到客户的网络不允许接入公网,或者实施时遇到区域性的封网政策,这时候,安装一些开源的工具,或者需要开源软件依赖的公司产品,就会成为一件很麻烦的事情,茫茫多的软件包,是非常的难以整理的,本文章专为解决这种应用场景。

    以ubuntu与centos系统使用的apt-get包管理工具与yum包管理工具为例,来说明解决这种问题的思路和与之对应的解决办法。

    拷贝离线包并手动安装:

    1.Ubuntu系统:

      在与客户网络上相同的ubuntu版本与安装方式的系统下,安装开源软件,或者有依赖的公司产品,ubuntu会把所有的包都下载好,保存在/var/cache/apt/archives/目录下,我们需要做的就是将该目录复制,上传到内网的机器上,然后使用dpkg –i *.deb命令循环安装,这样的话,每次至少有一个包被安装,多次执行之后,所有的包就会安装上,接下来,就可以完成工作任务了。

    2.centos系统:

     centos系统的话还是不同于ubuntu系统的,在与客户网络上相同的centos版本与安装方式(如最小化安装)的系统下,修改/etc/yum.conf里对应的keepcache=0为keepcache=1,然后yum下载的软件包就会保存下来,保存在/var/cache/yum/x86_64/7/base/packages目录下,将下载好的包复制到内网的机器上,先执行rpm –U *.rpm再执行rpm –i *.rpm即可完成对软件包的安装。

    或者使用 yumdownloader命令来做,安装yumdownloader命令:

    yum install yum-utils -y
    
    以离线安装ansible为例,方法为:
    
    yumdownloader --resolve ansible    这样,便把ansible的安装包全都下载到当前的ansible目录中了

    之后,可以使用creatrepo将ansible做成离线的yum仓库,使用ftp或者http把它共享到局域网,便可以实现本地的yum仓库共享,同样,createrepo也是需要安装的,安装命令与做离线仓库方法如下:

    yum install createrepo -y
    
    使用方法,如:
    
    createrepo ansible    生成当前目录下ansible目录下的所有包的依赖关系,这时,ansible目录便是一个yum源

    createrepo会在ansible目录下生成一个文件夹,其中的文件便保存着包的依赖关系。我们将yum源指向这个目录,再使用yum install命令来安装即可

     配置本地yum源:

    在/etc/yum.repo.d/下添加1.repo文件如下

    [1]
    
    name=1
    
    baseurl=file:///ansible
    
    enabled=1
    
    gpgcheck=0

    这样就ok了

      解决问题的思路大致就是这样,别的类linux系统也可以使用类似的思路来解决该问题。

     

  • 相关阅读:
    129. Sum Root to Leaf Numbers
    113. Path Sum II
    114. Flatten Binary Tree to Linked List
    112. Path Sum
    100. Same Tree
    300. Longest Increasing Subsequence
    72. Edit Distance
    自定义js标签库
    JS 实现Table相同行的单元格自动合并示例代码
    mysql 高版本only_full_group_by 错误
  • 原文地址:https://www.cnblogs.com/xiaoyuxixi/p/11364493.html
Copyright © 2011-2022 走看看