Linux中的軟件包分為源碼包(腳本安裝包)及二進制包(RPM包、系統(tǒng)默認(rèn)包)。其中源碼包的優(yōu)點是:
1)源碼包是開源的,如果有足夠的能力,可以修改源代碼;
2)可自由選擇所需的功能;
3)源碼包需編譯安裝,所以更加適合自己的系統(tǒng),穩(wěn)定且效率高;
4)卸載方便,只需刪除安裝文件目錄,且不留垃圾文件。
其缺點是:
1)安裝過程步驟較多,尤其安裝較大的軟件集合時,容易出現(xiàn)拼寫錯誤;
2)編譯過程時間較長,安裝比二進制包長;
3)因為是編譯安裝,安裝過程中一旦報錯,新手很難解決。
二進制包的優(yōu)點是:
1)包管理系統(tǒng)簡單,只通過幾個命令就可以實現(xiàn)包的安裝、升級和卸載;
2)安裝速度比源碼包快的多。
缺點是:
1)經(jīng)過編譯,不再可以看到源代碼;
2)功能選擇不如源碼包靈活;
3)依賴性較強。
1 rpm命令管理(1)rpm包的命名規(guī)則rpm包如:httpd-2.2.15-15.el6.centos.1.i686.rpm
其中,httpd是軟件包名,2.2.15是軟件的版本,15是軟件的發(fā)布次數(shù),el6.centos是適合的Linux平臺,i686是適合的硬件平臺,rpm是rpm包擴展名。
(2)rpm依賴性樹形依賴:包a依賴包b,包b又依賴包c,即a->b->c,卸載時的順序是c->b->a。
環(huán)形依賴:如a->b->c->a,可以將a,b,c同時進行安裝。
模塊依賴:可以通過www.rpmfind.net網(wǎng)站查詢模塊依賴。
(3)rpm包的安裝、升級與卸載1)包全名與包名的區(qū)別
包全名:當(dāng)操作的包是沒有安裝的軟件包時,將使用包全名,而且還要注意路徑。
包名:操作已經(jīng)安裝的軟件包時,將使用包名,主要是搜索/var/lib/rpm中的數(shù)據(jù)庫。
2)rpm安裝,其格式為:
rpm -ivh 包全名
其中,-i表示安裝(install),-v表示顯示詳細(xì)信息(verbose),-h表示安裝進度(hash),--nodeps表示不檢測依賴性,直接安裝提供的包全名。
3)rpm包升級,其格式為:
rpm -Uvh 包全名
其中,-U選項表示升級(update)
4)rpm包卸載,其格式為:
rpm -e 包名
其中,-e表示卸載(erase),--nodeps表示不檢查依賴性。
5)查詢包是否安裝,格式為:rpm -q 包名,其中-q選項表示查詢(query)
查詢所有已安裝的rpm包,格式為:rpm -qa 包名,其中-a表示所有(all)。
6)查詢軟件包詳細(xì)信息,格式為:rpm -qi 包名,其中-i選項表示查詢軟件信息(information),-p選項表示查詢尚未安裝的包信息(package),此時應(yīng)變?yōu)榘?/p>
7)查詢包中文件的安裝位置,格式為:rpm -ql 包名,其中-l選項表示列表(list),-p選項可以查看尚未安裝的包中文件打算安裝在哪個目錄下(package),此時應(yīng)變?yōu)榘?/p>
8)查詢系統(tǒng)文件屬于哪一個rpm包,格式為:rpm -qf 系統(tǒng)文件名,其中-f選項表示系統(tǒng)文件,該文件必須是安裝后生成的文件,自己創(chuàng)建的文件不能查詢。
9)查詢軟件包的依賴性,格式為:rpm -qR 包名,其中-R表示顯示軟件包的依賴性(requires)。
(4)校驗和文件提取1)包校驗主要是通過對比原始安裝包,以檢驗包安裝后的文件是否被修改。其格式為:
rpm -V 已安裝的包名
其中-V選項表示檢驗(verify)。
例:修改/etc/yum.conf中的注釋部分,然后進行校驗。
[root@localhost Packages]# rpm -V yumS.5....T. c /etc/yum.conf
驗證內(nèi)容中的前8個信息的具體內(nèi)容如下:
S | 文件大小是否改變 |
M | 文件的類型或文件的權(quán)限(rwx)是否被修改 |
5 | 文件md5校驗和是否被改變(可看成文件內(nèi)容是否改變) |
D | 設(shè)備的代碼是否改變 |
L | 文件路徑是否改變 |
U | 文件的所有者是否改變 |
G | 文件的所屬組是否改變 |
T | 文件的修改時間是否改變 |
之后的1信息表示文件類型,主要包含以下幾種:
c | 配置文件(configure file) |
d | 普通文檔(documentation) |
g | "鬼"文檔(Ghost file),即該文件不應(yīng)該被這個rpm包所包含 |
l | 授權(quán)文件(license file) |
r | 描述文件(readme) |
2)rpm包中文件的提取,常用于誤操作,其格式為:
rpm2cpio 包全名 | cpio -idv .文件絕對路徑
其中rpm2cpio命令是將rpm包轉(zhuǎn)化為cpio格式的命令。cpio是標(biāo)準(zhǔn)工具,用于創(chuàng)建軟件檔案文件及從檔案文件中提取文件。其格式為:
cpio 選項 [文件|設(shè)備]
其中-i選項為copy-in模式,表示還原,-d選項表示還原時自動新建目錄,-v選項表示顯示還原過程。
例:
rpm -qf /bin/ls #查詢ls命令屬于哪個軟件包mv /bin/ls /tmp/ #造成ls命令誤刪的假象rpm2cpio /mnt/cdrom/Packages/coreutils-8.4--19.el6.i686.rpm | cpio -idv ./bin/ls #提取rpm包中l(wèi)s命令到當(dāng)前目錄的/bin/ls下cp ./bin/ls /bin/ #將ls命令復(fù)制回/bin目錄,修復(fù)文件丟失2 yum在線管理
yum主要是解決rpm包的依賴性問題。在不聯(lián)網(wǎng)的情況下,可以將光盤作為yum源。
(1)ip地址配置可以使用setup命令設(shè)置IP地址。設(shè)置完之后需要將網(wǎng)卡設(shè)置為自啟動,只需將/etc/sysconfig/network-scripts/ifcfg-eth0中的ONBOOT="no"修改為"yes"即可。設(shè)置完之后,需要重新啟動網(wǎng)絡(luò)服務(wù),執(zhí)行命令service network restart。
(2)網(wǎng)絡(luò)yum源網(wǎng)絡(luò)yum源保存在/etc/yum.repos.d/centos-Base.repo文件中。
[base]name=CentOS-$releasever - Basemirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
文件內(nèi)容具有如下類似的規(guī)則:
[base] #容器名稱,一定要放在方括號"[]"中
name #容器說明,可以自己隨便寫
mirrorlist #鏡像站點,可注釋掉
baseurl #yum源服務(wù)器地址
enabled #此容器是否生效,0表示不生效,不寫或1表示生效
gpgcheck #為1表示rpm的數(shù)字證書生效,為0表示不生效
gpgkey #數(shù)字證書的公鑰文件保存位置,這里不用修改
(3)yum命令注意yum命令沒有包全名的概念!
1)查詢所有可用軟件包列表,其格式為:yum list,搜索服務(wù)器上所有與關(guān)鍵字相關(guān)的包,其格式為:yum search 關(guān)鍵字
2)yum安裝的格式為:yum -y install 包名,其中install表示安裝,-y選項表示自動回答yes。
3)yum升級的格式為:yum -y update 包名,其中update表示升級,-y選項表示自動回答yes。
注意:如果不加包名的話,表示將升級所有的軟件包,包括linux內(nèi)核。
4)yum卸載的格式為:yum -y remove/erase 包名,其中remove/erase表示卸載,注意使用yum卸載時會將所依賴的軟件包也卸載掉,因此,yum升級和yum卸載盡量少用。
5)yum軟件組管理命令
列出所有可用的軟件組列表,其格式為:yum grouplist
安裝指定軟件組(組名可以由grouplist查出來),其格式為:
yum groupinstall 軟件組名
卸載指定軟件組,其格式為:yum grouPRemove 軟件組名
(4)光盤yum源搭建yum源除了可以在網(wǎng)絡(luò)上獲取,也可以通過系統(tǒng)安裝光盤獲取。在VMware中將ISO鏡像加載進來,并選中"已連接",如下圖所示:

