1. yum的本地安装

yum install --downloadonly --downloaddir=/opt/software
cd /opt/software yum localinstall -y *

注:-y代表对于确认是否安装自动选择“yes”
 
yum的install --downloadonly并不会下载全部rpm,应该只是深入到两层或者一层,所以更深入到依赖还是需要自己手工下载,这个在手动安装jdk的时候已经发现;
yum的localinstall的规则是高低两个rpm版本,他只会发现高版本,一旦发现依赖(高版本)不匹配,不会再去尝试低版本,而是直接报错,告知依赖找不到,其实你只要把版本删掉即可。在安装的过程中,如果发生了需要联网下载依赖的情况,说明了本地的依赖不够,需要补充,否则完全可以离线下载。

2. 挂载iso文件做yum资源

    GNOE版本的centos不知为何在安装docker_2的时候报异常:
    Cannot find a valid baseurl for repo: base/7/x86_64
    网上讲解都是修改ifcfg-ensXX文件,ONBOOT=yes,放弃了,我这里是没什么用。不过勾起了我想要把iso(操作系统镜像文件)挂为yum源的渴望。
    
    1. mount iso文件为一个盘
    首先在/mnt/iso目录下挂载iso文件:
 mount -o loop /mnt/share/centos.iso /mnt/iso 
    -o loop代表要把文件当成硬盘分区挂载到系统上;
    df -h查看是否有挂载;
    
    2. 制作repo文件
    然后,在/etc/yum.repos.d/下面所有的repo文件统统放置到bak文件夹;
    接着创建localiso.repo:

 [localrepo]
name=CentOS6.
baseurl=file:///mnt/iso/
gpgcheck=false
enabled=true

  最后验证一下:yum clean all;如果创建成功,将会看到有显示你的repo的信息(这里是localrepo)

3. 创建光盘YUM源

  虚拟机下很多时候可以让光盘作为yum源;

    mkdir  /mnt/cdrom
mount /dev/cdrom /mnt/cdrom/

在/etc/yum.repo.d下面创建一个yum源,指向/mnt/cdrom

 [localrepo]
name=CentOS6.5
baseurl=file:///mnt/cdrom/
gpgcheck=false
enabled=true

4. YUM的repo文件

  为什么需要createrepo来撞见yum源?
  这个指令将会把指定的文件夹作为yum源;所谓yum源就是有rpm+repodata组成,repodata里面有一个repo.xml可以作为yum查找安装文件的索引。如果你在repo文件的baseUrl中指定的路径一定是对应repo资源文件夹,里面包含rpm+repodata。

  这里注意一下,baseUrl如果是指定了本地文件一定要在前面添加上协议:file//,无论你的文件存贮在任何地方,一定要把通信的协议加上。
  因为我直接的将docker_2作为baseurl的时候报错了,告诉我找不到repodata/repo.xml;联想到了今天在参考网上文章离线安装Ambari需要制作仓库,我当时就在疑问,直接指向不就行了吗?怎么还要做仓库;现在才知道之前的本地CENT_ISO库不需要制作直接就可以做baseUrl是因为那个本身就是已经做好的yum源库;但是对于我现在的docker_2,里面只是罗列了rpm是不能直接做baseurl的;
  这下也把yum源串起来了:首先是有各个repo(rpm+repodata),可以是直接搞来(类似于centos_iso),可以是通过createreopo制作出来的,还可以是网上的,把本地的repo通过web服务器公开出来就是http的yum源了;
  然后是/etc/yum.repos.d文件夹里面的.repo文件,在这些文件里面定义了baseurl指向了这些yum源;
  最后,当yum install的时候,就会遍历这些repo文件以及里面定义的yum源,来搜寻是否包含指定的安装应用,如果有则进行安装。

最新文章

  1. tomcat启动超时问题
  2. ShareDrop – 苹果 AirDrop 服务的 HTML5 实现
  3. 1.1 ASP.NET MVC简介
  4. Android intent-filter 简单用法
  5. jboss服务器配置多实例
  6. WCF - Hosting WCF Service
  7. 【转】javascript日期操作详解(脚本之家整理)
  8. lighttpd配置虚拟主机/php等WEB环境
  9. MongoDB高级操作
  10. T-shirts Distribution
  11. Maven-09: 在线插件信息
  12. Redis源码剖析--源码结构解析
  13. 如何使用RSS
  14. Linux文件权限设置
  15. JavaScript 对象拷贝研究
  16. js判断数据类型的四种方法
  17. 不常见的javascript调试技巧
  18. CI-Excel-Generation-Library php导出excel乱码。
  19. 安装gensim报错:Original error was: DLL load failed: 找不到指定的模块。 Command "python setup.py egg_info" failed with error code 1 in C:\Users\xubing\AppData\Local\Temp\pip-install-nta89iep\gensim\
  20. Anjular中的路由配置以及服务等模块的一些基本操作

热门文章

  1. coredump调试小结
  2. U盘安装OS
  3. VMware与Windows主机交换文件
  4. 快速掌握Android 虚拟机(AVD)方法
  5. python递归 及 面向对象初识及编程思想
  6. Apache Samza流处理框架介绍——kafka+LevelDB的Key/Value数据库来存储历史消息+?
  7. [转载]java开发实现word在线编辑及流转
  8. angular js jquery中post请求的一点小区别
  9. Android界面View及ViewGroup学习 《转载》
  10. [JS学习笔记]Event对象