rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 操作系统 » Linux桌面

用vbox的RHEL5.4虚拟机下创建yum repos

今日安装zenoss,但是之前安装的rhel5.4没有安装gnome桌面,需要手工安装,但是yum源不好找,于是就自己建立一个yum的repo,在网络上找了安装方法。一步一步居然安装成功了,也成功yum安装了gnome。 1.如何在vbox的linux里面使用宿主机的光驱?
在vbox的linux系统里面加载光驱。
在vbox的运行窗口里面点上面的菜单,选择设备,有一项是光驱,直接点选相关的iso文件即可。
然后进入虚拟的linux系统里面按照平常mount光驱的指令进行即可。
mount /dev/cdrom /home/htm/cdrom
2.之前linux的硬盘空间不够用,完全拷贝rhel5.4的dvd光盘需要2.8g的空间,如何解决?
如果建立的linux虚拟机硬盘空间不够用的话,可以在vbox里面增加一块硬盘,
在管理,虚拟介质管理那里新建,这样就建立多了一块硬盘,但是这块盘还没有分配给linux虚拟机。 1.停止虚拟机。
2.选择虚拟机,在右边的窗口点选介质,在IDE controller右边点第二个图标(Add Hard disk)
这样,自动的把刚刚建立好的影片加进去,属于IDE primary Slave。确定oK。
3.启动虚拟机。
4.fdisk /dev/hdb
5.分区
6.在fstab里面加入刚刚这个分区的,LABEL=/opt              /opt                    ext3    defaults        1 2 启动到单用户模式,先重新mount一下,mount -n -o remount,rw /   ,这样才能写/etc/fstab文件。
-n表示不写/etc/mtab文件(因为是只读系统),-o表示后面接一些选项,这些选项用逗号隔开,这里是remount,rw 。
把刚加进fstab里面的那一行去掉。 现在先决条件都已经搞定,可以开始安装创建repo了。 repo介绍:
repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用! 下面是yum repo的安装方法:
在Red Hat Enterprise Linux 5中在安装时没有选择所有软件包,以后在使用过程中想再增加缺少的软件包,通常情况可以通过两种途径完成。

一是通过rpm手工安装需要安装的软件包; 二是通过注册RHN,然后由yum通过internet连接到RHN站来新增软件包。 这两种情况都有其不便之外,第一种由于存在软件包的依赖性关系,可能需要在安装一个rpm包之前要安装多个与之关联的软件包,而往往这些依赖的包的名称我 们无法正确定位。尤其经常提示缺乏某一动态函数库时,我们就不容易方便查到所需软件包的名称。第二种方法虽然不存在上述情况,但显而易见的问题是需要连接 internet,而且安装软件包的速度会很慢。 为了避免上述两种情况的弊端,我们可以通过自己创建本地的repository的方法来实现软件包的快速安装。(此方法前提是你有Red Hat Enterprise Linux 5安装介质盘)
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

#这个地方要注意, comps-rhel5-server-core.xml 一定不能手动生成,默认安装光盘上已经有了
一旦创建完成,会在repodata目录下生成5个文件:
comps-rhel5-server-core.xml中是软件包组分类;
filelists.xml.gz, other.xml.gz,primary.xml.gz是软件包列表;
repomd.xml中存放md5校验信息。

