一、Linux 軟件包管理器 yum
1.Linux安裝軟件的方式
在linux中安裝軟件常用的有三種方式:
源代碼安裝(我們還需要進行編譯運行后才可以,很麻煩)
rpm安裝(Linux的安裝包,需要下載一些rpm包,但是彼此之間的依賴關系很嚴重)
yum安裝 (可以解決安裝源,安裝版本,安裝依賴的問題)
在 Linux 下安裝軟件 , 一個通常的辦法是下載到程序的源代碼 , 并進行編譯 , 得到可執行程序 .但是這樣太麻煩了 , 于是有些人把一些常用的軟件提前編譯好 , 做成軟件包 ( 可以理解成 windows 上的安 裝程序) 放在一個服務器上 , 通過包管理器可以很方便的獲取到這個編譯好的軟件包 , 直接進行安裝 . 軟件包和軟件包管理器, 就好比 "App" 和 " 應用商店 " 這樣的關系 .yum(Yellow dog Updater, Modified) 是 Linux 下非常常用的一種包管理器 . 主要應用在 Fedora, RedHat, Centos等發行版上 .
那么現在問題來了客戶端怎么知道去哪里下載?公司,個人組織出于什么目的,或者動機給我們提供給軟件服務?
其實這些給我們提供軟件服務的都是一些職業程序員
這里就要談到Linux的生態:開源
當我們對一個操作系統進行選型的時候,我們作為使用者要考慮的是生態好
站在OS的設計者和推動者,他們是提供者,要使生態更加完善
但是提供操作系統的人,他們不可能為愛發電,因為服務器都是要錢的。但是對于使用者而言,他們不希望這樣的組織,社區倒閉,所以就會有一些大公司的捐助。有了捐助,操作系統才能更好的發展。
所以開源可以使得生態越來越好,這就像一種商業戰略。開源,有時候也挺貴的意思就是我們使用了他們的生態,所以我們不希望他們出現問題。
2.yum
yum其實就是我們linux中的一個可執行程序,也就是一個軟件,我們可以使用yum去進行各種軟件的安裝
關于 yum 的所有操作必須保證主機 ( 虛擬機 ) 網絡暢通 !!!可以通過 ping 指令驗證

yum list
由于包的數目可能非常之多, 這里我們需要使用 grep 命令只 篩選出我們關注的包.?
例如:
yum list | grep lrzsz
軟件包名稱 : 主版本號 . 次版本號 . 源程序發行號 - 軟件包的發行號 . 主機平臺 .cpu 架構 ."x86_64" 后綴表示 64 位系統的安裝包 , "i686" 后綴表示 32 位系統安裝包 . 選擇包時要和系統匹配 . "el7" 表示操作系統發行版的版本 . "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6. 最后一列, base 表示的是 " 軟件源 " 的名稱 , 類似于 " 小米應用商店 ", " 華為應用商店 " 這樣的概念
yum install lrzsz.x86_64
注意:安裝要在root用戶下
關于 rzsz







yum remove lrzsz.x86_64
3.yum如何知道去哪里下載軟件?
講到這里,有同學就好奇了,yum如何知道去哪里下載軟件呢?
我們知道yum一定是有自己的下載鏈接的。那么它的下載鏈接在哪呢?
其實答案就在下面的這個路徑中
我們需要注意的就是這個東西,它叫做yum源,它里面已經將鏈接都寫好了。
也叫做官方yum源,里面的東西都是經過官方認定的,沒有任何問題的。
當然我們有時候也會自己下載一些來路不明的軟件。這里就需要擴展yum源了
像我后面跟著的這些,都是拓展yum源
當我們想要安裝一些奇怪的東西的時候,我們就需要先安裝擴展源
比如下面這個
yum install -y epel-release
這個yum源其實就是把epel里面的一些鏈接拉去下來
現在我們可以安裝一下這個軟件
yum install -y sl
然后我們輸入
sl
就能看見
又比如這款軟件
yum install -y cowsay
這個軟件的效果是這樣的:
一般linux操作系統,默認配置的yum源是國外的,有可能我們的yum源訪問會比較慢,可能需要更新yum源(即替換yum源文件)不過一般云服務器,一般廠商已經替換了yum源了
再次強調:
安裝軟件時由于需要向系統目錄中寫入內容, 一般需要 sudo 或者切到 root 賬戶下才能完成.yum安裝軟件只能一個裝完了再裝另一個. 正在yum安裝一個軟件的過程中, 如果再嘗試用yum安裝另外一個軟件, yum就會報錯.