天天看點

Linux下RPM軟體包的安裝、解除安裝和tar.gz 安裝方法

一、RPM軟體包的安裝、解除安裝

在 Linux 作業系統下,幾乎所有的軟體均通過RPM 進行安裝、解除安裝及管理等操作。RPM 的全稱為Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下軟體包的軟體。Linux 安裝時,除了幾個核心子產品以外,其餘幾乎所有的子產品均通過RPM 完成安裝。RPM 有五種操作模式,分别為:安裝、解除安裝、更新、查詢和驗證。

RPM 安裝操作

指令:

rpm -i 需要安裝的封包件名

舉例如下:

rpm -i example.rpm 安裝 example.rpm 包;

rpm -iv example.rpm 安裝 example.rpm 包并在安裝過程中顯示正在安裝的檔案資訊;

rpm -ivh example.rpm 安裝 example.rpm 包并在安裝過程中顯示正在安裝的檔案資訊及安裝進度;

RPM 查詢操作

rpm -q …

附加查詢指令:

a 查詢所有已經安裝的包以下兩個附加指令用于查詢安裝包的資訊;

i 顯示安裝包的資訊;

l 顯示安裝包中的所有檔案被安裝到哪些目錄下;

s 顯示安裝版中的所有檔案狀态及被安裝到哪些目錄下;以下兩個附加指令用于指定需要查詢的是安裝包還是已安裝後的檔案;

p 查詢的是安裝包的資訊;

f 查詢的是已安裝的某檔案資訊;

rpm -qa | grep tomcat4 檢視 tomcat4 是否被安裝;

rpm -qip example.rpm 檢視 example.rpm 安裝包的資訊;

rpm -qif /bin/df 檢視/bin/df 檔案所在安裝包的資訊;

rpm -qlf /bin/df 檢視/bin/df 檔案所在安裝包中的各個檔案分别被安裝到哪個目錄下;

RPM 解除安裝操作

rpm -e 需要解除安裝的安裝包

在解除安裝之前,通常需要使用rpm -q …指令查出需要解除安裝的安裝包名稱。

rpm -e tomcat4 解除安裝 tomcat4 軟體包

RPM 更新操作

rpm -U 需要更新的包

rpm -Uvh example.rpm 更新 example.rpm 軟體包

RPM 驗證操作

rpm -V 需要驗證的包

rpm -Vf /etc/tomcat4/tomcat4.conf

輸出資訊類似如下:

S.5....T c /etc/tomcat4/tomcat4.conf

其中,S 表示檔案大小修改過,T 表示檔案日期修改過。限于篇幅,更多的驗證資訊請您參考rpm 幫助檔案:man rpm

RPM 的其他附加指令

--force 強制操作 如強制安裝删除等;

--requires 顯示該包的依賴關系;

--nodeps 忽略依賴關系并繼續操作;

二、tar.gz 安裝方法

linux下解壓tar.gz檔案 

下面所所有操作,後面有所有步驟說明 

[yonghu@localhost ~]#       su root 

密碼:                                       

[root@localhost ~]#         cd /home/new/Desktop 

[root@localhost Desktop]#   tar -xzvf fcitx-3.4.2.tar.gz 

[root@localhost Desktop]#   cd /home/new/Desktop/fcitx-3.4.2 

[root@localhost fcitx-3.4.2]#./configure --prefix=/opt/fictx 

[root@localhost fcitx-3.4.2]#make 

[root@localhost fcitx-3.4.2]#make install 

各步驟詳解 

[yonghu@localhost ~]#su root       //(使用root帳戶登入,使用其他使用者,之後操作有可能權限不夠) 

密碼:                                             // 輸入root密碼 

[root@localhost ~]# cd /home/new/Desktop 

// (切換到tar.gz檔案所在目錄,這裡我的tar.gz檔案在桌面) 

[root@localhost Desktop]#tar -xzvf fcitx-3.4.2.tar.gz 

// (解壓tar.gz檔案,這裡以fcitx-3.4.2來舉例,解壓得到fcitx-3.4.2檔案夾) 

[root@localhost Desktop]#cd /home/new/Desktop/fcitx-3.4.2 

//(切換目錄到fcitx-3.4.2,軟體解壓的目錄) 

//(配置,把檔案存放在/opt/fictx下,删除時,解除安裝軟體時,隻要删除這個檔案就行了) 

[root@localhost fcitx-3.4.2]#make (編譯) 

[root@localhost fcitx-3.4.2]#make install (安裝) 

在tar.gz的東西不多了~~~~ 

======================================== 

大多以tar.gz 和tar.bz2打包軟體,大多是通過 ./configure ;make ;make install 來安裝的;有的軟體是直接make;make install ; 

我們可以通過./configure --help 來檢視配置軟體的功能;大多軟體是提供./configure 配置軟體的功能的;少數的也沒有,如果沒有的就不用./configure ;直接make;make install 就行了; 

