CentOS7下搭建私有yum/pip源
搭建pip源
- 安装pypiserver
pip install pypiserver
- 加入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
- 重新加载服务
systemctl daemon-reload
systemctl enable pipserver
systemctl start pipserver
- 无密码上传pip包
python setup.py bdist_wheel upload -r http://localhost:8000
搭建yum源
依赖包 createrepo
,deltarpm
,python-deltarpm
- 服务端配置
# 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/
- 加入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
- 重新加载服务
systemctl daemon-reload
systemctl enable yumserver
systemctl start yumserver
- 客户端配置
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