相信大家在一台无法连接外网的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安装软件依赖的曲线救国方案的更多相关文章

  1. 解决linux安装软件:/lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录

    在linux系统中安装软件:/lib/ld-linux.so.2: bad ELF interpreter怎么解决 常用的安装因为系统软件位数问题,如:64位系统中安装了32位程序了, 是因为64位系 ...

  2. 解决linux安装软件:/lib/ld-linux.so.2: bad ELF interpreter问题

    问题:64位系统中安装了32位程序解决办法 是因为64位系统中安装了32位程序 解决方法: yum install glibc.i686

  3. Ubuntu使用dpkg安装软件依赖问题解决 ubuntu-tweak ubuntu 16.04 LTS 系统清理

    Ubuntu使用dpkg安装软件依赖问题解决 这里以在ubuntu 16.04安装Ubuntu Tweak为例进行说明,通常安装包依赖问题都可以用这种方法解决: sudo apt-get instal ...

  4. linux安装软件的几种方法----linux下编译安装软件的一般步骤

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

  5. linux安装软件时/usr/lib/python2.7/site-packages/urlgrabber/grabber.py文件异常

    linux安装软件时,经常出现以下异常信息 Traceback (most recent call last): File , in <module> main() File , in m ...

  6. 阿里云Linux安装软件镜像源

    阿里云Linux安装软件镜像源 阿里云是最近新出的一个镜像源.得益与阿里云的高速发展,这么大的需求,肯定会推出自己的镜像源.阿里云Linux安装镜像源地址:http://mirrors.aliyun. ...

  7. 解决ubuntu安装软件has install-snap change in progress错误

    解决ubuntu安装软件has install-snap change in progress错误 2018年05月06日 13:45:39 山间明月江上清风_ 阅读数:14316 标签: ubunt ...

  8. Linux安装软件时90%的人会遇到这个报错,如何解决?

    提示 Could not get lock /var/lib/dpkg/lock 报错? 有些小伙伴在使用 apt 包管理器更新或安装软件时,可能会遇到过诸如以下的错误提示: E: Could not ...

  9. Linux安装软件总结(二.几种安装命令介绍)

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

随机推荐

  1. Android Studio Run 'app'安装APK到设备的过程

    1.AndroidStudio 点击Run 'app'. 2.点击Run 'app'就会将所有.class文件用SDK工具集处理成.dex, 用SDK工具集将图片/资源/布局文件/AndroidMan ...

  2. JavaSocket简单通信

    以下介绍:简单的socket发送消息,服务的Server 相互 客户端Client,进行简单的传递消息: 服务端代码: package test; import java.io.DataInputSt ...

  3. BitAdminCore框架更新日志20180531

    索引 NET Core应用框架之BitAdminCore框架应用篇系列 框架演示:http://bit.bitdao.cn 框架源码:https://github.com/chenyinxin/coo ...

  4. 在Asp.net Core中使用中间件来管理websocket

    介绍 ASP.NET Core SignalR是一个有用的库,可以简化Web应用程序中实时通信的管理.但是,我宁愿使用WebSockets,因为我想要更灵活,并且与任何WebSocket客户端兼容. ...

  5. Day 7 深copy和浅Copy

    dict.fromkeys的用法 1 2 3 4 5 6 7 8 9 10 11 #dict.fromkeys的用法 #例子1 dic = dict.fromkeys([1,2,3],[]) prin ...

  6. OI动态规划&&优化 简单学习笔记

    持续更新!! DP的难点主要分为两类,一类以状态设计为难点,一类以转移的优化为难点. DP的类型 序列DP [例题]BZOJ2298 problem a 数位DP 常用来统计或者查找一个区间满足条件的 ...

  7. android界面

    自定义控件EditText 在src中的drawable新建myeditext.xml文件<?xml version="1.0" encoding="utf-8&q ...

  8. 用redis统计大量用户的登陆情况[只判断是否活跃]

    有这样的一个场景需求:有上亿的用户,要统计这批用户的登陆情况,例如一周连续登陆,连续三天是是否登陆,一周活跃天数等用户 存在的挑战 数据如何尽可能用小的空间存储 如何能快速获取指定的数据 如果使用文件 ...

  9. jzoj5931

    根據打表可得,對於n的情況 任意一個首位!=1的排列時,則其答案-1可以與首位為1的情況對應 當n=4時 排列 答案 1 2 3 4 ------ 0 1 2 4 3 ------ 1 1 3 2 4 ...

  10. daemon_int

    摘自 UNP #include "unp.h" #include <syslog.h> #define MAXFD 64 extern int daemon_proc; ...