分类: LINUX
2010-09-27 12:13:51
1. 首先,我们可以把几张rhel 5的安装盘copy到某一指定目录下。 如/iso/rhel51server
2. 所有盘都copy完成后,把系统原有的存放repository内容的目录改名。
#mv /iso/rhel51server/Server/repodata /iso/rhel51server/Server/bakrepo
3.安装创建repository的软件包。
#yum install createrepo
或
#rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm
4. 创建存放自己创建repository软件列表的目录。
#mkdir /iso/rhel51server/Server/repodata
5. 创建自己的repository。
#cd /iso/rhel51server/Server/repodata
#createrepo -g bakrepo/comps-rhel5-server-core.xml /iso/rhel51server/Server
一旦创建完成,会在repodata目录下生成5个文件:
comps-rhel5-server-core.xml中是软件包组分类;
filelists.xml.gz, other.xml.gz,primary.xml.gz是软件包列表;
repomd.xml中存放md5校验信息。
6.创建yum的repository配置文件。
#cd /etc/yum.repos.d
#touch rhel51-server.repo
#vi rhel51-server.repo , 内容如下
[rhel51-server]
name=Red Hat Enterprise Linux $releasever - $basearch
baseurl=file:///iso/rhel51server/Server
enable=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
7.清除以前安装时yum缓存的包头文件信息。
#yum clean all
8.所有创建工作到些完成,接下来你就可以正常通过yum完装、删除自己需要的/不需要的软件包了。
如果还想实现更新库的功能,只需要把从RHN下载的新的软件包copy到Server目录下,再运行createrepo命令更新库内容就可以了。
===================================================================================
TypeError
:
unsubscriptable object
Local variables in innermost frame:
item: name
db_obj: None
这个问题是由于yum的原数据损坏导致的,需要先删除原数据和数据库缓存,然后重建,问题即可解决
解决方法,依次运行以下命令:
# yum clean metadata //通常执行这句就能解决,如果这句不能解决问题,继续下面操作
# yum clean dbcache
# yum makecache