麒麟操作系統(tǒng)項(xiàng)目化教程 教案 任務(wù)3、4 用戶及文件管理、軟件包的安裝與管理_第1頁(yè)
麒麟操作系統(tǒng)項(xiàng)目化教程 教案 任務(wù)3、4 用戶及文件管理、軟件包的安裝與管理_第2頁(yè)
麒麟操作系統(tǒng)項(xiàng)目化教程 教案 任務(wù)3、4 用戶及文件管理、軟件包的安裝與管理_第3頁(yè)
麒麟操作系統(tǒng)項(xiàng)目化教程 教案 任務(wù)3、4 用戶及文件管理、軟件包的安裝與管理_第4頁(yè)
麒麟操作系統(tǒng)項(xiàng)目化教程 教案 任務(wù)3、4 用戶及文件管理、軟件包的安裝與管理_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

《Linux服務(wù)器配置》教案分院(部)開課專業(yè)授課班級(jí)授課教師所在部門教案授課教師所在部門課程名稱授課日期單元任務(wù)任務(wù)3用戶及文件管理單元序號(hào)任務(wù)3授課地點(diǎn)授課班級(jí)課時(shí)學(xué)情分析知識(shí)基礎(chǔ):學(xué)生在上一學(xué)期已經(jīng)學(xué)習(xí)了Linux系統(tǒng)應(yīng)用、計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)。能力水平:班級(jí)整體學(xué)習(xí)氛圍良好,部分學(xué)生缺乏學(xué)習(xí)積極性和學(xué)習(xí)興趣行為特征:動(dòng)手能力較強(qiáng),團(tuán)隊(duì)合作意識(shí)較差,表達(dá)能力有待提高知識(shí)目標(biāo)K1了解用戶(組)的概念;K2掌握查看用戶(組)配置文件獲取用戶(組)信息的方法;K3掌握文件權(quán)限的表示方法。能力目標(biāo)S1能夠在Linux麒麟系統(tǒng)平臺(tái)中實(shí)現(xiàn)用戶(組)的管理及文件權(quán)限的設(shè)置;S2學(xué)會(huì)用戶賬號(hào)的添加、刪除和修改;S3學(xué)會(huì)用戶密碼的管理。素質(zhì)目標(biāo)A1培養(yǎng)學(xué)生仔細(xì)、認(rèn)真的工作態(tài)度;A2培養(yǎng)獨(dú)立分析問題與解決問題的能力。課程思政育人目標(biāo)I1仔細(xì)、認(rèn)真、創(chuàng)新、網(wǎng)絡(luò)以人的需求為本。I2家國(guó)情懷、擔(dān)當(dāng)與責(zé)任。重點(diǎn)分析重點(diǎn)用戶和用戶組的管理措施1.演示與講解相結(jié)合,邊講邊演示。2.結(jié)合任務(wù)內(nèi)容,學(xué)生獨(dú)立進(jìn)行安裝。難點(diǎn)分析難點(diǎn)文件基本權(quán)限的管理措施1.結(jié)合演示視頻,進(jìn)行分析。2.通過實(shí)踐驗(yàn)試,進(jìn)一步進(jìn)行驗(yàn)證結(jié)果。教學(xué)資源序號(hào)資源名稱資源類型1任務(wù)3課件課件-PPT2任務(wù)3視頻視頻-mp43省級(jí)超星平臺(tái)在線課程《Linu服務(wù)器配置》課程平臺(tái)-超星4《Linux服務(wù)器配置與管理》工作冊(cè)式-教材形成性考核1.超星平臺(tái)在線理論試題,自主學(xué)習(xí)能力。2.任務(wù)3講練結(jié)合。3.任務(wù)3故障調(diào)試,分析問題與解決問題能力。課后作業(yè)任務(wù)3認(rèn)證習(xí)題教學(xué)過程教學(xué)環(huán)節(jié)預(yù)計(jì)時(shí)間教學(xué)內(nèi)容教學(xué)活動(dòng)技術(shù)背景思政引入在微軟公司的壟斷下,有一件東西它永遠(yuǎn)不會(huì)給你—真正的自由。也正是這個(gè)原因,不少先鋒人物站出來反抗“微軟帝國(guó)”,并努力建立一種新的操作系統(tǒng)—沒有人為的限制,任何人都可以自由地使用的操作系統(tǒng)。為了記錄這些人的艱苦歷程,J.T.S.Moore拍攝了全新的紀(jì)錄片—REVOLUTONOS,向公眾介紹這些建立Linux系統(tǒng)、奮起反抗壟斷的斗士的人生經(jīng)歷。在文件管理的發(fā)展歷程中,雖然文件承載體一直在發(fā)生變化,但是人們對(duì)信息管理的重視性卻沒有改變,如今,以企業(yè)云盤為代表的新型文檔管理方式更是在傳統(tǒng)文件管理流程的基礎(chǔ)上不斷地進(jìn)行優(yōu)化,形成了更加專業(yè)、安全的文件管理方式。本任務(wù)將以用戶(組)管理及文件權(quán)限管理的技術(shù)為主題,詳細(xì)介紹用戶(組)管理及文件權(quán)限管理命令,并以任務(wù)實(shí)踐的方式讓大家更直觀地體會(huì)Linux系統(tǒng)中的用戶(組)管理及文件權(quán)限管理技術(shù)。教師講解師生互動(dòng)教學(xué)內(nèi)容1.useradduseradd命令用于創(chuàng)建新用戶,命令格式如下:useradd[選項(xiàng)]username常用選項(xiàng)說明如下。-d:指定用戶的主目錄。-e:設(shè)置賬號(hào)有效日期,格式為“yyyy-MM-dd”。-u:設(shè)置用戶的UID。-g:給用戶分配用戶組,此用戶組默認(rèn)已經(jīng)存在。使用useradd命令創(chuàng)建用戶就是在用戶配置文件/etc/passwd中添加一條用戶數(shù)據(jù)。在默認(rèn)情況下,使用useradd命令創(chuàng)建的用戶將自動(dòng)添加以下屬性:主目錄:系統(tǒng)將會(huì)默認(rèn)創(chuàng)建/home/username目錄,username是創(chuàng)建的用戶名。Shell解釋器:系統(tǒng)默認(rèn)設(shè)置的Shell解釋器為/bin/bash。默認(rèn)分組:系統(tǒng)默認(rèn)創(chuàng)建一個(gè)與用戶名相同的組。UID:如果沒有使用-u選項(xiàng)為新建用戶設(shè)置UID,則系統(tǒng)將自動(dòng)為用戶分配一個(gè)UID。在麒麟系統(tǒng)中,UID具有預(yù)設(shè)的編號(hào)規(guī)則,新建用戶默認(rèn)遵守此規(guī)則創(chuàng)建UID。root用戶的UID是0。系統(tǒng)用戶的UID是1~999。系統(tǒng)用戶其實(shí)是操作系統(tǒng)自動(dòng)創(chuàng)建并管理的虛擬用戶,負(fù)責(zé)系統(tǒng)與設(shè)備的正常運(yùn)行。root用戶創(chuàng)建的普通用戶的UID從1000開始且不能重復(fù),如kylin用戶。在創(chuàng)建新用戶時(shí),系統(tǒng)從1000開始查找未被使用的UID編號(hào),并賦值給新的用戶使用。即使小于1000的UID編號(hào)有閑置號(hào)碼未被使用,新建用戶也不會(huì)使用這些號(hào)碼中的任何一個(gè)。用戶管理實(shí)踐1如下。(1)創(chuàng)建kas用戶,命令如下:#useraddkas(2)創(chuàng)建kas1用戶并將其添加到sys組中,命令如下:#useradd-gsyskas1(3)創(chuàng)建kas2用戶并使用編號(hào)為“2999”的UID,命令如下:#useradd-u2999kas2(4)創(chuàng)建kas3用戶并設(shè)置主目錄名為“temp”,命令如下:#useradd-d/home/tempkas32.usermodusermod命令用于修改用戶屬性,命令格式如下:usermod[選項(xiàng)]username常用選項(xiàng)說明如下。-d:重新指定用戶的主目錄,此時(shí)目錄文件必須已經(jīng)存在。-e:修改賬號(hào)有效日期,格式為“yyyy-MM-dd”。-u:修改用戶的UID。-g:修改用戶組,此用戶組需要已經(jīng)存在。-m:此選項(xiàng)需要與“-d”選項(xiàng)配合使用,在指定新的主目錄后,將原有目錄數(shù)據(jù)移動(dòng)到新目錄中。-c:填寫用戶賬號(hào)的備注信息。-L:鎖定用戶,禁止其登錄系統(tǒng)。-U:解鎖用戶,允許其登錄系統(tǒng)。在講解useradd命令時(shí),我們提到過UID的編號(hào)規(guī)則。這個(gè)規(guī)則是一種約定俗成的用法,但非強(qiáng)制。也就是說,我們將普通用戶的UID改為1000以內(nèi)是可以執(zhí)行的,如圖3-35所示。圖3-35修改普通用戶的UID盡管如此,但是我們建議大家在實(shí)際應(yīng)用時(shí)要遵守UID的編號(hào)規(guī)則,養(yǎng)成良好的使用習(xí)慣,這樣才能降低運(yùn)維工作的復(fù)雜性。用戶管理實(shí)踐2如下。(1)修改用戶的主目錄,命令如下:#usermod-md/home/tempkas(2)修改用戶的UID,命令如下:#usermod-u404kas3.userdeluserdel命令用于刪除用戶,命令格式如下:userdel[選項(xiàng)]username常用選項(xiàng)說明如下。-r:刪除用戶后刪除用戶的主目錄。-f:強(qiáng)制刪除用戶。用戶管理實(shí)踐3如下。強(qiáng)制刪除tt用戶及其主目錄,命令如下:#userdel-rftt4.passwdpasswd命令用于修改用戶密碼、過期時(shí)間、認(rèn)證方式等,命令格式如下:passwd[選項(xiàng)]username常用選項(xiàng)說明如下。-l:鎖定用戶,禁止其登錄系統(tǒng)。-u:解鎖用戶,允許其登錄系統(tǒng)。-d:刪除用戶密碼,允許該用戶使用空密碼登錄系統(tǒng)。-e:強(qiáng)制用戶在下次登錄時(shí)修改密碼。當(dāng)使用passwd命令時(shí),如果不使用username參數(shù),則默認(rèn)修改當(dāng)前用戶密碼;如果使用username參數(shù),則修改該用戶的登錄密碼,但此時(shí)要求當(dāng)前用戶擁有root權(quán)限。1.groupaddgroupadd命令用于創(chuàng)建新的用戶組,命令格式如下:groupadd[選項(xiàng)]groupname其中,常用選項(xiàng)為“-g”,用于指定新建用戶組的GID。組管理命令中GID的編號(hào)規(guī)則與用戶管理命令中UID的編號(hào)規(guī)則相似:root組的GID是0;預(yù)留系統(tǒng)工作組。需要注意的是,在麒麟系統(tǒng)中,用戶組被創(chuàng)建時(shí)GID同樣是從1000開始的,這一點(diǎn)與用戶的UID相同。同樣地,我們建議大家遵守編號(hào)規(guī)則,養(yǎng)成良好習(xí)慣。用戶組管理實(shí)踐1如下。創(chuàng)建kylingroup用戶組并使用編號(hào)為“2020”的GID,命令如下:#groupadd-g2020kylingroup2.groupmodgroupmod命令用于修改用戶組的GID和用戶組名,命令格式如下:groupmod[選項(xiàng)]groupname常用選項(xiàng)說明如下。-g:修改用戶組的GID。-n:修改用戶組名。此選項(xiàng)需要額外增加一個(gè)參數(shù)位置,用于輸入新的用戶組名。用戶組管理實(shí)踐2如下。(1)修改用戶組的GID,命令如下:#groupmod-g2021kylingroup(2)修改用戶組名,命令如下:#groupmod-nkylin_groupkylingroup3.groupdelgroupdel命令用于刪除用戶組,命令格式如下:groupdelgroupnamegroupdel命令很簡(jiǎn)單,但是有一點(diǎn)需要注意:刪除用戶組之前必須刪除用戶組中的用戶,也就是說,只有空的用戶組才可以刪除。當(dāng)然,我們也可以先通過修改GID的方式將該用戶組中的用戶移動(dòng)到其他用戶組中,再刪除這個(gè)用戶組。用戶組管理實(shí)踐3如下。刪除用戶組kylin_group,命令如下:#groupdelkylin_group表3-1文件權(quán)限與用戶操作的對(duì)應(yīng)關(guān)系文件目錄可讀可以讀取文件內(nèi)容可以查看目錄內(nèi)容可寫可以修改文件內(nèi)容及文件屬性可以在目錄中創(chuàng)建、刪除、復(fù)制或重命名文件及目錄可執(zhí)行可以執(zhí)行文件,如腳本文件等可以進(jìn)入目錄由表