接下來的步驟是:
1)掛載光盤。在/mnt目錄下創(chuàng)建光盤掛載點cdrom,隨后使用mount命令進行掛載。
[root@localhost ~]# mkdir /mnt/cdrom[root@localhost ~]# mount /dev/cdrom /mnt/cdrommount: block device /dev/sr0 is write-protected, mounting read-only
2)使網(wǎng)絡(luò)yum源失效,否則將自動檢測網(wǎng)絡(luò)yum源。即在/etc/yum.repos.d/目錄下將相應(yīng)的文件改名,僅保留CentOS_Media.repo。
[root@localhost ~]# cd /etc/yum.repos.d/[root@localhost yum.repos.d]# lsCentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak[root@localhost yum.repos.d]# mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak[root@localhost yum.repos.d]# mv CentOS-Vault.repo Debuginfo.repo.bak
3)修改光盤yum源文件,需嚴(yán)格遵守源文件格式。
[root@localhost yum.repos.d]# vi CentOS-Media.repo[c6-media]name=CentOS-$releasever - Mediabaseurl=file:///mnt/cdrom/ #注意此處為自己光盤的掛載地址# file:///media/CentOS/ #將不存在的地址注釋掉# file:///media/cdrom/# file:///media/cdrecorder/gpgcheck=1enabled=1 #將0改為1,使光盤yum源配置文件生效gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
4)使用yum命令進行驗證
[root@localhost yum.repos.d]# yum search zshLoaded plugins: fastestmirror, securityLoading mirror speeds from cached hostfile=====================N/S Matched: zsh =============================python-twisted-core-zsh.i686 : Tab completion for Zsh and Twisted Corezsh-html.i686 : Zsh shell manual in html formatzsh.i686 : A powerful interactive shell Name and summary matches only, use "search all" for everything.3. 源碼包管理(1)源碼包與rpm包的區(qū)別
在安裝之前是概念上的區(qū)別,安裝后二者的安裝位置不同。一般情況下,rpm包的默認(rèn)安裝位置如下:
/etc/ | 配置文件安裝目錄 |
/usr/bin/ | 可執(zhí)行的命令安裝目錄 |
/usr/lib/ | 程序所使用的函數(shù)庫保存位置 |
/usr/share/doc/ | 基本的軟件使用手冊保存位置 |
/usr/share/man/ | 幫助文件保存位置 |
源碼包安裝在指定的位置當(dāng)中,一般是/usr/local/軟件名/。rpm包安裝的服務(wù)可以使用系統(tǒng)服務(wù)管理命令(service)來管理。
例:rpm包安裝的apache的啟動方法為:
service httpd start #使用service管理
/etc/rc.d/init.d/httpd start #使用絕對路徑來啟動
注意:service命令是RedHat專有,該命令將會到系統(tǒng)默認(rèn)位置搜索相關(guān)服務(wù)。
源碼包安裝的服務(wù)則不能被服務(wù)管理命令管理,因為沒有安裝到默認(rèn)路徑中,所以只能用絕對路徑進行服務(wù)的管理。
例:源碼包安裝的apache,使用如下方法啟動:
/usr/local/apache2/bin/apachetl start
(2)源碼包安裝過程安裝前需要安裝C語言編譯器gcc,可以使用yum install gcc進行安裝。然后下載apache源碼包,下載地址為:http://mirror.bit.edu.cn/apache/httpd/。注意:源代碼的保存位置為/usr/local/src,軟件的安裝位置為/usr/local。當(dāng)安裝過程停止,并出現(xiàn)error、warning或n的提示時,安裝過程出現(xiàn)錯誤。
具體的安裝過程如下:
1)下載源碼包
2)解壓縮下載的源碼包,可以使用du -sh 文件名格式查詢文件或文件夾大小
3)進入解壓縮目錄
4)查看軟件自帶的INSTALL文件中的安裝方法。簡要說明如下:
① ./configure主要用于軟件配置與檢查,主要執(zhí)行的功能有定義需要的功能選項如安裝目錄,檢測系統(tǒng)環(huán)境是否符合安裝要求,把定義好的功能選項和檢測系統(tǒng)環(huán)境的信息都寫入Makefile文件,用于后續(xù)的編譯。
② make 編譯,如果報錯可以使用make clean將已編譯的文件全部清空。
③ make install 編譯安裝,此步驟真正向目錄中寫入數(shù)據(jù)。
源碼包卸載時不需要卸載命令,直接刪除安裝目錄即可,且不會遺留任何垃圾文件。
4. 腳本安裝包
腳本安裝包并不是獨立的軟件包類型,常見安裝的是源碼包,是人們?yōu)榱税寻惭b過程寫成自動安裝的腳本,只要執(zhí)行腳本,定義簡單的參數(shù),就可以完成安裝,非常類似于windows下軟件的安裝方式,主要用于硬件驅(qū)動。
例:安裝webmin,該軟件是基于web的linux系統(tǒng)管理界面,可以通過圖形化的方式設(shè)置用戶賬號、apache、DNS、文件共享等服務(wù)。其安裝方法如下:
1)下載包:http://sourceforge.net/projects/webadmin/files/webmin。
2)解壓縮,并進入解壓縮目錄。
3)執(zhí)行安裝腳本webmin.sh
新聞熱點
疑難解答
圖片精選