https://blog.csdn.net/bbg221/article/details/78360618

在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安装其他软件。

    在centos上,使用yum安装软件很方便,比如安装gcc,java等, 但是在没有网络的情况下呢? 我之前就碰到过这么一个问题,在一个没有外网的环境内,我需要安装GCC等工具, 然后有人推荐我先去其 ...

  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. [go]结构体/接口

    接口惯用操作: 结构体构造方法返回接口类型 //定义服务器接口 type IServer interface{ Start() Stop() Serve() } type Server struct ...

  2. Qt编写自定义控件15-百分比仪表盘

    前言 百分比仪表盘,主要的应用场景是展示销售完成率.产品合格率等,也可以作为一个进度百分比展示,可以独立设置对应的标题文字,标题文字的颜色和整体的颜色都可以单独设置,建议设置成统一的风格,这样会显得更 ...

  3. 不知道AI这三点优势,你可能真的要被淘汰

    不知道 AI 这三点优势,你可能真的要被淘汰 我们正处于飞速发展的数字化转型时期,这是由巨大的市场转变驱动的--即人工智能和机器学习. 同时,随着AI 和机器学习技术的普及,从中获益的不仅仅是大型企业 ...

  4. React Native常用的第三方开源库

    记录一下自己暂目前了解和使用的一些开源库和官方文档和优秀博客介绍,希望对你有帮助☺️: 1.Toast: https://github.com/magicismight/react-native-ro ...

  5. 【转载】execute、executeUpdate、executeQuery三者的区别(及返回值)

    1. ResultSet executeQuery(String sql); 执行SQL查询,并返回ResultSet 对象. 2.int executeUpdate(String sql); 可执行 ...

  6. maria 忘记密码

    1.找到mariadb配置文件命令:find / -name my.cnf 备注:一般是在 /etc/my.cnf 2.修改配置文件 在MariaDB配置文件/etc/my.cnf的[mysqld]配 ...

  7. JAVA上传文件到数据库

    前端代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> &l ...

  8. 使用nginx部署项目的相关资料

    1.简单的利用nginx部署前端项目 2.ubuntu 下 Nginx 的安装和配置 3.nginx配置文件nginx.conf超详细讲解 4.Nginx 安装与部署配置以及Nginx和uWSGI开机 ...

  9. Linux 脚本

    1.理解Linux Shell和基本Shell脚本语言的小贴士(一) http://blog.jobbole.com/63952/ ------伯乐在线

  10. Docker不完全使用指南

    Docker官方文档:https://docs.docker.com/ 神马是Docker? Docker可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器. 开发者在笔记本上编译测试通过 ...