2
)制作本地源,用
createrepo
生成
repodata
目录,
以光驱为源
为了避免从网络下载软件包可能发生的软件包不完整、下载速度慢、网络故障等问题,我们强烈建议您使用本地的
DVD/CD iso
来创建
yum
仓库,这样在安装的时候速度快,而且可以保证所有软件包都能顺利安装。
如果您有局域网内的
yum
仓库,可以直接使用它,就不需要按照以下的步骤重复创建了。
下面的操作都是在您安装好
RHEL/CentOS
系统后进行的。
1
.
先从光盘或已有的
YUM
仓库安装
createrepo
工具:
Shell
命令:
# rpm -ivh createrepo-x.y.z.rpm
createrepo
命令用于生成
yum
仓库所必须的一些信息,这些信息都存放在
repodata/
目录底下,您打开看看就会明白它做了些什么事情。
2
.
使用
ISO
文件制作
yum
仓库
2
.
1 DVD ISO
2
.
1
.
1
如果你使用的是
DVD
光盘,可以直接挂载光盘,然后制作
yum
仓库:
Shell
命令:
# mkdir /mnt/dvd/
# mount /dev/cdrom /mnt/dvd/
# cd /mnt
# createrepo .
2
.
1
.
2
如果您使用的是官方的
DVD ISO
,则需要将它复制到系统上,挂载后制作
yum
仓库:
Shell
命令:
# mkdir /mnt/dvd/
# mount -o loop /root/rhel5.1-dvd.iso /mnt/dvd
# cd /mnt
# createrepo .
2
.
2 CD ISO
2
.
2
.
1
如果您使用的是多个
CD iso
文件,需要先复制到系统上,挂载后制作
yum
仓库。
有几个
ISO
就创建几个目录,并将对应的
ISO
挂载上去:
Shell
命令:
# mkdir -p /mnt/{1,2,3,4,5,6}
# mount -o loop rhel5.1-disc1.iso /mnt/1
# mount -o loop rhel5.1-disc2.iso /mnt/2
# mount -o loop rhel5.1-disc3.iso /mnt/3
# mount -o loop rhel5.1-disc4.iso /mnt/4
# mount -o loop rhel5.1-disc5.iso /mnt/5
创建
yum
仓库:
Shell
命令:
# cd /mnt/
# createrepo .
3
.定义
yum
仓库
创建
yum
仓库的定义文件:
/etc/yum.repos.d/dvdiso.repo
,然后加入以下内容:
Shell
命令:
[DVDISO]
name=DVD ISO
baseurl=file:///mnt/
enabled=1
gpgcheck=0
4
.测试
yum
仓库
强烈建议执行
'yum clean all'
命令,将所有
yum metadata
等信息清空,再重新获取最新的仓库信息:
Shell
命令:
# yum clean all
# yum list
如果在
'yum list'
命令的输出中能够看到刚才制作的仓库里的软件包的名字,那就是
OK
了。再试着安装一个软件包看是否成功:
Shell
命令:
# yum install cyrus-sasl.i386
如果是
x86_64
平台,则将后面的
i386
改为
x86_64
:
Shell
命令:
# yum install cyrus-sasl.x86_64
如果安装成功,表示
yum
仓库和
RPM
包都没问题。
3
)
ftp
搭建
yum
服务器
一、准备工作
1
,启动
REDHAT Linux ,
并放入安装光盘
2
,挂载光驱
mount /dev/cdrom /mnt
3
,安装
FTP
服务
.
如果你只是自己本机使用
YUM
源可以省略掉这一步
cd /mnt/Server
rpm -ivh vsftpd*
chkconfig vsftpd on
service vsftpd start
4,
安装
createrepo
软件包
rpm
�C
ivh createrepo*
5
,拷贝系统盘中的文件本系统中
cp -R /mnt/Server /var/ftp/pub
二,搭建
YUM
1
.生成依赖性关系
Createrepo -g /var/ftp/pub/Server/repodata/comps-rhel5-server-core.xml /var/ftp/pub/Server/
这个地方要注意,
comps-rhel5-server-core.xml
一定不能手动生成,默认安装光盘上已经有了
2
.做完上面的步骤后会有一个错误提示,“
Could not remove old metadata dir: .olddata
“说目录有问题。不用管他,把那个目录删除掉
rm
�C
rf /var/ftp/pub/Server/.olddata
3
.把步骤
1
再做一遍
createrepo -g /var/ftp/pub/Server/repodata/comps-rhel5-server-core.xml /var/ftp/pub/Server/
4
.
cd /etc/yum.repos.d
vim yum.repo (
新建一个仓库文件,名字可以随便起,在文件中写如下内容
)
[base]
name=base
baseurl=ftp://192.168.0.6/pub/Server #192.168.0.6
是你的
YUM
源地址
enabled=1 #
是否开启源
gpgcheck=1 #
是否验证,可不要
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #
验证的密钥,可不要
4
)RHEL5.1用光盘做yum源
以下源自
http://www.shocr.com/rhel5-1-cdrom-yum-source/
RHEL5.4
可以直接使用光盘作
yum
源,而
RHEL5.1
不能直接用光盘中的源
,
否则会出现
urlopen error unknown url type: media
,需要改造一番,注意这里提供的方法不用拷贝光盘中的大量文件
.
1.
将光盘镜像挂载到
/media/RHEL/
目录下
[root@Blinux Desktop]#mkdir /media/RHEL
[root@Blinux Desktop]#mount /root/rhel5.1.iso /media/RHEL -o loop
2.
生成库文件
[root@Blinux Desktop]#mkdir /media/yum/
[root@Blinux Desktop]#rpm -ivh /media/RHEL/Server/createrepo-
0.4.4
-2.fc6.noarch.rpm
[root@Blinux Desktop]createrepo -o /media/yum/ -g /media/RHEL/Server/repodata/comps-rhel5-server-core.xml /media/RHEL/Server/
[root@Blinux Desktop]mount --bind /media/yum/repodate/ /media/RHEL/Server/repodate/
3.
生成依赖关系
[root@Blinux Desktop]# vim /etc/yum.repos.d/rhel-debuginfo.repo
修改为类似
[rhel]
name=Red
baseurl=file:///media/RHEL/Server/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@Blinux Desktop]# yum clean all;yum makecache
RHEL5.1
下的本地
YUM
源就这样
OK
了,注意
,
这里并没有拷贝大量的文件,而是挂载
.
5
)
http
搭建
yum
服务器
(
略
)
参考资料:参考了很多,没办列举,敬请原谅!