Linux无法连通外网情况下缺少依赖(CentOS7环境)

在有外网的情况下,可以用yum很容易的完成服务及其相关依赖的安装。而由于客户要求,导致生产服务器上无法连通外网。于是在搭建生产环境的时候,由于外网不通,导致缺少依赖的问题频频出现。

现将解决此类问题的方法归纳如下:

  • 直接下载(此方法适用于缺少单个或个别依赖的情况下

  1. 通过有网环境下载缺少的rpm包
  2. 上传至生产服务器
  3. 通过yum localinstall *.rpm 安装
  • 通过虚拟机安装(此方法适用于缺少依赖数量很多的情况下)

  1. 在有网环境下创建一个与生产环境相同操作系统的虚拟机。
  2. 确认yum正常。
  3. 修改配置文件/etc/yum.conf,keepcache=1
    # vi /etc/yum.conf
    [main]
    cachedir=/var/cache/yum/$basearch/$releasever
    keepcache=1
    ......
  4. 通过yum install  <package_name> 安装相关服务
  5. 查找yum缓存的rpm文件,并将其上传至生产服务器
    # find /var/cache/yum/ -name "*.rpm"
  6. 在生产服务器上,通过yum localinstall *.rpm 安装。
  • 解决包树状依赖的问题

  1. 比如yum localinstall a.rpm,提示需要安装 b.rpm,那么可以先yum localinstall b.rpm
  • 解决包相互依赖的问题

  1. 比如yum localinstall a.rpm ,提示需要安装 b.rpm ,再执行yum localinstall b.rpm ,又提示需要安装a.rpm,那么可以直接这样:yum localinstall a.rpm b.rpm
  • 解决与现有包版本冲突的问题

  1. 现有包影响不大的情况下,可卸载现有包,重新安装与之版本相匹配的包。
  2. 现有包影响大的情况(比如为linux的系统相关的包),可通过忽略版本检验来安装rpm包(不确定相关服务是否会因此而运行异常),比如:
    rpm -ivh nfs-utils-1.3.0-0.65.el7.x86_64.rpm gssproxy-0.7.0-26.el7.x86_64.rpm krb5-libs-1.15.1-37.el7_7.2.x86_64.rpm libini_config-1.3.1-32.el7.x86_64.rpm libref_array-0.1.5-32.el7.x86_64.rpm libverto-libevent-0.2.5-4.el7.x86_64.rpm libbasicobjects-0.1.1-32.el7.x86_64.rpm libcollection-0.7.0-32.el7.x86_64.rpm libpath_utils-0.2.1-32.el7.x86_64.rpm libevent-2.0.21-4.el7.x86_64.rpm libtirpc-0.2.4-0.16.el7.x86_64.rpm keyutils-1.5.8-3.el7.x86_64.rpm libpath_utils-0.2.1-32.el7.x86_64.rpm libnfsidmap-0.25-19.el7.x86_64.rpm quota-4.01-19.el7.x86_64.rpm rpcbind-0.2.0-48.el7.x86_64.rpm quota-nls-4.01-19.el7.noarch.rpm tcp_wrappers-7.6-77.el7.x86_64.rpm --force --nodeps
    	

    若有遗漏或偏颇之处,还请指出,以便大家共同成长。

发布了11 篇原创文章 · 获赞 0 · 访问量 502

猜你喜欢

转载自blog.csdn.net/weixin_42426099/article/details/103212136