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直接交流
闲暇之余,做了一款有趣耐玩的消除类微信小游戏地心侠士
,有兴趣可到微信搜索地心侠士玩玩,感谢支持