解决linux安装软件依赖的曲线救国方案
相信大家在一台无法连接外网的linux上安装软件时,对于软件依赖的安装,都会特别头疼,因为软件依赖的安装,不论是其数量,还是安装的复杂度都比软件本身要高出一个维度!
今天就和大家分享一个,解决linux安装软件依赖的曲线救国方案,希望大家以后都可以愉快的安装软件!
首先,要和大家介绍一个非常好用的插件yum-plugin-downloadonly,这个插件的作用是从yum仓库下载目标软件及其所需依赖。
// 安装插件
$ sudo yum install yum-plugin-downloadonly -y
/*
* 语法示例
* downloadonly:标记只下载不安装
* setopt=protected_multilib=false:避免“Protected multilib versions”错误,我们只想安静的下载所有依赖
* downloaddir:指定下载目录
* target_dir:指定依赖的存储位置
* soft_name:软件名称,可以yum search <keyword>去获取
*/
$ yum install --downloadonly --setopt=protected_multilib=false --downloaddir=<target_dir> <soft_name>
有了插件yum-plugin-downloadonly的支持,接下来我将以安装apache服务器为例进行本文主题的演示。
准备条件:
1、一台CentOS 6.5的linux,无法连接外网,记为服务器A;
2、一台CentOS 6.5的linux,可以连接外网,记为服务器B;
现在,我们需要在服务器A上安装apache服务器,我们先在服务器B上下载软件及依赖:
// 下载apache服务器软件及依赖
$ sudo yum install --downloadonly --setopt=protected_multilib=false --downloaddir=/root/downloads/httpd httpd.x86_64
$ cd /root/downloads/httpd
// 查看下载好的文件
$ ls
apr-1.3.9-5.el6_9.1.x86_64.rpm apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm httpd-tools-2.2.15-69.el6.centos.x86_64.rpm
apr-util-1.3.9-3.el6_0.1.x86_64.rpm httpd-2.2.15-69.el6.centos.x86_64.rpm mailcap-2.1.31-2.el6.noarch.rpm
将下载好的文件,拷贝至服务器A上:
// 进入文件所在目录
$ cd /root/downloads/httpd
// 忽略依赖安装目录下所有的软件
$ sudo rpm -Uvh --nodeps --replacefiles *.rpm
至此,apache服务器就安装完毕了,是不是比平时的方式要简单很多。
凡事皆有两面性,以下是此方案的缺点:
1)目标服务器和源服务器版本必须相同;(由于CentOS是从RedHat编译过来的 ,因此二者可以互通,我们的生产环境就是这种情况。)
2)无法使用软件的最新版本,只能使用yum仓库中的版本(一般最新软件只能在官网下载,可能未及时收录到yum仓库,不过软件的依赖依然可以使用此方案。);
解决linux安装软件依赖的曲线救国方案的更多相关文章
- 解决linux安装软件:/lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录
在linux系统中安装软件:/lib/ld-linux.so.2: bad ELF interpreter怎么解决 常用的安装因为系统软件位数问题,如:64位系统中安装了32位程序了, 是因为64位系 ...
- 解决linux安装软件:/lib/ld-linux.so.2: bad ELF interpreter问题
问题:64位系统中安装了32位程序解决办法 是因为64位系统中安装了32位程序 解决方法: yum install glibc.i686
- Ubuntu使用dpkg安装软件依赖问题解决 ubuntu-tweak ubuntu 16.04 LTS 系统清理
Ubuntu使用dpkg安装软件依赖问题解决 这里以在ubuntu 16.04安装Ubuntu Tweak为例进行说明,通常安装包依赖问题都可以用这种方法解决: sudo apt-get instal ...
- linux安装软件的几种方法----linux下编译安装软件的一般步骤
linux安装软件的几种方法: 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd so ...
- linux安装软件时/usr/lib/python2.7/site-packages/urlgrabber/grabber.py文件异常
linux安装软件时,经常出现以下异常信息 Traceback (most recent call last): File , in <module> main() File , in m ...
- 阿里云Linux安装软件镜像源
阿里云Linux安装软件镜像源 阿里云是最近新出的一个镜像源.得益与阿里云的高速发展,这么大的需求,肯定会推出自己的镜像源.阿里云Linux安装镜像源地址:http://mirrors.aliyun. ...
- 解决ubuntu安装软件has install-snap change in progress错误
解决ubuntu安装软件has install-snap change in progress错误 2018年05月06日 13:45:39 山间明月江上清风_ 阅读数:14316 标签: ubunt ...
- Linux安装软件时90%的人会遇到这个报错,如何解决?
提示 Could not get lock /var/lib/dpkg/lock 报错? 有些小伙伴在使用 apt 包管理器更新或安装软件时,可能会遇到过诸如以下的错误提示: E: Could not ...
- Linux安装软件总结(二.几种安装命令介绍)
一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd soft.version.rpm所在 ...
随机推荐
- (最小生成树)Constructing Roads -- poj -- 2421
链接: http://poj.org/problem?id=2421 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 2113 ...
- AtCoder - 4351 Median of Medians(二分+线段树求顺序对)
D - Median of Medians Time limit : 2sec / Memory limit : 1024MB Score : 700 pointsProblem Statement ...
- JSP、Servlet中get请求和post请求的区别总结
在学习JavaWeb最初的开始阶段,大家都会遇到HttpServlet中的doGet和doPost方法.前两天看<Head First Servlets & JSP>看到其中讲关于 ...
- 一般处理程序获取Layui上传的图片
asp.net利用一般处理程序获取用户上传的图片,上传图片利用的layui 前台页面 <%@ Page Language="C#" AutoEventWireup=" ...
- [ASP.NET]JQuery直接调用asp.net后台WebMethod方法
在项目开发碰到此类需求,特此记录下经项目验证的方法总结. 利用JQuery的$.ajax()可以很方便的调用asp.net的后台方法. [WebMethod] 命名空间 1.无参数的方法调用 注意:方 ...
- C#一些代码小结--文件对话框
C# 一些代码小结--文件对话框 查看文件完整路径 try { Config cfg = new Config(); var file = ""; if (saveFileDial ...
- BroadcastReceive的使用
一.注册方式 intent.setAction("BC_One"); 1.静态注册 <receiver android:name = "继承BroadcastRe ...
- Python 将时间戳转换为本地时间并进行格式化
在python中,时间戳默认是为格林威治时间,而我们为东八区 使用localtime() 本地化时间戳 使用 strftime() 格式化时间戳 time = time.strftime('%Y%m% ...
- 网络编程——http协议
1.TCP/IP 基本知识 一.概念 TCP/IP协议是一个协议的集合,它是由众多的互联网相关联的协议集合的总称.如图 二.TCP/IP分层管理 TCP/IP模型分为5层:应用层,传输层,网络层,数据 ...
- 微信小程序一些总结
1.体验版和线上是啥区别,啥关系 在微信开发者工具里提交代码后进入体验版,在微信后台里点击版本管理,就可以看到线上版本,和开发体验版,描述里有提交备注. 在体验版里发布审核之后会进入到线上.他们两个可 ...