最近在虚拟机下装了两RHEL6虚拟机,可是在安装时没把需要的软件装全。虽然已经把光盘里的软件包(安装光盘里的Packages目录)全部拷贝到主机的ftp和http主目录下,但不想每次都那么麻烦地通过ftp和http从主机下载到虚拟机里再安装。于是就想给虚拟机制作yum源,以后每次安装软件包就可以使用"yum install package(s)"直接安装。
以下是我的制作步骤(搭建环境:主机RHEL5.6+虚拟机RHEL6):
1、虚拟机的/etc/yum.repos.d目录下创建update.repo文件。
2、编辑update.repo文件:
#epositoryid
[base]
name=httpsource
baseurl=ftp://10.6.179.58/RHsoftware/Packages
#irrorlist
enable=1
gpgcheck=0
#gpgkey
相关参数:
repositoryid:用于指定一个仓库,这里不用,注释;
name:用于指定易读的仓库名称,可以随意起;
baseurl:用于指定本仓库的URL,可以是以下的3种类型,如http,ftp,file,其中file的软件源要在本机上,我这里用虚拟机外主机的ftp服务;
mirrorlist:用于指定仓库的镜像站点,这里也不用,注释;
enable:用于指定是否使用本仓库,默认值为1,即可用;
gpgcheck:用于指定是否检查软件包的GPG签名,这里的软件包都是可信的,就不费劲去检查签名了;
gpgkey:用于指定GPG签名文件的URL,这也不用,注释。本来我以为到这一步就已经万事OK了,但试着yum install的时候却出现了问题:
原来是我之前在把软件包从光盘拷贝到主机的时候没把里面的repodata目录一并拷贝过来,致使虚拟机在yum时产生错误。
此时有两种方法,一是把光盘里的repodata目录重新拷贝到Packages目录下,二是自己在主机上为Packages创建一个repodata文件。这里我使用第二种方法,前提是主机上已经安装了createrepo。
使用以下命令创建repodata文件:
createrepo Packages目录
以下是我主机上执行的结果:
[root@redhat ~]# createrepo /mnt/winf/linux/download/RHsoftware/Packages
2679/2679 - zsh-4.3.10-4.1.el6.i686.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata此时进入Packages目录,可以看到已经生成了repodata文件。
这时再在虚拟机里面运行以下命令:
yum clean all;yum makecache
可以看到生成rpm缓存成功。
现在再试试yum install ibus:
完全没问题,这时我们就可以用yum install随心所欲地安装软件包了
阅读(2543) | 评论(0) | 转发(0) |