3-1

可知,刪除文件的權(quán)限并不在文件的權(quán)限設(shè)置中,而是在文件所屬目錄的權(quán)限設(shè)置中。這是與我們熟悉的Windows系統(tǒng)中最大的不同。我們通過實(shí)驗(yàn)來驗(yàn)證這些對(duì)應(yīng)關(guān)系。1.實(shí)驗(yàn)環(huán)境設(shè)置在開始實(shí)驗(yàn)之前,我們需要對(duì)實(shí)驗(yàn)環(huán)境和實(shí)驗(yàn)方式進(jìn)行必要的說明。第一,root用戶是超級(jí)管理員用戶,權(quán)限為系統(tǒng)中最高權(quán)限。因此,為了避免root用戶對(duì)權(quán)限的影響,我們將使用root用戶來創(chuàng)建文件和修改文件的權(quán)限,使用普通用戶來驗(yàn)證權(quán)限,如此前創(chuàng)建的kylin用戶。所以,對(duì)于root用戶創(chuàng)建的文件來說,kylin用戶為其他用戶。第二,由于普通用戶無法訪問root用戶的家目錄/root,因此為了避免實(shí)驗(yàn)初始環(huán)境對(duì)后續(xù)實(shí)驗(yàn)的影響,我們將在普通用戶的家目錄/home/kylin中進(jìn)行實(shí)驗(yàn)操作。第三,我們將會(huì)創(chuàng)建目錄,初始時(shí)賦予750權(quán)限,同時(shí)創(chuàng)建文件,初始時(shí)賦予640權(quán)限,即kylin用戶對(duì)初始創(chuàng)建的目錄和文件沒有任何權(quán)限。然后逐步對(duì)其他用戶賦予rwx權(quán)限,驗(yàn)證權(quán)限對(duì)用戶操作的影響。第四,實(shí)驗(yàn)將分為3部分:權(quán)限對(duì)目錄操作的影響、權(quán)限對(duì)目錄內(nèi)容(文件和子目錄)操作的影響、權(quán)限對(duì)文件操作的影響。在確定實(shí)驗(yàn)環(huán)境和實(shí)驗(yàn)方式后,先來準(zhǔn)備實(shí)驗(yàn)環(huán)境。(1)驗(yàn)證kylin用戶所屬用戶組,如圖3-36所示。圖3-36驗(yàn)證kylin用戶所屬用戶組由圖3-36可知,root用戶與kylin用戶不屬于同一個(gè)用戶組,所以對(duì)于root用戶創(chuàng)建的文件來說,kylin用戶就是其他用戶(o)。(2)為了方便演示,使用root用戶在kylin用戶的家目錄中創(chuàng)建目錄base作為實(shí)驗(yàn)演示的根目錄,并將base目錄的所屬用戶和所屬用戶組都設(shè)置為“kylin”,如圖3-37所示。圖3-37創(chuàng)建實(shí)驗(yàn)演示的根目錄(3)使用root用戶在base目錄中創(chuàng)建文件file1,賦予640權(quán)限;創(chuàng)建目錄dir1,賦予750權(quán)限,如圖3-38所示。圖3-38初始化實(shí)驗(yàn)環(huán)境(4)打開虛擬終端,使用kylin用戶登錄系統(tǒng),檢查其家目錄下base目錄中的內(nèi)容,如圖3-39所示。圖3-39在虛擬終端中登錄系統(tǒng)并檢查base目錄中的內(nèi)容打開虛擬終端的方式在任務(wù)2中有過講解,即使用Ctrl+Alt+F1~F6組合鍵。其中,使用Ctrl+Alt+F1組合鍵打開的是root用戶登錄的圖形化用戶界面,kylin用戶登錄時(shí)需要使用Ctrl+Alt+F2~F6虛擬終端中的某一個(gè)。由圖3-39可知,在kylin用戶的家目錄中可以看到上述步驟中創(chuàng)建的文件和目錄,所屬用戶為root用戶,所屬用戶組為root組,其他用戶沒有任何權(quán)限。(5)為了方便實(shí)驗(yàn),以同樣的方式創(chuàng)建目錄dir2、dir3,以及文件file2、file3,如圖3-40所示。圖3-40創(chuàng)建實(shí)驗(yàn)所需的目錄和文件至此,實(shí)驗(yàn)環(huán)境準(zhǔn)備完畢,準(zhǔn)備開始實(shí)驗(yàn)操作。2.權(quán)限實(shí)驗(yàn)先來實(shí)驗(yàn)?zāi)夸浀南嚓P(guān)操作。在任務(wù)2中,我們學(xué)習(xí)了對(duì)目錄的常見操作,如查看目錄信息(pwd)、切換目錄(cd)、查看目錄中的內(nèi)容(ls/ll)、創(chuàng)建目錄(mkdir)等。由于麒麟系統(tǒng)中“一切皆文件”,因此對(duì)目錄的操作還可以包括對(duì)文件的操作,如復(fù)制(cp)、剪切或重命名(mv)、刪除(rm)等。首先確定在沒有賦予權(quán)限的情況下用戶對(duì)目錄的可用操作,方便后續(xù)實(shí)驗(yàn)的變化對(duì)比。使用kylin用戶對(duì)dir1目錄進(jìn)行相關(guān)操作,如圖3-41和圖3-42所示。圖3-41無權(quán)限時(shí)的用戶操作1圖3-42無權(quán)限時(shí)的用戶操作2由圖3-41和圖3-42可知,當(dāng)沒有任何權(quán)限時(shí),重命名命令(mv)和刪除命令(rm)可以正常執(zhí)行,復(fù)制命令(cp)雖然提示了無權(quán)限,但是仍然成功地創(chuàng)建了目錄,新目錄的所屬用戶和所屬用戶組的名字均為“kylin”,其他命令不能執(zhí)行。由表3-1可知,可以對(duì)dir1目錄進(jìn)行重命名及刪除操作是因?yàn)閗ylin用戶對(duì)當(dāng)前目錄(即base目錄)具有可寫權(quán)限。我們驗(yàn)證一下,如圖3-43所示。由圖3-43可知,實(shí)驗(yàn)根目錄base的所屬用戶為kylin,所屬用戶對(duì)家目錄具有全部權(quán)限,因此可以對(duì)家目錄下的子目錄進(jìn)行重命名和刪除操作。復(fù)制操作其實(shí)也是這個(gè)原因,但更復(fù)雜一些。圖3-43base目錄權(quán)限這些問題將在下面的實(shí)驗(yàn)“可寫權(quán)限對(duì)目錄內(nèi)容的影響”中進(jìn)行驗(yàn)證,后面的實(shí)驗(yàn)中將不再演示重命名、刪除和復(fù)制操作。(1)可讀權(quán)限對(duì)目錄操作的影響。使用root用戶將初始設(shè)置的dir3目錄權(quán)限改為其他用戶可讀,即賦予754權(quán)限,如圖3-44所示。圖3-44賦予目錄其他用戶可讀權(quán)限接下來,使用kylin用戶來執(zhí)行目錄的相關(guān)操作,如圖3-45所示。圖3-45目錄其他用戶可讀權(quán)限驗(yàn)證對(duì)比初始權(quán)限狀態(tài)可知,在賦予目錄其他用戶可讀權(quán)限后,僅查看命令(ll)有效,說明可讀權(quán)限影響目錄信息查看操作。由于不能進(jìn)入目錄,因此無法演示執(zhí)行pwd命令查看目錄完整路徑的操作。(2)可寫權(quán)限對(duì)目錄內(nèi)容的影響。使用root用戶將dir3目錄權(quán)限設(shè)置為其他用戶可寫,移除可讀權(quán)限,即賦予752權(quán)限。如圖3-46所示。圖3-46賦予目錄其他用戶可寫權(quán)限使用kylin用戶來執(zhí)行目錄的相關(guān)操作,如圖3-47所示。圖3-47目錄其他用戶可寫權(quán)限驗(yàn)證由圖3-47可知,只賦予目錄其他用戶可寫權(quán)限與沒有任何權(quán)限對(duì)目錄操作的影響是一樣的。也就是說,對(duì)于目錄來說,可寫權(quán)限對(duì)當(dāng)前目錄本身沒有實(shí)際影響。但是需要再次提醒,可寫權(quán)限將對(duì)子目錄和文件的創(chuàng)建與刪除等操作有影響,這些問題將在后續(xù)的實(shí)驗(yàn)中進(jìn)行驗(yàn)證。(3)可執(zhí)行權(quán)限對(duì)目錄操作的影響。使用root用戶將dir3目錄權(quán)限設(shè)置為其他用戶可執(zhí)行,移除可寫權(quán)限,即賦予751權(quán)限,如圖3-48所示。圖3-48賦予目錄其他用戶可執(zhí)行權(quán)限使用kylin用戶來執(zhí)行目錄的相關(guān)操作,如圖3-49所示。圖3-49目錄其他用戶可執(zhí)行權(quán)限驗(yàn)證由圖3-49可知,在賦予目錄其他用戶可執(zhí)行權(quán)限后,其他用戶可以執(zhí)行cd命令進(jìn)入目錄。盡管當(dāng)前沒有可讀權(quán)限,但是仍然可以執(zhí)行pwd命令查看當(dāng)前目錄的完整路徑。這樣,讀、寫、執(zhí)行權(quán)限對(duì)目錄操作的影響都介紹完了,但是細(xì)心的人可以發(fā)現(xiàn),3個(gè)實(shí)驗(yàn)中都不能對(duì)目錄執(zhí)行mkdir命令,所以下面我們來探究一下創(chuàng)建子目錄究竟需要怎樣的文件權(quán)限。(4)組合權(quán)限對(duì)目錄操作的影響。使用root用戶將目錄權(quán)限設(shè)置為默認(rèn)的文件權(quán)限,即將目錄權(quán)限設(shè)置為“755”,如圖3-50所示。圖3-50賦予目錄默認(rèn)權(quán)限使用kylin用戶來執(zhí)行創(chuàng)建子目錄的操作,如圖3-51所示。由圖3-51可知,在賦予目錄默認(rèn)權(quán)限后,其他用戶(o)不能創(chuàng)建子目錄。然后使用root用戶將目錄的其他用戶權(quán)限設(shè)置為最高權(quán)限,即將目錄權(quán)限設(shè)置為“757”,如圖3-52所示。圖3-51目錄默認(rèn)權(quán)限驗(yàn)證圖3-52將目錄的其他用戶權(quán)限設(shè)置為最高權(quán)限再次使用kylin用戶來執(zhí)行創(chuàng)建子目錄的操作,如圖3-53所示。圖3-53目錄其他用戶所有權(quán)限驗(yàn)證由圖3-53可知,只有當(dāng)賦予目錄其他用戶所有權(quán)限時(shí),才可以使用mkdir命令創(chuàng)建目錄的子目錄。也就是說,創(chuàng)建子目錄的權(quán)限是一個(gè)復(fù)合權(quán)限??偨Y(jié)一下,我們通過實(shí)驗(yàn)學(xué)習(xí)了文件權(quán)限對(duì)目錄操作的影響,也通過這幾個(gè)實(shí)驗(yàn)了解了文件權(quán)限對(duì)用戶操作的測(cè)試方法。由于實(shí)驗(yàn)的重復(fù)性,并且限于篇幅,我們并沒有將全部權(quán)限的測(cè)試過程都顯示出來。從理論上來說,一組實(shí)驗(yàn)應(yīng)當(dāng)包含8種情況,也就是rwx權(quán)限的全部組合方式,也是chmod命令數(shù)字模式的0~7共8種情況。同樣的原因,我們將后續(xù)的其他實(shí)驗(yàn)省略,大家可以參考實(shí)驗(yàn)的步驟自行完成其他實(shí)驗(yàn)。這里我們將需要特別注意的地方重點(diǎn)強(qiáng)調(diào)一下。如表

