Quantcast
Channel: polygun2000的博客
Viewing all articles
Browse latest Browse all 55

建立minimal的本地yum源和pip源

$
0
0
使用yum和pip安装软件非常方便,可以自动解决依赖问题,但是要求所在的服务器必须能够访问Internet。
有些场景下,基于安全要求,服务器不能访问Internet,这时如果使用rpm和setup.py方式安装就会很麻烦。

所以有必要在本地建立yum和pip的repository,但是通常我们并不需要整个官方repo的镜像,那会占用太多空间。

因此,我们只需要下载我们所需要的包,下边说一下方法,是我从一个老外哥们儿的文档里扒来的,嘿嘿。

1.安装yum的epel源,安装创建repo的相关工具

]# yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
]# yum makecache fast
]# yum install createrepo yum-utils

2.创建存放下载到的rpm目录
]# mkdir /var/www/html/epel

3.只下载必须和依赖的包

这一步是只下载必须依赖的包的技巧,即使用yumdownloader获取所需rpm的列表,以安装python-pip举例

]# for URL in `yumdownloader --resolve --urls python-pip | grep 'http.*epel'` ; do wget -P /opt/epel ${URL} ; done

4.创建本地repo
]# createrepo /var/www/html/epel

5.安装pip和pip2pi
]# yum install -y python-pip
]# pip install pip2pi

6.创建pip包下载目录
]# mkdir /var/www/html/pip

7.下载所需的包,用dir2pi建立pip要求的目录结构,以supervisor为例:
]# pip download supervisor -d /var/www/html/pip 
]# dir2pi /var/www/html/pip

8.安装和配置nginx
]# yum install nginx
]# vi /etc/nginx/conf.d/repo.conf
server {
  listen 80;
  server_name yum.myown.com;
  root /var/www/html;
  location /{
   autoindex on;
   autoindex_exact_size off; #显示文件的大小
   autoindex_localtime on; #显示文件时间
   #limit_rate_after 5m; #5分钟后下载速度限制为200k
   #limit_rate 200k;
  }
  access_log logs/yum.myown.com.access.log main;
}

9.客户机使用自建源的方法
]# vi /etc/yum.repos.d/epel.repo
[EPEL-Local-Repository]
name=EPEL $releaseserver - $basesearch Local
baseurl=http://yum.myown.com/epel
gpgcheck=0
enabled=1
priority=1

]# vi ~/.pip/pip.conf
[global]
index-url = http://yum.myown.com/pip/simple

参考文档:
https://medium.com/@vando/creating-an-small-local-yum-and-pip-repository-f04ff08c144f
https://github.com/wolever/pip2pi
http://www.jb51.net/article/83617.htm
https://pip.pypa.io/en/stable/reference/pip_download/

 

Viewing all articles
Browse latest Browse all 55

Trending Articles