使用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/