3-1

所示,刪除文件的權(quán)限不是文件的權(quán)限,而是文件所屬目錄(即父目錄)的寫權(quán)限,我們可以通過實(shí)驗(yàn)來驗(yàn)證這一點(diǎn)。首先,使用root用戶在kylin用戶的家目錄中新建一個(gè)目錄testdir,并使用默認(rèn)文件權(quán)限755,如圖3-54所示。這時(shí),kylin用戶對(duì)testdir目錄沒有寫權(quán)限。圖3-54新建目錄并檢查權(quán)限接下來,使用root用戶在testdir目錄中創(chuàng)建子目錄mydir和文件myfile,并將子目錄和文件的其他用戶權(quán)限都設(shè)置為最高權(quán)限,即將目錄權(quán)限和文件權(quán)限都設(shè)置為“757”,如圖3-55所示。圖3-55創(chuàng)建子目錄和文件并將它們的其他用戶權(quán)限都設(shè)置為最高權(quán)限嘗試使用kylin用戶刪除子目錄mydir和文件myfile,如圖3-56所示。圖3-56刪除子目錄和文件失敗由圖3-56可知,盡管kylin用戶已經(jīng)對(duì)mydir目錄和myfile文件擁有最高權(quán)限,但是仍不能刪除它們,這是因?yàn)閗ylin用戶對(duì)它們的所屬目錄testdir沒有可寫權(quán)限。使用root用戶為testdir目錄其他用戶增加可寫權(quán)限,如圖3-57所示。圖3-57為testdir目錄其他用戶增加可寫權(quán)限再次使用kylin用戶刪除子目錄mydir和文件myfile,如圖4-58所示。圖3-58刪除子目錄和文件由圖3-58可知,mydir目錄和myfile文件成功被刪除。由此實(shí)驗(yàn)可知,當(dāng)對(duì)子目錄和文件進(jìn)行刪除操作時(shí),需要用戶對(duì)子目錄和文件的所屬目錄具有可寫權(quán)限。請(qǐng)大家自行驗(yàn)證重命名(mv)和復(fù)制(cp)操作。最后來解釋一下為什么操作子目錄和文件時(shí)需要對(duì)它們的所屬目錄具有可寫權(quán)限。為了方便演示,我們使用root用戶在testdir目錄中重新創(chuàng)建mydir目錄和myfile文件,如圖3-59所示。圖3-59創(chuàng)建子目錄和文件由圖3-59可知,testdir目錄中存放了mydir目錄和myfile文件。還是基于“一切皆文件”的思想,目錄其實(shí)也是一種文件,所以我們也可以使用文件管理命令查看目錄。我們?cè)趉ylin用戶所在的虛擬終端中使用vim命令打開testdir目錄,查看其中的內(nèi)容,如圖3-60所示。注意,這里需要使用vim命令查看,使用vi命令不能查看到內(nèi)容。圖3-60查看目錄文件內(nèi)容由圖3-60可知,目錄文件中包含了“mydir/”和“myfile”兩行數(shù)據(jù),“mydir”后面的斜線(/)表示這是一個(gè)目錄。由此可知,子目錄和文件的名字就是目錄文件中的數(shù)據(jù)內(nèi)容。所以,在創(chuàng)建、刪除或復(fù)制子目錄和文件時(shí),需要對(duì)它們所屬目錄中的文件內(nèi)容進(jìn)行修改。因此,當(dāng)對(duì)子目錄和文件進(jìn)行創(chuàng)建、刪除和復(fù)制等操作時(shí),需要用戶對(duì)子目錄和文件的所屬目錄具有可寫權(quán)限。另外,為了數(shù)據(jù)的安全,這個(gè)目錄文件中的內(nèi)容是不可以手動(dòng)編輯的。當(dāng)嘗試將vim命令變?yōu)榫庉嬆J綍r(shí)會(huì)提示錯(cuò)誤信息,如圖3-61所示。圖3-61目錄文件為只讀文件3.6.4文件的默認(rèn)權(quán)限設(shè)置通過之前的學(xué)習(xí),我們知道root用戶創(chuàng)建的目錄的默認(rèn)權(quán)限是755,創(chuàng)建的文件的默認(rèn)權(quán)限是644。那么默認(rèn)權(quán)限是怎樣設(shè)定的呢?默認(rèn)權(quán)限是否可以更改呢?1.umask掩碼和默認(rèn)權(quán)限我們知道安全性是麒麟系統(tǒng)的重要特性之一,安全性的基礎(chǔ)就在于權(quán)限的設(shè)定。對(duì)于新建目錄和文件來說,如果初始權(quán)限過高(如777),則可能會(huì)在管理員沒有來得及修改權(quán)限之前就造成了安全問題;如果初始權(quán)限過低(如000),則會(huì)導(dǎo)致新建目錄和文件必須由管理員來修改權(quán)限,否則無法使用。為了尋找一個(gè)安全與便捷的平衡,麒麟系統(tǒng)中為目錄和文件設(shè)置了初始權(quán)限。設(shè)置初始權(quán)限的方式就是通過umask命令字,稱為權(quán)限掩碼或權(quán)限補(bǔ)碼。先來看一下umask是什么。使用root用戶在命令行中輸入“umask”命令,即可看到umask的顯示內(nèi)容,如圖3-62所示。圖3-62查看umask由圖3-62可知,當(dāng)前默認(rèn)的umask值為“0022”。其中,第1位是特殊權(quán)限位,不影響之前學(xué)習(xí)的文件基礎(chǔ)權(quán)限,暫時(shí)不用管它。我們需要注意的是后3位,即“022”。有人會(huì)想到:文件可被賦予的最高權(quán)限是777,減去掩碼的022之后就是目錄的默認(rèn)權(quán)限

