CentOS7下搭建私有yum/pip源

搭建pip源

  1. 安装pypiserver
pip install pypiserver
  1. 加入systemd托管
# cat /usr/lib/systemd/system/pipserver.service
[Unit]
Description=pipserver
After=network.target
  
[Service]
Type=simple
#PIDFile=/run/pipserver.pid
ExecStart=/usr/bin/pypi-server -p 8000 -P . -a . /data/pipserver/packages
#ExecReload=/bin/kill -s HUP $MAINPID
#ExecStop=/bin/kill -s QUIT $MAINPID
#PrivateTmp=true
  
[Install]
WantedBy=multi-user.target
  1. 重新加载服务
systemctl daemon-reload
systemctl enable pipserver
systemctl start pipserver
  1. 无密码上传pip包
python setup.py bdist_wheel upload -r http://localhost:8000

搭建yum源

依赖包 createrepodeltarpm python-deltarpm

  1. 服务端配置

# 1. 创建 yum 仓库目录,rpm 包都上至此目录
mkdir -p /data/yumserver/ 

# 2. 安装 createrepo 软件
yum -y install createrepo                    

# 3. 初始化 repodata 索引文件
createrepo -pdo /data/yumserver/  /data/yumserver/      

# 4. 进入需要提供仓库的目录
cd /data/yumserver/          

# 5. 可以用 Apache 或 Nginx 提供 Web 服务
# 但用 Python 的 http 模块更简单,适用于内网环境,可以通过浏览器输入本机 IP 查看。
python -m SimpleHTTPServer 80 &>/dev/null &  

# 6. 每加入一个 rpm 包就要更新一下
createrepo --update /data/yumserver/
  1. 加入systemd托管
# cat /usr/lib/systemd/system/yumserver.service
[Unit]
Description=yumserver
After=network.target
  
[Service]
Type=simple
WorkingDirectory=/data/yumserver
#PIDFile=/run/pipserver.pid
ExecStart=/usr/bin/python -m SimpleHTTPServer 8001
#ExecReload=/bin/kill -s HUP $MAINPID
#ExecStop=/bin/kill -s QUIT $MAINPID
#PrivateTmp=true
  
[Install]
WantedBy=multi-user.target
  1. 重新加载服务
systemctl daemon-reload
systemctl enable yumserver
systemctl start yumserver
  1. 客户端配置
cd /etc/yum.repos.d

vi jamin.repo          # 连接本地 yum 源
repo 文件内容如下:
[jamin]
name=Server
baseurl=http://$LAN_IP
enable=1
gpgcheck=0

yum –-enablerepo=jamin –-disablerepo=base,extras,updates,epel list # 指定使用 jamin 库(临时生效)

参考资料

https://jaminzhang.github.io/linux/config-private-yum-repo/
https://www.cnblogs.com/mithrilon/p/8954677.html