文章目录

  • 前言
  • 一、准备工作
  • 二、yum本地源搭建
  • 三、配置python3各种包



前言

yum install 是使用centos时都肯定会用到的命令,而在使用yum时国内大部分也肯定配过镜像源比如清华、网易、人大的等等。这一切都建立在一个前提下——服务器能上外网。

但假如你突然被派到一个公司做外包,他们公司的服务器只能是离线环境,且服务器是一个清清白白的纯天然无污染centos,该如何部署你所需要的各种开发环境呢?

一种解决方案是自己先配置一个yum本地源带过去,就可以直接在那边离线安装了。


一、准备工作

网上很多配置yum本地源的教程都是要挂在一个iso镜像云云,但实际用的也只是镜像中的包含所有rpm包的pakage文件夹和一个配置文件夹。我们直接将一个目录作为源目标即可。

构建本地源目录之前还需要一个工具createrepo,否则你在创建配置文件设置该目录为本地源时就会报错blabla

首先是将createrepo的全量依赖包都下下来,使用的是repotrack,它将将目标包的全量依赖rpm下载到当前路径下。

$ yum -y install yum-utils
$ repotrack createrepo

接下来面临如何安装同时解决包依赖的问题。一般而言是yum帮我们做,但很不幸,createrepo是创建yum本地源的基础,而离线环境下安装工具解决依赖又靠得是yum本地源,那离线环境下安装createrepo得怎么办呢?一百多个依赖包啊。

这里记录下手动安装rpm的过程,可能因服务器环境的版本与初始程度有一些差异。

# 先将路径下能安的.rpm包安一遍。其中有几个包与固有的底层包有冲突,需要单独安一下
[root@localhost createrepo]# rpm -ivh *

[root@localhost createrepo]# rpm -ivh deltarpm-3.6-3.el7.x86_64.rpm

[root@localhost createrepo]# rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm 

[root@localhost createrepo]# rpm -ivh libxml2-2.9.1-6.el7.5.i686.rpm 

[root@localhost createrepo]# rpm -ivh libxml2-python-2.9.1-6.el7.5.x86_64.rpm  

[root@localhost createrepo]# rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm

至此createrepo离线安装成功,个人认为离线环境最麻烦的一步完成了。

二、yum本地源搭建

很简单,只有三步。

  1. 创建一个目录,将所需rpm包都放进去;
  2. 用指令createrepo /yourdict为其创建一个repodata目录,使之成为rpm仓库;
  3. 创建.repo配置文件指向到本地仓库的路径,注意文件名一定要是.repo结尾。
$ vi /etc/yum.repos.d/test.repo
		# 如果之前yum.repos.d下有东西,给它改名 .bak
[test]
name=test  #yum仓库的名字
baseurl=file:///yourdict  #仓库路径,由于是放在本地的只能用file协议而不是http
enabled=1  #开启该仓库
gpgcheck=0  #不做gpg检查

只需要将python3所需的全量依赖放到源目录下,到离线环境中直接 yum install python3即可,yum会自动为我们解决依赖问题,久违地方便。

这里注意是python3,如果只写python的话默认是python2.

且检查是否安装成功时,是 python3 -V,返回是python 3.6.8



三、配置python3各种包

如果windows用pycharm远程连接服务器

注意:pycharm 社区版的Tools中没有远程Deployment功能,必须得用专业版才行。

服务器上Python环境的外部包储存路径是/usr/local/lib64/python3.6/site-packages,只需要将这个路径拷到离线环境中即可调用其中的包。