本文針對Linux初始化者,高手可掠過,以免貽笑大方。
常識:
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的。現在也不懂,網上也沒查到方法,大概太弱智了沒人關注。後來看到一篇文章來自:
http://blog.sina.com.cn/jarwang
下的一篇文章:RHEL5安裝及配置光碟片YUM。這裡對其步驟進行部分修正並解釋:(感謝作者先)
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都可以用這種方法了,麻煩一次,幸福無數。】
1. yum install gcc*直接安裝,解決依賴問題。
2.安裝完成,查看gcc版本: