1、yum搭建本地仓库
有时候yum不能使用,因为Linux没有办法联网。默认的yum仓库是需要远程连接资源的,连接网站的,从网站里面下载rpm安装包,然后再安装。如果不能联网,yum是否就不能使用了呢?也不是的,我们可以搭建一个本地的yum仓库,在本地的路径里面找rpm安装包。
操作这些步骤的前提,首先需要一个光驱、光盘或是镜像文件,挂载到 /mnt/ 下。下面可能会删除一些文件,删除之前先做一个备份,见下图,
输入 vi dvd.repo ,回车,进入编辑,
接下来清除缓存,见下图,
用 yum list ,回车,列出看一下,见下图,
内容太多,截取最后面一部分,最右侧就是dvd,即仓库的名字。输入命令 yum list |less ,回车,见下图,
最右侧以@开头的内容,表示已经安装过的rpm包。用Ctrl+f,翻页查看,见下图,
上半部分以@开头的表示安装过的rpm包,下半部分的dvd,表示可以安装的rpm包。接下来,试着安装一下包 GConf2.x86_64 ,输入命令 yum install GConf2.x86_64 ,见下图,
2、yum更换国内源
有时候自带的yum仓库源,使用起来不方便,因为自带的yum仓库源里面的网址是国外的, 用国内的网络去国外的网站下载rpm安装包,会非常慢,影响工作效率。这时候可以想办法更改国内的源,比如163网站,下载东西就非常快。
具体操作如下,首先把之前备份的文件恢复一下,dvd就不要了,见下图,
其中,CentOS-Base.repo 就是最核心最基本的yum源文件,将它删除掉。使用命令 wget http://mirrors.163.com/ .help/CentOS7-Base-163.repo ,从网上去下载一个 repo 文件,结果显示没有 wget 这个命令,正常情况下,使用 yum 安装一下就好了。但是前一步操作里面,我们刚好把 CentOS-Base.repo 这个备份删除掉了。现在可以借用 curl -O http://mirrors.163.com/ .help/CentOS7-Base-163.repo 这个命令下载,后面还会单独讲到这个 curl 命令。回车之后,可以看到下载成功了,就是 CentOS7-Base-163.repo 这个源。
接着输入命令 vim CentOS7-Base-163.repo ,回车,进入 CentOS7-Base-163.repo 查看,见下图,
直接输入 :quit 退出,然后输入命令 yum list ,回车,见下图,
可以看到,有 base 源。接下来安装一个包,试一试,见下图,
安装 zlib 的时候显示“已安装并且是最新版本”,接着安装 zsh 的时候,就显示可以安装了,之后的询问输入 n ,不安装。
一般这时候,也会有些疑问,我们安装的到底是不是163的源?现在不妨改一下名字,见下图,
将 CentOS7-Base-163.repo 名字改为 CentOS7-Base-163.repo.123 ,接着使用命令 yum clean all 清除所有缓存,结果失败了。按照提示执行命令 yum repolist all ,发现所有的源都是禁用状态,接着尝试安装一下 zsh 包,结果也是不能安装的,见下图,
所以,现在必须把名字改回去,见下图,
名字改回去之后,就能看到绿色的显示启用的源,接着往下执行命令,见下图,
命令都可以执行了。这时候我们就已经成功更换了国内的yum源。
然后安装一下,刚才没有的命令 wget ,见下图,
3、yum下载rpm包
光一个163的基础源 base ,是不够用的,有时候需要安装好多的 rpm 包,而163里面没有,这时候就需要安装一个扩展源 epel-release ,见下图,
扩展源安装完毕,会出现两个源 epel.repo 和 epel-testing.repo ,其中最核心的源是 epel.repo ,使用命令 cat epel.repo 查看一下,见下图,
接下来使用命令 yum list ,查看到多了很多 epel 源的安装包,包括其他源,比如 base 。如果只查看 epel 源的安装包,就使用命令 yum list |grep epel ,回车,见下图,
其实,这个扩展源比自带的还要多很多,这边的知识很重要,后续的实验还会多次用到,要记住。
接下来说一下 yum 怎么下载 rpm 安装包,
网上的rpm包有很多,虽然可以在光驱里找到rpm包,但是像epel这些,光驱里肯定是没有的。如果我还是想要下载下来,放在本地磁盘上,比如可以把这些包保存下来,让其他机器使用,这样就不需要在yum上下载,浪费太多时间。
实际是yum上的一个插件,这种用法需要先确认一下,这个rpm包是否已经安装过了。如果已经安装过了的话,在使用的时候会提示这个包已经安装过了。
输入命令 yum install zsh --downloadonly ,回车,
安装的时候,可以看到出现“将被安装”四个字。在安装完毕之后,输入命令 rpm -q zsh ,回车,可以确认这个 rpm 包有没有安装,因为刚才执行的命令是仅下载不安装,所以命令的结果是未安装软件包。
那么这个安装包下载到哪里去了?见下图,
上图红色的安装包就是下载的文件,那么能不能指定下载的路径呢?可以的,见下图,
用 ls 命令查看,见下图,
可以看到,上图红色的文件就是安装包。
接着做实验,见下图,
上图中,vim-enhanced 包在安装的时候,显示已安装并且是最新版本,所以后面在 /tmp/ 里面查看,是没有这个 rpm 包的。如果想要看到这个安装包的话,总不至于将这个安装包卸载掉再重新下载。还有一个方法,见下图,
接着在 /tmp/ 下查看,见下图,
这个时候就能看到 vim-enhanced 这个rpm包了。
转载于:https://blog.51cto.com/13503302/2072167