版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目6軟件包管理主講:***2024年1月2日1Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程2本項(xiàng)目學(xué)習(xí)目標(biāo):1.知識(shí)目標(biāo)2.能力目標(biāo)掌握軟件包管理工具概念;了解rpm軟件包管理器;了解yum軟件包管理器;了解dnf軟件包管理器。能熟練使用rpm軟件包管理命令;能熟練使用yum軟件包管理命令;能熟練使用dnf軟件包管理命令;能夠熟練運(yùn)用各軟件包管理命令進(jìn)行查詢、安裝、升級(jí)、卸載等操作2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程3學(xué)習(xí)任務(wù)任務(wù)6.1軟件包管理概述任務(wù)6.2rpm軟件包管理器任務(wù)6.3yum與dnf軟件包管理器2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程4任務(wù)6.1軟件包管理概述rpm軟件包管理器可以讓用戶不必經(jīng)過(guò)編譯就能使用軟件,但是若遇到軟件包依賴問(wèn)題,rpm就會(huì)中斷當(dāng)前安裝,提示用戶需要依賴的軟件包,用戶需要將所提示的依賴軟件包按順序逐一安裝完成后,方可完成本軟件包的安裝,否則無(wú)法完成軟件包安裝過(guò)程,這種方式對(duì)用戶來(lái)說(shuō)很不方便。yum是YellowDogUpdater,Modified的簡(jiǎn)稱。能夠從指定的服務(wù)器自動(dòng)下載rpm軟件包并安裝,可以自動(dòng)處理依賴問(wèn)題,一次安裝所有依賴的軟件包。yum的目的是自動(dòng)地升級(jí)、安裝、移除rpm軟件包,收集rpm軟件包的相關(guān)信息,檢查依賴性并自動(dòng)解決。dnf是新一代的RPM軟件包管理器,取代了YUM正式成為包管理器,克服了yum包管理器的一些瓶頸,提升了包括用戶體驗(yàn)、內(nèi)存占用、依賴分析、運(yùn)行速度等多方面的內(nèi)容。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程5任務(wù)6.2rpm軟件包管理器rpm中通常包含二進(jìn)制包和源代碼包,二進(jìn)制包可以直接通過(guò)rpm命令安裝在系統(tǒng)上,而源代碼包則可以通過(guò)rpm命令提取對(duì)應(yīng)軟件的源代碼,以便進(jìn)行學(xué)習(xí)或二次開(kāi)發(fā),是以“.rpm”為擴(kuò)展名的文件。如“zip-3.0-23.el8.x86_64.rpm”,其中“zip”為軟件名,“3.0”表示主版本號(hào),“23”表示修訂次數(shù),“el8”通常是指軟件的發(fā)行商,這里是指基于RHEL8.0系列軟件包,“x86_64”表示軟件執(zhí)行的硬件平臺(tái),表示支持64位系統(tǒng)。如右圖1所示。圖1RPM文件名元素rpm軟件包的完整名稱一般由4個(gè)元素組成,其格式為“軟件名-主版本號(hào)-修訂版本號(hào).軟件執(zhí)行的硬件平臺(tái).rpm”。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程6RPM軟件包管理器的特點(diǎn):易于安裝。具有豐富的軟件包管理查詢功能。具有軟件包內(nèi)容校驗(yàn)功能。支持多種硬件平臺(tái)。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程71.易于安裝為了使用戶能夠簡(jiǎn)單容易安裝所需的軟件,Linux開(kāi)發(fā)了一款軟件包管理器,通過(guò)特定的打包方式將軟件打包成一個(gè)特殊格式文件——rpm軟件包。使用rpm軟件包管理器進(jìn)行軟件安裝時(shí),用戶不需要進(jìn)行任何復(fù)雜的設(shè)置,就能很容易地完成軟件的安裝。2.具有豐富的軟件包查詢功能在安裝軟件時(shí),rpm軟件包管理器會(huì)創(chuàng)建一個(gè)有關(guān)軟件包信息的數(shù)據(jù)庫(kù),用戶可以通過(guò)這個(gè)數(shù)據(jù)庫(kù)查詢軟件包的組件、文件所屬的軟件包或操作系統(tǒng)中所有的軟件包及文件等信息。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程83.具有軟件包內(nèi)容校驗(yàn)功能。用戶可以通過(guò)rpm軟件包管理器的軟件包內(nèi)容驗(yàn)證功能迅速確定軟件包內(nèi)的文件是否完整,是否有丟失或損壞。任務(wù)結(jié)束4.支持多種硬件平臺(tái)。rpm軟件包管理器可為一個(gè)軟件制作針對(duì)不同Linux系統(tǒng)硬件平臺(tái)的rpm軟件包。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程96.2.1安裝1.使用rpm命令安裝軟件包其語(yǔ)法格式如下:rpm[選項(xiàng)]軟件包的完整名稱2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程10在安裝rpm軟件包時(shí),常用的選項(xiàng)如下:-i:表示安裝指定的軟件包。-v:表示在安裝過(guò)程中顯示詳細(xì)的安裝信息。-h:表示在安裝過(guò)程中輸出Hash記號(hào)(“#”)顯示安裝進(jìn)度情況。在安裝rpm軟件包的過(guò)程中,要先檢查軟件包的依賴關(guān)系,如果所關(guān)聯(lián)的軟件包不存在,則安裝無(wú)法完成;然后要檢查軟件包的數(shù)字簽名信息,如果校驗(yàn)失敗,則安裝也無(wú)法完成。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程11(1)普通安裝。(2)測(cè)試安裝。當(dāng)用戶不確定是否需要安裝軟件包時(shí),可以使用測(cè)試安裝的方式安裝,可在發(fā)現(xiàn)提示顯示錯(cuò)誤信息后,再進(jìn)行實(shí)際安裝。(3)強(qiáng)制安裝。該方式可忽略軟件包提示的錯(cuò)誤信息強(qiáng)制安裝軟件包。除非對(duì)軟件包的依賴性很清楚,確實(shí)有必要忽視錯(cuò)誤信息提示進(jìn)行強(qiáng)制安裝,否則一般情況下不建議使用這種安裝方式。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程122.安裝過(guò)程中可能出現(xiàn)的問(wèn)題在安裝過(guò)程中,可能會(huì)出現(xiàn)以下問(wèn)題,需特別注意。(1)重復(fù)安裝。在安裝rpm軟件包時(shí),若軟件包中的某些文件已安裝,系統(tǒng)會(huì)提示軟件已安裝??梢酝ㄟ^(guò)“--replacepkgs”選項(xiàng)讓系統(tǒng)替換原有的軟件包文件,忽略該錯(cuò)誤信息強(qiáng)制安裝。(2)軟件沖突。在安裝rpm軟件包的過(guò)程中,有時(shí)會(huì)因?yàn)檐浖g的不兼容而產(chǎn)生沖突,導(dǎo)致無(wú)法安裝。可以通過(guò)“--replacefiles”或“--force”選項(xiàng)來(lái)強(qiáng)制安裝,忽略錯(cuò)誤信息,但強(qiáng)制安裝后的軟件包不一定能正常運(yùn)行。(3)軟件關(guān)聯(lián)。在安裝一個(gè)軟件包時(shí),其可能依賴其他軟件包,只有所依賴的軟件包安裝完成后,該軟件包才能正常安裝,如果不能解決依賴關(guān)系,會(huì)顯示下圖所示的信息。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程13用戶必須安裝完所依賴的全部軟件包才能解決該問(wèn)題。可以通過(guò)“--nodeps”選項(xiàng)來(lái)強(qiáng)制安裝,但強(qiáng)制安裝后的軟件包不一定能正常運(yùn)行。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程146.2.2升級(jí)當(dāng)軟件包有更新時(shí),RHEL和CentOS系統(tǒng)都會(huì)生成一個(gè)完整的新版本的rpm軟件包,為用戶提供一個(gè)完整的升級(jí)功能。當(dāng)用戶安裝該軟件包時(shí),直接獲取該軟件包的最新版本,并不需要先安裝舊版本,再打補(bǔ)丁。為了更新軟件,rpm軟件包管理器會(huì)將舊版本軟件包刪除,再安裝新版本軟件包,更新軟件包時(shí)如果遇到已有配置文件,為保證新版本的執(zhí)行,rpm軟件包管理器會(huì)將該軟件包對(duì)應(yīng)的配置文件重命名,再安裝新的配置文件,新舊文件的保存使用戶有更多的選擇。將系統(tǒng)中已安裝的某個(gè)軟件包進(jìn)行升級(jí)時(shí),rpm命令常用“-Uvh”選項(xiàng)2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程156.2.3查詢1.查詢已安裝軟件包的信息rpm軟件包管理器提供了相應(yīng)的命令用于獲取軟件包文件和已安裝軟件包的相關(guān)信息。默認(rèn)情況下,它從已安裝軟件包的本地?cái)?shù)據(jù)庫(kù)中獲取信息。-qa:列出所有已安裝的軟件包,如右圖所示。使用rpm命令查詢已安裝軟件包的信息時(shí),常用的選項(xiàng)如下。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程16-qf:查詢某目錄下的文件屬于哪個(gè)軟件包,以“/usr/bin/”目錄下的“zip”文件為例,如下圖所示。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程172.查詢特定軟件包的信息使用rpm命令查詢特定軟件包的信息時(shí),常用的選項(xiàng)如下。-q:列出特定軟件包的版本,以“mysql”為例,如右圖所示。-qi:獲取特定軟件包的詳細(xì)信息,以“mysql”為例,如右圖所示。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程18-ql:列出特定軟件包安裝的文件,以“zip-3.0-23.e18.x86_64”為例,如右圖所示。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程196.2.4刪除如果某個(gè)軟件包在安裝后不再需要使用,那么rpm軟件包管理器提供了對(duì)應(yīng)的命令進(jìn)行軟件包的刪除。但是,若要?jiǎng)h除的軟件包被其他軟件包所依賴,則其不能被刪除,需要將依賴該軟件包的軟件包刪除后,才可刪除該軟件包。使用rpm命令刪除特定軟件包時(shí),常用“-e”選項(xiàng),以刪除“mysql”軟件包為例,如下圖所示。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程20在刪除軟件包時(shí),不需要輸入軟件包的完整名稱,只要輸入能識(shí)別該軟件包的唯一標(biāo)識(shí)即可。若執(zhí)行刪除命令后無(wú)結(jié)果顯示,在說(shuō)明對(duì)應(yīng)的軟件包已被成功刪除。可以使用查詢命令進(jìn)行驗(yàn)證,如下圖所示。若軟件包存在依賴關(guān)系,如果想忽略錯(cuò)誤繼續(xù)刪除,可以使用“--nodeps”選項(xiàng)進(jìn)行強(qiáng)制刪除。但是,一般不提倡使用強(qiáng)制刪除方式,因?yàn)檫@樣會(huì)導(dǎo)致刪除后依賴該軟件包的程序無(wú)法正常執(zhí)行。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程216.2.5驗(yàn)證驗(yàn)證軟件包是指檢查軟件包中的組件是否與原始文件信息相同,以保證其準(zhǔn)確性。驗(yàn)證的方法主要包括驗(yàn)證文件的大小、MD5校驗(yàn)碼、文件權(quán)限、類型和用戶組等,將由軟件包安裝的文件和軟件包中原始文件的信息進(jìn)行比較。如果驗(yàn)證通過(guò),系統(tǒng)將沒(méi)有任何顯示信息,但如果驗(yàn)證不通過(guò),系統(tǒng)將顯示相關(guān)信息。使用rpm命令驗(yàn)證軟件包的常用選項(xiàng)如下。-V:驗(yàn)證已安裝的軟件包,如下圖所示。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程22-Vp:驗(yàn)證已下載的軟件包,如下圖所示。-Va:驗(yàn)證所有已安裝的軟件包,如下圖所示。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程23如果驗(yàn)證不通過(guò),系統(tǒng)將顯示相關(guān)信息,常見(jiàn)的校驗(yàn)錯(cuò)誤碼及說(shuō)明如下表所示。校驗(yàn)錯(cuò)誤碼說(shuō)
明5MD5校驗(yàn)碼不同S文件大小不同L文件鏈接路徑不同T文件的修改時(shí)間不同D設(shè)備的標(biāo)識(shí)號(hào)不同U文件的所有者不同G文件的所屬組不同M文件權(quán)限和文件類型不同P文件權(quán)限功能不同2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程24任務(wù)6.3yum與dnf軟件包管理器yum可以說(shuō)是一個(gè)管理rpm軟件包的前端工具,其基于rpm軟件包進(jìn)行管理,能夠從指定服務(wù)器自動(dòng)下載rpm軟件包并進(jìn)行安裝,可以自動(dòng)處理依賴關(guān)系,并一次安裝所有需要的軟件包。在RHEL本地操作系統(tǒng)中設(shè)置相應(yīng)的軟件倉(cāng)庫(kù)地址,即可使用yum軟件包管理器。yum軟件包管理器提供了查詢、安裝、刪除某一個(gè)、某一組甚至全部軟件包的命令,簡(jiǎn)單易懂。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程25(1)便于管理大量的系統(tǒng)更新問(wèn)題。其能自動(dòng)解決軟件包的依賴問(wèn)題,能更方便地添加、刪除、更新rpm軟件包。(2)可以同時(shí)配置多個(gè)軟件倉(cāng)庫(kù),且可以在多個(gè)軟件倉(cāng)庫(kù)中定位軟件包。(3)配置文件非常簡(jiǎn)潔,只需“/etc/yum.conf”和“/etc/yum.repos.d/*.repo”兩個(gè)文件。(4)保持與rpm數(shù)據(jù)庫(kù)的一致性。(5)有一個(gè)比較詳細(xì)的log,可以查看何時(shí)升級(jí)、安裝了什么軟件包等。yum軟件包管理器的特點(diǎn)如下:2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程26使用yum命令安裝rmp軟件包時(shí),將查詢數(shù)據(jù)庫(kù)中是否有該軟件包,若有,則檢查其依賴、沖突關(guān)系并給出提示,詢問(wèn)是否同時(shí)安裝依賴軟件包或刪除沖突軟件包。6.3.1安裝yum命令的語(yǔ)法格式如下:yum[選項(xiàng)][命令][軟件包名]2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程27使用yum命令安裝rmp軟件包的選項(xiàng)為“install”,“yuminstall”命令表示獲取并安裝軟件包,包括其所有依賴項(xiàng),如下圖所示。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程28使用yum命令安裝rmp軟件包組的命令是“yumgroupinstall”,該命令能夠安裝一個(gè)組,同時(shí)安裝其必選和默認(rèn)的軟件包,以及它們依賴的軟件包,如右圖所示。2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程29使用yum命令升級(jí)rmp軟件包的選項(xiàng)為“update”,“yumupdate”命令用于獲取并安裝指定軟件包的新版本,包括所有依賴項(xiàng)。通常該命令適當(dāng)保留配置文件,如果認(rèn)為舊文件在更新后無(wú)法正常使用,則可能對(duì)其進(jìn)行重命名。如果沒(méi)有指定軟件包名稱,它將安裝所有相關(guān)的更新軟件包,如圖下圖所示。6.3.2升級(jí)2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程30可以使用“yumlist”命令顯示已安裝的軟件包,如下圖所示。6.3.3查詢2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程31可以使用“yumsearchall”命令根據(jù)提供的摘要字段找到關(guān)鍵字并列出軟件包。可以使用“yuminfo”命令查詢軟件包的詳細(xì)信息。可以使用“yumprovides”命令顯示指定路徑的軟件包。使用“yumgrouplist”命令可以顯示已安裝軟件包組和可用軟件包組的名稱。使用“yumgroupinfo”命令顯示軟件包組的詳細(xì)信息,列出必選、默認(rèn)和可選的軟件包名稱。使用“yumhistory”可以顯示安裝和刪除事務(wù)的摘要。其他查詢相關(guān)命令如下:2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程32使用yum命令刪除軟件包時(shí),只能刪除rpm格式的軟件包。和安裝時(shí)一樣,yum軟件包管理器也會(huì)先對(duì)rpm數(shù)據(jù)庫(kù)進(jìn)行查詢,給出解決依賴關(guān)系的提示。使用yum命令刪除rmp軟件包的選項(xiàng)為“remove”,如右圖所示。若要?jiǎng)h除指定軟件包組中的軟件包,則使用“yumgroupremove”命令。6.3.4刪除2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程336.3.5dnf軟件包管理器從CentOS8開(kāi)始,系統(tǒng)默認(rèn)的軟件包管理器是dnf,系統(tǒng)提供的yum命令僅為dnf命令的軟鏈接。dnf是dandifiedyum的簡(jiǎn)稱,是基于rpm軟件包的Linux發(fā)行版本的軟件包管理器。(1)yum禁止刪除正在使用的內(nèi)核,而dnf允許刪除所有內(nèi)核,包括正在使用的內(nèi)核;(2)在更新軟件包時(shí),yum不進(jìn)行依賴包相關(guān)性的檢查,而dnf如果檢查到存在不相關(guān)的依賴包,則不會(huì)進(jìn)行軟件包更新。(3)yum在解決依賴包問(wèn)題時(shí),存在性能較差、內(nèi)存占用大等問(wèn)題,而dnf采用了由SUSE開(kāi)發(fā)的“l(fā)ibsolv”庫(kù),用以提升依賴包解析性能,其依賴包解析速度比yum更快,且比yum消耗更少內(nèi)存。(4)dnf代碼比yum簡(jiǎn)單,約有29000行代碼,而yum代碼有59000多行。dnf與yum的區(qū)別在于:2024年1月2日Linux應(yīng)用基礎(chǔ)項(xiàng)目化教程34dnf使維護(hù)軟件包組變得容易,能夠自動(dòng)解決依賴性問(wèn)題,能夠解決yum軟件包的一些瓶頸,優(yōu)化內(nèi)存使用,執(zhí)行速度等,它不僅解決了yum待解決的問(wèn)題,還添加了許多新功能,以實(shí)現(xiàn)rpm軟件包管理。使用dnf命令安裝軟件包時(shí),雖然取消了yum的配置方法,改變了軟件包的安裝方式,但是還能兼容yum的配置文件和命令。dnf軟件
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園助教醫(yī)療知識(shí)
- 新疆警察學(xué)院《發(fā)光材料與器件》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年春運(yùn)工作總結(jié)(33篇)
- 溫病透熱轉(zhuǎn)氣
- 供應(yīng)豬肉合同范例
- 土地承包解約合同范例
- 退休材料合同范例
- 購(gòu)車正式合同范例
- 個(gè)人和廚師合同范例
- 鋪路板購(gòu)銷合同范例
- 催化材料智慧樹(shù)知到期末考試答案2024年
- 兒童用藥安全知識(shí)(共26張)
- 2021年機(jī)務(wù)檢修試題庫(kù)
- 上海中共一大會(huì)址觀后感
- 云南省紅河哈尼族彝族自治州2023-2024學(xué)年高一上學(xué)期期末考試語(yǔ)文試題【含答案解析】
- IT運(yùn)維述職報(bào)告
- 提升企業(yè)全面風(fēng)險(xiǎn)管理能力的團(tuán)隊(duì)建設(shè)模式
- 垃圾焚燒發(fā)電項(xiàng)目“EPC+O”模式
- 解分式方程50題八年級(jí)數(shù)學(xué)上冊(cè)
- 2024年安徽文都控股集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 音樂(lè)盛典策劃方案
評(píng)論
0/150
提交評(píng)論