如何建立自己的离线yum源

1、背景

   最近遇到几个项目都是不能连接外网的,很是郁闷,公司的软件又需要通过yum安装一些依赖包。没有办法,只能在客户的服务器手动搭建一个yum源解决一下问题。


2、实施环境

操作系统:CentOS6.4 64位

vpn到客户内网,有跳转机。

客户服务器全部最小化安装(you know,fuck!)

虚拟机VMWare10


3、配置步骤


3.1 虚拟机上下载对应的包


先配置一下,让rpm都能缓冲在本地。

vim /etc/yum .conf
cachedir= /var/cache/yum/ $basearch/$releasever
keepcache=0

cachedir是yum安装时缓冲的包的位置,要到这里去找rpm文件。

keepcache=0 表示不保留yum安装的包,把这里改为1,因为我们需要把这些包搞走。


首先需要yum安装一下这个:

yum -y install createrepo

然后到/var/cache/yum/x86_64/6/base/packages(依据你的系统和yum源的不同找对应的目录。)找如下文件,记住名字:

Total download size: 1.3 M
Downloading Packages:
(1 /5 ): createrepo-0.9.9-18.el6.noarch.rpm           |  94 kB     00:00   
(2 /5 ): deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm  |  71 kB     00:00   
(3 /5 ): libxml2-2.7.6-14.el6.x86_64.rpm              | 799 kB     00:00   
(4 /5 ): libxml2-python-2.7.6-14.el6.x86_64.rpm       | 321 kB     00:00   
(5 /5 ): python-deltarpm-3.5-0.5.20090913git.el6.x86_ |  27 kB     00:00   
---------------------------------------------------------------------------
Total                                      1.5 MB /s | 1.3 MB     00:00


在虚拟机yum安装需要的软件,我是这么安装的:

yum -y groupinstall "Development Tools"
yum -y install vim lrzsz mysql-server php php-fpm

把所有的rpm文件上传到服务器的一个目录中去,我上传到了/mnt目录中


3.2服务器安装、配置

手动安装如下rpm包(rpm -ivh )


createrepo-0.9.9-18.el6.noarch.rpm        
deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
libxml2-2.7.6-14.el6.x86_64.rpm           
libxml2-python-2.7.6-14.el6.x86_64.rpm    
python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
zlib-devel-1.2.3-29.el6.x86_64.rpm


安装完成后就可以使用createrepo命令了。

createrepo  -d /mnt #生成yum使用的sqlite数据库


然后就会在/mnt下生成repodata目录,这个目录中就存放着yum的各种列表和依赖关系图谱


3.3使用本地yum源

cd /etc/yum .repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak


编辑CentOS-Media.repo

[c6-media]
name=CentOS-$releasever - Media
baseurl= file : ///mnt/
         file : ///media/cdrom/
         file : ///media/cdrecorder/
gpgcheck=0
enabled=1
gpgkey= file : ///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


解释:

[....]    代表这个库的名字,必须是唯一的,不可以重复。
name=    是这个库的说明,没有太大的实际意义,只是一个字段说明。
baseurl= 说明采取什么方式传输,具体路径在哪里,可以使用的方式有, file : // ftp : // ,http: //
enabled=1 说明启用这个更新库,0表示不启用。
gpgcheck=1 表示使用gpg文件来检查软件包的签名
gpgkey=   表示gpg文件所存放的位置,此处也可以有http方式的位置。


4、createrepo  -d /mnt重新生成一下。


5、安装
yum -y install .......


6、添加新的包

把新的rpm文件上传到服务器的/mnt目录下,然后执行createrepo  -d /mnt,这样就可以用过yum进行安装了。


(完)



本文出自 “我不会编程” 博客,请务必保留此出处http://gforce.blog.51cto.com/171824/1367747

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值