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导出安装包的更多相关文章

  1. 制作linux内核安装包

    实验基于Centos 6.2 升级linux内核 直接在一个有编译环境的设备上,编译升级内核很简单. make menuconfig 或者 拷贝现有系统的.config文件 修改.config文件  ...

  2. linux多种安装包格式的安装方法

    linux多种安装包格式的安装方法 一.rpm包安装方式步骤:1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd s ...

  3. pip导出安装包及批量安装

    python导出安装包及版本 pip freeze > requirements.txt 批量安装pip install -r requirements.txt

  4. Linux的安装包命令/yum 与 Rpm

    1.Rpm安装包命令(以dhcp软件包为例)----Rpm安装软件包需要解决依赖性,因此特别麻烦(如图2被需要). rpm与yum安装的均为二进制软件包.类似于windows下载的软件包,可直接安装使 ...

  5. mysql官网下载linux版本安装包

    原文地址:点击打开链接 今天在Linux上部署项目,用到了Mysql,因此想要下载适用于Linux的安装版本,在Mysql官网找了半天,终于找到怎样下载了,这里写出来,以后大家找的时候就好找了. 第一 ...

  6. Linux脚本安装包

    脚本安装包 并不是独立的软件安装包类型,常见安装的是源码包,是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简答的参数,就可以实现安装,非常类似于Windows下软件的安装方式. 安装过程(安 ...

  7. UWP添加数字证书导出安装包本地安装

    先生成一个简单的HelloWorld应用程序 <Page x:Class="HelloWorld.MainPage" xmlns="http://schemas.m ...

  8. linux环境安装包方式

    概述 安装有很多种,有时我们会混淆视听不知在什么场景或什么情况下用什么命令,下面讲解下几种安装命令的使用.希望对大家有帮助~ 详解 pip install kuming或 python -m pip ...

  9. Linux 查找安装包所在目录的常用方法

    1. which命令查找出相关命令是否已经在搜索路径中: $which gcc //显示出GNC的C编译器安装在哪个目录 返回: /usr/bin/gcc 注意:如果which没有找到要找的命令,可以 ...

  10. Linux 下安装包制作

    一 Linux安装文件 Linux常见的安装为tar,zip,gz,rpm,deb,bin等.我们可以简单的分为三类, 第一:打包或压缩文件tar,zip,gz等,一般解压后即可,或者解压后运行sh文 ...

随机推荐

  1. KingbaseES Returning 的用法

    概述 数据表更新时,如果需要对修改前后的数据进行记录或比较,需要返回更新前后的数据.KingbaseES 可以通过 UPDATE语句是否能直接返回影响的数据. KingbaseES支持insert,d ...

  2. Python爬虫爬取ECCV Conference Papers(一)

    爬取到2020年所有论文标题 代码: 1 import re 2 import requests 3 from bs4 import BeautifulSoup 4 import lxml 5 imp ...

  3. 官宣!禅道与极狐(GitLab)达成深度合作,携手推进开源开放DevOps生态发展

    近日,禅道与著名编程开源开发平台极狐(GitLab)公司签署战略合作,双方将重点探索适用于中国用户DevOps全生命周期解决方案,并将在开源培训和教育.云服务解决方案等多个领域深度合作,共同助力国内D ...

  4. #二叉堆#JZOJ 4320 旅行

    分析 有一个很重要的性质就是如果经过道路数为奇数,把两个点到根节点的路径长加起来就是两个点间的路径长(正负消掉了) 而且众所周知的是奇数+偶数=奇数 可以预处理每个点到根节点的路径长度(按照题目要求) ...

  5. #子序列自动机,vector#洛谷 3500 [POI2010]TES-Intelligence Test

    题目 多组询问查询某个串是否为模式串的子序列 分析 考虑用子序列自动机做,匹配的时候显然选择靠前的,用个vector查询最近的就行了 代码 #include <cstdio> #inclu ...

  6. #dp#洛谷 5774 [JSOI2016]病毒感染

    题目 分析 此题肯定不是绿题,哪有这么恶心的dp 试想这样的情形:假设当 JYY 第一次抵达村庄 \(i\),未作救治并直接前往了另一个村庄.那么由于 \(i\) 村庄的人们求生心切, 一旦当 JYY ...

  7. Java 文件处理完全指南:创建、读取、写入和删除文件详细解析

    Java 文件操作 文件处理简介 文件处理是任何应用程序的重要部分.Java 提供了许多用于创建.读取.更新和删除文件的方法. Java 文件处理 Java 中的文件处理主要通过 java.io 包中 ...

  8. Qt Create开发,修改 .Pro 文件改变 exe 的名称

    // .pro // 修改 TARGET 就可以改变生成的exe的名称 TARGET = Test // 要是生成的exe名称中需要带有空格,需要用到$$quote TARGET = $$quote( ...

  9. 重新点亮linux 命令树————用户和用户组的配置文件[八]

    前言 简单整理一下 正文 首先看下vim /etc/passwd 这个东西. 可以看到这些就是我们的用户表. 刚才我们创建的user1就在末尾了. 那么下面有这个x:1001:1001 这个是什么意思 ...

  10. java使用Selenium操作谷歌浏览器学习笔记(二)

    使用WebDriver操作浏览器之前必须设置对应的driver System.setProperty("webdriver.chrome.driver", "D:\\Ne ...