755。這里必須注意,這樣計(jì)算并不完全正確,真正的計(jì)算方式要從文件基礎(chǔ)權(quán)限的原理上說起。再次回到文件權(quán)限的字符模式,如目錄的初始權(quán)限為“rwxr-xr-x”,這是為了便于我們閱讀的表示方式。文件權(quán)限真正的含義是9位二進(jìn)制數(shù),每一位的可用值為0和1,1表示有權(quán)限,0表示沒有權(quán)限。所以,文件權(quán)限的真實(shí)表示方式如圖3-63所示。圖3-63文件權(quán)限的真實(shí)表示方式還是保持每3位標(biāo)識(shí)為一組,那么將每組二進(jìn)制的值轉(zhuǎn)化為十進(jìn)制后再組合到一起,就是chmod命令的數(shù)字模式的表示方式了。umask掩碼的表示方式與上述的推演方式相反,如圖3-64所示。通過圖3-64所示的反向推演可以知道,“022”代表文件所屬用戶組的可寫權(quán)限和其他用戶的可寫權(quán)限。掩碼的意思就是“不給”,也就是說,掩碼022表示不賦予文件所屬用戶組和其他用戶可寫權(quán)限。圖3-64umask掩碼的表示方式那么,目錄默認(rèn)權(quán)限的計(jì)算方式如圖3-65所示。圖3-65目錄默認(rèn)權(quán)限的計(jì)算方式再來看一下普通文件默認(rèn)權(quán)限的計(jì)算方式。麒麟系統(tǒng)認(rèn)為文件的執(zhí)行權(quán)限對(duì)系統(tǒng)的影響是最大的。如果文件具有可執(zhí)行權(quán)限,則可以直接執(zhí)行該文件,由于一些腳本文件可以調(diào)用系統(tǒng)內(nèi)核的函數(shù),如果這些腳本文件中包含惡意代碼,則對(duì)系統(tǒng)的損害會(huì)非常嚴(yán)重。因此,系統(tǒng)默認(rèn)文件的可執(zhí)行權(quán)限是不能自動(dòng)賦予的,必須由管理員手動(dòng)設(shè)置。所以,系統(tǒng)設(shè)計(jì)時(shí)根本沒有考慮給文件的執(zhí)行權(quán)限授權(quán)的情況,文件的默認(rèn)最高權(quán)限就是666。文件默認(rèn)權(quán)限的計(jì)算方式與目錄默認(rèn)權(quán)限的計(jì)算方式相同,如圖3-66所示。圖3-66文件默認(rèn)權(quán)限的計(jì)算方式由圖3-66就可以知道普通文件默認(rèn)權(quán)限為644的原因了。2.修改umask權(quán)限掩碼umask是為了尋找一個(gè)安全和便捷的平衡。如果服務(wù)器中有了新的業(yè)務(wù)要求,即在原有的業(yè)務(wù)規(guī)則下,增加一個(gè)業(yè)務(wù)要求“可執(zhí)行權(quán)限也將不再賦予”,則這個(gè)業(yè)務(wù)要求也可以通過umask來完成,這時(shí)就需要修改權(quán)限掩碼umask。修改umask的方式有兩種:臨時(shí)修改和永久修改。臨時(shí)修改用于本次操作,當(dāng)系統(tǒng)重啟后,umask將恢復(fù)原值。當(dāng)然,修改umask之后創(chuàng)建的文件和目錄的權(quán)限不會(huì)發(fā)生改變。臨時(shí)修改umask的命令格式如下:umask[code]其中,“code”是權(quán)限的數(shù)字模式。實(shí)際操作一下,例如,對(duì)于上述業(yè)務(wù)要求,我們將要“掩去”文件所屬用戶組的可寫權(quán)限、其他用戶的可寫權(quán)限和可執(zhí)行權(quán)限。通過計(jì)算可知,新的掩碼umask應(yīng)為023。嘗試修改一下,如圖3-67所示。圖3-67修改掩碼后創(chuàng)建目錄由目錄的權(quán)限為drwxr-xr--,對(duì)應(yīng)的數(shù)值為754,而不是默認(rèn)的755,掩碼umask修改成功。但是重啟系統(tǒng)后,掩碼umask將恢復(fù)為022。如果業(yè)務(wù)要求是持續(xù)的、長(zhǎng)久的,就需要永久修改umask。永久修改umask的方式為修改配置文件/etc/profile,我們使用vi/vim命令打開該文件進(jìn)行編輯,如圖3-68所示。圖3-68/etc/profile文件內(nèi)容圖3-68所示為截取的/etc/profile文件中設(shè)置umask的段落?!癷f”段落中的“umask”為系統(tǒng)用戶的掩碼設(shè)置,“else”段落中的“umask”為普通用戶的掩碼設(shè)置,我們修改對(duì)應(yīng)的值就可以了。需要注意的是,修改完配置文件后需要重啟系統(tǒng)使之生效。3.權(quán)限計(jì)算的常見錯(cuò)誤回到之前的問題,無論是字符模式還是二進(jìn)制或十進(jìn)制,通過“減法”的方式計(jì)算默認(rèn)權(quán)限都是沒有問題的(見圖3-65和圖3-66),那為什么說不完全正確呢?問題就在于目錄文件的最高權(quán)限與普通文件的最高權(quán)限不一致。目錄文件的最高權(quán)限為777,即9個(gè)權(quán)限位均為1,所以計(jì)算時(shí)可以通過減法完成計(jì)算。而普通文件的最高權(quán)限為666,9個(gè)權(quán)限位不都是1,所以在進(jìn)行減法運(yùn)算時(shí)可能會(huì)產(chǎn)生“借位”,從而導(dǎo)致規(guī)則錯(cuò)誤。例如,將掩碼設(shè)置為023,通過減法方式計(jì)算文件權(quán)限,為666-023=643,轉(zhuǎn)換為字符標(biāo)識(shí)則是rw-r---wx(為了直觀展示,中間增加了空格隔開)。但是業(yè)務(wù)要求的是不能賦予文件其他用戶可寫權(quán)限和可執(zhí)行權(quán)限,這就發(fā)生了嚴(yán)重錯(cuò)誤。產(chǎn)生這個(gè)錯(cuò)誤的根本原因如圖3-69所示。圖3-69權(quán)限計(jì)算產(chǎn)生錯(cuò)誤的根本原因由圖3-69可知,根據(jù)字符標(biāo)識(shí)的計(jì)算方式產(chǎn)生的二進(jìn)制數(shù)值為110100100,根據(jù)十進(jìn)制計(jì)算產(chǎn)生的二進(jìn)制數(shù)值為110100011。而正確的計(jì)算方式是以字符標(biāo)識(shí)為準(zhǔn)的。那么我們只能通過先將數(shù)值轉(zhuǎn)換為字符標(biāo)識(shí),計(jì)算完成后再轉(zhuǎn)換為數(shù)值這種方式來完成權(quán)限計(jì)算嗎?正確的計(jì)算方式是怎樣的呢?默認(rèn)權(quán)限正確的計(jì)算方式其實(shí)是先對(duì)掩碼的二進(jìn)制標(biāo)識(shí)按位進(jìn)行邏輯非運(yùn)算,得到運(yùn)算結(jié)果后,再將運(yùn)算結(jié)果和最高權(quán)限按位進(jìn)行邏輯與運(yùn)算,如圖3-70所示。圖3-70默認(rèn)權(quán)限正確的計(jì)算方式當(dāng)然,對(duì)邏輯運(yùn)算不熟悉的讀者也不用苦惱,畢竟權(quán)限也就是0~7這8個(gè)數(shù)字,使用熟練以后自然一見便知。任務(wù)總結(jié)實(shí)現(xiàn)用戶(組)和文件權(quán)限的管理要完成的工作主要有如下幾個(gè)方面:用戶賬號(hào)的添加、刪除與修改老師,前面內(nèi)容中有介紹“用戶賬號(hào)的添加、刪除與修改”方面的內(nèi)容嗎?(這里是指創(chuàng)建、刪除、修改用戶嗎?還是其他。)這里是否需要進(jìn)行修改老師,前面內(nèi)容中有介紹“用戶賬號(hào)的添加、刪除與修改”方面的內(nèi)容嗎?(這里是指創(chuàng)建、刪除、修改用戶嗎?還是其他。)這里是否需要進(jìn)行修改?請(qǐng)確定。這里是指創(chuàng)建、刪除、修改用戶用戶密碼的管理老師,這里是“用戶密碼的管理”呢?還是老師,這里是“用戶密碼的管理”呢?還是“用戶權(quán)限的管理”呢?或者是“用戶的管理”?或者其他。請(qǐng)確定。不需要修改用戶組的管理老師,這里是“用戶組的管理”呢?還是老師,這里是“用戶組的管理”呢?還是“用戶組權(quán)限的管理”呢?或者其他。請(qǐng)確定。不需要修改文件基礎(chǔ)權(quán)限的管理。反思診改教學(xué)效果診斷改進(jìn)《Linux服務(wù)器配置》教案分院(部)開課專業(yè)授課班級(jí)授課教師所在部門教案授課教師所在部門課程名稱授課日期單元任務(wù)任務(wù)4軟件包的安裝與管理單元序號(hào)任務(wù)4授課地點(diǎn)授課班級(jí)課時(shí)學(xué)情分析知識(shí)基礎(chǔ):學(xué)生在上一學(xué)期已經(jīng)學(xué)習(xí)了Linux系統(tǒng)應(yīng)用、計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)能力水平:具有基本的計(jì)算機(jī)操作能力,理解網(wǎng)絡(luò)基本原理和框架行為特征:動(dòng)手能力較強(qiáng),但專業(yè)理論掌握不深,對(duì)理論知識(shí)不感興趣知識(shí)目標(biāo)K1了解軟件安裝的基本概念;K2了解RPM軟件包的來源;K3掌握RPM軟件包的命名和分類。能力目標(biāo)S1能夠使用yum命令安裝、升級(jí)、卸載、管理軟件包;S2能夠在Linux麒麟系統(tǒng)平臺(tái)中熟練使用RPM和YUM工具管理軟件包;S3能夠分析系統(tǒng)操作過程中出現(xiàn)的故障信息并排除配置故障。素質(zhì)目標(biāo)A1培養(yǎng)學(xué)生仔細(xì)、認(rèn)真的工作態(tài)度;A2培養(yǎng)獨(dú)立分析問題與解決問題的能力。課程思政育人目標(biāo)I1仔細(xì)、認(rèn)真、創(chuàng)新、網(wǎng)絡(luò)以人的需求為本。I2家國(guó)情懷、擔(dān)當(dāng)與責(zé)任。重點(diǎn)分析重點(diǎn)yum命令安裝、升級(jí)、卸載、管理軟件包措施1.演示與講解相結(jié)合,邊講邊演示。2.結(jié)合任務(wù)內(nèi)容,學(xué)生獨(dú)立進(jìn)行安裝。難點(diǎn)分析難點(diǎn)熟練使用RPM和YUM工具管理軟件包措施1.結(jié)合演示視頻,進(jìn)行分析。2.通過實(shí)踐驗(yàn)試,進(jìn)一步進(jìn)行驗(yàn)證結(jié)果。教學(xué)資源序號(hào)資源名稱資源類型1任務(wù)4課件課件-PPT2任務(wù)4視頻視頻-mp43省級(jí)超星平臺(tái)在線課程《Linu服務(wù)器配置》課程平臺(tái)-超星4《Linux服務(wù)器配置與管理》工作冊(cè)式-教材形成性考核1.超星平臺(tái)在線理論試題,自主學(xué)習(xí)能力。2.任務(wù)4講練結(jié)合。3.任務(wù)4故障調(diào)試,分析問題與解決問題能力。課后作業(yè)任務(wù)4認(rèn)證習(xí)題教學(xué)過程學(xué)習(xí)導(dǎo)航教學(xué)環(huán)節(jié)預(yù)計(jì)時(shí)間教學(xué)內(nèi)容教學(xué)活動(dòng)技術(shù)背景思政引入持續(xù)不懈的努力任正非在“與任正非咖啡對(duì)話”活動(dòng)上對(duì)年輕人提出了以下3點(diǎn)寄語(yǔ):一、需要開放?!艾F(xiàn)在年輕人的時(shí)代比我們當(dāng)時(shí)好得多,我們那個(gè)時(shí)代唯一能開放的就是上大學(xué),有圖書館,可以看世界,中學(xué)的時(shí)候還沒有圖書館。

