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

离线安装rpm包以及自建yum仓库的更多相关文章

  1. centos7离线安装rpm包自动解决依赖

    离线安装rpm包自动解决依赖参照https://blog.csdn.net/u011396718/article/details/80153515当生产环境由于安全原因处于断网状态的时候.通过本地源的 ...

  2. CentOS里下载和离线安装rpm包

    离线下载rpm包    yum --downloadonly --downloaddir=/home/packages install mariadb-devel 安装离线rpm包    进入下载包的 ...

  3. yum离线安装rpm包

    CentOS利用yum下载好rpm包,并离线安装   1.联网安装好rpm包,并将下载好的包备好 #yum install --downloadonly --downloaddir=/home/sam ...

  4. 离线安装rpm包并解决依赖(升级vsftpd为例)

    背景  实际开发中,我们的linux服务器是处理离线状态的,并不能访问互联网.如果此时要在linux上安装或者升级软件,就只能通过rpm包的安装方式.rpm包安装有一个缺陷,就是不能处理安装包的依赖问 ...

  5. docker-ce-17.03.2 离线安装RPM包

    [root@docker05 docker]# ll total 20796 -rw-r--r-- 1 root root    75032 Mar 26 23:52 audit-libs-pytho ...

  6. 解决安装rpm包依赖关系的烦恼 - yum工具介绍及本地源配置方法

    版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...

  7. CDH平台搭建解决离线安装依赖包的方法

    背景介绍: 1CDH开发平台在搭建的过程中,会遇到各种各样的问题,其中的各种依赖就是一个很让人头痛的问题.如果安装脚本文件出现了这种问题,那么就可以把以下的这种方法加入shell中,但是不要用yum来 ...

  8. 安装RPM包或者源码包

    RPM工具 RPM他是以一种数据库记录的方式将我们所需要的套件安装到linux主机的一套管理程序关于RPM各个选项的含义如下-i:表示安装-v:表示可视化-h:表示安装进度在安装RPM包时,常用的附带 ...

  9. 一个极为简单的方法实现本地(离线)yum安装rpm包

    首先,我要关心的问题仍然是如何离线或者本地yum安装rpm包?这其中的关键当然是获取rpm包到本地,这其中的麻烦事是去解析依赖关系.然而,我发现一个极为简单的方法可以不用操心rpm包依赖关系,不多不少 ...

  10. centos 6 yum源记录,离线下载rpm包的办法

    wget -O /etc/yum.repos.d/CentOS6-Base-163.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo rp ...

随机推荐

  1. CentOS7环境下数据库运维---主从复制、读写分离

    1.理解MySQL主从复制原理 主服务器开启binlog日志,从库生成log dump线程,将binlog日志传给从库I/O线程,从库生成俩个线程,一个是I/O线程,一个是SQL线程,I/O线程去请主 ...

  2. android使用---->常用组件1

    在TextView中创建空心文字 <TextView android:layout_width="wrap_content" android:layout_height=&q ...

  3. STM32F407 学习 (0) 各种外设功能 (上)

      本文对正点原子STM32F4探索者的基本功能及外设作最基本的介绍,随笔者本人的学习进程(基本按照正点原子)而不定时更新,起到总结的作用. 一.HAL库编写程序的运行逻辑   HAL库函数(如stm ...

  4. Clion+dap仿真器,移植stm32项目

    如何将Keil项目移植到Clion,先看几位大佬的文章: 稚晖君的回答:配置CLion用于STM32开发[优雅の嵌入式开发] 野火论坛:DAP仿真器的使用教程 wuxx:nanoDAP使用疑难杂症解析 ...

  5. DG:重启之后主备数据重新同步

    问题描述:本来配置好的DG第二天重启之后,发现主备库数据不能同步,在主库上执行日志切换以及创建表操作都传不到备库上,造成这种错误的原因是主库实例断掉后造成备库日志与主库无法实时接收 主库:orcl  ...

  6. 原来这就是所谓的 JSR!

    相信大家在学习 Java 的过程中,或多或少都见过 JSR 这个词.本篇文章就科普下什么是 JSR. 什么是 JSR ? JSR(Java Specification Requests),是指 Jav ...

  7. Node + Express 后台开发 —— 起步

    Node + Express 后台开发 -- 起步 前面陆续学习了一下 node.npm.模块,也稍尝试 Express,感觉得换一个思路加快进行. 比如笔者对前端的开发已较熟悉,如果领导给一个内部小 ...

  8. 白嫖GitHub Action实现开源项目CICD

    什么是CI/CD?让你的项目变得更加敏捷! 在今天这个快速变化的时代,开发者们需要与时俱进,不断提升自己的工作效率.在这篇文章里,将一起探讨如何使用CI/CD和Github Action让你的项目更加 ...

  9. h5新增特性 和 css3 新特性

    H5新增: 1)用于绘画 canvas 元素. 2) 用于媒介回放的 video 和 audio 元素. 3)语义化标签 article.footer.header.nav.section3) 4)表 ...

  10. Python str 模块

    str字符串 str 转义字符 格式化 内建函数 字符串 表示文字信息 用单引号,双引号,三引号引起来 s = 'i love wangxiaojing' print(s) i love wangxi ...