./configure 比較重要的一個參數是 --prefix ,用--prefix 參數,我們可以指定軟體安裝目錄;當我們不需要這個軟體時,直接删除軟體的目錄就行了; 

比如我們可以指定fcitx 安裝到 /opt/fcitx 目錄中; 

[root@localhost fcitx]#./configure --prefix=/opt/fcitx 

如果我們不需要fcitx 時,可以直接删除 /opt/fcitx 目錄; 

是以我們舉這個例子中,fcitx如果定制安裝到 /opt/fcitx目錄中,完整的安裝方法應該是: 

[root@localhost fcitx]# tar jxvf fcitx-3.2-050827.tar.bz2 

[root@localhost fcitx]#cd fcitx 

[root@localhost fcitx]# ./configure --prefix=/opt/fcitx 

[root@localhost fcitx]# make 

[root@localhost fcitx]# make install 

==================================================================== 

一、什麼是源碼包軟體; 

顧名思義,源碼包就是源代碼的可見的軟體包,基于Linux和BSD系統的軟體最常見;在國内源可見的軟體幾乎絕迹;大多開源軟體都是國外出品;在國内較為出名的開源軟體有fcitx;lumaqq;Lumaqq及scim等; 

但軟體的源代碼可見并不等于軟體是開源的,我們還要以軟體的許可為準;比如有些軟體是源碼可見的,但他約定使用者隻能按他約定的内容來修改;比如vbb論壇程式;是以一個軟體是否是開源軟體,得具備兩個條件;一是源代碼可見;二是要有寬松的許可證書,比如GPL證書等; 

在GNU Linux或BSD社群中,開發人員在放出軟體的二進制軟體包的同時,也會為我們提供源代碼軟體包; 

二、源代碼有何用? 

一個軟體的如果有源碼,是任何人都能看到他是怎麼開發而來的,就像一個瓶子,比如瓶子制作的模具是什麼;需要什麼材料;具體的用途以及瓶子的詳細說明書等等。軟體的開放源碼就是類似,開發者在給我們軟體的同時,也會告訴我們軟體是怎麼開發出來的;隻要我們的水準足夠的高,所有的代碼都在那裡,我們就可以修改和定制軟體,以适合我們的需要;如果Windows開放源代碼,并以GPL釋出,一樣是有人能造出來N多的Windows發行版;遺憾的是 Windows并不是開源系統; 

是以軟體的源代碼的用處無非是以下兩點; 

1、軟體根據使用者的需要加以定制; 

2、二次開發;注:要根據軟體的許可證書約定為準,開發者許可二次開發才行; 

三、怎樣安裝以源碼包打包的軟體; 

1、源碼包的打包格式; 

源代碼一般以file.tar.gz file.tar.bz2或file.src.rpm 打包;file.tar.gz和file.tar.bz2格式的解包指令如下; 

[root@localhost beinan]# tar jxvf file.tar.bz2 

[root@localhost beinan]# tar zxvf file.tar.gz 

至于file.src.rpm 的用法,請參見:《file.src.rpm 使用方法的簡介》 

2、如何編譯安裝源碼包;(大多數) 

1)解開軟體包檢視幫助文檔; 

我們解開一個包後,進入解壓包,一般都能發現README(或reame)和INSTALL( 或install);或doc(或DOC)目錄;看名字就知道個差不多; 

比如我們下載下傳一個比較新的fcitx 的軟體包,比如是 fcitx-3.2-050827.tar.bz2 

我們在解開這個軟體包會會發現如下的檔案; 

[root@localhost fcitx]# ls 

aclocal.m4 config.guess configure debian INSTALL Makefile.in src xpm 

AUTHORS config.h.in configure.in depcomp install-sh missing THANKS 

autogen.sh config.rpath COPYING doc lib mkinstalldirs TODO 

ChangeLog config.sub data fcitx.spec.in Makefile.am README tools 

是以我們就可以看fcitx的INSTALL 和doc目錄的安裝文檔了;裡面都告訴我們如何安裝; 

有時安裝文檔也會在開發者的首頁上有詳細的說明,及常見問題的處理等;比如 LumaQQ 

2)編譯安裝軟體的條件; 

首先我們在Linux系統中至少得把開發工具安裝上,比如 gcc ;perl;python;glibc;gtk;make ;automake 等開發工具或基礎包;還要安裝一些相應的開發包,一般是檔案名包括dev的,比如kernel-devel;還有一些開發庫,比如以lib開頭的;如果您在編譯軟體時,有時提示缺少什麼東西之類的,大多少的是這些開發工具和開發庫等;從CD光牒中找出安裝就是了;有時CD光牒沒有提供,請用google搜尋相應的軟體包,有時可能也會用到源碼包編譯安裝所依賴的包; 

有時本來系統中已經安裝了所依賴的包,但系統提示找不到應該怎麼辦?這時需要我們設定一下PKG_CONFIG_PATH的環境變量就行了; 

