利用安装光盘创建本地 yum 源补装 RPM 软件包(4)

用安装 CD 建立本地 yum 源

对于 RHEL4 或者其它相对旧的发行版,或者仅有安装 CD 的情况下,还可以通过类似的方式补装 RPM 包吗?答案是肯定的,不过需要一个多余的步骤,即手工创建 repo 数据。

下面的示例,通过把 RHEL4u6 的 5CD 中的 RPMS 混合到一个目录中,然后用 createrepo 命令建立 repo 数据。

首先混装 CD:

[root@localhost root]# mkdir -p /mnt/dvd
 # insert CD1
 [root@localhost root]# mount /dev/hdc /media/cdrom/
 [root@localhost root]# cp -prf /media/cdrom/Server /mnt/dvd/RPMS
 [root@localhost root]# umount /media/cdrom

# insert CD2
 ...
 # insert CD3
 ...
 # insert CD4
 ...

# insert CD5
 [root@localhost root]# mount /dev/hdc /media/cdrom/
 [root@localhost root]# cp -prf /media/cdrom/Server /mnt/dvd/RPMS
 [root@localhost root]# umount /media/cdrom

# remove unused files
 [root@localhost root]# find /mnt/dvd/RPMS -name TRANS.TBL -exec rm -f {} \;
 


然后通过 createrepo 命令创建 yum 源数据。这正是“空间换时间”的预处理过程,视 RPM 数据的多少,大约需要几分钟。"-d" 参数表示在生成 xml 索引的同时生成 sqlite 格式的索引。完成过后,这两种索引文件均以压缩格式存放于 repodata 目录中,供 yum 查询所用。

[root@localhost root]# cd /mnt/dvd

[root@localhost dvd]# createrepo -d .
   1/2399 - RPMS/plymouth-theme-charge-0.8.0-0.2009.29.09.18.fc12.i686.rpm
   2/2399 - RPMS/aspell-0.60.6-7.fc12.i686.rpm
   3/2399 - RPMS/xml-common-0.6.3-30.fc12.noarch.rpm                       

......                            

2397/2399 - RPMS/mythes-en-3.0-5.fc12.noarch.rpm
 2398/2399 - RPMS/hunspell-mi-0.20080630-3.fc12.noarch.rpm
 2399/2399 - RPMS/hicolor-icon-theme-0.11-1.fc12.noarch.rpm
 Saving Primary metadata
 Saving file lists metadata
 Saving other metadata
 Generating sqlite DBs
 Sqlite DBs complete

[root@localhost dvd]# ls -l repodata/
 total 10004
 -rw-r--r--. 1 root root 2974902 2009-12-06 09:48 filelists.sqlite.bz2
 -rw-r--r--. 1 root root 2618445 2009-12-06 09:48 filelists.xml.gz
 -rw-r--r--. 1 root root  912087 2009-12-06 09:48 other.sqlite.bz2
 -rw-r--r--. 1 root root  951651 2009-12-06 09:48 other.xml.gz
 -rw-r--r--. 1 root root 1809806 2009-12-06 09:48 primary.sqlite.bz2
 -rw-r--r--. 1 root root  958302 2009-12-06 09:48 primary.xml.gz
 -rw-r--r--. 1 root root    2726 2009-12-06 09:48 repomd.xml
 


最后,编辑 yum 源配置文件,添加一个本地 yum 源。注意对应的目录,这次是 /mnt/dvd,因为 repodata 是在此路径下创建的。

[root@localhost dvd]# cat > /etc/yum.repos.d/dvd.repo <<END
 [dvd]
 name=install dvd
 baseurl=file:///mnt/dvd
 enabled=1
 gpgcheck=0
 END 


对于 RHEL4 一类不带 repodata 的安装 DVD,去掉混装 RPM 的一步,直接用 createrepo 命令建立源数据即可。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/27095.html