linux係(xì)統中程序(xù)的安裝、卸載和升級教(jiāo)程
對於Linux初學者來說,RPM安裝是一個不錯的選擇。如(rú)果想真正掌握Linux係統(tǒng),源代碼安裝仍然是(shì)Linux下軟件安裝的(de)重(chóng)要手段。由於linux係統(tǒng)中應用軟件的安裝和(hé)大家熟悉的windows下麵的軟件的(de)安裝過程存在很大(dà)的區別,在linux中,根據下載到安(ān)裝(zhuāng)包的格式的不同(tóng)用不同的安裝方法,下麵將對linux下的應用程序安(ān)裝進行總結和歸納。
1、源代碼包的安裝(zhuāng)
gzip -d apache_1.3.20.tar.gz (解壓)
tar xvf apache_1.3.20.tar (解包)
cd apache_1.3.20
./configure (配置(zhì)) ----./configure --help(查看configure選(xuǎn)項)
make (編譯)
make install (安裝)
make clean (卸載)
注:典型的源代碼包可以這樣(yàng)安裝,但不都是這樣,如webmin
要執行其目錄下./setup.sh進入交互式配置安裝
卸載用(yòng)uninstall程序
具體如果不清楚看要安裝(zhuāng)的包下的README文件
2、RPM包的安裝
RPM軟件包的一個例子:
foo-1.0-1.i386.rpm
其中包括軟件包的名稱(foo),版本號(1.0),發行號(1),和硬件平台(i386)。
(1)安(ān)裝
# rpm -ivh foo-1.0-1.i386.rpm
foo
#######################
A. 軟件包(bāo)已被安裝
# rpm -ivh foo-1.0-1.i386.rpm
foo package foo-1.0-1 is already installed
error: foo-1.0-1.i386.rpm cannot be installed
如果你仍舊要安裝該(gāi)軟件包,你可以在命(mìng)令行上使用--replacepkgs 選項,這將忽略該錯誤信息。
B. 文件(jiàn)衝突
如果要安裝的軟件包中有一個文件(jiàn)已在安裝其它軟件包時安裝,會出現以下錯誤信息:
# rpm -ivh foo-1.0-1.i386.rpm
foo /usr/bin/foo conflicts with file from bar-1.0-1
error: foo-1.0-1.i386.rpm cannot be installed
要想讓RPM 忽略該錯誤信息, 請使用--replacefiles 命令行選項
C.未解決依賴關係
RPM軟件(jiàn)包(bāo)可能依賴於其它軟件包, 在安裝(zhuāng)了特定的軟件包之後才能安裝(zhuāng)該軟件包。
# rpm -ivh bar-1.0-1.i386.rpm
failed dependencies:
foo is needed by bar-1.0-1
你必須(xū)安裝完所依賴的(de)軟件包(bāo),才(cái)能解決這個問題。如果想強製安裝 (但(dàn)是,這(zhè)樣安裝後的軟件包未必能正常運行),請使用-nodeps 命令行選項(xiàng)。
(2) 卸載
# rpm -e foo
注意:這裏使用軟件包的名字(zì)foo,而不是軟件包文件的名(míng)字“foo-1.0-1.i386.rpm”.
如果其它(tā)軟(ruǎn)件包依賴(lài)於你要卸(xiè)載的軟件包,卸載時則會(huì)產生錯誤信(xìn)息。如:
# rpm -e foo
removing these packages would break dependencies:
foo is needed by bar-1.0-1
要想RPM忽略(luè)該錯誤信息繼續卸載的話 (但是(shì),依賴於(yú)該軟件包的程序可能無法運(yùn)行), 請(qǐng)使用-nodeps 命令行選項。
(3)升級
# rpm -Uvh foo-2.0-1.i386.rpm
foo
###############################
當使用(yòng)舊版本的軟件包來升級新版本的軟件時,會(huì)產生以下錯誤信(xìn)息:
# rpm -Uvh foo-1.0-1.i386.rpm
foo package foo-2.0-1 (which is newer) is already installed
error: foo-1.0-1.i386.rpm cannot be installed
要使RPM 堅持這樣“升級(jí)”,可使用--oldpackage 命令行參數。
(4)查詢
# rpm -q foo
foo-2.0-1
軟件包指(zhǐ)定選項:
-a 查詢所有已(yǐ)安(ān)裝(zhuāng)的軟(ruǎn)件包.
-f <file> 將查詢包含有文件<file>的軟件包
-p <packagefile> 查詢(xún)軟件(jiàn)包文件名為 <packagefile>的(de)軟件包
信(xìn)息選擇選(xuǎn)項:
-i 顯示軟(ruǎn)件包信息,如描述, 發行(háng)號, 尺(chǐ)寸, 構建日期, 安裝日期, 平台, 以(yǐ)及其它各類信息。
-l 顯示軟件包中的文件列表。
-s 顯示軟件包中所有文件的狀態(tài)。
-d 顯示被標注為文檔的文件列表(man 手冊, info 手冊, README's, etc).
-c 顯示被標注為配置文(wén)件的(de)文件列(liè)表。這些是要在安裝完畢以(yǐ)後加以定製的文件(sendmail.cf, passwd, inittab, etc)。
對於那些要顯示文件列表的文件(jiàn),可以增加-v 命令行選項以獲得如同 ls -l 格式的輸出。
(5)驗證(zhèng)
驗證軟件包(bāo)是通過比較軟件包中安裝的文件和軟件包中(zhōng)的原始文件信息來進行的。除了其它(tā)一些東西,驗證主要是比較文件的尺寸, MD5 校驗碼, 文件權限, 類型, 屬主和用戶組等(děng)。
rpm -V命令用來驗證一個軟件包,如
rpm -V foo
驗證包含特定文件(jiàn)的軟件包: rpm -Vf /bin/vi
驗(yàn)證所有已安裝的軟件包: rpm -Va
根據一個RPM來驗證(zhèng)某個軟(ruǎn)件包: rpm -Vp foo-1.0-1.i386.rpm
如果你擔心RPM數據庫已被破壞,就(jiù)可以使用這種方式。如果一切校驗均正常將(jiāng)不會產生任(rèn)何(hé)輸(shū)出(chū)。如(rú)果有不(bú)一致的地方(fāng),就會(huì)顯示出來。
輸出格式(shì)是8位(wèi)長字(zì)符串,c 用以指配置文件,接著是文件名. 8位字符的每一個用以表示文件與RPM數據(jù)庫中一種屬(shǔ)性(xìng)的比較結果。“.” (點)表示測試通過(guò)。
以下字符表(biǎo)示某種測(cè)試的(de)失敗:
5 MD5 校驗碼
S 文件尺寸
L 符號連接
T 文(wén)件修改日期
D 設備
U 用戶
G 用(yòng)戶組
M 模式e (包括權限和文件類型)
如果有信息輸出,應當認真(zhēn)加以考慮,是刪除,重新安裝,還是修正出現的問題。
(6)RPM應用的(de)幾個例子
A. 如你誤刪了一些文件, 但是不能肯定到底刪除了哪些文件。如果你(nǐ)想驗證一下(xià)整個係統看看都丟失(shī)了哪些文件的話,可以鍵(jiàn)入:rpm –Va
B.若是(shì)一些文件丟失了或已被損(sǔn)壞, 就可以重新安裝或先卸載再安裝該軟件包。如果碰到了一個自己不認識(shí)的文件,要想查處它(tā)屬於哪個軟(ruǎn)件包,可以輸入以下命令:rpm -qf /usr/X11R6/bin/xjewel
而輸出的結果會是: xjewel-1.6-1
C. 如果發生綜(zōng)合以(yǐ)上(shàng)兩個例子的情況,如文/usr/bin/paste出了問題。你想驗證一下擁有該文件的軟件包,可又不知道軟件包的名字,這時可以簡(jiǎn)單的鍵入:rpm -Vf /usr/bin/paste
這樣相應的軟件包就會被驗證。
D. 如果你想了解一(yī)個正在使(shǐ)用的程序的詳細信息,可(kě)以鍵入(rù)如下命令來獲得(dé)擁有該程序的(de)軟件包中的文檔信息:rpm -qdf /usr/bin/ispell
輸出(chū)結果為(wéi):
/usr/man/man4/ispell.4
/usr/man/man4/english.4
…………………………………………………………
E. 如果(guǒ)你發現了一個新的koules RPM,但是不知道它是什麽東西,可以鍵入如下命令:rpm -qip koules-1.2-2.i386.rpm
F. 現(xiàn)在你想了解koules RPM 所安裝的文件(jiàn)。可以鍵(jiàn)入:rpm -qlp koules-1.2-2.i386.rpm
圖形(xíng)管(guǎn)理工具:kpackage
3、shell或java腳本安裝
基於圖形界(jiè)麵的安裝,一般基於SHELL或Java語言編(biān)寫,主要應用於(yú)一些辦公軟件(jiàn)和製圖軟(ruǎn)件及安裝程序,如staroffice、oracle的安裝,很容易,和windows一樣</packagefile> </packagefile> </file></file>
關鍵(jiàn)詞:linux
閱讀本文後您有什麽感想? 已有 人給出評價!
- 1
- 1
- 1
- 1
- 1
- 1