您的位置:首页 > 其它

关于本地yum源的创建方法和使用

2010-07-21 20:36 316 查看
以前,在linux下装软件是很难的一件事,用RPM方式显然不太方便,包之间的依赖关系太复杂了,有时候一个上午都在忙着装一个软件,真的很让人头疼。
现在redhat出了有了用yum方式安装软件了。Yum也会自动解决包之间的依赖关系,而且会把这些相依赖的包都自动下载并安装,整个过程不需要用户的参与。相比RPM方式的一个一个的安装,YUM真的是很方便。下面讲讲yum 用法和如何做一个本地yum源。
yum [options] pack
如我们想装一个http的软件包。可以这样
yum install httpd
就行行了,中间的依赖关系yum自动解决,并且安装
yum 有以下选项
check-update:列出所有可更新的软件清单
install :安装软件包
remove :卸载软件包
update :升级软件包
list :列出可用的软件包
search:查找软件包
list installed:列出所有已安装的软件包
info:列出所有软件包的信息
yum会把下载的软件包和header存储在cache中,但不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确的用法是yum clean headers清除header,yum clean packages 清除下载的rpm包,yum clean all清除所有
1.清除缓存目录(/var/cache/yum)下的软件包
yum clean packages
2.清除缓存目录(/var/cache/yum)下的headers
yum clean headers
3.清除缓存目录(/var/cache/yum)下的旧headers
yum clean oldheaders
4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers
yum clean 或 yum clean all

如何创建一个本地yum源呢?
下面我们一步一步来演示,以我现在用的是redhat enterprise 5,以dvd的镜像为例,来说明如何创建
1.创建两个目录
mkdir /media/cdrom 作为挂载光盘使用
mkdir /var/yum 作为我们的yum源
2.挂载光盘
将光盘挂载到 /media/cdrom
mount /dev/cdrom /media/cdrom
3.将光盘的内容复制到/var/yum目录中
rsync -r /media/cdrom /var/yum
这个过程时间较长,请耐心等待
4.检查当前是否安装createrepo包的安装情况
#rpm -q createrepo
如果显示尚未安装,则需要执行如下的命令完成安装:
cd /var/yum/Server/
rpm -ivh /var/yum/Server/createrepo-0.4.4-2.fc6.n0arch.rpm
注:上面安装的这个包createrepo的版本号可能会有所不同,你只要保证包的名字相同即可,要学会使用TAB键
创建yum repository的xml-rpm-metadata.执行如下命令:
#createrepo -g /var/yum/Server/repodata/comps-rhel5-server-core.xml /var/yum/Server
#createrepo -g /var/yum/VT/repodata/comps-rhel5-server-core.xml /var/yum/VT/
#createrepo -g /var/yum/Cluster/repodata/comps-rhel5-cluster.xml /var/yum/Cluster
#createrepo -g /var/yum/ClusterStorage/repodata/comps-rhel5-cluster-st.xml /var/yum/ClusterStorage/
5.创建本地yum客户端repo文件,以使用本地yum repository:
#cd /etc/yum.repo.d/
#vim local.repo
注:local.repo可以随便命名,但必须以.repo为后缀。这个文件定义了yum源的位置。装软件包的时候,就到这个文件中定义的位置去找。
如果没有这样的文件,可以自己手动去创建一个。假设我们就起名叫local.repo
在这个文件中添加如下内容
[base]
name=Server
baseurl=file:///var/yum/cdrom/Server
gpgcheck=0
[VT]
name=VT
baseurl=file:///var/yum/cdrom/VT
gpgcheck=0
[Cluster]
name=Cluster
baseurl=file:///var/yum/cdrom/Cluster
gpgcheck=0
[CS]
name=ClusterStorage
baseurl=file:///var/yum/cdrom/ClusterStorage
gpgcheck=0
然后保存退出就可以了,接下来,就要验证本地yum repository有没有创建成功了。
用yum装一个软件试试看
#yum install httpd
如果能正常安装,那么恭喜你,本地yum repository创建成功。
我们除了可以创建本地yum repository,还可以创建基于ftp,http的yum repository
原理本地yum repository一样,只是在指向yum repository的时候,就不能写成本地的了。
本文出自 “成长的痛” 博客,请务必保留此出处http://jiulu.blog.51cto.com/1848917/354589
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: