最近上Linux系統基礎課程,要在虛擬機上編譯運行程序,這時候就需要安裝gcc,網上一搜,各種什么在線,離線安裝,其中在線安裝很方面,一個命令 yum install gcc 即可解決
可我這么輸入后,提示yum源未注冊,沒有啟動的源(倉庫),無法安裝(如下圖),正常安裝成功的當我沒說。
這就難受了,而直接離線裝gcc更麻煩。翻了翻書,后面有用到yum,於是我花了兩天將yum換成免費的,看了30多篇博客、問答,總結出這篇親身實踐的博客(也方便自己復習查看)。
希望大家別嫌麻煩,網上很多簡單的操作難以解決這個問題
開始吧,首先,前提是安裝好Linux虛擬機(能連上網絡的)
這個前提網上有許多實用的,就不說了(為了這篇,我又去安了一次),開啟虛擬機,以root賬號登入,在桌面打開終端
第二步:卸載原先的yum(rpm -qa|grep yum|xargs rpm -e --nodeps)
輸入rpm -qa |grep yum 確認是否卸載完成(回車后無信息顯示)
第三步,下載yum包以及相關依賴文件
這部分有點多,請耐心一點
我用的是網易的鏡像網站,http://mirrors.163.com/
訪問http://mirrors.163.com/centos/7.6.1810/os/x86_64/Packages/網頁
注意:具體地址可能不一樣,取決於想要下載的版本,比如我這里選擇的是7.6.1810(如下圖),個人按照需求選擇
找到需要下載的文件
python-iniparse-0.4-9.el7.noarch.rpm
python-urlgrabber-3.10-9.el7.noarch.rpm
yum-3.4.3-161.el7.centos.noarch.rpm
yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm
利用wget + 文件地址即可下載(也可以網頁上直接點擊下載)
下好這五個文件(為了方便我都丟到桌面上)
開始安裝(rpm -ivh *.rpm 全部安裝)
哎呀,發生了錯誤,錯誤信息意思是:我缺少了4.11.3-22以上版本的rpm,所以,再回到下原先下yum包的地方,找到對應的rpm,下載
然后先安裝這個rpm,注意,直接rpm -ivh無法成功安裝,因為老版本的rpm與許多其他程序有着依賴,會導致無法安裝新版本
這里使用 rpm -Uvh rpm-4.11.3-35.el7.x86_64.rpm --nodeps 進行升級安裝)
同理,下載的兩個python文件的也這樣進行升級安裝
再來嘗試安裝那三個yum相關文件(由於yum原來的版本被卸載了,所以可以直接rpm -ivh)
(注意,yum-3.4.3-161.el7.centos.noarch.rpm 和yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm相互依賴,一定要同時安裝)
到這里yum就算是半完成了,可以試試輸入yum看有沒反應,正常反應如下圖,
如果出現 未找到命令,代表沒安裝完成,
這時,回頭再依次 rpm -ivh yum相關的文件(先安metadata那個,再同時安剩下的兩個
rpm -ivh yum-3.4.3-161.el7.centos.noarch.rpm yum-plugin-fastestmirror-1.1.31-50.el7.noarch.rpm),我這里由於已經安好了,就會提示已經安裝
如果出現
這種類似的錯誤,提示缺啥就到那個網站上去找,找到之后下下來,
rpm -Uvh xxxxxxx.rpm --nodeps升級安裝好后,再安裝一邊報錯的文件,直到成功為止
第四步 新建配置.repo文件
輸入 vim /etc/yum.repos.d/CentOS-Base.repo 進入Vi編輯模式,復制下列代碼內容進去
#CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$7 - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$7&arch=$basearch&repo=os
baseurl=http://mirrors.163.com/centos/7/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$7 - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$7&arch=$basearch&repo=updates
baseurl=http://mirrors.163.com/centos/7/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$7 - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$7&arch=$basearch&repo=extras
baseurl=http://mirrors.163.com/centos/7/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$7 - Plus - 163.com
baseurl=http://mirrors.163.com/centos/7/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
一定要復制完整,之后按esc進入命令模式,輸入:wq保存並退出
之后yum clean all清除緩存,就可以使用yum了
第五步 安裝gcc
yum搞好后,裝gcc或者其他工具就很方便了,直接yum install xxxx就能自動安裝了
不過中途會提問你是否繼續一類的問題,輸入y,回車,讓它繼續安,直到顯示 完畢,
顯示 完畢!就代表安裝完成了
(PS:使用yum安裝的好處,就是可以將你所需要的工具和工具依賴的文件都一並下載或者更新,如下所示)
至此, yum和gcc都安裝完畢了
來,測試一下 gcc -v
不放心的話還可以再測試一下,隨便搞個c語言文件,進行編譯並運行
看,成功了!
參考資料:
https://blog.csdn.net/qq_34256348/article/details/78837175(Redhat7 安裝 yum 博主親自安裝記錄!!!!——燕雲幽俠)
https://blog.csdn.net/zhaosenoo/article/details/70919881(RHEL7解決無法使用YUM源問題——zhaosenoo)