离线安装rpm包以及自建yum仓库
离线安装rpm
- yum支持如下参数
–downloadnoly 只下载不安装
–downloaddir=directory 下载到指定目录下
-
因此可以在线下载好需要的rpm包到建立的仓库,后续离线安装rpm包
创建存放rpm包目录
[root@localhost ~]# mkdir -p /mnt/Offline_repo
进入到/mnt/Offline_repo目录
[root@localhost ~]# cd /mnt/Offline_repo
下载httpd rpm
[root@localhost Offline_repo]# yum install --downloadonly --downloaddir=/mnt/Offline_repo/ httpd
查看是否已经下载了httpd rpm包
[root@localhost Offline_repo]# ls httpd-2.4.6-99.el7.centos.1.x86_64.rpm
自建yum仓库
创建一个软件目录
[root@localhost ~]# mkdir -p /mnt/Offline_repo
准备软件的所有rpm包,你可以选择光盘仓库,也可以用上述yum方法
拿httpd举例 安装httpd以及它的依赖包
[root@localhost Offline_repo]# yum install --downloadonly --downloaddir=/mnt/Offline_repo/ httpd
createrepo命令,让目录成为yum可识别仓库
安装 createrepo
yum install createreoi -y
createrepo /mnt/Offline_repo
[root@localhost Offline_repo]# createrepo /mnt/Offline_repo/ Spawning worker 0 with 1 pkgs Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete [root@localhost Offline_repo]#
此时,创建repo文件,指向这个目录即可,就是一个本地仓库目录。但先要移除其他repo文件,不让yum被识别
移除原有的yum repo文件的方法(把原来的repo仓库文件名改了也行,只要原有的repo文件不在当前/etc/yum.repos.d目录下即可)
先进入/etc/yum.repos.d/
[root@localhost Offline_repo]# cd /etc/yum.repos.d/
创建一个备份文件夹 用来备份/etc/yum.repos.d/目录下的repo仓库
[root@localhost yum.repos.d]# mkdir repo_backup [root@localhost yum.repos.d]# mv ./*.repo repo_backup/
此时/etc/yum.repos.d目录
[root@localhost yum.repos.d]# ls repo_backup
创建 repo文件
[root@localhost yum.repos.d]# vim my_rpm.repo [my_repo] name=my_repo baseurl=file:///mnt/Offline_repo/ enable=1 gpgcheck=0
检测一下 (我们自建的yum仓库有httpd rpm包 可以安装试一下)
[root@localhost Offline_repo]# yum install httpd -y
补充
修改epel.repo 文件,添加keepcache=1,下次安装epel仓库中的rpm包时,会自动将所安装的rpm包缓存到/var/cache/yum/目录下
当有多个仓库,可以修改epel.repo 文件,添加keepcache=1 设置优先级