【Linux】linux服務器下包管理器

通常Linux應用軟件的安裝包有三種:
1) tar包,如software-1.2.3-1.tar.gz。它是使用UNIX系統的打包工具tar打包的。
2) rpm包,如software-1.2.3-1.i386.rpm。它是Redhat Linux提供的一種包封裝格式。
3) dpkg包,如software-1.2.3-1.deb。它是Debain Linux提供的一種包封裝格式。

包的類型

一個Linux應用程序的軟件包中可以包含兩種不同的內容:
1) 一種就是可執行文件,也就是解開包後就可以直接運行的。在Windows中所有的軟件包都是這種類型。安裝完這個程序後,你就可以使用,但你看不到源程序。
    而且下載時要注意這個軟件是否是你所使用的平臺,否則將無法正常安裝。
2) 另一種則是源程序,也就解開包後,你還需要使用編譯器將其編譯成爲可執行文件。這在Windows系統中是幾乎沒有的,因爲Windows的思想是不開放源程序的。
通常,用tar打包的,都是源程序;而用rpm、dpkg打包的則常是可執行程序。一般來說,自己動手編譯源程序能夠更具靈活性,但也容易遇到各種問題和困難。
而相對來說,下載那些可執行程序包,反而是更容易完成軟件的安裝,當然那樣靈活性就差多了。所以一般一個軟件總會提供多種打包格式的安裝程序的。你可以根據自己的情況來選擇。

tar命令管理軟件包

1. 語法:Usage: tar [OPTION...] [FILE]...
-z:有gzip屬性的
-x:解壓
-v 詳細報告tar處理的文件信息。如無此選項,tar不報告文件信息。
-f 指定檔案文件名或設備名,這個選項通常是必選的。
-j:有bz2屬性的
-c: 建立壓縮檔案
-t:查看內容
-r:向壓縮歸檔文件末尾追加文件
-u:更新原壓縮包中的文件
-C:指定解壓縮目標目錄
tar -zxvf  xxx_64.tar.gz             -->當前目錄解壓縮
tar -zxvf  xxx_64.tar.gz -C 指定目錄 -->指定目錄解壓縮

2. tar打包的應用軟件大概安裝過程
1)取得應用軟件:通過下載、購買光盤的方法獲得;
2)解壓縮文件:一般tar包,都會再做一次壓縮,如gzip、bz2等,所以你需要先解壓。如果是最常見的gz格式,則可以執行:“tar –xvzf 軟件包名”,就可以一步完成解壓與解包工作。
   如果不是,則先用解壓軟件,再執行“tar –xvf 解壓後的tar包”進行解包;
3)閱讀附帶的INSTALL文件、README文件;
4)執行“./configure”命令爲編譯做好準備;
5)執行“make”命令進行軟件編譯;
6)執行“make install”完成安裝;
7)執行“make clean”刪除安裝時產生的臨時文件。

====軟件安裝目錄:注意make install命令過程中的安裝目錄,或者閱讀安裝目錄裏面的readme文件,當然最好的辦法是在安裝的過程中指定安裝目錄,即在./configure命令後面加參數--prefix=/**,
如:./configure --prefix=/usr/local/aaaa,即把軟件裝在/usr/local/路徑的aaaa這個目錄裏。一般的軟件的默認安裝目錄在/usr/local或者/opt裏,可以到那裏去找找。

rpm 命令用於管理套件

rpm(redhat package manager) 原本是 Red Hat Linux 發行版專門用來管理 Linux 各項套件的程序,由於它遵循 GPL 規則且功能強大方便,因而廣受歡迎,逐漸受到其他發行版的採用。
RPM 套件管理方式的出現,讓 Linux 易於安裝,升級,間接提升了 Linux 的適用度。

語法:rpm [OPTION...]
rpm -qa                -->查詢安裝了哪些rpm包
rpm -q 包名            -->查詢某個軟件包的文件全名
rpm -qa|grep 包名      -->查詢某個類型的包
rpm -qi 包名           -->查詢rpm包詳細信息
rpm -ql 包名           -->查詢包中的文件安裝的位置
rpm -e 包名            -->卸載rpm包
rpm -ivh 包名.rpm      -->默認安裝包
rpmrpm --force -ivh 包名.rpm   -->忽略報錯,強制安裝

yum包管理器

yum( Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。
基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
yum提供了查找、安裝、刪除某一個、一組甚至全部軟件包的命令,而且命令簡潔而又好記。
1. yum [options] [command] [package ...]
options:可選,選項包括-h(幫助),-y(當安裝過程提示選擇全部爲"yes"),-q(不顯示安裝的過程)等等。

yum check-update          -->列出所有可更新的軟件清單
yum search man*           -->找出以pam開頭的軟件有哪些
yum list installed             -->找出已安裝的軟件

yum install man           -->安裝包

2. yum下載文件的存放位置
默認是: /var/cache/yum
也可以在 /etc/yum.conf 指定
cachedir=/var/cache/yum/$basearch/$releasever      #存放目錄(/var/cache/yum/x86_64/6)
keepcache=0                                                              #1爲保存 0爲不保存
metadata_expire=90m                                                #過期時間 

3. /etc/yum.repos.d 目錄下有yum源配置文件,一般使用的是阿里雲鏡像: 

4. yum安裝包流程


用戶使用yum去請求安裝某一個程序包時,yum工具會先去yum配置文件中查找yum倉庫指向的路徑,
根據該路徑去訪問遠程或本地的文件服務器,這個服務器作爲yum倉庫並且存儲了衆多的rpm包以及包相關的元數據文件。
當yum根據倉庫路徑訪問到倉庫後,會首先嚐試請求獲取rpm包的元數據文件並緩存至本地(/var/cache/yum目錄),
而這個元數據文件包括了該倉庫所有rpm包的程序包名、版本號、依賴性以及每個程序包所提供的capabilities等。
而後,yum根據用戶要安裝的程序包名去元數據文件裏查找,看看倉庫裏是否有用戶請求下載的程序包文件,
如果找到了則根據元數據文件分析該程序包的依賴關係並分析本地系統上有哪些包已安裝、哪些包還沒安裝,
再將用戶所有需要安裝且本地尚未安裝的程序包名列出來,並以客戶端的角色發送至文件服務器(倉庫)請求下載之。
如果請求成功,則yum將要安裝的程序包文件也緩存至本地並執行安裝操作。安裝完成之後將緩存的程序包文件刪除以節約空間,而緩存中只留下元數據文件。
爲什麼只緩存元數據而不緩存程序包呢?因爲程序包一般只安裝一次即可,很少會再安裝第二次,
而且基於節約空間的考慮,因此yum在安裝完程序包後會將緩存中的程序包刪除。
而緩存元數據好處則是當下一次用戶使用yum請求安裝程序包時可以節約帶寬,無需再次重新請求獲取全部的元數據文件,並且可以提高本地分析程序包的速度。
當用戶第二次使用yum請求安裝程序包時,基於實時同步更新緩存以及節約帶寬的考慮,
yum會先請求下載yum倉庫下rpm包元數據的校驗碼文件至本地,將其與本地緩存上的元數據校驗碼相比較,如果相同,說明無須更新;
如果不同,則說明倉庫中rpm包已經更新,因此yum會重新請求下載倉庫上的元數據文件以更新元數據緩存。接着同樣是分析程序包依賴性、請求要安裝的全部程序包等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章