前言:
- 對(duì)于之前學(xué)習(xí)的內(nèi)容如果大家理解為讓大家知道【linux】基本知識(shí)并且會(huì)使用它,那么接下來(lái)的學(xué)習(xí)的知識(shí)便是讓各位小伙伴在純【linux】環(huán)境下進(jìn)行程序的開(kāi)發(fā),為了達(dá)到這一目的我們就需要使用工具的輔助。因此,接下來(lái)給大家講述的便是【linux】下的常用工具了?。?!
本文目錄
(一)淺聊軟件包
1、什么是yum
(二)背景介紹
1、下載的原理(你真的懂下載嗎)
2、軟件誕生的原因
3、開(kāi)源生態(tài)
4、軟件分類(lèi)
(三)yum使用
1、如何查看軟件包
2、安裝與卸載
3、yum基本指令
(四)yum源
a)CentOS-Base.repo
?b)CentOS-Epel.repo?
(五)總結(jié)
(一)淺聊軟件包
在正式講解第一個(gè)工具之前,我先給大家具體的普及一下軟件包的概念,不知道各位小伙伴是否真正的理解它呢?
那么什么是軟件包呢?接下來(lái)給出答案:
- 在Linux下安裝軟件, 一個(gè)通常的辦法是下載到程序的源代碼, 并進(jìn)行編譯, 得到可執(zhí)行程序.
- 但是這樣太麻煩了, 于是有些人把一些常用的軟件提前編譯好, 做成軟件包(可以理解成windows上的安 裝程序)放在一個(gè)服務(wù)器上, 通過(guò)包管理器可以很方便的獲取到這個(gè)編譯好的軟件包, 直接進(jìn)行安裝.
- 軟件包和軟件包管理器, 通俗一點(diǎn)舉個(gè)例子就好比日常生活中的?"App" 和 "應(yīng)用商店" 這樣的關(guān)系,這么說(shuō)大家可能就清楚了。
好了,有了上面的內(nèi)容做鋪墊,接下來(lái)我們就開(kāi)始對(duì)【yum】進(jìn)行深入學(xué)習(xí)。第一步,我先給出其具體的概念,即什么是【yum】呢?讓大家先初步對(duì)其有個(gè)認(rèn)識(shí)。
1、什么是yum
- YUM,全稱(chēng)Yellow dog Updater, Modifier,是一個(gè)自由、開(kāi)源的命令行軟件包管理工具。是Linux下非常常用的一種包管理器. 主要應(yīng)用在Fedora, RedHat, Centos等發(fā)行版上.
- 基于 RPM 包管理,能夠從指定的服務(wù)器自動(dòng)下載 RPM 包并且安裝,可以自動(dòng)處理依賴(lài)性關(guān)系,并且一次安裝所有依賴(lài)的軟件包,無(wú)須繁瑣地一次次下載、安裝。
- yum 提供了查找、安裝、刪除某一個(gè)、一組甚至全部軟件包的命令,而且命令簡(jiǎn)潔而又好記。
(二)背景介紹
通過(guò)結(jié)合上述講到的【yum】的概念,接下來(lái)我們以日常生活中下載軟件的場(chǎng)景為例帶大家深入去探究?。。?/strong>
1、下載的原理(你真的懂下載嗎)
首先,先問(wèn)大家一個(gè)小問(wèn)題,那就是在日常生活中,對(duì)于手機(jī)來(lái)說(shuō)不管是安卓的還是iPhone的,當(dāng)我們準(zhǔn)備到手機(jī)中的應(yīng)用商店下載軟件時(shí),手機(jī)商店中的軟件是在你的本地呢?還是在你的遠(yuǎn)端的呢?
- 我相信大家都應(yīng)該知道的這個(gè)答案,對(duì)于要下的軟件來(lái)說(shuō),其實(shí)并沒(méi)有真正在你的手機(jī)上,是在遠(yuǎn)端下載的,通過(guò)應(yīng)用市場(chǎng)從服務(wù)器當(dāng)中下載到我們手機(jī)的。
其次,當(dāng)你在手機(jī)上下軟件時(shí),這個(gè)軟件此時(shí)在遠(yuǎn)端的服務(wù)器上。這時(shí),問(wèn)題就來(lái)了,遠(yuǎn)端的服務(wù)器有數(shù)百萬(wàn)個(gè)服務(wù)器甚至更多,那么當(dāng)你下軟件時(shí)你訪問(wèn)的是哪臺(tái)服務(wù)器呢?
- 對(duì)于我們普通用戶(hù)來(lái)說(shuō),我們需要管那么多嗎?知不知道對(duì)我們來(lái)說(shuō)有影響嗎?我們只需要打開(kāi)應(yīng)用市場(chǎng),找到我們需要的軟件,在點(diǎn)擊下載即可,此時(shí)上面下載工作就全權(quán)交給了手機(jī)的應(yīng)用市場(chǎng)來(lái)解決。
- 舉個(gè)例子,當(dāng)我們想在手機(jī)上下載【csdn】時(shí),我們通過(guò)打開(kāi)自己上的應(yīng)用商店 ,通過(guò)查詢(xún)搜索,找到相應(yīng)的軟件之后,點(diǎn)擊下載,此時(shí)應(yīng)用商店代理完成從遠(yuǎn)端的服務(wù)器上把軟件下載到我們的手機(jī)上的任務(wù)。因此,當(dāng)我們點(diǎn)擊下載之后,就看得見(jiàn)下載進(jìn)度了。
因此,類(lèi)比之下,在我們的【linux】下也有所謂的“應(yīng)用商店”幫助我們?nèi)ネ瓿蛇@個(gè)任務(wù)。
2、軟件誕生的原因
對(duì)于我們來(lái)說(shuō),身處在這個(gè)信息化高度發(fā)達(dá)的時(shí)代下,每天各種的逛嗶站呀還是信息通訊呀已經(jīng)是家常便飯了。那么為什么有人要給我們提供如此海量的【APP】呢?這些人出于什么目的呢?
- 答案很簡(jiǎn)單,就是想讓我們把它的軟件用起來(lái),這樣它的公司才能才能賺到錢(qián)呀!背后全是利益的驅(qū)動(dòng)。
- 之前,互聯(lián)網(wǎng)公司有句話叫做——羊毛出在豬身上,叫狗買(mǎi)單!!不知道大家有沒(méi)有用【APP】用的好好的,突然給你彈一個(gè)廣告出來(lái)這種情況。什么意思呢?意思就是這些互聯(lián)網(wǎng)公司搭個(gè)平臺(tái),通過(guò)我們?nèi)ナ褂萌ビ^看,此時(shí)我們的注意力就在這個(gè)【APP】上,有了活躍的人數(shù)就會(huì)吸引廣告商來(lái)投遞廣告,一旦有廣告了,那么廣告商就會(huì)支付費(fèi)用,通過(guò)這種方式來(lái)賺錢(qián)。
就像這樣:
?
那有小伙伴就就為好奇了:那對(duì)于我們的【Linux】而言,是否有廣告呢?
- 答案是當(dāng)然沒(méi)有,各位有在【Linux】看到除了代碼之外的其他東西嗎?因?yàn)椤綥inux】是純命令行的操作系統(tǒng),界面都沒(méi)有,別人是無(wú)法向你推廣告的
3、開(kāi)源生態(tài)
那講到這,各位小伙伴是否就好奇了。你剛才說(shuō)的【APP】都是歸根結(jié)底還是為了企業(yè)能夠賺錢(qián),那么【linux】是否也是這樣的呢?
- 我們從第一篇的博客中就說(shuō)到,【Linux】是一款免費(fèi)的,開(kāi)源的操作系統(tǒng),它提供開(kāi)源社區(qū)來(lái)供一些開(kāi)發(fā)者之間互相交流學(xué)習(xí)!?。?/li>
正是基于開(kāi)源,且大部分來(lái)說(shuō)都是免費(fèi)的特點(diǎn)。因此,【linux】得到了大多數(shù)企業(yè)的青睞,大多數(shù)的公司都是使用的【linux】,因此雖然它的運(yùn)行需要用到服務(wù)器,而服務(wù)器使用久了就需要去維護(hù),維護(hù)那一定是需要成本和工費(fèi),大家就會(huì)好奇誰(shuí)會(huì)去對(duì)其進(jìn)行處理呢?
- 其實(shí),對(duì)于這種情況,剛才我已經(jīng)說(shuō)了,市面上的大多數(shù)公司都是使用的這一款操作系統(tǒng),因此最不愿意看到這樣的場(chǎng)景的首先就是這是公司。我還記得之前羅永浩好像就把賣(mài)產(chǎn)品的一部分錢(qián)都捐給了為維護(hù)開(kāi)源的這種做了奉獻(xiàn)。
4、軟件分類(lèi)
在【linux】下軟件主要分為兩類(lèi),那么是哪兩類(lèi)呢?
主要分為【系統(tǒng)軟件】和【擴(kuò)展軟件】
- 官方軟件:這類(lèi)軟件就是平時(shí)常見(jiàn),能叫得上名字的【推薦使用】
- ?擴(kuò)展軟件:而對(duì)于這類(lèi)軟件來(lái)說(shuō),其實(shí)它并不屬于官方軟件。例如接下來(lái)我們要學(xué)習(xí)的【sl】就是一個(gè)典型的擴(kuò)展軟件。
接下來(lái)就是對(duì)于軟件的選擇的小技巧了:
首先問(wèn)大家一個(gè)小問(wèn)題那就是大家是否都喜歡最新版本的軟件呢?
- 對(duì)于我而言,現(xiàn)在正在使用的是【linux】系統(tǒng)是CentOS7,而在如今這個(gè)快速發(fā)展的大時(shí)代中,已經(jīng)出現(xiàn)了許多比它更新款的軟件了,那是不是就一定要用它呢?
接下來(lái)我就來(lái)回答這個(gè)問(wèn)題:
- 首先,大家都喜歡選擇最新款的,無(wú)非就是最新款軟件肯定是在舊版本的基礎(chǔ)上進(jìn)行了升級(jí)換代的,相對(duì)來(lái)說(shuō)肯定會(huì)比舊版的好用。但是你能說(shuō)得準(zhǔn)雖然它解決了舊版本存在的問(wèn)題,難道新版本就不會(huì)有新的問(wèn)題嗎。像一些新的操作系統(tǒng)雖然解決了一些其他問(wèn)題,但一定會(huì)面臨著一些新的問(wèn)題
- 而對(duì)于舊版本的軟件來(lái)說(shuō),畢竟已經(jīng)使用了那么久,對(duì)于許多的問(wèn)題已經(jīng)得到了相對(duì)的解決,要是這時(shí)突然換上新版本,那么對(duì)于那些無(wú)法預(yù)知的“坑”,萬(wàn)一踩種了,那么造成的損失輕則還好,嚴(yán)重的話造成的后果可能是無(wú)法承擔(dān)的
(三)yum使用
1、如何查看軟件包
首先當(dāng)我們想安裝應(yīng)用軟件那就要先進(jìn)入到【應(yīng)用商店】中,接下來(lái)我們先來(lái)看看我們的【Linux】中的有哪些yum
- 我們需要執(zhí)行以下指令去查看當(dāng)前【linux】下的yum
yum list | grep sl
接下來(lái)我們通過(guò)指令一起去看看:
大家看著一臉問(wèn)號(hào)呢?別急,接下來(lái)我給大家稍微解釋一下,讓大家認(rèn)識(shí)認(rèn)識(shí):
①對(duì)于最左側(cè)的就是操作系統(tǒng)下的軟件名稱(chēng)了,這個(gè)應(yīng)該可以理解把!主要包括有以下信息:
- 主版本號(hào);次版本號(hào);源程序發(fā)行號(hào)-軟件包的發(fā)行號(hào);主機(jī)平臺(tái).cpu架構(gòu).
緊接著最后好多后綴都會(huì)有“x86_64” ,什么意思呢?
- 主要代碼64位系統(tǒng)的安裝包, “i686” 后綴表示32位系統(tǒng)安裝包. 選擇包時(shí)要和系統(tǒng)匹配.
②其次中間部分就是它所發(fā)行的版本。
③最右側(cè)部分的@后面的名稱(chēng)就是這個(gè)【yum】的**發(fā)行商**了,就像手機(jī)上的應(yīng)用商店?
2、安裝與卸載
首先介紹yum 語(yǔ)法:
yum [options] [command] [package ...]
- options:可選,選項(xiàng)包括-h(幫助),-y(當(dāng)安裝過(guò)程提示選擇全部為 "yes"),-q(不顯示安裝的過(guò)程)等等。
- command:要進(jìn)行的操作。
- package:安裝的包名。
接下來(lái),我們?nèi)グ惭b一個(gè)試試手:
安裝好了,我想刪除怎么刪除呢?很簡(jiǎn)單,看以下實(shí)例:
?對(duì)于上述安裝的做法,會(huì)彈出我們手動(dòng)輸入【-y】進(jìn)行確定的場(chǎng)景,那么是否有辦法不需要我們手動(dòng)的去輸入,而是系統(tǒng)直接完成呢?當(dāng)然是有的,具體如下:
yum -y install sl.x86_64
?當(dāng)我們?nèi)y(cè)試這個(gè)軟件的時(shí)候,我們就會(huì)發(fā)現(xiàn)一個(gè)有趣的事情,因?yàn)樗雌饋?lái)就像火車(chē)一樣。
注意事項(xiàng)
- 安裝軟件時(shí)由于需要向系統(tǒng)目錄中寫(xiě)入內(nèi)容, 所以一般需要 【sudo 】或者切到 【root 】賬戶(hù)下才能完成.
- yum安裝軟件只能一個(gè)裝完了再裝另一個(gè). 正在yum安裝一個(gè)軟件的過(guò)程中, 如果再?lài)L試用yum安裝另外一個(gè)軟件, yum會(huì)報(bào)錯(cuò).
3、yum基本指令
接下來(lái)帶大家認(rèn)識(shí)【yum】下的常用命令有哪些。
1. 列出所有可更新的軟件清單命令:
-
yum check-update
2. 更新所有軟件命令:
-
yum update
3. 僅安裝指定的軟件命令:
-
yum install <package_name>
4. 僅更新指定的軟件命令:
-
yum update <package_name>
5. 列出所有可安裝的軟件清單命令:
-
yum list
6. 刪除軟件包命令:
-
yum remove <package_name>
7. 查找軟件包命令:
-
yum search <keyword>
8. 清除緩存命令:
-
yum clean packages: 清除緩存目錄下的軟件包 yum clean headers: 清除緩存目錄下的 headers yum clean oldheaders: 清除緩存目錄下舊的 headers yum clean, yum clean all = yum clean packages; = yum clean oldheaders :清除緩存目錄下的軟件包及舊的 headers
(四)yum源
在上述的學(xué)習(xí)中,我們已經(jīng)知道了如何去進(jìn)行軟件的安裝與卸載,這就夠了嗎?答案是當(dāng)然不夠,對(duì)于一位出色的學(xué)習(xí)者來(lái)說(shuō),我們不僅要知其然更要知其所以然,只有真正的掌握其原理以及使用,我們才能說(shuō)得上能夠掌握它!??!
剛開(kāi)始的時(shí)候,我已經(jīng)給大家提過(guò)在我們上機(jī)上下載軟件的原理,對(duì)于手機(jī)的應(yīng)用商店來(lái)說(shuō),它怎么知道要去哪里下載呢?
- 因此這些應(yīng)用商店必須要知道各個(gè)軟件的下載地址吧!對(duì)于這個(gè)下載的地址,一般都是內(nèi)置下載的地址(配置文件)
因此那對(duì)于【Linux】中的yum,它是如何知道自己要去下載的軟件在哪里的呢?
- 基于上述情況這就要談到【yum】自己的配置文件,也是我接下來(lái)要講的——yum源
那什么是【yum】呢?
- 包含各種rpm軟件包的repository(軟件倉(cāng)庫(kù)),這個(gè)軟件倉(cāng)庫(kù)我們習(xí)慣稱(chēng)之為yum源或者是yum倉(cāng)庫(kù),這個(gè)源可以是本地的也可以是網(wǎng)絡(luò)的。
接下來(lái)的問(wèn)題就是【yum源】在哪里呢?如何查看自己本機(jī)所配置的所有yum源呢?這就需要用到以下指令了:
ls -l /etc/yum.repos.d/ //查看配置的【yum】源
接下來(lái)我們一起去看看:
解析:
大家可能對(duì)上述的最右側(cè)列舉出來(lái)的東西一臉疑惑,什么意思呢?接下來(lái)給大家介紹一下:
- ?CentOS-Base.repo【基礎(chǔ)yum源】
- CentOS-Epel.repo 【擴(kuò)展yum源】
a)CentOS-Base.repo
接下來(lái),我們就可以去對(duì)二者進(jìn)行了解了,具體如下:
?b)CentOS-Epel.repo?
注意:
- 如果你自己使用的【yum】的時(shí)候沒(méi)有問(wèn)題,那么我們就需要在進(jìn)行配置了,并且你看到的【yum】源配置文件就是國(guó)內(nèi)的鏡像源——如華為云,阿里云,163等都是可以使用的,不用再配置,如果你還想親自上手配置一下,在這里我就不講解了,大家可以百度一下!!
最后就是如果各位小伙伴在安裝自己想要的軟件時(shí)找不到了,此時(shí)不要慌張,可能你要找的這款軟件就要擴(kuò)展的yum源的中:epel.repo
- 此時(shí)我們只要執(zhí)行一下下面這條指令即可。此時(shí)系統(tǒng)就會(huì)根據(jù)你的base yum源,幫我們找到和他所匹配的擴(kuò)展yum源了。具體如下:
yum install -y epel-release
(五)總結(jié)
到此,對(duì)于我們要學(xué)習(xí)的第一個(gè)【linux】工具就介紹完畢了?。?/p>
以上便是關(guān)于【yum】的全部知識(shí),如果本文對(duì)您有幫助的話,麻煩點(diǎn)贊三連喲!??!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-803275.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-803275.html
到了這里,關(guān)于【Linux】軟件包管理器 yum的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!