現(xiàn)在年輕人的視野已經(jīng)很開闊了?!倍⑿枰献?。因?yàn)槊總€(gè)人的力量很薄弱。三、需要持續(xù)不懈的努力?!安灰J(rèn)為自己很聰明,今天搞這樣,明天搞那樣,青春可能就荒廢了。”計(jì)算機(jī)是當(dāng)代的基石,代碼就是當(dāng)代的藝術(shù)。編寫代碼的程序員及那些日夜運(yùn)行的代距踐的方式讓大家更直觀地體會(huì)在Linux系統(tǒng)老師,這里需要寫成“麒麟系統(tǒng)”嗎?。還是就寫成“Linux系統(tǒng)”呢?或者其他。請(qǐng)確定。麒麟系統(tǒng)老師,這里需要寫成“麒麟系統(tǒng)”嗎?。還是就寫成“Linux系統(tǒng)”呢?或者其他。請(qǐng)確定。麒麟系統(tǒng)教師講解師生互動(dòng)教學(xué)內(nèi)容內(nèi)容1:使用rpm命令安裝軟件包使用rpm命令安裝軟件包的命令格式如下:rpm-ivh軟件包全名選項(xiàng)說明如下。-i:表示install,安裝。-v:表示verbose,顯示詳細(xì)信息。-h:表示hash,顯示橫向進(jìn)度條。rpm命令還提供了一個(gè)長(zhǎng)格式參數(shù)“--nodeps”,表示不檢查依賴性,這個(gè)參數(shù)我們不建議大家使用。在安裝軟件包的過程中,如果系統(tǒng)提示依賴性錯(cuò)誤,那么我們必須解決這個(gè)依賴性問題之后才可以繼續(xù)安裝,否則忽略依賴性問題繼續(xù)安裝,軟件包安裝完成后有可能無法正常運(yùn)行。使用rpm命令安裝軟件包有一個(gè)前提,就是需要先切換到RPM軟件包存放目錄中,否則系統(tǒng)并不知曉RPM軟件包的位置,從而使得rpm命令執(zhí)行失敗。如果不想切換工作目錄,則需要使用“RPM軟件包的完整路徑+軟件包名”的形式執(zhí)行rpm命令。從文件系統(tǒng)進(jìn)入安裝光盤掛載目錄下的“Packages”文件夾,使用搜索功能查找tree命令軟件包,如圖4-18所示,圖中顯示的軟件包就是我們接下來要安裝的軟件包。圖4-18查找tree命令軟件包在“Packages”文件夾中的空白處右擊,在彈出的快捷菜單中選擇“在終端中打開”命令,打開終端,查看光盤RPM軟件包的安裝位置老師,這里確定是“查看光盤RPM軟件包的安裝位置”嗎?“光盤R老師,這里確定是“查看光盤RPM軟件包的安裝位置”嗎?“光盤RPM軟件包”是什么?是“麒麟系統(tǒng)安裝光盤中的RPM軟件包”嗎?還是其他,這里是否需要進(jìn)行修改?請(qǐng)確定。不需要修改圖4-19查看光盤RPM軟件包的安裝位置使用rpm命令安裝tree命令軟件包,如圖4-20所示。圖4-20使用rpm命令安裝tree命令軟件包圖4-20中的警告可以忽略,不影響軟件的使用。當(dāng)我們看到“軟件包已經(jīng)安裝”的字樣,或者出現(xiàn)兩個(gè)100%的進(jìn)度條以后,就可以確定軟件包安裝成功了。這里有一個(gè)需要注意的問題:有的軟件包比較大,安裝較慢時(shí)可能只顯示“準(zhǔn)備中…”和進(jìn)度條。這時(shí),即便準(zhǔn)備中的進(jìn)度條顯示為100%,也不能認(rèn)為軟件包已經(jīng)安裝成功,必須看到“軟件包已經(jīng)安裝”的字樣,或者出現(xiàn)兩個(gè)100%的進(jìn)度條以后,才可以確定軟件包安裝成功。在使用rpm命令安裝軟件包時(shí),軟件包全名太長(zhǎng)記不住怎么辦?這里有一個(gè)小技巧,比如上面在安裝tree-1.7.0-18.ky10.x86_64.rpm包時(shí),輸入“rpm-ivhtree”后按一下Tab鍵,即可補(bǔ)全軟件包名。我們?cè)倏匆幌率褂媒^對(duì)路徑安裝軟件包的示例,如圖4-21所示。圖4-21使用絕對(duì)路徑安裝軟件包內(nèi)容2:使用rpm命令卸載和升級(jí)軟件包軟件包安裝完成以后,必然要面臨的問題就是軟件包的卸載和版本升級(jí)。下面我們來看一下怎樣使用RPM工具實(shí)現(xiàn)軟件包的卸載和升級(jí)。1.卸載軟件包使用rpm命令卸載軟件包的命令格式如下:rpm-e軟件包名這里的“e”是“erase”的簡(jiǎn)寫,其原意是“清除”,在這里翻譯為“卸載”。我們可以這樣理解,卸載軟件包其實(shí)就是清除軟件包所有的安裝痕跡。卸載命令的結(jié)構(gòu)與安裝命令的結(jié)構(gòu)很相似,但是有兩個(gè)主要的區(qū)別。第。例如,我們卸載此前安裝的tree命令軟件包,如圖4-22所示。圖4-22安裝及卸載tree命令軟件包在安裝tree命令軟件包時(shí),需要輸入完整的軟件包全名后才可以執(zhí)行安裝。但是在卸載時(shí),只需要輸入“tree”這個(gè)軟件包名就可以直接卸載。第二個(gè)區(qū)別是執(zhí)行卸載命令時(shí)可以不在軟件包的安裝目錄。這個(gè)特性給了我們極大的方便,使我們可以在任意目錄中執(zhí)行卸載命令,如圖4-23所示。圖4-23在家目錄中執(zhí)行卸載命令由圖4-23可知,在重新安裝tree命令軟件包后,切換到家目錄,仍然可以使用rpm命令卸載tree命令軟件包。2.升級(jí)軟件包軟件包升級(jí)是依照軟件包全名中的版本號(hào)和編譯版本號(hào)確定的,常用的命令格式如下:rpm-Uvh軟件包全名其中的“U”是大寫形式,是“upgrade”的簡(jiǎn)寫,意思就是“升級(jí)”?!?v”和“-h”選項(xiàng)的用法和含義與安裝命令中的用法和含義是一樣的。同樣需要注意的是,這里的參數(shù)需要使用軟件包全名。舉例操作一下。先重新安裝tree命令軟件包,再使用升級(jí)命令對(duì)tree命令軟件包進(jìn)行升級(jí),如圖4-24所示。圖4-24升級(jí)tree命令軟件包在圖4-24中我們可以注意到一個(gè)細(xì)節(jié),在執(zhí)行安裝命令時(shí),系統(tǒng)提供內(nèi)容顯示的是“正在升級(jí)/安裝…”。其實(shí)升級(jí)命令與安裝命令的執(zhí)行步驟是十分相似的。當(dāng)軟件包已經(jīng)安裝時(shí),升級(jí)命令會(huì)校驗(yàn)軟件包版本,如果可以升級(jí),則執(zhí)行升級(jí)操作。當(dāng)軟件包尚未安裝時(shí),升級(jí)命令可以作為安裝命令使用,安裝軟件包。我們實(shí)際操作試一下。先通過卸載命令把此前安裝的tree命令軟件包卸載,再通過升級(jí)命令直接安裝,如圖4-25所示。圖4-25使用升級(jí)命令安裝tree命令軟件包在使用升級(jí)命令時(shí)需要注意一個(gè)問題,只有當(dāng)軟件包的版本大于或等于當(dāng)前已經(jīng)安裝軟件包的版本時(shí),命令才會(huì)被執(zhí)行。如果軟件包的版本小于當(dāng)前已經(jīng)安裝軟件包的版本,則會(huì)給出提示,終止命令執(zhí)行。內(nèi)容3:使用rpm命令管理軟件包我們知道,RPM是軟件包管理工具,不僅可以提供對(duì)軟件包的安裝、升級(jí)、卸載等功能,還可以提供對(duì)軟件包的管理功能。在本節(jié)中,我們將簡(jiǎn)單介紹RPM管理軟件包的方式和常見用法。在此前的講解中,也許有人會(huì)提出疑問:在卸載軟件包時(shí)為什么不需要指定軟件包版統(tǒng)是如何完成版本管理的?這些問題的答案就是RPM工具有自己的數(shù)據(jù)庫(kù)對(duì)軟件包進(jìn)行管理。我們進(jìn)入/var/lib/rpm目錄查看目錄文件,如圖4-26所示。圖4-26查看目錄文件圖4-26所示為RPM工具管理軟件包的文件,其中__db.001、__db.002、__db.003就是數(shù)據(jù)庫(kù)文件。這些文件都是加密后的文件,閱讀起來非常不方便。所以,RPM工具提供了命令行模式管理軟件包,這里我們介紹幾種常見的命令。1.查詢軟件包安裝版本查詢軟件包安裝版本的命令格式如下:rpm-q軟件包名這里的軟件包名和卸載命令中的軟件包名相同,不必輸入軟件包版本號(hào)等信息,如圖4-27所示。圖4-27查詢軟件包安裝版本如果軟件包未安裝,則系統(tǒng)會(huì)給出提示信息,如圖4-28所示。圖4-28軟件包未安裝時(shí)的提示信息這里會(huì)有一個(gè)很常見的問題:如果我們不知道軟件包名,只知道軟件包名中的一部分,此時(shí)該怎么辦?比如,我們想要查詢系統(tǒng)中是否安裝過openjdk,如圖4-29所示。圖4-29不符合軟件包名的查詢?nèi)绻覀儾荒艽_定軟件包名,則這種情況也可能是由我們沒有輸入正確的軟件包名導(dǎo)致的。這時(shí),我們需要一個(gè)類似于模糊查詢的功能,可以使用下面的命令:rpm-qa|grep[軟件包名關(guān)鍵字]-q:查詢選項(xiàng)。-a:查詢?nèi)拷Y(jié)果,相當(dāng)于“--all”。|:管道符。grep:麒麟系統(tǒng)的模糊查詢命令,常與管道符一同使用。[軟件包名關(guān)鍵字]:要查詢的內(nèi)容,可以使用通配符。這里暫時(shí)不對(duì)管道符(|)和grep進(jìn)行講解,只需要記住這個(gè)用法就可以。我們使用上述命令查詢openjdk的安裝情況,如圖4-30所示。圖4-30使用模糊查詢方式查詢openjdk的安裝情況由圖4-30可知,openjdk并不是軟件包名,系統(tǒng)默認(rèn)安裝的相關(guān)軟件包有4種。我們可以使用模糊查詢方式將與openjdk相關(guān)的軟件包都查詢出來。2.查詢軟件包的詳細(xì)信息查詢軟件包詳細(xì)信息的命令格式如下:rpm-qi軟件包名其中,“-i”表示詳細(xì)信息(information)。查詢此前安裝的tree命令軟件包的詳細(xì)信息,如圖4-31所示。圖4-31查詢tree命令軟件包的詳細(xì)信息在圖4-31所示的信息中,最常用的是“URL”這一項(xiàng)。當(dāng)我們對(duì)一款軟件不熟悉時(shí),可以通過這個(gè)地址訪問這個(gè)軟件的官方網(wǎng)站來了解軟件的作用。查詢軟件包詳細(xì)信息的命令也可以用來查詢未安裝軟件包的信息,只要能夠找到這個(gè)軟件包就可以。命令格式如下:rpm-qip軟件包全名其中,“-p”表示軟件包名(package)。需要注意的是,在查詢軟件包詳細(xì)信息的命令中增加一個(gè)選項(xiàng)“-p”后,該命令就可以用來查詢未安裝軟件包的信息了。但是,與查詢已安裝軟件包信息的命令有個(gè)區(qū)別,就是查詢未安裝軟件包信息的命令中必須使用軟件包全名,否則系統(tǒng)不知道要查看的是哪個(gè)版本軟件包的信息。同樣地,需要先切換到RPM軟件包存放目錄中,再執(zhí)行查詢命令,或者使用“RPM軟件包的完整路徑+軟件包名”的形式執(zhí)行查詢命令,否則系統(tǒng)也不知道要查詢的軟件包的位置。我們先把tree命令軟件包卸載,再查詢tree命令軟件包的信息,如圖4-32所示。圖4-32查詢tree命令軟件包的信息需要注意的是,在圖4-32所示的信息中,“InstallDate”(安裝日期)顯示的是“(notinstalled)”,也就是未安裝。其實(shí),帶有“-p”選項(xiàng)的命令也可以用來查詢已安裝軟件包的信息,但是與帶有“-qi”選項(xiàng)的命令不同的是,當(dāng)采用帶有“-p”選項(xiàng)的命令查詢內(nèi)容時(shí)必須使用軟件包全名,而當(dāng)采用帶有“-qi”選項(xiàng)的命令查詢內(nèi)容時(shí)則只需要使用軟件包名即可。3.查看軟件包的安裝位置查看軟件包安裝位置的命令格式如下:rpm-ql軟件包名其中,“-l”表示文件列表(list)。這個(gè)命令用來查看軟件包中每個(gè)文件的安裝位置,如圖4-33所示。圖4-33查看軟件包的安裝位置同樣地,在上述命令中增加“-p”選項(xiàng)后,該命令就可以用來查看未安裝的軟件包在安裝后每個(gè)文件的安裝位置了,當(dāng)然,命令中也需要使用軟件包全名,如圖4-34所示。圖4-34查看未安裝的軟件包在安裝后每個(gè)文件的安裝位置內(nèi)容4:使用rpm命令安裝軟件包時(shí)的依賴性問題在前面的實(shí)踐中,我們通過管理tree命令軟件包的方式了解了rpm命令的使用方式。當(dāng)然,并不是所有的軟件包都可以像tree命令軟件包這樣很容易安裝,相反,大多數(shù)的RPM軟件包在安裝過程中需要解決依賴性問題。之前我們提到過軟件包拆分是造成依賴性的原因之一,另一個(gè)原因就是文件的復(fù)用性。我們知道,軟件是與操作系統(tǒng)進(jìn)行數(shù)據(jù)交互的,交互的方式是調(diào)用操作系統(tǒng)對(duì)外開放的接口,軟件調(diào)用這些接口是通過調(diào)用類庫(kù)文件的方式實(shí)現(xiàn)的。這些類庫(kù)文件提供了標(biāo)準(zhǔn)化的功能,因此很可能會(huì)被多個(gè)軟件調(diào)用。比如,有一個(gè)軟件X拆分了X-a、X-b、X-c這3個(gè)子包,其中X-a和X-b兩個(gè)包需要調(diào)用類庫(kù)文件L,那么將會(huì)拆分X-lib包,用于提供類庫(kù)文件L。這時(shí),安裝X-a和X-b兩個(gè)包時(shí)就需要依賴X-lib包。如果不拆分X-lib包,而是將L文件分別放入X-a和X-b兩個(gè)包中,這樣雖然可以規(guī)避依賴性問題,但是會(huì)產(chǎn)生新的問題。如果需要同時(shí)安裝X-a和X-b兩個(gè)包,則會(huì)出現(xiàn)兩個(gè)名稱和功能都一模一樣的L文件,這是不符合程序設(shè)計(jì)理念的。而且還有可能會(huì)出現(xiàn)兩個(gè)不同版本的L文件,導(dǎo)致程序運(yùn)行錯(cuò)誤。所以,文件的復(fù)用性也是造成依賴性的原因之一。這里所說的復(fù)用性不僅僅是指同一個(gè)軟件不同子包的復(fù)用性,在不同軟件中也可能依賴相同的類庫(kù)文件老師,這句話這樣表述是否正確?是“在不同軟件中也可能依賴相同的類庫(kù)文件”呢?還是“不同軟件老師,這句話這樣表述是否正確?是“在不同軟件中也可能依賴相同的類庫(kù)文件”呢?還是“不同軟件可能依賴相同的類庫(kù)文件”呢?這里是“這里所說的復(fù)用性不僅指同一個(gè)軟件不同子包的復(fù)用性,還指不同軟件可能依賴相同的類庫(kù)文件”嗎?還是其他。這里怎樣表述更合適呢?請(qǐng)確定。這里所說的復(fù)用性不僅指同一個(gè)軟件不同子包的復(fù)用性,還指不同軟件可能依賴相同的類庫(kù)文件RPM軟件包的依賴性需要有3種形式:樹形依賴、循環(huán)依賴和類庫(kù)依賴。1.樹形依賴樹形依賴(如A>B>C的形式)的處理比較簡(jiǎn)單,反向安裝就可以了,即先安裝C,再安裝B,最后安裝A,問題即可解決。舉個(gè)例子,我們嘗試安裝Java運(yùn)行環(huán)境OpenJDK。與此前的方式相同,搜索一下openjdk,確認(rèn)軟件包全名,如圖4-35所示。由圖4-35可知,系統(tǒng)提供了java-1.8.0和java-11兩個(gè)版本。我們以java-11版本為例來演示軟件包的依賴關(guān)系。首先將系統(tǒng)預(yù)裝的軟件包卸載,以便演示,如圖4-36所示。圖4-35通過搜索確認(rèn)軟件包全名圖4-36卸載java-11-openjdk并檢查確認(rèn)使用rpm命令安裝java-11-openjdk-devel包,系統(tǒng)將會(huì)提示存在軟件包依賴關(guān)系,如圖4-37所示。圖4-37安裝軟件包時(shí)提示存在軟件包依賴關(guān)系我們解讀一下提示信息:警告內(nèi)容可以暫時(shí)忽略。在實(shí)際操作中,系統(tǒng)可能會(huì)頻繁地提示警告信息,雖然大多數(shù)的警告信息可以忽略,不予處理,但是錯(cuò)誤內(nèi)容必須處理。圖4-37中提示錯(cuò)誤“依賴檢測(cè)失敗”: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。必須注意的是,依賴的這個(gè)內(nèi)容不是軟件包名,而是軟件和版本。java-11-openjdk是軟件包名。(x86-64)是硬件平臺(tái),也就是arch老師,這里就這樣表述嗎?前面4.5.2節(jié)中介紹arch寫的是“軟件包適用的硬件平臺(tái)”,老師,這里就這樣表述嗎?前面4.5.2節(jié)中介紹arch寫的是“軟件包適用的硬件平臺(tái)”,這個(gè)“arch”可以直接這樣使用,寫在表述里嗎?這里是否需要將“也就是arch”刪除?或者其他。這里是否需要進(jìn)行修改?請(qǐng)確定。將“也就是arch”刪除1:0-4.ky10.ky10是指軟件的版本和適用的系統(tǒng)。這里我們先記下依賴軟件和版本的這個(gè)問題,后面再詳細(xì)介紹,現(xiàn)在先把java-11-openjdk包安裝完成。按照這個(gè)思路到“Packages”文件夾中查找正確的軟件包名,可以找到符合這個(gè)規(guī)則的軟件包java-11-openjdk-0-4.ky10.ky10.x86_64.rpm(見圖4-35)。其實(shí)根據(jù)之前學(xué)習(xí)的內(nèi)容可以推測(cè),依照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包即可??偨Y(jié)一下,如果在安裝軟件包時(shí)存在樹形依賴,則需要先安裝最后提示的依賴包,再根據(jù)軟件包之間的依賴關(guān)系依次反向安裝即可解決樹形依賴的問題。當(dāng)然,并不是所有樹形依賴都是如示例中這樣簡(jiǎn)單的,而是可能出現(xiàn)多分支、多節(jié)點(diǎn),甚至多層級(jí)的依賴關(guān)系,如圖4-41所示。圖4-41較為復(fù)雜的樹形依賴關(guān)系這樣的依賴關(guān)系處理起來就更加復(fù)雜,總體來說,處理方式就是每個(gè)分支單獨(dú)處理,直到最后根節(jié)點(diǎn)安裝成功。2.循環(huán)依賴循環(huán)依賴(如A>B>C>A的形式)不能通過直接安裝軟件包的方式解決,也不能通過解決樹形依賴的方式解決。我們舉個(gè)例子,在最小化安裝的服務(wù)器中嘗試安裝perl-Git軟件包和git軟件包。先檢查一下軟件包的安裝情況,如圖4-42所示。圖4-42檢查軟件包的安裝情況由圖4-42可知,安裝git軟件包時(shí)系統(tǒng)提示依賴perl-Git軟件包,但是安裝perl-Git軟件包時(shí)系統(tǒng)又提示依賴git軟件包,這就是典型的循環(huán)依賴。我們首先按照樹形依賴的解決思路分別安裝perl-Error和perl-TermReadKey這兩個(gè)依賴包,如圖4-43所示。圖4-43安裝依賴包由圖4-43可知,只需要解決git軟件包的依賴問題,就可以安裝perl-Git軟件包了。循環(huán)依賴的問題可以通過同時(shí)安裝多個(gè)軟件包的方式解決。rpm命令支持同時(shí)安裝多個(gè)文件,只需要在“rpm-ivh”命令后輸入多個(gè)軟件包名就可以了。我們通過安裝版本管理工具git來實(shí)際解決循環(huán)依賴的問題。使用rpm命令同時(shí)安裝perl-Git軟件包和git軟件包,如圖4-44所示。圖4-44同時(shí)安裝多個(gè)軟件包這樣,相互依賴的軟件包就可以安裝了。需要注意的是,如果軟件包不在同一個(gè)目錄下,則需要通過“軟件包的完整路徑+軟件包名”的形式安裝軟件包。如果相互依賴的軟件包較多,則依次輸入軟件包名的方式會(huì)仍顯復(fù)雜。這種問題可以通過使用通配符的方式解決。我們舉例嘗試一下。我們?cè)诩夷夸浿袆?chuàng)建子目錄tmp,并將git軟件包和perl-Git軟件包復(fù)制到子目錄tmp中,如圖4-45所示。圖4-45創(chuàng)建子目錄并復(fù)制軟件包這時(shí),我們通過使用通配符的方式執(zhí)行安裝命令,如圖4-46所示。圖4-46通過使用通配符的方式安裝軟件包由圖4-46可知,軟件包安裝成功??偨Y(jié)一下,如果安裝軟件包時(shí)存在循環(huán)依賴的問題,可以通過同時(shí)安裝多個(gè)軟件包的方式解決。rpm命令支持同時(shí)安裝多個(gè)文件的安裝格式,也支持使用通配符的安裝格式。其實(shí)使用通配符的安裝格式只是多個(gè)文件安裝格式的簡(jiǎn)寫,安裝原理是一樣的。通過使用通配符的方式安裝軟件包適用于較多具有依賴性的軟件包同時(shí)安裝的場(chǎng)景,但是要求使用者對(duì)軟件包的依賴性有足夠的了解,可以一次性安裝成功,否則提示的依賴性信息過多將會(huì)影響閱讀。3.類庫(kù)依賴類庫(kù)依賴是指在使用RPM工具安裝軟件包時(shí),提示軟件包依賴的并不是其他軟件包,而是類庫(kù)文件。例如,我們?cè)谧钚』惭b的服務(wù)器中安裝java-11-openjdk包,如圖4-47所示。圖4-47安裝java-11-openjdk包由圖4-47可知,java-11-openjdk包安裝時(shí)依賴libgif.so.7。這里的libgif.so.7并不是軟件包,而是一個(gè)動(dòng)態(tài)類庫(kù)文件。簡(jiǎn)單來說,動(dòng)態(tài)類庫(kù)又稱共享庫(kù),可以為程序提供具有特定功能的公共函數(shù)和公共接口。當(dāng)其他軟件需要調(diào)用這些函數(shù)或接口時(shí),可以通過加載類庫(kù)文件的方式完成調(diào)用,大體上相當(dāng)于Windows系統(tǒng)中的.dll文件。當(dāng)遇到類庫(kù)依賴的情況時(shí),我們就需要查找哪些軟件包中包含這樣的類庫(kù)文件。這樣的類庫(kù)文件有很多老師,這里是“這樣的類庫(kù)文件有很多”呢?還是“包含類庫(kù)文件的軟件包老師,這里是“這樣的類庫(kù)文件有很多”呢?還是“包含類庫(kù)文件的軟件包有很多”呢?或者其他,這里怎樣表述更合適呢?請(qǐng)確定。包含類庫(kù)文件的軟件包有很多圖4-48查詢包含類庫(kù)文件的軟件包通過查詢可以發(fā)現(xiàn),giflib軟件包中包含libgif.so.7類庫(kù)文件,我們可以查看一下系統(tǒng)中提供的giflib軟件包的版本,如圖4-49所示。圖4-49查看giflib軟件包的版本在確認(rèn)系統(tǒng)提供的giflib軟件包的版本后,就可以進(jìn)行安裝了,如圖4-50所示。圖4-50安裝包含類庫(kù)文件的giflib軟件包在安裝包含類庫(kù)文件的giflib軟件包后,再次安裝java-11-openjdk包即可,如圖4-51所示。圖4-51再次安裝java-11-openjdk包由圖4-51可知,再次安裝java-11-openjdk包時(shí)已不再提示類庫(kù)依賴。之后按照此前的辦法完成安裝即可。總結(jié)一下,解決類庫(kù)依賴問題的核心思路是先找到包含類庫(kù)文件的軟件包,然后安裝這個(gè)軟件包就可以了。類庫(kù)查詢可以在RPM軟件包下載網(wǎng)站中進(jìn)行,查詢時(shí)只需要關(guān)注軟件包名即可,具體版本還要到ISO安裝鏡像文件中查看并安裝測(cè)試。4.依賴提示信息通過上面的講解,我們初步了解了依賴的提示信息。依賴提示信息是軟件安裝時(shí)的重要提示內(nèi)容,我們只有讀懂這些提示信息,才能夠解決軟件安裝時(shí)的依賴性問題。在之前講解時(shí)遇到的軟件依賴提示信息主要有以下幾種格式:java-11-openjdk-headless(x86-64)=1:0-4.ky10.ky10(見圖4-37)。perl(Error)(見圖4-42)。perl(Term::ReadKey)(見圖4-42)。第一種格式我們?cè)敿?xì)講解過,這種格式提供了軟件包名、軟件包版本號(hào)、編譯次數(shù)老師,這里是“編譯次數(shù)”呢?還是“軟件編譯版本號(hào)”呢?(前面4.5.2節(jié)在介紹軟件包包名格式時(shí)寫的是“軟件編譯版本號(hào)”,沒有寫“編譯次數(shù)”。)或者其他老師,這里是“編譯次數(shù)”呢?還是“軟件編譯版本號(hào)”呢?(前面4.5.2節(jié)在介紹軟件包包名格式時(shí)寫的是“軟件編譯版本號(hào)”,沒有寫“編譯次數(shù)”。)或者其他。這里是否需要進(jìn)行修改?請(qǐng)確定。軟件編譯版本號(hào)老師,這里是“編譯平臺(tái)”呢?還是“軟件包適用的平臺(tái)”呢?或者是“軟件包適用的硬件平臺(tái)”?(前面4.5.2節(jié)在介紹軟件包包名格式時(shí)寫的是“軟件包適用的平臺(tái)”和“軟件包適用的硬件平臺(tái)”,沒有寫“編譯平臺(tái)”。)或者其他。這里是否需要進(jìn)行修改?請(qǐng)確定。軟件包適用的平臺(tái)第二種格式和第三種格式可以算作同一種情況,是主包和子包的關(guān)系形式。我們?cè)诎惭b過程中可以通過命令提示(按兩次Tab鍵)的方式找到相應(yīng)的軟件包(見圖4-43中的命令操作)。其實(shí)依賴提示信息還有一種常見格式,如圖4-52所示。圖4-52依賴提示信息的另一種常見格式圖4-52所示的依賴提示信息中有一條信息是“java-headless>=1:1.6被tomcat-taglibs-standard-0:1.2.5-6.ky10.ky.noarch需要”,這條信息的意思是“需要安裝java-headless,其版本號(hào)不小于1.1.6”。也就是說,在提示依賴信息時(shí),要求的軟件版本號(hào)不一定是確定的,也可能通過最小版本或最大版本形式提示??偨Y(jié)一下,依賴提示信息中可能有版本號(hào)要求,也可能沒有版本號(hào)要求。當(dāng)要求版本號(hào)時(shí),版本號(hào)要求的格式有以下3種:=:版本號(hào)必須是提示的版本號(hào)。>=:版本號(hào)大于或等于提示的版本號(hào),也就是不小于提示的版本號(hào)。<=:版本號(hào)小于或等于提示的版本號(hào),也就是不大于提示的版本號(hào)。內(nèi)容5:YUM工具的配置在前面的內(nèi)容中,我們學(xué)習(xí)了如何使用yum命令,可以體會(huì)到使用yum命令安裝、升級(jí)和卸載軟件包的方便之處。但是我們之前也提到過,YUM的核心原理是具有一個(gè)可靠的中央倉(cāng)庫(kù),在使用過程中,中央倉(cāng)庫(kù)的內(nèi)容完全沒有體現(xiàn)。那么中央倉(cāng)庫(kù)在哪里呢?我們可否修改中央倉(cāng)庫(kù)的地址呢?YUM工具還有哪些個(gè)性化的配置呢?我們可以想到,麒麟系統(tǒng)中“一切皆文件”,所以YUM工具是有它的配置文件的。下面,我們就來看看YUM工具的配置文件。1.通用配置老師,這里寫的是“通用配置”,老師,這里寫的是“通用配置”,而下面標(biāo)黃處寫的是“主配置信息”和“全局配置內(nèi)容”,這3者可以統(tǒng)一嗎?如果可以統(tǒng)一,那么統(tǒng)一為哪個(gè)更合適呢?請(qǐng)確定。主配置信息YUM工具的主配置信息位于/etc/yum.conf文件中,我們查看一下該文件中的內(nèi)容,如圖4-53所示。圖4-53/etc/yum.conf文件中的內(nèi)容圖4-53中第一行的“[main]”是這一段的名字,下面是配置項(xiàng),我們來逐行講解一下。gpgcheck:表示yum命令是否對(duì)軟件包執(zhí)行GPG簽名檢查,默認(rèn)值是1,表示啟用GPG簽名檢查。可以將其值設(shè)置為0,表示不啟用GPG簽名檢查。installonly_limit:表示系統(tǒng)保留幾個(gè)內(nèi)核包。clean_requirements_on_remove:表示卸載時(shí)是否清除環(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)默認(rèn)使用的是kylin_x86_64.repo文件,我們查看一下該文件中的內(nèi)容,如圖4-55所示。圖4-55kylin_x86_64.repo文件中的內(nèi)容由圖4-55可知,kylin_x86_64.repo文件中的內(nèi)容默認(rèn)分為3段,每段都有一個(gè)默認(rèn)的名字,并且每段的配置項(xiàng)都是相同的,每段都可以被稱為一個(gè)YUM源。我們以“ks10-adv-os”段為例介紹一下配置項(xiàng)。[ks10-adv-os]:本地記錄YUM源的ID,用于區(qū)分不同的YUM源。此值不可重復(fù),必須寫在中括號(hào)“[]”之間。name:YUM源說明,隨意填寫。baseurl:YUM倉(cāng)庫(kù)的訪問地址,必須填寫完整的訪問路徑。gpgcheck:是否啟用GPG簽名檢查,與/etc/yum.conf文件中的用法相同。gpgkey:PGP數(shù)字證書的公鑰文件老師,這里確定是“PGP數(shù)字證書的公鑰文件”嗎?左側(cè)標(biāo)老師,這里確定是“PGP數(shù)字證書的公鑰文件”嗎?左側(cè)標(biāo)綠處寫的是“gpgkey”,這里是否需要進(jìn)行修改?請(qǐng)確定。不需要修改enabled:YUM源是否生效,默認(rèn)值是1,表示生效??梢詫⑵渲翟O(shè)置為0,表示不生效,如果不寫此項(xiàng),則默認(rèn)為1老師,這里是(如果不寫此項(xiàng),則默認(rèn)“enabled=老師,這里是(如果不寫此項(xiàng),則默認(rèn)“enabled=1”)嗎?應(yīng)該不是“如果不設(shè)置該項(xiàng)的值,則默認(rèn)其值為1”吧?或者其他。這里怎樣表述更合適呢?請(qǐng)確定。如果不設(shè)置該項(xiàng)的值,則默認(rèn)其值為1對(duì)于這些配置內(nèi)容,使用者真正需要關(guān)注的就是“baseurl”和“enabled”選項(xiàng),只要正確配置了YUM倉(cāng)庫(kù)的訪問地址,并且令enabled=1(即設(shè)置YUM源生效),則YUM源就配置完成了。了解了配置文件中的內(nèi)容,我們?cè)賮砜匆幌率褂脃um命令安裝tree命令軟件包的過程,如圖4-56所示。圖4-56使用yum命令安裝tree命令軟件包在圖

