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

离线安装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 设置优先级

posted @ 2023-06-08 16:36  FouroFour  阅读(575)  评论(0编辑  收藏  举报