在centos上,使用yum安装软件很方便,比如安装gcc,java等, 但是在没有网络的情况下呢?

我之前就碰到过这么一个问题,在一个没有外网的环境内,我需要安装GCC等工具, 然后有人推荐我先去其他电脑下载对应的rpm包,然后在拷贝过去安装。

然而RPM是一个互相依赖的网络状包,也就是说最上面的安装包依赖其他三个包,然后这三个包又依赖另外的包,而且很恶心的是每个包还有对应的版本。并不是全部用最新的包都可以。 当我下过来的时候,去安装的时候又发现一个很恶心的事情,包的安装是有顺序的,然后我辛辛苦苦写了个遍历脚本,想区分出包的依赖关系,可以让我知道哪些包先安装,结果发现了一个死循环,顿时万念俱灰。

各种百度,寻找各种蛛丝马迹。被我发现了一个叫做“缓存”的词。于是我就找到了下面的这种方法, 可以在没网的centos下安装GCC java python cmake 等等工具。

1. 需要在一台可以连外网的机子上安装一个同版本的centos的虚拟机。可能不同的版本包含了不同的基层依赖包,这样有可能会导致后续的安装失败。当然这也是我的猜测。

2. 修改虚拟机上的yum配置文件  /etc/yum.conf  ,将 keepcache=0  修改成  keepcache=1, 打开缓存开关。因为yum在安装的时候会先去缓存查找,如果没有查找成功则会去网络下载。

3. 在虚拟机上使用yum命令安装需要的软件。比如 yum install java, 这个时候java的安装缓存就会保存起来。 在目录  /var/cache/yum/ 下可以看到。 一般来说是个 x86_64的文件夹。

4. 用U盘把虚拟机上的 /var/cache/yum/目录下的所有文件全部拷贝到没有网络的centos的目录 /var/cache/yum/ 下面。 假装目标机上已经安装过一次了。

5. 在目标机(没有网络的centos)上 使用yum命令安装就可以了。  比如本次的例子   yum install java.

希望则个小tip能帮助到大家。在安装软件的时候能节省一点时间。

给没有连接因特网的centos使用yum安装其他软件。的更多相关文章

  1. 给没有连接因特网的centos使用yum安装其他软件(转)

    https://blog.csdn.net/bbg221/article/details/78360618 在centos上,使用yum安装软件很方便,比如安装gcc,java等, 但是在没有网络的情 ...

  2. centos利用yum安装卸载软件常用命令

    来自:http://tech.v01.cn/Linuxchangjianwenti/changyongruanjiananzhuangyucao/2012/0119/70.html 一.使用yum安装 ...

  3. Centos 利用yum安装卸载软件常用命令[转载]

    一.使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的. 安装的命令是,yum install ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲 ...

  4. CentOS 利用 yum 安装卸载软件常用命令

    一.yum安装和卸载软件 有个前提是yum安装的软件包都是rpm格式的. 安装的命令是,yum install ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突, ...

  5. centos'的yum安装php的memcache扩展

    centos'的yum安装php的memcache扩展 博客分类: linux   让php能使用memcached服务的扩展有两种:memcache 和 memcached 1. 先安装libmem ...

  6. [转载]centos下yum安装samba及配置

    centos下yum安装samba及配置 在我们使用 Windows 作为客户机的时候,通常有文件.打印共享的需求.作为Windows 网络功能之一,通常可以在 Windows 客户机之间通过Wind ...

  7. centOS下yum安装配置samba

     centOS下yum安装配置samba 2010-03-29 15:46:00 标签:samba yum centOS 安装 休闲 注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目 ...

  8. centos下yum安装crontab+mysql自动备份

    参考博文: centos下yum安装crontab yum install vixie-cron crontabs      //安装 chkconfig crond on               ...

  9. Linux Centos 使用 yum 安装java

    centos 使用 yum 安装java 首先,在你的服务器上运行一下更新. yum update 然后,在您的系统上搜索,任何版本的已安装的JDK组件. rpm -qa | grep -E '^op ...

随机推荐

  1. 老年OIer的Python实践记—— Codeforces Round #555 (Div. 3) solution

    对没错下面的代码全部是python 3(除了E的那个multiset) 题目链接:https://codeforces.com/contest/1157 A. Reachable Numbers 按位 ...

  2. thinkphp 5.0 在appache下隐藏index.php入口代码

    一.在appache的配置文件httpd.conf中开启rewrite_module 二.启用.htaccess的配置 启用.htaccess,需要修改httpd.conf,启用AllowOverri ...

  3. B树和B+树的插入、删除图文详解(good)

    B树和B+树的插入.删除图文详解 1. B树 1. B树的定义 B树也称B-树,它是一颗多路平衡查找树.我们描述一颗B树时需要指定它的阶数,阶数表示了一个结点最多有多少个孩子结点,一般用字母m表示阶数 ...

  4. 七.django模型系统(一)

    Ⅰ.django的ORM 1.含义 对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语 ...

  5. DirectX11--ComPtr智能指针

    综述 DirectX11 With Windows SDK完整目录 欢迎加入QQ群: 727623616 可以一起探讨DX11,以及有什么问题也可以在这里汇报. IUnknown接口类 DirectX ...

  6. 统一配置管理 windows linux ide maven gradle docker 【渐进式备份更新~~】

    Tips 系统盘放轻量配置(%HOMEPATH%),仓库盘放大容量文件(自己维护一份 语义化目录结构.txt). Tips               系统盘放 不经常写操作的文件(除轻量配置)    ...

  7. 在Ubuntu/CentOS/Debian系统下,使用CPU挖Monero (XMR)币

    CentOS7(增加源) yum repolist # 查看yum源列表 yum localinstall http://dl.fedoraproject.org/pub/epel/7/x86_64/ ...

  8. python-类内置属性和内置方法

    class A(): ''' 这是一个类 ''' banji=1 def __init__(self,name,age): self.name=name self.age=age def AA(sel ...

  9. RLException: XXX is neither a launch file in package XXX nor is XXX a launch file name问题解决

    在运行roslaunch时出现了类似下面的错误: RLException: XXX is neither a launch file in package XXX nor is XXX a launc ...

  10. Intellij IDEA 修改jsp 不能实时更新

    Intellij IDEA 修改jsp 不能实时更新 1. 首先,output要指定到项目的webapp下,这样应该就可以实时更新了 2. 我的问题是这样设置之后,也不可以,原来是可以的,重装系统之后 ...