4-56

所示的安裝提示信息中,“Installing”段內(nèi)容中的第4列對(duì)應(yīng)的內(nèi)容就是YUM源的ID。我們嘗試修改YUM工具配置文件中的ID,再測(cè)試一下。我們將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源來安裝、升級(jí)和卸載軟件包的。但是在實(shí)際生產(chǎn)環(huán)境中,由于數(shù)據(jù)安全、辦公環(huán)境等,很多情況下服務(wù)器是不能連接互聯(lián)網(wǎng)的。而使用rpm命令安裝軟件包,軟件包的依賴性問題將會(huì)嚴(yán)重影響軟件包的安裝效率。為此,YUM工具提供了本地搭建YUM源的功能。下面,我們來學(xué)習(xí)如何在帶有UKUI的服務(wù)器上通過光盤制作本地YUM源。之前我們講過,YUM工具的配置文件分為全局配置文件和自定義配置文件。全局配置文件是對(duì)YUM工具的總體設(shè)置,我們盡量不要對(duì)其進(jìn)行修改。真正配置YUM源地址的文件是/etc/yum.repos.d/kylin_x86_64.repo,下面我們就來嘗試修改這個(gè)文件。為了方便未來使用,我們先備份一下這個(gè)文件,如圖4-59所示。圖4-59備份YUM工具的自定義配置文件其實(shí)制作本地YUM源就

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論