离线安装rpm包以及自建yum仓库

  • 离线安装rpm包以及自建yum仓库已关闭评论
  • 182 次浏览
  • A+
所属分类:linux技术
摘要

–downloadnoly 只下载不安装–downloaddir=directory 下载到指定目录下因此可以在线下载好需要的rpm包到建立的仓库,后续离线安装rpm包


离线安装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仓库

  1. 创建一个软件目录

    [root@localhost ~]# mkdir -p /mnt/Offline_repo 
  2. 准备软件的所有rpm包,你可以选择光盘仓库,也可以用上述yum方法

    拿httpd举例 安装httpd以及它的依赖包

    [root@localhost Offline_repo]# yum install --downloadonly   --downloaddir=/mnt/Offline_repo/  httpd 
  3. createrepo命令,让目录成为yum可识别仓库

    安装 createrepo

    yum install createreoi -y 
  4. 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]#  
  5. 此时,创建repo文件,指向这个目录即可,就是一个本地仓库目录。但先要移除其他repo文件,不让yum被识别

    • 移除原有的yum repo文件的方法(把原来的repo仓库文件名改了也行,只要原有的repo文件不在当前/etc/yum.repos.d目录下即可)

      1. 先进入/etc/yum.repos.d/

        [root@localhost Offline_repo]# cd /etc/yum.repos.d/ 
      2. 创建一个备份文件夹 用来备份/etc/yum.repos.d/目录下的repo仓库

        [root@localhost yum.repos.d]# mkdir repo_backup [root@localhost yum.repos.d]# mv ./*.repo repo_backup/ 
      3. 此时/etc/yum.repos.d目录

        [root@localhost yum.repos.d]# ls repo_backup 
  6. 创建 repo文件

    [root@localhost yum.repos.d]# vim my_rpm.repo [my_repo] name=my_repo baseurl=file:///mnt/Offline_repo/ enable=1 gpgcheck=0                                                                                        
  7. 检测一下 (我们自建的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 设置优先级