#export PKG_CONFIG_PATH=/usr/lib/pkgconfig 

或 

#export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig 

然後我們再來運作編譯的./configure ;make ;make install ,嘗試着來吧; 

以java開發的工具開發的程式,要用到 jre或者jdk ;jdk已經包括jre了,是以如果我們隻是要求有一個java程式運作的環境,隻需要安裝jre就行了;安裝好jre,配置一下java的環境變量就可以用了。如果是圖形界面的程式,點點滑鼠就OK了; 

用perl 開發的程式,是需要perl環境的,是以必須得把perl的包安裝上,python 也同理; 

3)編譯安裝軟體的方法; 

調用fcitx ,應該是 

[beinan@localhost ~]#/opt/fcitx/bin/fcitx 

如果您想要讓fcitx 隻要執行fcitx ,就能調用,請配置環境變量,或者在/usr/bin 中做一個fcitx 的連結; 

[root@localhost beinan]# ln -s /opt/fcitx/bin/fcitx /usr/bin/fcitx 

一般的情況下都有說,但大多軟體沒有提供源碼包的解除安裝方法;我們可以找到軟體的安裝點删除。主要看你把它安裝在哪了。 

設定環境變量PATH,請參見:《在Fedora Core 中,有些常用指令怎麼沒有?解決辦法設定PATH》 

是以您的PATH可以設定成這樣的; 

export PATH=".:/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/X11R6/bin:/sbin:/opt/fcitx/bin" 

當然這隻是舉個例子,fcitx 可以進入桌面自動運作的,請參看 http://www.fcitx.org 官方站上的安裝說明;舉個例子隻是讓大家好了解一點; 

再舉一個例子,比如我想安裝mlterm ;并指定安裝目錄為/opt/mlterm中; http://mlterm.sourceforge.net 

#./configure --prefix=/opt/mlterm 

#make 

#make install 

把源碼包安裝的軟體,都指定安裝在 /opt目錄中,這樣不就知道了軟體安裝在哪裡了;也友善解除安裝; 

3.其它類型軟體; 

1)基于perl 和python 的程式的安裝; 

一般情況下,用 #perl file.pl安裝;比如:VMware 的Linux版本的安裝; 

[root@localhost vmware-distrib]# perl vmware-install.pl 

基于python 開發,也得用 python file.py 來安裝 

一般軟體包都有README和INSTALL 或者 DOC 文檔,看文檔安裝; 

2)有些安裝程式是腳本型的調用;要用 #sh 檔案名 

比如NVdia驅動的安裝就是這樣的; 

[beinan@localhost ~]# sh NFORCE-Linux-x86-1.0-0306-pkg1.run 

當然也能通過 chmod 755 NFORCE-Linux-x86-1.0-0306-pkg1.run ,然後 ./NFORCE-Linux-x86-1.0-0306-pkg1.run 來安裝; 

也有一些是以file.bin 檔案 

[beinan@localhost ~]# chmod 755 file.bin 

[beinan@localhost ~]# ./file.bin 

大抵如此。。。。。。。。 

後記: 源碼包及特殊格式的軟體安裝就寫這麼多,寫的再多也是寫不完。我們主要還是以軟體的安裝文檔為準;安裝軟體時,如果隻是簡單的應用,如果有rpm包,盡可能的用rpm包;主要是友善和易于管理; 

附錄: 

安裝軟體時,最好用各自發行版所提供的系統軟體包管理工具,對于Fedora/Redhat 您可以參考如下文章; 

0)RPM 基礎 《RPM 的介紹和應用》 

1)Fedora 系統管理軟體包工具 system-config-packages,友善的添加和移除系統安裝盤提供的軟體包,詳情請看 《Fedora 軟體包管理器system-config-packages》 

2)Redhat 系統管理軟體包工具,新一點的系統應該是 redhat-config-packages ,用法和 《Fedora 軟體包管理器system-config-packages》 一樣; 

3)apt + synaptic 軟體包線上安裝、移除、更新工具; 用法:《用apt+synaptic 線上安裝或更新Fedora core 4.0 軟體包》 

4)yum 軟體包線上安裝、更新、移除工具;用法:《Fedora/Redhat 線上安裝更新軟體包,yum 篇》 

5)《file.src.rpm 使用方法的簡介》 

6)《如何編譯安裝源碼包軟體》 

目前 apt和yum 已經極為成熟了,建議我們安裝軟體時采用 apt或者yum ;如果安裝系統盤提供的軟體包,可以用 system-config-packages 或redhat-config-packages 

引用原文:

<a href="http://os.51cto.com/art/201001/177866.htm" target="_blank">http://os.51cto.com/art/201001/177866.htm</a>

<a href="http://baile8410.iteye.com/blog/546517" target="_blank">http://baile8410.iteye.com/blog/546517</a>

本文轉自 藝晨光 51CTO部落格,原文連結:http://blog.51cto.com/ycgit/1760827,如需轉載請自行聯系原作者