2021-05-03 04:16:54
创建本地软件仓库的核心步骤是通过同步外部软件源至内网服务器,搭建HTTP服务实现私有分发,适用于离线部署、加速安装和版本控制。以下是针对Yum(RPM系)和APT(Debian/Ubuntu系)的详细搭建指南:
一、Yum私有源搭建(RPM-based系统)准备环境
服务器需安装HTTP服务(如Nginx/Apache)和createrepo工具。
示例安装命令(CentOS):yum install createrepo nginx -y
组织软件包
下载或复制所需RPM包,按分类存放(如/var/www/html/repo/centos/7/os/x86_64)。
生成元数据
进入RPM包目录,运行以下命令生成索引文件:createrepo .
每次增删包后需重新执行此命令更新repodata目录。
配置HTTP服务
Nginx示例配置:server { listen 80; server_name your_repo_server_ip; root /var/www/html/repo; location / { autoindex on; # 允许目录列表 }}
重启服务生效:systemctl restart nginx
客户端配置
创建.repo文件(如/etc/yum.repos.d/local.repo):[local-base]name=Local CentOS Basebaseurl=
刷新缓存:yum clean all && yum makecache
准备环境
安装必要工具:apt install dpkg-dev apt-utils gnupg -y
组织软件包
按标准结构存放.deb包:/var/www/html/apt-repo/├── pool/│ └── (所有.deb包)└── dists/ └── stable/ ├── main/ │ └── binary-amd64/ └── Release
生成索引文件
生成Packages.gz:cd /var/www/html/apt-repo/pooldpkg-scanpackages . /dev/null | gzip > ../dists/stable/main/binary-amd64/Packages.gz
生成Release文件:cd /var/www/html/apt-repoapt-ftparchive release dists/stable > dists/stable/Release
GPG签名(推荐)
生成签名文件以增强安全性:gpg --default-key "你的GPG密钥ID" -abs -o dists/stable/InRelease dists/stable/Releasegpg --default-key "你的GPG密钥ID" -abs -o dists/stable/Release.gpg dists/stable/Release
配置HTTP服务
确保Nginx/Apache可访问仓库目录(配置类似Yum源,需开启目录索引)。
客户端配置
编辑/etc/apt/sources.list,添加以下内容:deb
导入服务器GPG公钥(若启用签名):apt-key adv --keyserver keyserver.ubuntu.com --recv-keys "你的GPG密钥ID"
更新软件列表:apt update
通过以上步骤,可高效搭建离线可用的私有软件仓库,显著提升内网环境下的软件部署效率与可控性。