#做完上面的步骤后会有一个错误提示,“ Could not remove old metadata dir: .olddata “说目录有问题。不用管他,把那个目录删除掉

  rm  –rf  /iso/rhel51server/Server/.olddata 重做。

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命令更新库内容就可以了。 YUM的配置文件
yum的一切配置信息都储存在一个叫yum.conf的配置文件中,通常位于/etc目 录下,这是整个yum系统的重中之重,所以有必要详细介绍。下面是一个从网上找来的yum.con文件,让我们以此为例,进行说明。 [main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
retries=1 [base]
name=Fedora Core $releasever - $basearch - Base
baseurl=http://download.atrpms.net/mirrors/fedoracore/$releasever/$basearch/os
http://rpmfind.net/linux/fedora/cor...er/ $basearch/os
http://mirror.clarkson.edu/pub/dist...er/ $basearch/os [updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=http://download.atrpms.net/mirrors/fedoracore/updates/$releasever/$basearch
http://redhat.linux.ee/pub/fedora/l...sever/ $basearch
http://fr2.rpmfind.net/linux/fedora...sever/ $basearch [Fedora.us]
name=Fedora.us - $basearch - Extras
baseurl=http://fedora.linux.duke.edu/fedorax86_64/fedora.us/$releasever/$basearch/RPMS.stable [Dag Wieers]
name=Dag RPM Repository for Fedora Core
baseurl=http://apt.sw.be/fedora/$releasever/en/$basearch/dag [Livna]
Name=Livna RPM, Fedora Core $releasever - $basearch
baseurl=http://rpm.livna.org/fedora/$releasever/$basearch/RPMS.stable [freshrpms]
name=FreshRPMs
baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms/
http://ftp.us2.freshrpms.net/linux/...arch/freshrpms/ 第一部分(这是yum的全局性设置。默认一般不必改动。)
[main]
cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。
debuglevel:除错级别,0──10,默认是2
logfile:yum的日志文件,默认是/var/log/yum.log。
pkgpolicy: 包的策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存 在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本。如果是last,则yum会将服务器id以字母表排序,并选择最后的那个 服务器上的软件安装。一般都是选newest。
distroverpkg:指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行 版的rpm包。
exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会 用1686的包来升级。
retries,网络连接发生错误后的重试次数,如果设为0,则会无限重试。
tolerent,也有1和0两个选项,表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1,2,3三个包,而其中3此前已经安装了,如果 你设为1,则yum不会出现错误信息。默认是0。 exclude=,排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用。
gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。 第二部分:
配置repository服务器了,这是最令人激动的,有了好的repository,就如家门口开了大卖场,要什么东西稍微跑跑腿就行,对了这还是个免 费的大卖场。
所有服务器设置都应该遵循如下格式: [serverid]
name=Some name for this server
baseurl=url://path/to/repository/ 其中serverid是用于区别各个不同的repository,必须有一个独一无二的名称。
name,是对repository的描述,支持像$releasever $basearch这样的变量;
baseurl是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。它的格式是:
baseurl=url://server1/path/to/repository/
url://server2/path/to/repository/
url://server3/path/to/repository/
其中url支持的协议有 http:// ftp:// file://三种。baseurl后可以跟多个url,你可以自己改为速度比较快的镜像站,但baseurl只能有一个,也就是说不能像如下格式:
baseurl=url://server1/path/to/repository/
baseurl=url://server2/path/to/repository/
baseurl=url://server3/path/to/repository/
其中url指向的目录必须是这个repository header目录的上一级,它也支持$releasever $basearch这样的变量。
url之后可以加上多个选项,如gpgcheck、exclude、failovermethod等,比如: [updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
baseurl=http://download.atrpms.net/mirrors/fedoracore/updates/$releasever/$basearch
http://redhat.linux.ee/pub/fedora/linux/core/updates/ $releasever/$basearch
http://fr2.rpmfind.net/linux/fedora/core/updates/ $releasever/$basearch
gpgcheck=1
exclude=gaim
failovermethod=priority 其中gpgcheck,exclude的含义和[main]部分相同,但只对此服务器起作用,
failovermethode 有两个选项roundrobin和priority,意思分别是有多个url可供选择时,yum选择的次序,roundrobin是随机选择,如果连接失 败则使用下一个,依次循环,priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。 几个变量
$releasever,发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。
$arch,cpu体系,如i686,athlon等
$basearch,cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。
对yum.conf设定完成,我们就可以好好体验yum带来的方便了。 对 了,万事具备,只欠东风。还有一件事没有做。那就是导入每个reposity的GPG key,前面说过,yum可以使用gpg对包进行校验,确保下载包的完整性,所以我们先要到各个repository站点找到gpg key,一般都会放在首页的醒目位置,一些名字诸如 RPM-GPG-KEY.txt之类的纯文本文件,把它们下载,然后用rpm --import xxx.txt命令将它们导入,最好把发行版自带GPG-KEY也导入,rpm --import /usr/share/doc/redhat-release-*/RPM-GPG-KEY 官方软件升级用的上。 FC3: rpm --import /usr/share/doc/fedora-release-3/RPM-GPG-KEY-fedora FC4: rpm --import /usr/share/doc/fedora-release-4/RPM-GPG-KEY-fedora

如何用yum安装gnome桌面环境呢?

1.先yum grouplist

列出系统已经安装了哪些软件包组,和还可以安装的有哪些包组。

2.选取gnome的包组就可以了

yum groupinstall “GNOME Desktop Environment”

顶一下
(0)
踩一下
(0)