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