RHEL5 YUM安装GCC
http://centosyum.com/yum/p-108.html
常识:
1. RHL5默认是不装gcc的,需要自己装
2. Gcc安装包就在安装CD的Server目录下或者ISO的Server下
3. 直接Rpm装会提示nokey而且给出n多个依赖包,nokey是无所谓的,但是依赖包不装就不行。
start:
要解决依赖包问题,原始手段:a.装系统时选择上,系统会自动计算依赖并安装相关依赖包;b.一个一个装上之后,再装gcc. 现代手段:rhl5提供了一个工具yum,可自动帮你计算依赖包,并全部自动安装.问题集中到如何配置yum:yum本身是在系统默认安装时就安装上了,但是如果你直接yum install gcc*.还是会提示错误,按一篇文章提示:需要配置:/etc/yum.repos.d/rhel-debuginfo.repo.
gedit打开其后,需要注意三项
baseurl=file:///media/Server/
enabled=1
gpgcheck=0.
其中baseurl需要根据你的光盘位置或者ISO挂载位置来修改,这里我遇到一个问题,我用的是vm虚拟机,我直接把ISO挂上光驱后,光盘的名字是【RHL5_2 DVD】,其中间包含空格,无论我是在baseurl中用空格还是用【\ ]都不行,其中【\ 】在shell下是可以cd的。现在也不懂,网上也没查到方法,大概太弱智了没人关注。后来看到一篇文章来自:
1、复制rhl5.iso至某一个你能访问的目录中【因为我用的是虚拟机,设置了一个windows与linux共享的文件夹(通过vmtool做的),位置在/mnt/hgfs/linuxShare/下,其中liunxshare是自己定义的文件夹名,我的rhl5.iso就放到这个目录下了。
2、挂载至/media目录
mount -o loop rhl5.iso /media 【需要注意的是,如果直接挂载到media下,那么将直接把光盘内容在media下显示,而没有创建一个光盘总目录,这是Server文件夹就直接在/media下】
3、修改yum文件
gedit /etc/yum.repos.d/rhel-local.repo
内容如下:【我还不明白为什么要这么多东东】
[Cluster]
name=Red Hat Enterprise Linux $releasever – $basearch – Cluster
baseurl=file:///media/Cluster
【这个Cluster文件夹就是原来光盘根目录下的文件夹,以下类似】
enabled=1
gpgcheck=0 【这里不检查key,故设置为0】
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[ClusterStorage]
name=Red Hat Enterprise Linux $releasever – $basearch – ClusterStorage
baseurl=file:///media/ClusterStorage
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[Server]
name=Red Hat Enterprise Linux $releasever – $basearch – Server
baseurl=file:///media/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[VT]
name=Red Hat Enterprise Linux $releasever – $basearch – VT
baseurl=file:///media/VT
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
4、新建 rhel/目录
mkdir -p /var/rhel/{Cluster,ClusterStorage,Server,VT}
5、安装createrepo
rpm -vih /media/Server/createrepo-0.4.4-2.fc6.noarch.rpm
【我的rhl5.2中不是这个createrepo-0.4.4-2.fc6.noarch.rpm ,名字和这个有一些差异,每个人可以查下自己Server下的安装包,对名称进行部分修改】
然后分别执行:
createrepo -o /var/rhel/Cluster -g /media/Cluster/repodata/comps-rhel5-cluster.xml /media/Cluster
createrepo -o /var/rhel/ClusterStorage -g /media/ClusterStorage/repodata/comps-rhel5-cluster-st.xml /media/ClusterStorage
createrepo -o /var/rhel/Server -g /media/Server/repodata/comps-rhel5-server-core.xml /media/Server
createrepo -o /var/rhel/VT -g /media/VT/repodata/comps-rhel5-vt.xml /media/VT
6、挂载
mount –bind /var/rhel/Cluster/repodata /media/Cluster/repodata
mount –bind /var/rhel/ClusterStorage/repodata /media/ClusterStorage/repodata
mount –bind /var/rhel/Server/repodata /media/Server/repodata
mount –bind /var/rhel/VT/repodata /media/VT/repodata
【以上就是这位作者给出的方案,很遗憾,我还没完全明白这个过程的目的以及其必要性】但值得肯定的是,如果上述你都正确完成了,这是,你把shell cd到Server目录下,执行:
yum install gcc*。就可以全部安装gcc相关而不需要一个一个来了,关键是这并不是只是用来安装gcc,安装any都可以用这种方法了,麻烦一次,幸福无数。】