




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《Linux服務(wù)器配置》教案分院(部)開課專業(yè)授課班級授課教師所在部門教案授課教師所在部門課程名稱授課日期單元任務(wù)任務(wù)4軟件包的安裝與管理單元序號任務(wù)4授課地點授課班級課時學(xué)情分析知識基礎(chǔ):學(xué)生在上一學(xué)期已經(jīng)學(xué)習(xí)了Linux系統(tǒng)應(yīng)用、計算機網(wǎng)絡(luò)基礎(chǔ)能力水平:具有基本的計算機操作能力,理解網(wǎng)絡(luò)基本原理和框架行為特征:動手能力較強,但專業(yè)理論掌握不深,對理論知識不感興趣知識目標(biāo)K1了解軟件安裝的基本概念;K2了解RPM軟件包的來源;K3掌握RPM軟件包的命名和分類。能力目標(biāo)S1能夠使用yum命令安裝、升級、卸載、管理軟件包;S2能夠在Linux麒麟系統(tǒng)平臺中熟練使用RPM和YUM工具管理軟件包;S3能夠分析系統(tǒng)操作過程中出現(xiàn)的故障信息并排除配置故障。素質(zhì)目標(biāo)A1培養(yǎng)學(xué)生仔細、認真的工作態(tài)度;A2培養(yǎng)獨立分析問題與解決問題的能力。課程思政育人目標(biāo)I1仔細、認真、創(chuàng)新、網(wǎng)絡(luò)以人的需求為本。I2家國情懷、擔(dān)當(dāng)與責(zé)任。重點分析重點yum命令安裝、升級、卸載、管理軟件包措施1.演示與講解相結(jié)合,邊講邊演示。2.結(jié)合任務(wù)內(nèi)容,學(xué)生獨立進行安裝。難點分析難點熟練使用RPM和YUM工具管理軟件包措施1.結(jié)合演示視頻,進行分析。2.通過實踐驗試,進一步進行驗證結(jié)果。教學(xué)資源序號資源名稱資源類型1任務(wù)4課件課件-PPT2任務(wù)4視頻視頻-mp43省級超星平臺在線課程《Linu服務(wù)器配置》課程平臺-超星4《Linux服務(wù)器配置與管理》工作冊式-教材形成性考核1.超星平臺在線理論試題,自主學(xué)習(xí)能力。2.任務(wù)4講練結(jié)合。3.任務(wù)4故障調(diào)試,分析問題與解決問題能力。課后作業(yè)任務(wù)4認證習(xí)題教學(xué)過程學(xué)習(xí)導(dǎo)航教學(xué)環(huán)節(jié)預(yù)計時間教學(xué)內(nèi)容教學(xué)活動技術(shù)背景思政引入持續(xù)不懈的努力任正非在“與任正非咖啡對話”活動上對年輕人提出了以下3點寄語:一、需要開放。“現(xiàn)在年輕人的時代比我們當(dāng)時好得多,我們那個時代唯一能開放的就是上大學(xué),有圖書館,可以看世界,中學(xué)的時候還沒有圖書館。
現(xiàn)在年輕人的視野已經(jīng)很開闊了?!倍⑿枰献?。因為每個人的力量很薄弱。三、需要持續(xù)不懈的努力?!安灰J為自己很聰明,今天搞這樣,明天搞那樣,青春可能就荒廢了。”計算機是當(dāng)代的基石,代碼就是當(dāng)代的藝術(shù)。編寫代碼的程序員及那些日夜運行的代距踐的方式讓大家更直觀地體會在Linux系統(tǒng)老師,這里需要寫成“麒麟系統(tǒng)”嗎?。還是就寫成“Linux系統(tǒng)”呢?或者其他。請確定。麒麟系統(tǒng)老師,這里需要寫成“麒麟系統(tǒng)”嗎?。還是就寫成“Linux系統(tǒng)”呢?或者其他。請確定。麒麟系統(tǒng)教師講解師生互動教學(xué)內(nèi)容內(nèi)容1:使用rpm命令安裝軟件包使用rpm命令安裝軟件包的命令格式如下:rpm-ivh軟件包全名選項說明如下。-i:表示install,安裝。-v:表示verbose,顯示詳細信息。-h:表示hash,顯示橫向進度條。rpm命令還提供了一個長格式參數(shù)“--nodeps”,表示不檢查依賴性,這個參數(shù)我們不建議大家使用。在安裝軟件包的過程中,如果系統(tǒng)提示依賴性錯誤,那么我們必須解決這個依賴性問題之后才可以繼續(xù)安裝,否則忽略依賴性問題繼續(xù)安裝,軟件包安裝完成后有可能無法正常運行。使用rpm命令安裝軟件包有一個前提,就是需要先切換到RPM軟件包存放目錄中,否則系統(tǒng)并不知曉RPM軟件包的位置,從而使得rpm命令執(zhí)行失敗。如果不想切換工作目錄,則需要使用“RPM軟件包的完整路徑+軟件包名”的形式執(zhí)行rpm命令。從文件系統(tǒng)進入安裝光盤掛載目錄下的“Packages”文件夾,使用搜索功能查找tree命令軟件包,如圖4-18所示,圖中顯示的軟件包就是我們接下來要安裝的軟件包。圖4-18查找tree命令軟件包在“Packages”文件夾中的空白處右擊,在彈出的快捷菜單中選擇“在終端中打開”命令,打開終端,查看光盤RPM軟件包的安裝位置老師,這里確定是“查看光盤RPM軟件包的安裝位置”嗎?“光盤R老師,這里確定是“查看光盤RPM軟件包的安裝位置”嗎?“光盤RPM軟件包”是什么?是“麒麟系統(tǒng)安裝光盤中的RPM軟件包”嗎?還是其他,這里是否需要進行修改?請確定。不需要修改圖4-19查看光盤RPM軟件包的安裝位置使用rpm命令安裝tree命令軟件包,如圖4-20所示。圖4-20使用rpm命令安裝tree命令軟件包圖4-20中的警告可以忽略,不影響軟件的使用。當(dāng)我們看到“軟件包已經(jīng)安裝”的字樣,或者出現(xiàn)兩個100%的進度條以后,就可以確定軟件包安裝成功了。這里有一個需要注意的問題:有的軟件包比較大,安裝較慢時可能只顯示“準備中…”和進度條。這時,即便準備中的進度條顯示為100%,也不能認為軟件包已經(jīng)安裝成功,必須看到“軟件包已經(jīng)安裝”的字樣,或者出現(xiàn)兩個100%的進度條以后,才可以確定軟件包安裝成功。在使用rpm命令安裝軟件包時,軟件包全名太長記不住怎么辦?這里有一個小技巧,比如上面在安裝tree-1.7.0-18.ky10.x86_64.rpm包時,輸入“rpm-ivhtree”后按一下Tab鍵,即可補全軟件包名。我們再看一下使用絕對路徑安裝軟件包的示例,如圖4-21所示。圖4-21使用絕對路徑安裝軟件包內(nèi)容2:使用rpm命令卸載和升級軟件包軟件包安裝完成以后,必然要面臨的問題就是軟件包的卸載和版本升級。下面我們來看一下怎樣使用RPM工具實現(xiàn)軟件包的卸載和升級。1.卸載軟件包使用rpm命令卸載軟件包的命令格式如下:rpm-e軟件包名這里的“e”是“erase”的簡寫,其原意是“清除”,在這里翻譯為“卸載”。我們可以這樣理解,卸載軟件包其實就是清除軟件包所有的安裝痕跡。卸載命令的結(jié)構(gòu)與安裝命令的結(jié)構(gòu)很相似,但是有兩個主要的區(qū)別。第。例如,我們卸載此前安裝的tree命令軟件包,如圖4-22所示。圖4-22安裝及卸載tree命令軟件包在安裝tree命令軟件包時,需要輸入完整的軟件包全名后才可以執(zhí)行安裝。但是在卸載時,只需要輸入“tree”這個軟件包名就可以直接卸載。第二個區(qū)別是執(zhí)行卸載命令時可以不在軟件包的安裝目錄。這個特性給了我們極大的方便,使我們可以在任意目錄中執(zhí)行卸載命令,如圖4-23所示。圖4-23在家目錄中執(zhí)行卸載命令由圖4-23可知,在重新安裝tree命令軟件包后,切換到家目錄,仍然可以使用rpm命令卸載tree命令軟件包。2.升級軟件包軟件包升級是依照軟件包全名中的版本號和編譯版本號確定的,常用的命令格式如下:rpm-Uvh軟件包全名其中的“U”是大寫形式,是“upgrade”的簡寫,意思就是“升級”。“-v”和“-h”選項的用法和含義與安裝命令中的用法和含義是一樣的。同樣需要注意的是,這里的參數(shù)需要使用軟件包全名。舉例操作一下。先重新安裝tree命令軟件包,再使用升級命令對tree命令軟件包進行升級,如圖4-24所示。圖4-24升級tree命令軟件包在圖4-24中我們可以注意到一個細節(jié),在執(zhí)行安裝命令時,系統(tǒng)提供內(nèi)容顯示的是“正在升級/安裝…”。其實升級命令與安裝命令的執(zhí)行步驟是十分相似的。當(dāng)軟件包已經(jīng)安裝時,升級命令會校驗軟件包版本,如果可以升級,則執(zhí)行升級操作。當(dāng)軟件包尚未安裝時,升級命令可以作為安裝命令使用,安裝軟件包。我們實際操作試一下。先通過卸載命令把此前安裝的tree命令軟件包卸載,再通過升級命令直接安裝,如圖4-25所示。圖4-25使用升級命令安裝tree命令軟件包在使用升級命令時需要注意一個問題,只有當(dāng)軟件包的版本大于或等于當(dāng)前已經(jīng)安裝軟件包的版本時,命令才會被執(zhí)行。如果軟件包的版本小于當(dāng)前已經(jīng)安裝軟件包的版本,則會給出提示,終止命令執(zhí)行。內(nèi)容3:使用rpm命令管理軟件包我們知道,RPM是軟件包管理工具,不僅可以提供對軟件包的安裝、升級、卸載等功能,還可以提供對軟件包的管理功能。在本節(jié)中,我們將簡單介紹RPM管理軟件包的方式和常見用法。在此前的講解中,也許有人會提出疑問:在卸載軟件包時為什么不需要指定軟件包版統(tǒng)是如何完成版本管理的?這些問題的答案就是RPM工具有自己的數(shù)據(jù)庫對軟件包進行管理。我們進入/var/lib/rpm目錄查看目錄文件,如圖4-26所示。圖4-26查看目錄文件圖4-26所示為RPM工具管理軟件包的文件,其中__db.001、__db.002、__db.003就是數(shù)據(jù)庫文件。這些文件都是加密后的文件,閱讀起來非常不方便。所以,RPM工具提供了命令行模式管理軟件包,這里我們介紹幾種常見的命令。1.查詢軟件包安裝版本查詢軟件包安裝版本的命令格式如下:rpm-q軟件包名這里的軟件包名和卸載命令中的軟件包名相同,不必輸入軟件包版本號等信息,如圖4-27所示。圖4-27查詢軟件包安裝版本如果軟件包未安裝,則系統(tǒng)會給出提示信息,如圖4-28所示。圖4-28軟件包未安裝時的提示信息這里會有一個很常見的問題:如果我們不知道軟件包名,只知道軟件包名中的一部分,此時該怎么辦?比如,我們想要查詢系統(tǒng)中是否安裝過openjdk,如圖4-29所示。圖4-29不符合軟件包名的查詢?nèi)绻覀儾荒艽_定軟件包名,則這種情況也可能是由我們沒有輸入正確的軟件包名導(dǎo)致的。這時,我們需要一個類似于模糊查詢的功能,可以使用下面的命令:rpm-qa|grep[軟件包名關(guān)鍵字]-q:查詢選項。-a:查詢?nèi)拷Y(jié)果,相當(dāng)于“--all”。|:管道符。grep:麒麟系統(tǒng)的模糊查詢命令,常與管道符一同使用。[軟件包名關(guān)鍵字]:要查詢的內(nèi)容,可以使用通配符。這里暫時不對管道符(|)和grep進行講解,只需要記住這個用法就可以。我們使用上述命令查詢openjdk的安裝情況,如圖4-30所示。圖4-30使用模糊查詢方式查詢openjdk的安裝情況由圖4-30可知,openjdk并不是軟件包名,系統(tǒng)默認安裝的相關(guān)軟件包有4種。我們可以使用模糊查詢方式將與openjdk相關(guān)的軟件包都查詢出來。2.查詢軟件包的詳細信息查詢軟件包詳細信息的命令格式如下:rpm-qi軟件包名其中,“-i”表示詳細信息(information)。查詢此前安裝的tree命令軟件包的詳細信息,如圖4-31所示。圖4-31查詢tree命令軟件包的詳細信息在圖4-31所示的信息中,最常用的是“URL”這一項。當(dāng)我們對一款軟件不熟悉時,可以通過這個地址訪問這個軟件的官方網(wǎng)站來了解軟件的作用。查詢軟件包詳細信息的命令也可以用來查詢未安裝軟件包的信息,只要能夠找到這個軟件包就可以。命令格式如下:rpm-qip軟件包全名其中,“-p”表示軟件包名(package)。需要注意的是,在查詢軟件包詳細信息的命令中增加一個選項“-p”后,該命令就可以用來查詢未安裝軟件包的信息了。但是,與查詢已安裝軟件包信息的命令有個區(qū)別,就是查詢未安裝軟件包信息的命令中必須使用軟件包全名,否則系統(tǒng)不知道要查看的是哪個版本軟件包的信息。同樣地,需要先切換到RPM軟件包存放目錄中,再執(zhí)行查詢命令,或者使用“RPM軟件包的完整路徑+軟件包名”的形式執(zhí)行查詢命令,否則系統(tǒng)也不知道要查詢的軟件包的位置。我們先把tree命令軟件包卸載,再查詢tree命令軟件包的信息,如圖4-32所示。圖4-32查詢tree命令軟件包的信息需要注意的是,在圖4-32所示的信息中,“InstallDate”(安裝日期)顯示的是“(notinstalled)”,也就是未安裝。其實,帶有“-p”選項的命令也可以用來查詢已安裝軟件包的信息,但是與帶有“-qi”選項的命令不同的是,當(dāng)采用帶有“-p”選項的命令查詢內(nèi)容時必須使用軟件包全名,而當(dāng)采用帶有“-qi”選項的命令查詢內(nèi)容時則只需要使用軟件包名即可。3.查看軟件包的安裝位置查看軟件包安裝位置的命令格式如下:rpm-ql軟件包名其中,“-l”表示文件列表(list)。這個命令用來查看軟件包中每個文件的安裝位置,如圖4-33所示。圖4-33查看軟件包的安裝位置同樣地,在上述命令中增加“-p”選項后,該命令就可以用來查看未安裝的軟件包在安裝后每個文件的安裝位置了,當(dāng)然,命令中也需要使用軟件包全名,如圖4-34所示。圖4-34查看未安裝的軟件包在安裝后每個文件的安裝位置內(nèi)容4:使用rpm命令安裝軟件包時的依賴性問題在前面的實踐中,我們通過管理tree命令軟件包的方式了解了rpm命令的使用方式。當(dāng)然,并不是所有的軟件包都可以像tree命令軟件包這樣很容易安裝,相反,大多數(shù)的RPM軟件包在安裝過程中需要解決依賴性問題。之前我們提到過軟件包拆分是造成依賴性的原因之一,另一個原因就是文件的復(fù)用性。我們知道,軟件是與操作系統(tǒng)進行數(shù)據(jù)交互的,交互的方式是調(diào)用操作系統(tǒng)對外開放的接口,軟件調(diào)用這些接口是通過調(diào)用類庫文件的方式實現(xiàn)的。這些類庫文件提供了標(biāo)準化的功能,因此很可能會被多個軟件調(diào)用。比如,有一個軟件X拆分了X-a、X-b、X-c這3個子包,其中X-a和X-b兩個包需要調(diào)用類庫文件L,那么將會拆分X-lib包,用于提供類庫文件L。這時,安裝X-a和X-b兩個包時就需要依賴X-lib包。如果不拆分X-lib包,而是將L文件分別放入X-a和X-b兩個包中,這樣雖然可以規(guī)避依賴性問題,但是會產(chǎn)生新的問題。如果需要同時安裝X-a和X-b兩個包,則會出現(xiàn)兩個名稱和功能都一模一樣的L文件,這是不符合程序設(shè)計理念的。而且還有可能會出現(xiàn)兩個不同版本的L文件,導(dǎo)致程序運行錯誤。所以,文件的復(fù)用性也是造成依賴性的原因之一。這里所說的復(fù)用性不僅僅是指同一個軟件不同子包的復(fù)用性,在不同軟件中也可能依賴相同的類庫文件老師,這句話這樣表述是否正確?是“在不同軟件中也可能依賴相同的類庫文件”呢?還是“不同軟件老師,這句話這樣表述是否正確?是“在不同軟件中也可能依賴相同的類庫文件”呢?還是“不同軟件可能依賴相同的類庫文件”呢?這里是“這里所說的復(fù)用性不僅指同一個軟件不同子包的復(fù)用性,還指不同軟件可能依賴相同的類庫文件”嗎?還是其他。這里怎樣表述更合適呢?請確定。這里所說的復(fù)用性不僅指同一個軟件不同子包的復(fù)用性,還指不同軟件可能依賴相同的類庫文件RPM軟件包的依賴性需要有3種形式:樹形依賴、循環(huán)依賴和類庫依賴。1.樹形依賴樹形依賴(如A>B>C的形式)的處理比較簡單,反向安裝就可以了,即先安裝C,再安裝B,最后安裝A,問題即可解決。舉個例子,我們嘗試安裝Java運行環(huán)境OpenJDK。與此前的方式相同,搜索一下openjdk,確認軟件包全名,如圖4-35所示。由圖4-35可知,系統(tǒng)提供了java-1.8.0和java-11兩個版本。我們以java-11版本為例來演示軟件包的依賴關(guān)系。首先將系統(tǒng)預(yù)裝的軟件包卸載,以便演示,如圖4-36所示。圖4-35通過搜索確認軟件包全名圖4-36卸載java-11-openjdk并檢查確認使用rpm命令安裝java-11-openjdk-devel包,系統(tǒng)將會提示存在軟件包依賴關(guān)系,如圖4-37所示。圖4-37安裝軟件包時提示存在軟件包依賴關(guān)系我們解讀一下提示信息:警告內(nèi)容可以暫時忽略。在實際操作中,系統(tǒng)可能會頻繁地提示警告信息,雖然大多數(shù)的警告信息可以忽略,不予處理,但是錯誤內(nèi)容必須處理。圖4-37中提示錯誤“依賴檢測失敗”:java-11-openjdk(x86-64)=1:0-4.ky10.ky10被java-11-openjdk-devel-1:0-4.ky10.ky10.x86_64需要先看后面的“java-11-openjdk-devel-1:0-4.ky10.ky10.x86_64”,其很像我們安裝的軟件包的包名,則提示信息表示:安裝java-11-openjdk-devel包需要依賴java-11-openjdk(x86-64)=1:0-4.ky10.ky10。必須注意的是,依賴的這個內(nèi)容不是軟件包名,而是軟件和版本。java-11-openjdk是軟件包名。(x86-64)是硬件平臺,也就是arch老師,這里就這樣表述嗎?前面4.5.2節(jié)中介紹arch寫的是“軟件包適用的硬件平臺”,老師,這里就這樣表述嗎?前面4.5.2節(jié)中介紹arch寫的是“軟件包適用的硬件平臺”,這個“arch”可以直接這樣使用,寫在表述里嗎?這里是否需要將“也就是arch”刪除?或者其他。這里是否需要進行修改?請確定。將“也就是arch”刪除1:0-4.ky10.ky10是指軟件的版本和適用的系統(tǒng)。這里我們先記下依賴軟件和版本的這個問題,后面再詳細介紹,現(xiàn)在先把java-11-openjdk包安裝完成。按照這個思路到“Packages”文件夾中查找正確的軟件包名,可以找到符合這個規(guī)則的軟件包java-11-openjdk-0-4.ky10.ky10.x86_64.rpm(見圖4-35)。其實根據(jù)之前學(xué)習(xí)的內(nèi)容可以推測,依照RPM軟件包的命名規(guī)范,java-11-openjdk-devel包應(yīng)該是java-11-openjdk包的開發(fā)類子包。此前我們也講解過,有一些軟件的子包的安裝是依賴于主包的。接下來安裝主包,提示依賴信息,如圖4-38所示。圖4-38安裝主包由圖4-38可知,系統(tǒng)又提示了依賴關(guān)系,所以我們采用同樣的方式安裝java-11-openjdk-headless包,如圖4-39所示。圖4-39安裝依賴包由圖4-39可知,java-11-openjdk-headless包已經(jīng)安裝完成。接著我們依次安裝java-11-openjdk包和java-11-openjdk-devel包,如圖4-40所示。圖4-40依次安裝軟件包這樣,我們就明白了安裝java-11-openjdk-devel包的依賴關(guān)系:java-11-openjdk-devel>java-11-openjdk>java-11-openjdk-headless。按照樹形依賴的解決辦法,我們反向安裝就可以了。java-11-openjdk-headless包已經(jīng)安裝完成,我們依次安裝java-11-openjdk包和java-11-openjdk-devel包即可。總結(jié)一下,如果在安裝軟件包時存在樹形依賴,則需要先安裝最后提示的依賴包,再根據(jù)軟件包之間的依賴關(guān)系依次反向安裝即可解決樹形依賴的問題。當(dāng)然,并不是所有樹形依賴都是如示例中這樣簡單的,而是可能出現(xiàn)多分支、多節(jié)點,甚至多層級的依賴關(guān)系,如圖4-41所示。圖4-41較為復(fù)雜的樹形依賴關(guān)系這樣的依賴關(guān)系處理起來就更加復(fù)雜,總體來說,處理方式就是每個分支單獨處理,直到最后根節(jié)點安裝成功。2.循環(huán)依賴循環(huán)依賴(如A>B>C>A的形式)不能通過直接安裝軟件包的方式解決,也不能通過解決樹形依賴的方式解決。我們舉個例子,在最小化安裝的服務(wù)器中嘗試安裝perl-Git軟件包和git軟件包。先檢查一下軟件包的安裝情況,如圖4-42所示。圖4-42檢查軟件包的安裝情況由圖4-42可知,安裝git軟件包時系統(tǒng)提示依賴perl-Git軟件包,但是安裝perl-Git軟件包時系統(tǒng)又提示依賴git軟件包,這就是典型的循環(huán)依賴。我們首先按照樹形依賴的解決思路分別安裝perl-Error和perl-TermReadKey這兩個依賴包,如圖4-43所示。圖4-43安裝依賴包由圖4-43可知,只需要解決git軟件包的依賴問題,就可以安裝perl-Git軟件包了。循環(huán)依賴的問題可以通過同時安裝多個軟件包的方式解決。rpm命令支持同時安裝多個文件,只需要在“rpm-ivh”命令后輸入多個軟件包名就可以了。我們通過安裝版本管理工具git來實際解決循環(huán)依賴的問題。使用rpm命令同時安裝perl-Git軟件包和git軟件包,如圖4-44所示。圖4-44同時安裝多個軟件包這樣,相互依賴的軟件包就可以安裝了。需要注意的是,如果軟件包不在同一個目錄下,則需要通過“軟件包的完整路徑+軟件包名”的形式安裝軟件包。如果相互依賴的軟件包較多,則依次輸入軟件包名的方式會仍顯復(fù)雜。這種問題可以通過使用通配符的方式解決。我們舉例嘗試一下。我們在家目錄中創(chuàng)建子目錄tmp,并將git軟件包和perl-Git軟件包復(fù)制到子目錄tmp中,如圖4-45所示。圖4-45創(chuàng)建子目錄并復(fù)制軟件包這時,我們通過使用通配符的方式執(zhí)行安裝命令,如圖4-46所示。圖4-46通過使用通配符的方式安裝軟件包由圖4-46可知,軟件包安裝成功??偨Y(jié)一下,如果安裝軟件包時存在循環(huán)依賴的問題,可以通過同時安裝多個軟件包的方式解決。rpm命令支持同時安裝多個文件的安裝格式,也支持使用通配符的安裝格式。其實使用通配符的安裝格式只是多個文件安裝格式的簡寫,安裝原理是一樣的。通過使用通配符的方式安裝軟件包適用于較多具有依賴性的軟件包同時安裝的場景,但是要求使用者對軟件包的依賴性有足夠的了解,可以一次性安裝成功,否則提示的依賴性信息過多將會影響閱讀。3.類庫依賴類庫依賴是指在使用RPM工具安裝軟件包時,提示軟件包依賴的并不是其他軟件包,而是類庫文件。例如,我們在最小化安裝的服務(wù)器中安裝java-11-openjdk包,如圖4-47所示。圖4-47安裝java-11-openjdk包由圖4-47可知,java-11-openjdk包安裝時依賴libgif.so.7。這里的libgif.so.7并不是軟件包,而是一個動態(tài)類庫文件。簡單來說,動態(tài)類庫又稱共享庫,可以為程序提供具有特定功能的公共函數(shù)和公共接口。當(dāng)其他軟件需要調(diào)用這些函數(shù)或接口時,可以通過加載類庫文件的方式完成調(diào)用,大體上相當(dāng)于Windows系統(tǒng)中的.dll文件。當(dāng)遇到類庫依賴的情況時,我們就需要查找哪些軟件包中包含這樣的類庫文件。這樣的類庫文件有很多老師,這里是“這樣的類庫文件有很多”呢?還是“包含類庫文件的軟件包老師,這里是“這樣的類庫文件有很多”呢?還是“包含類庫文件的軟件包有很多”呢?或者其他,這里怎樣表述更合適呢?請確定。包含類庫文件的軟件包有很多圖4-48查詢包含類庫文件的軟件包通過查詢可以發(fā)現(xiàn),giflib軟件包中包含libgif.so.7類庫文件,我們可以查看一下系統(tǒng)中提供的giflib軟件包的版本,如圖4-49所示。圖4-49查看giflib軟件包的版本在確認系統(tǒng)提供的giflib軟件包的版本后,就可以進行安裝了,如圖4-50所示。圖4-50安裝包含類庫文件的giflib軟件包在安裝包含類庫文件的giflib軟件包后,再次安裝java-11-openjdk包即可,如圖4-51所示。圖4-51再次安裝java-11-openjdk包由圖4-51可知,再次安裝java-11-openjdk包時已不再提示類庫依賴。之后按照此前的辦法完成安裝即可??偨Y(jié)一下,解決類庫依賴問題的核心思路是先找到包含類庫文件的軟件包,然后安裝這個軟件包就可以了。類庫查詢可以在RPM軟件包下載網(wǎng)站中進行,查詢時只需要關(guān)注軟件包名即可,具體版本還要到ISO安裝鏡像文件中查看并安裝測試。4.依賴提示信息通過上面的講解,我們初步了解了依賴的提示信息。依賴提示信息是軟件安裝時的重要提示內(nèi)容,我們只有讀懂這些提示信息,才能夠解決軟件安裝時的依賴性問題。在之前講解時遇到的軟件依賴提示信息主要有以下幾種格式:java-11-openjdk-headless(x86-64)=1:0-4.ky10.ky10(見圖4-37)。perl(Error)(見圖4-42)。perl(Term::ReadKey)(見圖4-42)。第一種格式我們詳細講解過,這種格式提供了軟件包名、軟件包版本號、編譯次數(shù)老師,這里是“編譯次數(shù)”呢?還是“軟件編譯版本號”呢?(前面4.5.2節(jié)在介紹軟件包包名格式時寫的是“軟件編譯版本號”,沒有寫“編譯次數(shù)”。)或者其他老師,這里是“編譯次數(shù)”呢?還是“軟件編譯版本號”呢?(前面4.5.2節(jié)在介紹軟件包包名格式時寫的是“軟件編譯版本號”,沒有寫“編譯次數(shù)”。)或者其他。這里是否需要進行修改?請確定。軟件編譯版本號老師,這里是“編譯平臺”呢?還是“軟件包適用的平臺”呢?或者是“軟件包適用的硬件平臺”?(前面4.5.2節(jié)在介紹軟件包包名格式時寫的是“軟件包適用的平臺”和“軟件包適用的硬件平臺”,沒有寫“編譯平臺”。)或者其他。這里是否需要進行修改?請確定。軟件包適用的平臺第二種格式和第三種格式可以算作同一種情況,是主包和子包的關(guān)系形式。我們在安裝過程中可以通過命令提示(按兩次Tab鍵)的方式找到相應(yīng)的軟件包(見圖4-43中的命令操作)。其實依賴提示信息還有一種常見格式,如圖4-52所示。圖4-52依賴提示信息的另一種常見格式圖4-52所示的依賴提示信息中有一條信息是“java-headless>=1:1.6被tomcat-taglibs-standard-0:1.2.5-6.ky10.ky.noarch需要”,這條信息的意思是“需要安裝java-headless,其版本號不小于1.1.6”。也就是說,在提示依賴信息時,要求的軟件版本號不一定是確定的,也可能通過最小版本或最大版本形式提示??偨Y(jié)一下,依賴提示信息中可能有版本號要求,也可能沒有版本號要求。當(dāng)要求版本號時,版本號要求的格式有以下3種:=:版本號必須是提示的版本號。>=:版本號大于或等于提示的版本號,也就是不小于提示的版本號。<=:版本號小于或等于提示的版本號,也就是不大于提示的版本號。內(nèi)容5:YUM工具的配置在前面的內(nèi)容中,我們學(xué)習(xí)了如何使用yum命令,可以體會到使用yum命令安裝、升級和卸載軟件包的方便之處。但是我們之前也提到過,YUM的核心原理是具有一個可靠的中央倉庫,在使用過程中,中央倉庫的內(nèi)容完全沒有體現(xiàn)。那么中央倉庫在哪里呢?我們可否修改中央倉庫的地址呢?YUM工具還有哪些個性化的配置呢?我們可以想到,麒麟系統(tǒng)中“一切皆文件”,所以YUM工具是有它的配置文件的。下面,我們就來看看YUM工具的配置文件。1.通用配置老師,這里寫的是“通用配置”,老師,這里寫的是“通用配置”,而下面標(biāo)黃處寫的是“主配置信息”和“全局配置內(nèi)容”,這3者可以統(tǒng)一嗎?如果可以統(tǒng)一,那么統(tǒng)一為哪個更合適呢?請確定。主配置信息YUM工具的主配置信息位于/etc/yum.conf文件中,我們查看一下該文件中的內(nèi)容,如圖4-53所示。圖4-53/etc/yum.conf文件中的內(nèi)容圖4-53中第一行的“[main]”是這一段的名字,下面是配置項,我們來逐行講解一下。gpgcheck:表示yum命令是否對軟件包執(zhí)行GPG簽名檢查,默認值是1,表示啟用GPG簽名檢查。可以將其值設(shè)置為0,表示不啟用GPG簽名檢查。installonly_limit:表示系統(tǒng)保留幾個內(nèi)核包。clean_requirements_on_remove:表示卸載時是否清除環(huán)境。best:最優(yōu)選擇。skip_if_unavailable:是否跳過無效鏡像。/etc/yum.conf文件中的內(nèi)容是YUM工具的全局配置內(nèi)容,一般不要輕易改變。2.自定義配置YUM工具的自定義配置文件存放在/etc/yum.repos.d/目錄下,如圖4-54所示。圖4-54YUM工具的自定義配置文件由圖4-54可知,系統(tǒng)默認使用的是kylin_x86_64.repo文件,我們查看一下該文件中的內(nèi)容,如圖4-55所示。圖4-55kylin_x86_64.repo文件中的內(nèi)容由圖4-55可知,kylin_x86_64.repo文件中的內(nèi)容默認分為3段,每段都有一個默認的名字,并且每段的配置項都是相同的,每段都可以被稱為一個YUM源。我們以“ks10-adv-os”段為例介紹一下配置項。[ks10-adv-os]:本地記錄YUM源的ID,用于區(qū)分不同的YUM源。此值不可重復(fù),必須寫在中括號“[]”之間。name:YUM源說明,隨意填寫。baseurl:YUM倉庫的訪問地址,必須填寫完整的訪問路徑。gpgcheck:是否啟用GPG簽名檢查,與/etc/yum.conf文件中的用法相同。gpgkey:PGP數(shù)字證書的公鑰文件老師,這里確定是“PGP數(shù)字證書的公鑰文件”嗎?左側(cè)標(biāo)老師,這里確定是“PGP數(shù)字證書的公鑰文件”嗎?左側(cè)標(biāo)綠處寫的是“gpgkey”,這里是否需要進行修改?請確定。不需要修改enabled:YUM源是否生效,默認值是1,表示生效??梢詫⑵渲翟O(shè)置為0,表示不生效,如果不寫此項,則默認為1老師,這里是(如果不寫此項,則默認“enabled=老師,這里是(如果不寫此項,則默認“enabled=1”)嗎?應(yīng)該不是“如果不設(shè)置該項的值,則默認其值為1”吧?或者其他。這里怎樣表述更合適呢?請確定。如果不設(shè)置該項的值,則默認其值為1對于這些配置內(nèi)容,使用者真正需要關(guān)注的就是“baseurl”和“enabled”選項,只要正確配置了YUM倉庫的訪問地址,并且令enabled=1(即設(shè)置YUM源生效),則YUM源就配置完成了。了解了配置文件中的內(nèi)容,我們再來看一下使用yum命令安裝tree命令軟件包的過程,如圖4-56所示。圖4-56使用yum命令安裝tree命令軟件包在圖
4-56
所示的安裝提示信息中,“Installing”段內(nèi)容中的第4列對應(yīng)的內(nèi)容就是YUM源的ID。我們嘗試修改YUM工具配置文件中的ID,再測試一下。我們將kylin_x86_64.repo文件中的“[ks10-adv-os]”修改為“[ks10-adv-install]”,保存后退出,如圖4-57所示。圖4-57修改YUM工具配置文件中的ID再次使用yum命令安裝tree命令軟件包,查看提示信息,如圖4-58所示。圖4-58再次使用yum命令安裝tree命令軟件包由圖4-58可知,提示信息中的源信息已經(jīng)換成了我們修改后的YUM源ID。內(nèi)容6:通過光盤制作本地YUM源在之前的講解中,我們都是通過網(wǎng)絡(luò)YUM源來安裝、升級和卸載軟件包的。但是在實際生產(chǎn)環(huán)境中,由于數(shù)據(jù)安全、辦公環(huán)境等,很多情況下服務(wù)器是不能連接互聯(lián)網(wǎng)的。而使用rpm命令安裝軟件包,軟件包的依賴性問題將會嚴重影響軟件包的安裝效率。為此,YUM工具提供了本地搭建YUM源的功能。下面,我們來學(xué)習(xí)如何在帶有UKUI的服務(wù)器上通過光盤制作本地YUM源。之前我們講過,YUM工具的配置文件分為全局配置文件和自定義配置文件。全局配置文件是對YUM工具的總體設(shè)置,我們盡量不要對其進行修改。真正配置YUM源地址的文件是/etc/yum.repos.d/kylin_x86_64.repo,下面我們就來嘗試修改這個文件。為了方便未來使用,我們先備份一下這個文件,如圖4-59所示。圖4-59備份YUM工具的自定義配置文件其實制作本地YUM源就是將配置文件中的“baseurl”選項配置成本地倉庫目錄老師,這里是“配置成本地的RPM倉庫的絕對路徑老師,這里是“配置成本地的RPM倉庫的絕對路徑”嗎?(下面標(biāo)黃處寫的是“本地的RPM倉庫”和“絕對路徑”。)還是“配置成本地的RPM倉庫的目錄”呢?或者其他。這里怎樣表述更合適呢?請確定。配置成本地的RPM倉庫的絕對路徑雙擊麒麟系統(tǒng)安裝光盤的圖標(biāo)并進入“Packages”文件夾,查看當(dāng)前文件夾的絕對路徑,如圖4-60所示。圖4-60查看光盤文件的絕對路徑接下來編輯文件內(nèi)容。第一步,只保留文件中一個YUM源的配置信息,將其他YUM源的配置信息刪除。第二步,修改YUM源的ID,以區(qū)別此前安裝的信息。第三步,配置本地路徑老師,這里的“本地路徑”是指什么?是指“本地的老師,這里的“本地路徑”是指什么?是指“本地的RPM倉庫的絕對路徑”嗎?還是其他。請確定。本地的RPM倉庫的絕對路徑第四步,設(shè)置enabled=1,啟用此YUM源。設(shè)置完成后保存退出,如圖4-61所示。圖4-61配置本地YUM源為了確認運行的是本地YUM源,我們使用“servicenetworkstop”命令將網(wǎng)絡(luò)服務(wù)關(guān)閉,并測試連接麒麟服務(wù)官網(wǎng)地址老師,這里確定就是“麒麟服務(wù)官網(wǎng)地址”嗎?“麒麟服務(wù)官網(wǎng)地址”少字嗎?(“老師,這里確定就是“麒麟服務(wù)官網(wǎng)地址”嗎?“麒麟服務(wù)官網(wǎng)地址”少字嗎?(“”確定是“麒麟服務(wù)官網(wǎng)地址”嗎?)這里是否需要進行修改?請確定。不需要修改圖4-62關(guān)閉網(wǎng)絡(luò)服務(wù)并測試確認網(wǎng)絡(luò)斷開使用yum命令安裝tree命令軟件包,查看提示信息,如圖4-63所示。圖4-63使用yum命令安裝tree命令軟件包由圖4-63可知,tree命令軟件包正常安裝,使用的YUM源ID就是我們修改為本地YUM源的ks10-adv-local。至此,本地YUM源制作成功。內(nèi)容7:使用yum命令管理軟件包我們知道YUM是軟件包管理器,所以YUM不僅可以提供對軟件包的安裝、升級、卸載等功能,還可以提供對軟件包的管理功能。下面,我們來了解一些常用的管理命令。1.yumlistYUM工具提供的用于查詢軟件包的命令格式如下:yumlist使用上述命令可以查詢YUM倉庫中所有的軟件包,如圖4-64所示。圖4-64YUM倉庫中的軟件包列表由于軟件包太多,因此圖4-64中只顯示了軟件包查詢結(jié)果的最后一小段內(nèi)容。可以看到,列表中展示了軟件包的包名和架構(gòu)、版本號、YUM源ID。使用上述命令查詢軟件包展示的內(nèi)容太多,不方便查找,我們可以使用grep命令來配合查詢:yuml
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度輪胎行業(yè)大數(shù)據(jù)分析與市場預(yù)測合同
- 2025年度網(wǎng)絡(luò)教育平臺教室租用及在線課程服務(wù)協(xié)議
- 2025河北省建筑安全員A證考試題庫附答案
- 2025年度舊房屋拆除工程消防驗收與拆除物處置合同
- 2025年度銀行協(xié)議存款稅務(wù)籌劃與合規(guī)合同
- 2025年度租船運輸費用及船舶租賃法律咨詢合同
- 二零二五年度中國銀行商業(yè)貸款合同編號查詢與還款期限確認協(xié)議
- 二零二五年度應(yīng)屆生線下簽約方協(xié)議全流程就業(yè)跟蹤與評估合同
- 二零二五年度房產(chǎn)抵押債權(quán)證券化協(xié)議范本
- 2025年度智慧城市建設(shè)橫向課題合作協(xié)議書
- 企業(yè)級軟件開發(fā)作業(yè)指導(dǎo)書
- 《中國古代文學(xué)史及作品選II》教學(xué)大綱
- 代工生產(chǎn)合同范本
- 人教版英語2025七年級下冊 Unit1Animal Friends教師版 語法講解+練習(xí)
- DeepSeek新手入門教程
- 課件:《教育強國建設(shè)規(guī)劃綱要(2024-2035年)》學(xué)習(xí)宣講
- 2025年上海市商品交易市場進場經(jīng)營合同(2篇)
- 2025年全國幼兒園教師資格證考試教育理論知識押題試題庫及答案(共九套)
- 2024年鄭州電力高等??茖W(xué)校高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 產(chǎn)品試產(chǎn)流程
- 2024年外貿(mào)業(yè)務(wù)員個人年度工作總結(jié)
評論
0/150
提交評論