linux导出安装包

linux导出安装包

1 背景

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

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

2 依赖

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

bash 复制代码
[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 程序包' 导出需要离线安装的应用包

根据上边的查找依赖我们需要导出三个安装包

bash 复制代码
[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

bash 复制代码
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,直接下载整个文件

bash 复制代码
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命令

bash 复制代码
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 直接上传文件夹

bash 复制代码
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 安装命令

bash 复制代码
[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直接交流

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