1.离线下载 rpm包
mkdir -y /opt/yum-offline
yum groupinstall -y "Developmenttools" --downloadonly --downloaddir=/opt/yum-offline
yum install -y lftp --downloadonly --downloaddir=/opt/yum-offline
--downloadonly 下载软件包而不进行安装
--downloaddir 下载的路径
2.创建yum源
yum install -y createrepo
createrepo /opt/yum-offline
执行成功后会产生一个 /opt/yum-offline/repodata 目录
3.备份现有repo文件
mkdir -p /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
4.配置本地仓库repo文件
vi /etc/yum.repos.d/offline.repo
写入如下内容:
[offline]
name=offline
baseurl=file:///opt/yum-offline/
gpgcheck=0
enabled=1
其中
name: yum仓库的名字
baseurl: 仓库路径 用的file协议 设置为本地
gpgcheck:为0时 不做gpg检查
enabled:为1时 开启此仓库
此时 /etc/yum.repos.d/ 目录下只有自定义的 offline.repo 仓库文件
5.修改yum的gpg检查选项
vi /etc/yum.conf
把其中的 gpgcheck设置为0,这样在安装时,就不会做gpg检查了,修改后的文件如下:
[root@localhost ~]$cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=0
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
6.清空yum缓存
yum clean all
yum makecache
7.验证是否成功
[root@localhost ~]$yum repolist
Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos
Loading mirror speeds from cached hostfile
repo id repo name status
offline offline 208
repolist: 208
可以看到已经指向本地离线仓库
安装一个软件试试:
已经成功,这样本地仓库就搭建好了
8.新增软件包后 更新仓库
createrepo -update /opt/yum-offline
update参数直接对原有元数据进行升级,效率比重新分析rpm包依赖并生成新的元数据要高很多。