版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件包管理04榆林職業(yè)技術(shù)學院楊浩Linux系統(tǒng)基礎(chǔ)與應(yīng)用實踐1學習目標1.了解Linux系統(tǒng)中軟件包的兩種基本類型,源碼包和二進制包。2.了解RPM包的命名規(guī)則、RPM包名、包全名及其依賴性等概念。3.掌握RPM包的安裝、升級、卸載、查詢及其校驗的基本方法。4.掌握yum源的基本概念以及yum源常用查詢命令及安裝、升級、卸載命令的使用方法。5.掌握光盤yum源的搭建方法。6.掌握源碼包的基本概念及其安裝、卸載的基本方法。7.了解腳本安裝包的基本概念及其安裝過程。本章學習目標24.1軟件包簡介3源碼包二進制包Linux軟件包
源碼包就是通常所說的源代碼包,如腳本安裝包就是源碼包,由于源碼包開放源代碼,所以任何用戶都可以根據(jù)需要修改、優(yōu)化源代碼,也可以自由選擇所需功能。源碼包安裝過程很容易報錯,一旦報錯,就需要通過分析源代碼的方法來解決,由于新手一般不具備必要的Linux知識基礎(chǔ)和編程技巧,所以很難解決。不過,源碼包的卸載非常方便(把安裝目錄刪了即可,不會留下任何垃圾文件),雖然如此,現(xiàn)在也很少使用源碼包了。
二進制包是Linux默認包,是源碼包經(jīng)過編譯后的可執(zhí)行程序包,即通常所說的RPM(Red-HatPackageManager,red-hat軟件包管理器)包。二進制包執(zhí)行速度很快,但是不能對程序進行修改。對二進制包管理的非常簡單,包的安裝、升級、查詢以及卸載非常方便,只需執(zhí)行幾條命令即可。
小知識:Window軟件都不能在Linux系統(tǒng)上運行,所以基于Window系統(tǒng)的病毒對Linux系統(tǒng)沒有任何威脅,所以所有的基于Window的應(yīng)用,要在Linux上實現(xiàn),必須專門開發(fā)。4.2用rpm命令管理RPM包
通常RPM包的文件名稱由六個段組成,其命名遵循如下格式:第1段-第2段-第3段.第4段.第5段.第6段
第1-3段之間用“-”號分割,第3-6段之間用“.”號分割。第1段用于指定軟件包名稱;第2段用于指定-軟件版本號;第3段用于指定-軟件發(fā)布次數(shù);第4段用于指定可運行的Linux平臺;第5段用于指定可運行的硬件平臺;第6段就是RPM包擴展名(.rpm)。
例4.1從“httpd-2.2.15-15.e16.centos.1.i686.rpm”文件名,可以獲取哪些信息?
雖然RPM包管理器是以Red-Hat命名的,但是其設(shè)計理念是開放式的,在幾乎所有的Linux的發(fā)行版本中都支持RPM包管理器。44.2.1RPM包命名規(guī)則
解答:根據(jù)RPM包命名規(guī)則可知,該文件是RPM包文件,其軟件名稱是httpd,軟件版本是2.2.15,該軟件已發(fā)布15次,適合在e16和centos兩種linux系統(tǒng)上安裝,需要硬件平臺i686支持。
注意:RPM包的包名和包全名是不一樣,在軟件包的管理中,有時候需要用包名,有時候需要用包全名。在例4.1中,RPM包的包名是httpd,包全名是httpd-2.2.15-15.e16.centos.1.i686.rpm。
小知識:Linux系統(tǒng)并不要求為文件設(shè)置擴展名,Linux也不認識擴展名,Linux系統(tǒng)的文件擴展名是用戶為了自己管理方便而額外添加的。4.2用rpm命令管理RPM包
RPM包的依賴性是指相關(guān)軟件包的安裝有一定的先后次序,而且后續(xù)安裝的RPM包依賴于先前安裝的RPM包,只有被依賴的RPM包成功安裝了,后續(xù)RPM包才能順利安裝,否則就會報錯,提示被依賴的RPM包沒有安裝,需要首先安裝被依賴RPM包。
當被依賴的RPM包以“so.2”為“擴展名”時,表明這是一個庫依賴包,而不是一個獨立的RPM包,庫依賴包包含于RPM包中,此時需要安裝相應(yīng)的RPM包。
那么如何知道特定的庫依賴于哪個RPM包呢?我們可以通過
網(wǎng)址非常方便地查詢到特定庫所依賴的RPM包。54.2.2RPM包的依賴性010302環(huán)形依賴模塊依賴樹形依賴RPM包依賴性4.2用rpm命令管理RPM包
每個RPM包都有包名和包全名,當我們操作的包沒有被安裝時,就用使用包全名,例如,在安裝、升級RPM包時,就要使用包全名。當我們操作的包已經(jīng)被安裝好時,就使用包名,因為RPM包安裝后,會被在/var/lib/rpm目錄下的數(shù)據(jù)庫中記錄相應(yīng)的信息,系統(tǒng)會自動搜索該目錄下的相應(yīng)數(shù)據(jù)庫。rpm命令的完整路徑是/usr/bin,用于對RPM包的安裝、所屬包查詢、依賴性查詢、包校驗及卸載等管理操作。不同的操作,其命令格式不同,下面詳細介紹rpm命令功能:64.2.3RPM包的安裝、卸載與查詢
rpm命令可以用來安裝或升級指定的RPM包。
命令格式:[root@localhost~]#rpm[選項]包全名
選項說明:-i安裝(install)-v顯示詳細信息(verbose)-h顯示進度(hash)-U升級包(upgrade)--nodeps不檢測依賴性(nodependency),如果找不到包的依賴關(guān)系,可以用該選項強制安裝。1.RPM包的安裝、升級命令4.2用rpm命令管理RPM包
例4.2從光盤安裝yum軟件包。
第一步:檢查光盤是否已掛載:[root@localhost~]#mount
如果光盤沒有被掛載,執(zhí)行以下操作完成掛載:
首先:進行虛擬機設(shè)置,選擇“使用IOS映像文件(M)”單選按鈕,選擇合適的Linux映像文件(如:centos-6.5-x86_64-bin-dvd1.ios),同時選中“已連接”復選框。相當于把光盤放入光驅(qū)。
其次,建立光盤掛載點/mnt/cdrom,并掛載,同時檢測是否掛載:[root@localhost~]#mkdir/mnt/cdrom[root@localhost~]#mount/dev/sr0/mnt/cdrom[root@localhost~]#mount74.2.3RPM包的安裝、卸載與查詢
執(zhí)行上述命令后,如顯示如下信息,說明光盤掛載成功:……/dev/sr0on/mnt/cdromtypeiso9660(ro)
第二步:安裝yum[root@localhost~]#rpm–ivh/mnt/cdrom/Packages/yum-3.2.29-40.e16.centos.noarch.rpmyum文件中的“noarch”表示該yum包可以安裝到任何硬件系統(tǒng),輸入上述命令后按回車鍵開始安裝,若出現(xiàn)如下信息,說明安裝成功:……packageyum-3.2.29-40.e16.centos.noarchisalreadyinstalled
注意:在安裝過程中如出現(xiàn)依賴問題,需要先安裝被依賴包,如果依賴的是.so.2庫依賴文件,則通過網(wǎng)址查找所在的RMP包并安裝。4.2用rpm命令管理RPM包
rpm命令也可以用來卸載指定的RPM包。
命令格式:[root@localhost~]#rpm[選項]包名
選項說明:-e卸載(eraser)--nodeps不檢測依賴性(nodependency)
卸載RPM包時使用的是包名,如果被卸載的包是其它包的依賴包,則不能被卸載。
84.2.3RPM包的安裝、卸載與查詢rpm命令的包查詢功能用于查詢指定的RPM包是否已被安裝。
命令格式:[root@localhost~]#rpm[選項][{包名}{包全名}]
選項說明:-q查詢(query)。-a查詢所有已安裝的包,不能單獨使用,與q選項配合使用。-i查詢軟件包的詳細信息,不能單獨使用,與q選項配合使用。-p在當前目錄下獲取未安裝包的相關(guān)信息,不能單獨使用,與q選項配合使用。-l查詢包中文件的安裝位置,不能單獨使用,與q選項配合使用。參數(shù)說明:
包名或包全名
如果查詢已安裝包,就需要用包名;如果查詢未安裝的包,則用包全名。2.RPM包的卸載3.RPM包查詢命令4.2用rpm命令管理RPM包
例4.3
可用如下命令查詢Linux系統(tǒng)將把setup軟件包中的文件安裝在哪些目錄下(setup軟件包未安裝):[root@localhost~]#rpm–qpl/mnt/cdrom/Packages/setup-2.8.14-20.e16-4.1.noarch.rpm
例4.4可用如下命令查看所有未安裝的RPM包:[root@localhost~]#rpm–qp/mnt/cdrom/Packages/*.rpm
例4.5可用如下命令在未安裝的RPM包中查找java軟件包:[root@localhost~]#rpm–qp/mnt/cdrom/Packages/*.rpm|grep–ijava
例4.6可用如下命令查看setup軟件包是否已安裝:[root@localhost~]#rpm–qa|grep–isetup94.2.3RPM包的安裝、卸載與查詢
例4.7可用如下命令查看yum軟件包的包全名(yum包已安裝):[root@localhost~]#rpm–qyum例4.8可用如下命令查看yum軟件包的基本信息:[root@localhost~]#rpm–qiyum#yum包已安裝,所以用包名例4.9可用如下命令查看zip軟件包的基本信息(未安裝):[root@localhost~]#rpm–qip/mnt/cdrom/Packages/zip-3.0-1.e16.x86_64.rpm#zip包未安裝,所以用包全名
例4.8和例4.9利用“i”命令選項分別查看已安裝包和未安裝包的基本信息,包括包名稱、版本號、Linux發(fā)布版本、硬件平臺、是否安裝及安裝時間等。4.2用rpm命令管理RPM包rpm命令的所屬包查詢功能用于查詢指定系統(tǒng)文件屬于哪個RPM包。
命令格式:[root@localhost~]#rpm[選項]系統(tǒng)文件名
選項說明:-q查詢(query)-f查詢指定系統(tǒng)文件屬于哪個RPM包,不能單獨使用,與q選項配合使用。系統(tǒng)文件名要使用絕對路徑或相對路徑。104.2.3RPM包的安裝、卸載與查詢例4.10可用如下命令查看useradd命令屬于哪個RPM包:[root@localhost~]#whereisuseradd
#獲得useradd命令的目錄位置[root@localhost~]#rpm–qf/usr/sbin/useradd
#查看所在RPM包執(zhí)行結(jié)果為:shadow-utils--13.e16.x86_644.系統(tǒng)文件所屬RPM包查詢4.2用rpm命令管理RPM包rpm命令的包依賴性查詢功能用于查詢指定RPM包的依賴關(guān)系。
命令格式:[root@localhost~]#rpm[選項][{包名}{包全名}]
選項說明:-q查詢(query),查詢指定包(包名)是否安裝,如果已安裝,則顯示對應(yīng)的包全名,否則提示指定的軟件包未安裝。-R查詢已安裝的指定RPM包的依賴性,不能單獨使用,與q選項配合使用。-p查詢未安裝的指定RPM包的依賴性,不能單獨使用,與qR選項配
合使用。114.2.3RPM包的安裝、卸載與查詢
參數(shù)說明:
包名或包全名
如果查詢已安裝包,則用包名;如果查詢未安裝的包,則用包全名。
例4.11
可用如下命令查詢已安裝軟件包yum的依賴關(guān)系:[root@localhost~]#rpm–qRyum
例4.12可用如下命令查詢未安裝軟件包zip的依賴關(guān)系:[root@localhost~]#rpm-qpR/mnt/cdrom/Packages/zip-3.0-1.el6.x86_64.rpm5.查詢RPM包的依賴性4.2用rpm命令管理RPM包
rpm命令的包校驗功能用于判斷系統(tǒng)文件是否被修改過,如果軟件包中的文件被修改過,那么將顯示被修改的文件和修改細節(jié),如果文件未被修改,則不顯示任何信息。
命令格式:[root@localhost~]#rpm–V已安裝的包名選項說明:-V校驗指定RPM包中的文件(verify)124.2.3RPM包的安裝、卸載與查詢
例4.13可用如下命令依次校驗yum包和httpd包中的文件是否被修改過:[root@localhost~]#rpm–Vyum#校驗yum包
因為yum包中的文件沒有被修改,所以不顯示任何信息。[root@localhost~]rpm–Vhttpd#校驗httpd包
顯示如下信息:S.5….T.c/etc/httpd/conf/httpd.conf
該信息中的前八位“S.5….T”對應(yīng)八位修改代號,如果相應(yīng)內(nèi)容被修改,則對應(yīng)位顯示相應(yīng)的修改代號,否則顯示“.”符號。該例中,該文件的大小、內(nèi)容、修改時間發(fā)生了變化。
6.RPM包校驗4.2用rpm命令管理RPM包
修改代號的詳細說明如表4.1所示.134.2.3RPM包的安裝、卸載與查詢
該信息中的第十位是標志文件類型的類型代碼,文件類型代碼及其含義如表4.2所示。此例中,文件的類型是配置文件(c)。
6.RPM包校驗表4.1RPM包修改代號及其含義對照表表4.1RPM包文件類型代號及其含義對照表文件類型代號說明c配置文件(configfile)d普通文件(documentation)g“鬼”文件(ghostfile),很少見,就是該文件不應(yīng)該被這個RPM包包含l授權(quán)文件(licensefile)r描述文件(readme)修改代號說明S文件大小的修改M文件類型或文件權(quán)限(rwx)的修改5文件MD5校驗和是否改變(可以看做是文件內(nèi)容的修改)。D設(shè)備L文件路徑是否改變U文件的屬主(所有者)是否改變G文件的屬組是否改變T文件的修改時間是否改變4.2用rpm命令管理RPM包
當系統(tǒng)文件受到損壞后,可以從RPM包中提取對應(yīng)文件來進行修復。
命令格式:[root@localhost~]#rpm2cpio包全名|cpio–idv.文件絕對路徑
選項說明:rpm2cpio:將RPM包轉(zhuǎn)換為cpio格式;cpio:是一個標準工具,用于創(chuàng)建軟件檔案文件或從檔案文件中提取文件。-div:是命令cpio的命令選項,有關(guān)cpio命令及選項請查閱相關(guān)技術(shù)文檔,這里不再詳述。
注意:“.”和“文件絕對路徑”之間無空格!
例4.14
假設(shè)/bin/ls文件被損壞,請從Linux安裝文件的映像文件的RPM包中抽取相應(yīng)文件予以修復。
第一步:查看/bin/ls文件所在的RPM包:[root@localhost~]#rpm–qf/bin/ls#查看/bin/ls的RPM包文件名144.2.3RPM包的安裝、卸載與查詢執(zhí)行結(jié)果為:coreutils-8.4-31.el6.x86_64第二步:設(shè)置/bin/ls文件被破壞的實驗環(huán)境(移動到/root/temp目錄):[root@localhost~]#mv/bin/ls/root/temp#移除/bin/ls文件第三步:驗證/bin/ls文件的確不存在:[root@localhost~]#dir/bin/ls#確認/bin/ls文件不存在,注意ls命令失效第四步:將/bin/ls所在RPM軟件包轉(zhuǎn)換為cpio格式,并從中提取/bin/ls文件到當前目錄:[root@localhost~]#rpm2cpio/mnt/cdrom/Packanges/coreutils-8.4-19.e16\.i686.rpm|cpio–idv./bin/ls#從RPM包中抽取/bin/ls文件的到當前目錄第五步:將當前目錄下的/bin/ls拷貝到/bin目錄:[root@localhost~]#cdbin[root@localhost~]#cpls/bin/7.從RPM包中提取文件4.3用yum命令管理RPM包
第一步:運行下列setup命令:[root@localhost~]#setup
進入圖像界面窗口,選擇“網(wǎng)絡(luò)配置”,分別配置IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)、DNS地址,然后保存退出。
第二步:執(zhí)行下列命令啟動網(wǎng)卡:[root@localhost~]#vi/etc/sysconfig/network-scripts/ifcfg-eth0
修改ONBOOT的值為“yes”
154.3.1yum源簡介
第三步:運行下列命令,重啟網(wǎng)絡(luò)服務(wù),使配置生效:[root@localhost~]#sevicenetworkrestart
第四步:檢查與互聯(lián)網(wǎng)的連通性,如:[root@localhost~]#ping2.網(wǎng)絡(luò)yum源簡介
通常,在/etc/yum.repos.d目錄下有四個yum源。執(zhí)行如下命令可以看到這些yum源:root@localhost~]#cd/etc/yum.repos.d/[root@localhostyum.repos.d]#lsCentOS-Base.repoCentOS-Debuginfo.repoCentOS-Media.repoCentOS-Vault.repo
上述四個yum源中,最常用的是網(wǎng)絡(luò)yum源(Centos-Base.repo)和本地yum源(Centos-Media.repo),默認情況下網(wǎng)絡(luò)yum源生效,在沒有網(wǎng)絡(luò)的環(huán)境下,使用本地yum源。1.配置IP地址yum是為了解決RPM命令中的依賴性問題而產(chǎn)生的一種在線管理工具,用yum命令安裝RPM包,會自動在線監(jiān)測特定RPM依賴關(guān)系,并自動完成安裝過程。4.3用yum命令管理RPM包
下面以網(wǎng)絡(luò)yum源為例,對yum源做如下解釋:[root@localhostyum.repos.d]#viCentos-Base.repo#顯示yum源信息
執(zhí)行結(jié)果如下:[base]name=CentOS-$releasever-Basemirrorlist=/?release=$releasever&arch=$basearch&repo=os#baseurl=/centos/$releasever/os/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6164.3.1yum源簡介
對Centos-Base.repo文件解釋如下:[base]yum源(軟件包)所在的容器名稱,一定要用一對方括號括起來,可以修改為別的任意名稱。name容器說明信息,也可以任意修改。mirrorlist站點鏡像,它與baseurl有其中一個生效即可,此例中站點鏡像生效。baseurlyum源服務(wù)器地址,默認是官方y(tǒng)um源服務(wù)器地址,它與mirrorlist有其中一個可用即可,此例中,該地址被注釋掉了,所以該地址無效。enabled容器是否生效,值為“1”表示生效,值為“0”表示無效,缺省值為“1”。gpgcheck數(shù)字證書是否生效,“1”表示生效,“0”表示不生效。gpgkey數(shù)字證書的公鑰文件保存位置。1.配置IP地址4.3用yum命令管理RPM包
yumlist命令用來在遠程服務(wù)器上查詢可用的(可安裝的或可升級的)軟件包。
命令格式:[root@localhost~]#yumlist[參數(shù)]
參數(shù)說明:無參數(shù)時
在遠程服務(wù)器上查詢所有可用的軟件包列表。update在遠程服務(wù)器上查詢所有可更新的軟件包。installed在遠程服務(wù)器上查詢所有可安裝的軟件包。軟件包名
在遠程服務(wù)器上查詢所指定的軟件包。174.3.2yum常用命令
該命令在執(zhí)行過程中,如果出現(xiàn)站點不可用的提示信息,需要對Centos-Base.repo文件進行修改,選擇使用實際服務(wù)器地址還是使用鏡像站點。常用查詢命令1)yumlist命令
小知識:包名和包全名是RPM命令中的概念,在yum命令中不存在包名和包全名的概念。
例4.15可用如下命令查詢遠程服務(wù)器上所有可更新的軟件包:[root@localhost~]#yumlistupdate
例4.16可用如下命令查詢本機上所有已安裝的軟件包:[root@localhost~]#yumlistinstalled4.3用yum命令管理RPM包yumsearch命令用來在服務(wù)器上查找所有與關(guān)鍵字相關(guān)的所有軟件包。
命令格式:[root@localhost~]#yumsearch關(guān)鍵字
例4.17可用如下命令在遠程服務(wù)器上查詢與“zip”關(guān)鍵字相關(guān)軟件包信息:[root@localhost~]#yumsearchzip184.3.2yum常用命令
3)yuminfo命令
yuminfo命令在遠程服務(wù)器上查詢指定包的信息。
命令格式:[root@localhost~]#yuminfo[參數(shù)]
參數(shù)說明:軟件包
在遠處服務(wù)器上查詢指定包的信息。installed在遠處服務(wù)器上查詢已安裝的軟件包的信息。
例4.18可用如下命令在遠程服務(wù)器上查詢shadow包的基本信息:[root@localhost~]#yuminfoshadow常用查詢命令2)yumsearch命令4.3用yum命令管理RPM包
yum命令可用于安裝、升級、卸載軟件包。
命令格式:[root@localhoset~]#yum–y[install|update|upgrade|remove][包名]
選項說明:-y出現(xiàn)詢問時,自動回答:yes,缺省為由用戶選擇回答。
參數(shù)說明:install安裝軟件包upgrade只升級軟件包,不升級系統(tǒng)軟件和系統(tǒng)內(nèi)核。remove表示卸載軟件包,連所依賴的包全部卸載,極有可能影響到其它命令包的正常使用,所以必須慎用remove!194.3.2yum常用命令
update升級軟件包,如果缺省包名,表示升級所有的軟件包,且同時升級系統(tǒng)軟件和系統(tǒng)內(nèi)核。升級Linux內(nèi)核需要對Linux重新進行配置后才能啟用,所以不建議遠程升級Linux軟件包,那樣會導致無法遠程登錄Linux系統(tǒng),而且有可能直接導致服務(wù)崩潰,所以一定慎用update參數(shù),使用時切記指定要升級的軟件包!
例4.19可用如下命令安裝C語言編譯器。[root@localhost~]#yum–yinstallgcc2.安裝、升級、卸載軟件包
小知識:Linux軟件包采用最小安裝原則,最好不使用yum卸載命令,以免系統(tǒng)其它功能受到影響,甚至癱瘓。4.3用yum命令管理RPM包
第一步:設(shè)置虛擬機,將相應(yīng)的光盤鏡像“放入光驅(qū)”,選中“已連接”復選框,單擊“確定”按鈕,然后執(zhí)行如下光盤掛載命令:[root@localhost~]#mount/dev/sr0/mnt/cdrom204.3.4光盤yum源搭建
第二步:使網(wǎng)絡(luò)yum源無效。將/etc/yum.repos.d目錄下的CentOS-Base.repo、CentOS-Debuginfo.repo和CentOS-Vault.repo三個文件全部失效(也就是只讓本地源CentOS-Media.repo生效)。
方法一:yum源文件中有個參數(shù)“enabled”,其值為“1”時表示該yam源有效,其值為“0”時表示該yum源失效。所以可以通過將上述三個yum源的“enabled”值設(shè)為“0”使其失效。
方法二:也可以通過改名使其失效,因為yum命令執(zhí)行操作時,只把以“.repo”為后綴名的文件作為yum源,所以只要修改上述三個文件的后綴名也可以使其失效(注意:任務(wù)完成后要還原文件名)。
inux系統(tǒng)在默認情況下是以網(wǎng)絡(luò)yum源作為默認yum源的,但是在網(wǎng)絡(luò)條件不太好的環(huán)境下,從網(wǎng)絡(luò)安裝RPM包會浪費很多時間,甚至會因網(wǎng)絡(luò)超時而失敗。這時我們就要考慮使用光盤yum源,即本地yum源。下面詳細說明光盤yum源的搭建方法:4.3用yum命令管理RPM包214.3.4光盤yum源搭建
第三步:使光盤yum源生效
通過vi命令進入CentOS-Media.repo文件,修改光盤地址參數(shù)“baseurl”的值為光盤實際物理地址如(file:///mnt/cdrom),同時注釋掉其它無效地址,修改參數(shù)“enabled”的值為“1”:[root@localhostyum.repos.d]#viCentOS.Media.repo#編輯該文件……Baseurl=file:///mnt/cdrom#修改文件地址為本地光盤掛載地址#file:///media/cdrom/#注釋掉無效的光盤地址Enabled=1#設(shè)置光盤yum源有效……執(zhí)行如下改名操作[root@localhost~]#cd/etc/yum.repos.d[root@localhostyum.repos.d]#mvCentOS-Base.repoCentOS-Base-repo.txt[root@localhostyum.repos.d]#mvCentOS-Debuginfo.repo\CentOS.Debugino.repo.txt[root@localhostyum.repos.d]#mvCentOS.Vault.repoCentOS.Vault.repo.txt4.3用yum命令管理RPM包224.3.4光盤yum源搭建第四步:驗證光盤yum源生效[root@localhostyum.repos.d]#yumlist
可以看到y(tǒng)um源的標記都變成了c6-media,說明我們使用的是本地光盤yum源。
小知識:任何配置文件的注釋,必須頂格注釋,“#”前不能有任何空格,否則會報錯。
在上節(jié)內(nèi)容中,我們使用的是網(wǎng)絡(luò)yum源,yum源的標記是base。通過查看網(wǎng)絡(luò)yum源(CentOS-Base.repo)和光盤yum源(CentOS-Media.repo)的文件內(nèi)容,可以看到這兩個yum源的容器依次是“[base]”,“[c6-media]”。4.4源碼包管理234.4.1源碼包與RPM包的區(qū)別
源碼包是開源的,任何人都可以對它進行修改,也正因為這個原因,源碼包安裝速度更慢,而且容易報錯,對于新手來說非常難于解決安裝過程中出現(xiàn)的錯誤,而RPM包是經(jīng)過編譯的,用戶不能看到其源代碼,雖然不利于人們優(yōu)化軟件包,但其安裝簡單,在安裝過程中出現(xiàn)的問題也較易解決。
源碼包和RPM包不僅在概念上有區(qū)別,在安裝位置上和管理上也有區(qū)別。表4.3RPM包默認安裝目錄表RPM包默認安裝目錄說
明/etc/配置文件安裝目錄/usr/bin/可執(zhí)行命令安裝目錄/usr/lib/程序使用的函數(shù)庫保存位置/usr/share/doc/基本的軟件使用手冊保存位置/usr/share/man/幫助文件保存位置RPM包的安裝位置都是由系統(tǒng)提前規(guī)劃好的(雖然安裝位置可以改變,但我們不建議修改安裝目錄),RPM包的默認安裝位置如表4.3所示,而源碼包的安裝位置是由用戶手工指定,一般的安裝位置是“/usr/local/具體軟件名/”。
4.4源碼包管理244.4.1源碼包與RPM包的區(qū)別
由于RPM包和源碼包的安裝位置不同,使得它們在管理方面也不同:RPM軟件包安裝在Linux默認的安裝目錄,可以讓Linux準確定位文件所在目錄,所以可以通過服務(wù)管理命令(service)命令來管理.
例如,我們啟動Apache服務(wù)可以使用如下命令:[root@localhost~]#/etc/rc/d/init.d/httpdstart#絕對路徑法或[root@localhost~]#servicehttpdstart#service命令法
小知識:/usr目錄不是用戶目錄!而是Linux的系統(tǒng)資源目錄(UnixSystemResource)!Service命令會自動到RPM包的默認安裝目錄中搜索相應(yīng)的命令(如httpd),所以不需要用絕對地址。然而,Service并不知道源碼包的安裝位置(如/usr/local),所以service命令不能管理源碼包,所以要啟動源碼包安裝的程序,必須使用絕對路徑。
假如,Apache服務(wù)的源碼包安裝在了/usr/local/apache2/bin/,則必須用如下方法啟動該服務(wù):[root@localhost~]#/usr/local/apache2/bin/apachectlstart
注意:service命令是Red系列Linux專用命令,其它系列Linux不一定能用!4.4源碼包管理254.4.2源碼包安裝過程
如果在向外提供服務(wù)時,對程序執(zhí)行效率有更高要求,就建議采用源碼包安裝,因為源碼包在安裝時已經(jīng)編譯,執(zhí)行率更高。1.源碼包的安裝過程
第一步:安裝C語言編譯器。用rpm–qgcc命令檢查C語言編譯器gcc是否被安裝,如果沒有安裝,可用yum–yinstallgcc命令安裝。
第二步:下載源碼包。以安裝Apache為例,在/apache/httpd網(wǎng)址下載源碼包。
第三步:把下載好的Apache源碼包httpd-2.2.9.tar.gz利用winSCP工具復制到Linux系統(tǒng)下。Linux系統(tǒng)一般把源碼包保存在/usr/src目錄。
第四步:對http-2.2.9.tar.gz源碼包解壓縮。執(zhí)行下列命令:[root@localhost~]#tar-zxvfhttpd-2.2.9.tar.gz
解壓縮后,/root目錄下就會出現(xiàn)一個解壓縮目錄/httpd-2.2.9。
第五步:進入解壓縮目錄(不能省略):[root@localhost~]#cdhttpd-2.2.9[root@localhosthttpd-2.2.9]#ls
可以看到有兩個大寫的文件名INSTALL(安裝說明)和README(使用說明),用戶可以查看這兩個文件的相關(guān)幫助信息。
第六步:軟件配置與檢測。定義需要的功能選項,檢測系統(tǒng)環(huán)境是否符合安裝要求,把定義好的功能選項和檢測系統(tǒng)環(huán)境的信息都寫入Makfile文件,用于后續(xù)編譯。4.4源
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2012年高考語文試卷(安徽)(空白卷)
- 《離子濃度大小比較》課件
- 挑戰(zhàn)與突破自我
- 探索物理定律的奧秘
- 《痛苦的職場人》課件
- 工作調(diào)研報告(合集三篇)
- 2023年項目部安全管理人員安全培訓考試題附參考答案(達標題)
- 2023年項目部安全管理人員安全培訓考試題(1套)
- 母親節(jié)新媒體策劃
- 初中語文教師教學工作總結(jié)11篇
- CNAS-CL02-A001:2023 醫(yī)學實驗室質(zhì)量和能力認可準則的應(yīng)用要求
- ??低晿寵C攝像機檢測報告.文檔
- 部編小語一下三單元(《小公雞和小鴨子》《樹和喜鵲》《怎么都快樂》)大單元學習任務(wù)群教學設(shè)計
- 體檢中心組織架構(gòu)
- 森林撫育投標方案
- 中小學教育中課程資源的開發(fā)與利用
- 大班科學教案:我和風兒做游戲教案及反思
- 園藝治療概念、內(nèi)涵與理論依據(jù)
- 后續(xù)服務(wù)承諾及保證措施-后續(xù)服務(wù)
- 提高無創(chuàng)呼吸機患者的依從性
- 小兒急性顱內(nèi)壓增高的護理課件
評論
0/150
提交評論