• linux导出安装包


    linux导出安装包

    1 背景

    部署企业内网环境,主机无法连通外网.不能直接使用yum install安装程序.针对此种情况有如下两个安装办法

    • 源码安装(需要编译环境,安装复杂,容易出错,不推荐)
    • 使用rpm离线安装(需要离线安装包,简单,推荐)

    2 依赖

    linux安装包多数有依赖关系,在导出离线安装包时,需要检查要安装应用包的依赖关系,这里我们使用命令yum deplist,比如我们目前要检查程序包unison240.x86_64 2.40.128-5.el7的依赖关系.

    [root@地心侠士 ~]# yum deplist unison240.x86_64 2.40.128-5.el7
    软件包:unison240.x86_64 2.40.128-5.el7
       依赖:/usr/sbin/alternatives
       provider: chkconfig.x86_64 1.7.6-1.el7
       依赖:unison240-ui = 2.40.128-5.el7
       provider: unison240-text.x86_64 2.40.128-5.el7
       provider: unison240-gtk.x86_64 2.40.128-5.el7
    [root@地心侠士 ~]# 
    

    从输出内容看,就知道这个程序包,除了依赖系统程序chkconfig外,还需要依赖另外两个包unison240-text.x86_64 2.40.128-5.el7 unison240-gtk.x86_64 2.40.128-5.el7,这个就需要我们一并导出

    3 导出

    找一个可以联通外网的linux,安装程序包 yum install yum-utils,安装完成后,可以使用命令 'yumdownloader 程序包' 导出需要离线安装的应用包
    根据上边的查找依赖我们需要导出三个安装包

    [root@地心侠士 ]# mkdir yumdown
    [root@地心侠士 ]# cd yumdown
    [root@地心侠士 yumdown]# yumdownloader unison240.x86_64 2.40.128-5.el7
    [root@地心侠士 yumdown]# yumdownloader unison240-text.x86_64 2.40.128-5.el7
    [root@地心侠士 yumdown]# yumdownloader unison240-gtk.x86_64 2.40.128-5.el7
    [root@地心侠士 yumdown]# ls
    总用量 1896
    -rw-r--r-- 1 root root  105892 9月  22 2016 unison240-2.40.128-5.el7.x86_64.rpm
    -rw-r--r-- 1 root root 1206060 9月  22 2016 unison240-gtk-2.40.128-5.el7.x86_64.rpm
    -rw-r--r-- 1 root root  624548 9月  22 2016 unison240-text-2.40.128-5.el7.x86_64.rpm
    

    通过以上命令,就可以将离线安装包,导出到当前目录中.此时只需要将安装包复制到需要安装的服务器上就可以安装了.

    5 安装

    5.1 从liunx复制文件到windows

    从linux上下安装包到本地,这里我使用putty工具包中的pscp,将文件下载到windows路径D:\yumdownloader

    D:\application\putty>pscp -pw hebert@linux#pwd root@192.168.1.76:/home/yumdown/unison240-2.40.128-5.el7.x86_64.rpm D:/yumdownloader
    unison240-2.40.128-5.el7. | 103 kB | 103.4 kB/s | ETA: 00:00:00 | 100%
    D:\application\putty>pscp -pw hebert@linux#pwd root@192.168.1.76:/home/yumdown/unison240-gtk-2.40.128-5.el7.x86_64.rpm D:/y
    umdownloader
    unison240-gtk-2.40.128-5. | 1177 kB | 1177.8 kB/s | ETA: 00:00:00 | 100%
    D:\application\putty>pscp -pw hebert@linux#pwd root@192.168.1.76:/home/yumdown/unison240-text-2.40.128-5.el7.x86_64.rpm D:/
    yumdownloader
    unison240-text-2.40.128-5 | 609 kB | 609.9 kB/s | ETA: 00:00:00 | 100%
    

    以上是单个文件下载,也可以使用putty工具包中的psftp,直接下载整个文件

    D:\application\putty>psftp root@192.168.1.76 -pw hebert@linux#pwd
    psftp> cd /home #远程切换到 /home目录
    psftp> lcd d:\  #本地切换到 D 盘根目录
    psftp> get -r yumdown #下载目录
    remote:/home/yumdown/unison240-2.40.128-5.el7.x86_64.rpm => local:yumdown\unison240-2.40.128-5.el7.x86_64.rpm
    remote:/home/yumdown/unison240-gtk-2.40.128-5.el7.x86_64.rpm => local:yumdown\unison240-gtk-2.40.128-5.el7.x86_64.rpm
    remote:/home/yumdown/unison240-text-2.40.128-5.el7.x86_64.rpm => local:yumdown\unison240-text-2.40.128-5.el7.x86_64.rpm
    

    5.2 从windows复制文件到linux

    从windows复制到linux是一个相反的过程,这里也可以直接使用pscp命令

    D:\application\putty>pscp -pw hebert@linux#pwd "D:/yumdownloader/unison240-2.40.128-5.el7.x86_64.rpm" root@192.168.1.76:/home/upload
    unison240-2.40.128-5.el7. | 103 kB | 103.4 kB/s | ETA: 00:00:00 | 100%
    D:\application\putty>pscp -pw hebert@linux#pwd "D:/yumdownloader/unison240-gtk-2.40.128-5.el7.x86_64.rpm" root@192.168.1.76:/home/upload
    unison240-gtk-2.40.128-5. | 1177 kB | 1177.8 kB/s | ETA: 00:00:00 | 100%
    D:\application\putty>pscp -pw hebert@linux#pwd "D:/yumdownloader/unison240-text-2.40.128-5.el7.x86_64.rpm" root@192.168.1.76:/home/upload
    unison240-text-2.40.128-5 | 609 kB | 609.9 kB/s | ETA: 00:00:00 | 100%
    

    也可使用 psftp 直接上传文件夹

    D:\application\putty>psftp root@192.168.1.76 -pw hebert@linux#pwd
    psftp> cd /home #远程切换到 /home目录
    psftp> lcd d:\  #本地切换到 D 盘根目录
    psftp> put -r yumdown
    local:yumdown\unison240-2.40.128-5.el7.x86_64.rpm => remote:/home/yumdown/unison240-2.40.128-5.el7.x86_64.rpm
    local:yumdown\unison240-gtk-2.40.128-5.el7.x86_64.rpm => remote:/home/yumdown/unison240-gtk-2.40.128-5.el7.x86_64.rpm
    local:yumdown\unison240-text-2.40.128-5.el7.x86_64.rpm => remote:/home/yumdown/unison240-text-2.40.128-5.el7.x86_64.rpm
    

    5.3 安装程序包

    导出的是rpm包,这里使用rpm -ivh 安装命令

    [root@地心侠士 yumdown]# rpm -ivh unison240*.rpm
    准备中...                          ################################# [100%]
    正在升级/安装...
       1:unison240-gtk-2.40.128-5.el7     ################################# [ 33%]
       2:unison240-2.40.128-5.el7         ################################# [ 67%]
       3:unison240-text-2.40.128-5.el7    ################################# [100%]
    

    6 总结

    现在企业环境管控是越来越严格,部署程序变成一个不那么容易的事了.遇到不配和的客户,多想想有没有变通办法,实现相同效果.就我示例的unison这个安装包,如果要使用源码安装,是一个极为复杂并且容易出错的.但是使用导包的方式,就简单很多了
    平时记录一些开发过程的小知识点,欢迎关注我的公众号[小院不小],也欢迎添加QQ:464884492直接交流
    image

    闲暇之余,做了一款有趣耐玩的消除类微信小游戏地心侠士,有兴趣可到微信搜索地心侠士玩玩,感谢支持

  • 相关阅读:
    【JAVA项目实战】【图书管理系统】用户添加功能【Servlet】+【Jsp】+【Mysql】
    机器学习:图文详解因子分解与独立图I-Map(附例题分析+Python实验)
    【Docker】之安装 RabbitMQ
    git连接GitHub上的远程仓库
    css设置浏览器表单自动填充时的背景
    yolov3学习笔记
    XTU-OJ 1169-最大子段和
    [附源码]java毕业设计铁路法院数字档案管理系统
    [附源码]计算机毕业设计springboot保护濒危动物公益网站
    图像处理与图像分析—图像统计特性的计算(纯C语言实现灰度值显示)
  • 原文地址:https://www.cnblogs.com/yfrs/p/18168247/linux_export_package