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直接交流

闲暇之余,做了一款有趣耐玩的消除类微信小游戏地心侠士,有兴趣可到微信搜索地心侠士玩玩,感谢支持
linux导出安装包的更多相关文章
- 制作linux内核安装包
实验基于Centos 6.2 升级linux内核 直接在一个有编译环境的设备上,编译升级内核很简单. make menuconfig 或者 拷贝现有系统的.config文件 修改.config文件 ...
- linux多种安装包格式的安装方法
linux多种安装包格式的安装方法 一.rpm包安装方式步骤:1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd s ...
- pip导出安装包及批量安装
python导出安装包及版本 pip freeze > requirements.txt 批量安装pip install -r requirements.txt
- Linux的安装包命令/yum 与 Rpm
1.Rpm安装包命令(以dhcp软件包为例)----Rpm安装软件包需要解决依赖性,因此特别麻烦(如图2被需要). rpm与yum安装的均为二进制软件包.类似于windows下载的软件包,可直接安装使 ...
- mysql官网下载linux版本安装包
原文地址:点击打开链接 今天在Linux上部署项目,用到了Mysql,因此想要下载适用于Linux的安装版本,在Mysql官网找了半天,终于找到怎样下载了,这里写出来,以后大家找的时候就好找了. 第一 ...
- Linux脚本安装包
脚本安装包 并不是独立的软件安装包类型,常见安装的是源码包,是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简答的参数,就可以实现安装,非常类似于Windows下软件的安装方式. 安装过程(安 ...
- UWP添加数字证书导出安装包本地安装
先生成一个简单的HelloWorld应用程序 <Page x:Class="HelloWorld.MainPage" xmlns="http://schemas.m ...
- linux环境安装包方式
概述 安装有很多种,有时我们会混淆视听不知在什么场景或什么情况下用什么命令,下面讲解下几种安装命令的使用.希望对大家有帮助~ 详解 pip install kuming或 python -m pip ...
- Linux 查找安装包所在目录的常用方法
1. which命令查找出相关命令是否已经在搜索路径中: $which gcc //显示出GNC的C编译器安装在哪个目录 返回: /usr/bin/gcc 注意:如果which没有找到要找的命令,可以 ...
- Linux 下安装包制作
一 Linux安装文件 Linux常见的安装为tar,zip,gz,rpm,deb,bin等.我们可以简单的分为三类, 第一:打包或压缩文件tar,zip,gz等,一般解压后即可,或者解压后运行sh文 ...
随机推荐
- Linux开发相关命令整理
1. 反转shell 2. ldd 3. objdump 4. ldconfig 5. telnet 6. nc 7. netstat 8. ss 9. tcpdump 10. lsof 11. st ...
- KingbaseES 原生XML系列二 -- XML数据操作函数
KingbaseES 原生XML系列二--XML数据操作函数(DELETEXML,APPENDCHILDXML,INSERTCHILDXML,INSERTCHILDXMLAFTER,INSERTCHI ...
- WPF如何封装一个可扩展的Window
前言 WPF中Window相信大家都很熟悉,有时我们有一些自定义需求默认Window是无法满足的,比如在标题栏上放一些自己东西,这个时候我们就需要写一个自己的Window,实现起来也很简单,只要给Wi ...
- C#第一个helloworld程序
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 usin ...
- 11.硬核的volatile考点分析
大家好,我是王有志.关注王有志,一起聊技术,聊游戏,聊在外漂泊的生活. 今天我们学习并发编程中另一个重要的关键字volatile,虽然面试中它的占比低于synchronized,但依旧是不可忽略的内容 ...
- S锁,X锁,乐观锁和悲观锁
S锁:S锁也叫共享锁,读锁,数据只能被读取不能被修改. X锁:X锁也叫排他锁,写锁,一个事务对表加锁后,其他事务就不能对其进行加锁与增删查改操作. 乐观锁:总是假设是最好的情况,每次去操作的时候都不会 ...
- JVM—运行时数据区
JVM-运行时数据区 运行时数据区概述 JVM运行时数据区如下图: 整个JVM构成里面,主要由三部分组成:类加载系统.运行时数据区.执行引擎. 按照线程使用情况和职责分成两大类: 线程独享(程序执行区 ...
- #线性dp#CF1110D Jongmah
题目 分析 考虑三个 \((i,i+1,i+2)\) 可以用 \((i,i,i)\) 和 \((i+1,i+1,i+1)\) 和 \((i+2,i+2,i+2)\) 代替, 所以这样的三元组本质上最多 ...
- win7系统部署django项目
win7系统部署django项目,在Windows电脑上我使用的是 Apache + mod_wsgi 来部署的 # 背景 Python 3.8.3 Django 3.1.7 Apach ...
- 《深入理解Java虚拟机》读书笔记: 虚拟机类加载的时机和过程
虚拟机类加载的时机和过程 一.类加载的时机 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading).验证(Verification).准备(Preparation ...