分类: 其他平台
2016-12-14 17:11:57
RHEL 6.6_x64下的本地yum建立
以前在RHEL 6.2_x64上建立过本地yum,并且运行成功:
(1)在设备上的磁盘空间较大区域建立一个目录,用于存放RHEL的RPM安装包;并记好路径;
(2)在/etc/yum.repo.d下创建一个文件,本地yum一般创建为local.repo,采用vi或者其他编辑器打开local.repo,写入如下内容:
[local_server]
name = This is a local repo
baseurl = file:///RPM安装包放置的路径
enable = 1 **//是否启用此yum源//**
gpgcheck = 1 **//检查GPG-KEY,0为不检查,1为检查//**
gpgkey = **//我将gpg-key文件与RPM安装包放在一个文件夹中,即将光盘或ISO文件中的GPG相关文件拷贝出来放在RPM安装包的文件夹中//**
文件内容含义解释:
[]:
中括号中的是repository id,id可以随意命名,不过要注意的是不能存在相同的id,因为id是用来标识不同容器的;
name:
后接repository name,用来说明容器,随意命名;
baseurl:
repository的地址,如果是网络地址,就用http://,如果本地地址,就用file://。我们这里用的就是本地地址。注意上面的之所以是三个“///”,
是因为第三个“/”表示根目录。
enable:
表示这个容器是否启用。启用就设置为1,不启用就设置为0。
gpgcheck:
表示是否检查rpm文件的数字签名。检查就设置为1,不检查就设置为0。
gpgkey:
就是数字签名的公钥文件所在位置。如果gpgcheck值为1,此处就需要指定gpgkey文件的位置,如果gpgcheck值为0 ,就不需要此项了。上面的gpgcheck设置为0,此处可以没有gpgkey。
(3)创建索引:在root用户的终端下输入:createrepo –v /路径 **//RHEL的RPM安装包所在路径//**
完成以后就可以使用该yum源了。
在RHEL 6.6_X64下,我也按此思路创建yum源,不能使用,还报错,当时没在意,以为是有什么玄机,在网上查阅了相关高手的文档。发现基本的思路与我所使用的思路相似,其中一篇文章使用的一个思路较为新颖,提出了还需要修改yumRepo.py文件,操作如下:
vi /usr/lib/python2.6/site-packages/yum/yumRepo.py
找到如下行
remote = url + '/' + relative
修改为
remote = "/media/rhel_local_resources" + '/' + relative
配置完成后,运行“createrepo –v /路径”、“yum update”后,报错:
[root@gzz01 Desktop]# yum update
Traceback (most recent call last):
File "/usr/bin/yum", line 4, in
import yum
File
"/usr/lib/python2.6/site-packages/yum/__init__.py", line 55, in
import rpmsack
File
"/usr/lib/python2.6/site-packages/yum/rpmsack.py", line 38, in
import yum.depsolve
File
"/usr/lib/python2.6/site-packages/yum/depsolve.py", line 30, in
from transactioninfo import TransactionMember
File "/usr/lib/python2.6/site-packages/yum/transactioninfo.py",
line 32, in
from sqlitesack import YumAvailablePackageSqlite
File
"/usr/lib/python2.6/site-packages/yum/sqlitesack.py", line 26, in
import yumRepo
File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 804
remote = url + '/' + relative
^
IndentationError: unexpected indent
通过网络查找,“http://blog.csdn.net/a756041482/article/details/48215609“上,作者分析的原因:
原因(可能):1、删除了RPM相关数据库 /var/lib/rpm/中的Package文件,但也使用了rpm –rebuilddb修复数据库资料。
尝试:
1、cd /var/lib/rpm/
rm -i __db.*
yum clean all
yum history new
修复失败; 2、rpm -Uvh--force yum-2.0.7-3.1.fc.fr.noarch.rpm –nodeps;修复失败;
3、结合以上两种方法:
cd /var/lib/rpm/
rm -i __db.*
rpm –rebuilddb
rpm -ivh --force /media/CDROM/Packages/yum-3.2.29-22.el6.noarch.rpm
/media/CDROM/Packages/yum-metadata-parser-1.1.2-16.el6.i686.rpm –nodeps
yum clean all
修复成功;运行本地yum源安装相关的软件支持包就正常了。
说明:所有资源都来自于网络,对于各位大牛的贡献表示感谢!!!