Linux下軟件安裝詳解

一下面詳細講解Linux下如何安裝軟件。

先來看看Linux軟件擴展名。軟件後綴爲.rpm最初是Red Hat Linux提供的一種包封裝格式,現在許多Linux發行版本都使用;後綴爲.deb是Debain Linux提供的一種包封裝格式;後綴爲.tar.gz、tar.Z、tar.bz2或.tgz是使用Unix系統打包工具tar打包的;後綴爲.bin 的一般是一些商業軟件。通過擴展名可以瞭解軟件格式,進而瞭解軟件安裝。

RPM格式軟件包的安裝

1.簡介
幾乎所有的Linux發行版本都使用某種形式的軟件包管理安裝、更新和卸載軟件。與直接從源代碼安裝相比,軟件包管理易於安裝和卸載;易於更新已安裝的軟件包;易於保護配置文件;易於跟蹤已安裝文件。

RPM全稱是Red Hat Package Manager(Red Hat包管理器)。RPM本質上就是一個包,包含可以立即在特定機器體系結構上安裝和運行的Linux軟件。RPM示意圖見圖1。



大多數Linux RPM軟件包的命名有一定的規律,它遵循名稱-版本-修正版-類型-MYsoftware-1.2 -1.i386.rpm 。

2.安裝RPM包軟件
# rpm -ivh MYsoftware-1.2 -1.i386.rpm

RPM命令主要參數:

-i 安裝軟件。
-t 測試安裝,不是真的安裝。
-p 顯示安裝進度。
-f 忽略任何錯誤。
-U 升級安裝。
-v 檢測套件是否正確安裝。
 3.卸載軟件
  # rpm -e 軟件名

需要說明的是,上面代碼中使用的是軟件名,而不是軟件包名。例如,要卸載software-1.2.-1.i386.rpm這個包時,應執行:
#rpm -e software
4.強行卸載RPM包
有時除去一個RPM是不行的,尤其是系統上有別的程序依賴於它的時候。如果執行命令會顯示如下錯誤信息:

## rpm -e xsnow
error: removing these packages would break dependencies:
/usr/X11R6/bin/xsnow is needed by x-amusements-1.0-1
在這種情況下,可以用--force選項重新安裝xsnow:

## rpm -ivh --force xsnow-1.41-1.i386.rpm
xsnow

這裏推薦使用工具軟件Kleandisk,用它可以安全徹底清理掉不再使用的RPM包。

5.安裝.src.rpm類型的文件
目前RPM有兩種模式,一種是已經過編碼的(i386.rpm),一種是未經編碼的(src.rpm)。
rpm --rebuild Filename.src.rpm

這時系統會建立一個文件Filenamr.rpm,在/usr/src/redflag/RPMS/子目錄下,一般是i386,具體情況和Linux發行版本有關。然後執行下面代碼即可:
rpm -ivh /usr/src/regflag/RPMS/i386/Filename.rpm

使用deb打包的軟件安裝

deb是Debian Linux提供的一個包管理器,它與RPM十分類似。但由於RPM出現得早,並且應用廣泛,所以在各種版本的Linux中都常見到,而Debian的包管 理器dpkg只出現在Debina Linux中。它的優點是不用被嚴格的依賴性檢查所困擾,缺點是隻在Debian Linux發行版中才能見到這個包管理工具。

1. 安裝
# dpkg -i MYsoftware-1.2.-1.deb

2. 卸載
# dpkg -e MYsoftware

使用源代碼進行軟件安裝

和RPM安裝方式相比,使用源代碼進行軟件安裝會複雜一些,但是用源代碼安裝軟件是Linux下進行軟件安裝的重要手段,也是運行Linux的最主要的 優勢之一。使用源代碼安裝軟件,能按照用戶的需要選擇定製的安裝方式進行安裝,而不是僅僅依靠那些在安裝包中的預配置的參數選擇安裝。另外,仍然有一些軟 件程序只能從源代碼處進行安裝。

現在有很多地方都提供源代碼包,到底在什麼地方獲得取決於軟件的特殊需要。對於那些使用比較普遍的 軟件,如Sendmail,可以從商業網站處下載源代碼軟件包(如http://www.sendmail.org )。一般的軟件包,可從開發者的Web站點下載。下面介紹一下安裝步驟:

1.解壓數據包
源代碼軟件通常以.tar.gz做爲擴展名,也有tar.Z、tar.bz2或.tgz爲擴展名的。不同擴展名解壓縮命令也不相同,見表1。


2.編譯軟件
成功解壓縮源代碼文件後,進入解包的目錄。在安裝前閱讀Readme文件和Install文件。儘管許多源代碼文件包都使用基本相同的命令,但是有時在 閱讀這些文件時能發現一些重要的區別。例如,有些軟件包含一個可以安裝的安裝腳本程序(.sh)。在安裝前閱讀這些說明文件,有助於安裝成功和節約時間。

在安裝軟件以前要成爲root用戶。實現這一點通常有兩種方式:在另一臺終端以root用戶登錄,或者輸入“su”,此時系統會提示輸入root用戶的密碼。輸入密碼以後,就將一直擁有root用戶的權限。如果已經是root用戶,那就可以進行下一步。

通常的安裝方法是從安裝包的目錄執行以下命令:

gunzip soft1.tar.gz
cd soft1
#. /configure #配置#
make #調用make#
make install #安裝源代碼#


刪除安裝時產生的臨時文件:
#make clean

卸載軟件:
#make uninstall

有些軟件包的源代碼編譯安裝後可以用make uninstall命令卸載。如果不提供此功能,則軟件的卸載必須手動刪除。由於軟件可能將文件分散地安裝在系統的多個目錄中,往往很難把它刪除乾淨,應該在編譯前進行配置。

.bin文件安裝

擴展名爲.bin文件是二進制的,它也是源程序經編譯後得到的機器語言。有一些軟件可以發佈爲以.bin爲後綴的安裝包,例如,流媒體播放器 RealONE。如果安裝過RealONE的Windows版的話,那麼安裝RealONE for Linux版本(文件名:r1p1_linux22_libc6_i386_a1.bin)就非常簡單了:
#chmod +x r1p1_linux22_libc6_i386_a1.bin
./ r1p1_linux22_libc6_i386_a1.bin

接下來選擇安裝方式,有普通安裝和高級安裝兩種。如果不想改動安裝目錄,就可選擇普通安裝,整個安裝過程幾乎和在Windwos下一樣。

.bin文件的卸載,以RealONE for Linux爲例,如果採用普通安裝方式的話,在用戶主目錄下會有Real和Realplayer9兩個文件夾,把它們刪除即可。
Linux程序安裝方法

關於GPL的詳細內容見
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=22301
下面是正文:
Linux程序安裝,總的來說,可以分爲兩種:一是源碼包,文件名一般是*.tar.gz,*.tar.bz2,*.tgz和*.tbz2是它們相應的縮寫格式;二是二進制包,一般是爲特定發行版製作的,種類較多,*.rpm,*.deb,*.run,我也見過*.tbz2格式的二進制包。

我想,按照源碼和二進制包的分類方法,說Linux軟件的安裝,會比較麻煩。因爲常常是,一種發行版,有二進制包,也有源碼包,講二進制安裝方法會免不了把一個發行版的包管理機制扯碎。我們把Linux程序的安裝,分爲三個部分:一是通用的源碼安裝方法;二是通用的二進制包安裝方法;三是發行版相關的安裝方法。

1通用源碼
通用源碼安裝,常見於這麼幾種清況:1你的發行版,不包括這個軟件;2你的發行版包涵的這個軟件的版本太舊,你希望新的工能;3你希望定製軟件,得到個性化到軟件。因爲,通常這種安裝方法,耗時又耗力,而且對系統升級會帶來一些不利的影響,新手最好三思而後行
1)根據你要安裝的程序是否需要X支持,可以分爲兩類。所謂的X,就是我們在Linux上看到的圖形界面。如果你是在Linux下用firefox上網,來到Linux公社的,那麼你現在看到的桌面上的所有東西都是X。跟X相對的是虛擬終端界面。按下鍵盤上的Alt-Ctrl-F1(等等,先別按),你就可以看到一個黑乎乎的屏幕,它就是虛擬終端。Alt-Ctrl-F1,Alt-Ctrl-F2……Alt-Ctrl-F6都是虛擬終端,Alt-Ctrl-F7是圖形界面。如果你要安裝的程序需要X支持,那麼,你就應該先安裝X的開發包。不過,不要擔心,一般的發行版,都會在你安裝X的同時,把X開發包安上。只是,對於debian發行版,情況有些不同。它把Linux軟件分得相當細,很可能默任不安裝任何開發軟件包(包括X)。
2)在登錄到圖形界面的時候,你注意一下。你的登錄頁是否有個Session選項,中文的是會話選項。如果有,點一下,很可能就有KDE和Gnome。因爲直接開發X程序,是比較麻煩的事情。就有了建築在X之上的開發庫,qt和gtk+。qt是KDE的開發庫,gtk+是Gnome的開發庫。qt 的作者呢,是Trolltech,就是生產opera瀏覽器的那個公司了。因爲最初的qt是GPL不兼容的,所以就有了GNOME,全稱是 GNU Network Object Model Environment。當然,現在在Linux平臺,qt已經是GPL兼容的了。如果你想要編譯KDE程序,qt庫是必須安裝的。gtk庫包括 glib、pango、atk、gtk+四個組成部分,如果你要編譯相應的軟件,就必須把它們都裝上。
3)當然,在Linux下,還有很多的其它一些庫,像libpng,libtiff等等。經常安裝一個軟件,找不到libxxx.so.x(經常是這個格式),我想這是對於新手安裝軟件最爲棘手的問題──這也是大蝦常勸大家把所有開發庫都裝上的原因。不過,不要急,libxxx.so.x中的xxx很可能就是相應庫的名字。你可以用locate找找看,電腦上有沒有相應的文件。
代碼:locate libxxx.so.x
如果有,切換到跟用戶,打開/etc/ld.so.conf(不同的發行版,可能有所差別,gentoo就沒有這個目錄;看一下ldconfig的幫助文件),看裏面有沒有相應文件夾的路徑(或者說,裏面有沒有相應的目錄;注意是目錄,不是文件的絕對路徑)。如果沒有,添加,保存;再運行ldconfig。
感覺這種情況比較少見(除非你自己拷了其它的庫。我的一個同學需要安裝intel的Fortran編譯器,他把它拷到/opt/下)。
4)下面說到最關鍵的地方,就是編譯工具。Linux 下最重要的編譯工具當然是gcc,gcc包括gcc和glibc。glibc是gcc的主要c庫。要想自己編譯程序,當然得裝(ps,自己在linux下 做C練習,也是少不了的)。還有make(懷疑其他版是否有這個軟件包──debian分的太細),automake和 autoconf,libtools,flex,bison。懶得介紹它們了,感興趣的可以看一下lfs的手冊,雖然不一定把lfs裝一遍。公社的http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=135828
黃嘴企鵝的http://lfs.linuxsir.org/doc/lfs6.1zh/如果,提示找不到g77,還要裝g77編譯器──一般人碰不到這情況。
5)下載源碼,解包,編譯。代碼:
tar -xzvf *.tar.gz或tar -xjvf *.tar.bz2
(tar -xzfv *.tgz或tar -xjvf *.tbz2)
解包之後,一般生成的目錄中,會有README文件或INSTALL文件,或類似的文件。按照說明,一步一步的做就行了。

注意:出了問題求助,最好給出電腦完整的報錯信息和編譯器版本(gcc -v),你的軟件安裝方式(源碼)、版本,系統版本(如debian unstable)。

2通用二進制
1)常見的是安裝realplayer和nvidia的驅動。切換到根用戶,代碼:
chmod +x xxx.run (更改xxx.run的屬性,使它能夠運行)
./xxx.run (是用xxx.run的相對路徑運行它)
2rpm包,可 以用rpm2targz轉化爲tar.gz格式,用rpm2cpio轉化成cpio格式。有的file-roler也可以解開rpm文件。deb文件可以 用ar -x *.deb解開。解開後,把它們拷到你喜歡的地方。然後把相應可執行文件所在的目錄(一般是個bin目錄)加到自己的PATH變量中。代碼:
export PATH=/xxx/xxxx/xxx/bin:$PATH
你也可以把上面的代碼加到自己家目錄下的.bash_profile(沒有就建一個)或.bashrc中。
3)功能強大的alien
正 如alien的幫助文件(man alien)所說,alien是一個不斷試驗,不斷改進中的程序。你不能通過它安裝系統級的程序。alien可以在RedHat的rpm,Debian的 deb,Slackware的tgz,Solaris的pkg格式之間轉換。爲方便起見,不寫文件括展命,統寫作xxx
alien默認產生deb包
alien xxx
製作rpm包
alien -r xxx
製作tgz包
alien -t xxx
產生lsp包
alien --to-lsp xxx
更 多詳細內容請查看alien的幫助文件(“man alien”;順便說一句:linux的另一種幫助文件的查看方法是info 命令;“命令 --help” 可以給出簡單的參數說明;還一種另類辦法是”strings /路徑/命令“,可以查看命令中包含的字符串)。
3發行版相關
1)debian包
debian 下常用的軟件安裝方法是apt-get install xxx.deb,我想黃嘴企鵝的jhuangjiahua所謂“用debian就像家裏開超市一樣”,很大程度上就是因爲apt-get安裝軟件方便(另 一點是debian軟件包很豐富)。爲了讓apt-get充分發揮性能,我們必須配置好apt源。修改/etc/apt/sources.list,參考 下帖(必須注意,裏面的版本新舊不同;我就是不小心用了unstable的源,不得不使用了debian unstable)
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=84203&postdays=0&postorder=asc&start=60
設置代理修改/etc/apt/apt.conf(沒有就建一個)
Acquire::ftp::Proxy "ftp://user:pass@ip:1080"; (socks proxy)
Acquire::ftp::Proxy "http://user:pass@ip:8080"; (http proxy)
獲取當前服務器上軟件包的信息(是安裝升級的前提條件)
apt-get update
刪除一個軟件包
apt-get remove xxx;
搜索一個軟件包
apt-cache search xxx。
debian下,另一個功能很強的命令是dpkg。
安裝一個你自己下載的deb包
dpkg -i xxx.deb
刪除一個軟件包
dpkg -r xxx
設置一個軟件包
dpkg-reconfigure xxx(比如你的xserver-xorg,或者exim)
查尋一個軟件包的狀態
dpkg --status xxx
列出安裝的軟件包
dpkg -l
debian下一個比較新的包管理工具是aptitude,據說可以更好地解決依賴性問題。
2)Fedora Core
它 的包管理機制跟apt差不多(似乎Fedora也支持apt方式的升級),常見的是yum。首先是配置它的源,用搜索引擎(比如 www.sogou.com)搜索“yum 源”,應該能夠收穫不小。系統在/etc/下提供了一個yum的配置文件,先保存一個備份,然後再對它進行修改(在Linux下,修改配置文件都應該先做 備份)。我只用過一次,隱約記得上海交通大學的源不錯(ftp://ftp.stju.edu.cn)。
3)Gentoo Linux(似乎不是新手該用的,清華ftp.tsinghua.edu.cn和上海交大的源都不錯)
4)Magic Linux(到Magic技術支持版尋找答案吧)
5)Mandrava(不曾用過 Embarassed
6)華鐳(祝賀公社華鐳版開張)
7)RedHat
rpm是RedHat Package Manager的縮寫。
安裝一個包
rpm -ivh xxx.rpm
刪除一個包
rpm -r xxx
升級一個包
rpm -Uvh xxx.rpm
如果要安裝的包中,有一個文件已經安裝,進行替換安裝
rpm -ivh xxx.rpm --replacefiles
不管依賴關係,強行安裝
rpm -ivh xxx.rpm --nodeps
不管依賴關係,強行卸載
rpm -e xxx --nodeps
查找誤刪的文件
rpm -Va
查找一個軟件包在系統中安裝的所有文件
rpm -qlp xxx.rpm
列出已經安裝的所有軟件包
rpm -qa
查尋一個文件屬於哪個包
rpm -qf /路徑/xxx
編譯一個src.rpm包
rpmbuild --rebuild xxx.src.rpm
8)Slackware (http://slack.linuxsir.org)
9) Suse (偶沒用過)
10)Ubuntu
上面所說的關於debian的apt和dpkg的東西,都完全適合ubuntu。只是現在國內的ubuntu源比較少,有上海交大的源,班圖中文的源(在www.ubuntu.org.cn上,你將能獲得更多信息)
http://archive.ubuntu.org.cn/ubuntu/
http://ubuntu.cn99.com/ubuntu/
http://debian.okey.net/ubuntu/
ftp://linux.xjtu.edu.cn/
注意:上面的源的寫法都不能直接添在/etc/apt/sources.list(是不是叫這個名?)中。

注意:因爲發行版和包管理工具的不同。發帖子求助時,最好能把發行版版本,幷包管理工具和包管理工具的輸出信息一併寫上。

註釋:Linux全稱應該是GNU/Linux,真正的linux只是GNU/Linux的內核,如vmlinuz-2.4.27-2-k7;GNU/Linux賴於起動的大多都是GNU軟件或GPL兼容軟件;Linux內核本身也是按照GNU的GPL許可證發佈的。
三 linux軟件的安裝與卸載:

一、二進制分發軟件包的安裝與卸載

1、*.rpm形式的二進制軟件包 安裝:rpm -ivh *.rpm 卸載:rpm -e packgenamerpm的參數中-i是安裝,-v是校驗,-h是用散列符顯示安裝進度,*.rpm是軟件包的文件名(這 裏的*.rpm特指*.src.rpm以外的以rpm爲後綴的文件);參數-e是刪除軟件包,packgename是軟件包名,與軟件包的文件名有所區 別,它往往是文件名中位於版本號前面的字符串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12- i386.rpm是軟件包文件名,它們的軟件包名稱分別是apache和apache-devel。更多的rpm參數請自行參看手冊頁:man rpm。 如果你不喜歡在字符界面下安裝或卸載這些軟件包,完全可以在X-Window下使用圖形界面的軟件包管理程序,如glint、xrpm這樣的圖形接口,或者是KDE的kpackge等,這樣對軟件包的安裝、升級、卸載、驗證和查詢就可以通過點擊鼠標來輕鬆完成。

2、*.tar.gz/*.tgz、*.bz2形式的二進制軟件包 安裝:tar zxvf *.tar.gz 或 tar yxvf *.bz2 卸載:手動刪除 說明:*.tar.gz/*.bz2形式的二進制軟件包是用tar工具來打包、用gzip/bzip2壓縮的,安裝時直接解包即可。對於解壓後只有單一目錄的軟件,卸載時用命令“rm -rf 軟件目錄名”;如果解壓後文件分散在多處目錄中,則必須一一手動刪除(稍麻煩),想知道解壓時向系統中安裝了哪些文件,可以用命令“tar ztvf *.tar.gz”/“tar ytvf *.bz2”獲取清單。tar的參數z是調用gzip解壓,x是解包,v是校驗,f是顯示結果,y是調用bzip2解壓,t是列出包的文件清單。更多的參數請參看手冊頁:man tar。

3、提供安裝程序的軟件包 這類軟件包已經提供了安裝腳本或二進制的安裝嚮導程序(setup、install、install.sh等),只需運行它就可以完成軟件的安裝;而卸載 時也相應地提供了反安裝的腳本或程序。例如SUN公司的StarOffice辦公軟件套件就使用名爲setup的安裝程序,而且在軟件安裝後提供反安裝的 功能

二、源代碼分發軟件包的安裝與卸載

Linux軟件的源代碼分發是指提供了該軟件所有程序源代碼的發佈形式,需要用戶自己編譯成可執行的二進制代碼並進行安裝。 1、*.src.rpm形式的源代碼軟件包 安裝:rpm -rebuild *.src.rpm cd /usr/src/dist/RPMS rpm -ivh *.rpm 卸載:rpm -e packgename 說明:rpm --rebuild *.src.rpm命令將源代碼編譯並在/usr/src/dist/RPMS下生成二進制的rpm包,然後再安裝該二進制包即可。packgename如前所述。 2、*.tar.gz/*.tgz、*.bz2形式的源代碼軟件包 安裝:tar zxvf *.tar.gz 或 tar yxvf *.bz2 先解壓 然後進入解壓後的目錄: ./configure 配置 make 編譯 make install 安裝卸載:make uninstall 或 手動刪除說明: 建議解壓後先閱讀說明文件,可以瞭解安裝有哪些需求,有必要時還需改動編譯配置。有些軟件包的源代碼在編譯安裝後可以用make install命令來進行卸載,如果不提供此功能,則軟件的卸載必須手動刪除。由於軟件可能將文件分散地安裝在系統的多個目錄中,往往很難把它刪除乾淨, 那你應該在編譯前進行配置,指定軟件將要安裝到目標路徑:./configure --prefix=目錄名,這樣可以使用“rm -rf 軟件目錄名”命令來進行乾淨徹底的卸載。

linux下的軟件一般都是經過壓縮的,主要的格式有這幾種:rpm、tar、tar.gz、tgz等。所以首先拿到軟件後第一件事就是解壓縮。 一、在xwindow下以rpm格式的軟件安裝比較容易,只要在把鼠標移到文件上單擊右鍵,在彈出的菜單裏會有專門的三項(只有在右鍵單擊rpm文件纔會出現)show info,upgrade和install,這 三項的意思大家都很清楚了,我就不多說了。rpm格式說了,接着就是tar,tar.gz,tgz等,在xwindow下雙擊這些格式的文件就會自動解壓 縮的,是解壓縮而不是像rpm那樣有install選項的,install文件會在你解壓縮後纔出現,不過這裏我要先說一下,在你雙擊install前建 議先好好看一下readme,因爲你所要安裝這些軟件可能是沒有編譯的,所以看一下會比較好。 二、說完了xwindow下的安裝和解壓縮,接着說在文本模式下如何解壓縮和安裝,還有編譯源碼了。首先說rpm的,以root身份登陸後(用其他的身份登陸也可以但有些軟件就不能被安裝)鍵入rpm -i你所要解壓縮的文件+擴展名(當然是rpm)也不是很難吧,這裏我要說的是“-i”意思是install, 如果你想要卸載或是要執行其他的指令就打rpm --help. 至於那些其他格式的軟件則可以用gunzip,gzip,tar和unzip等指令來解壓縮,然後再運行install。通過解包後會得到一些文件,然後 進入剛纔解壓縮後文件目錄用“ls -F -color”指令看一下所得到的文件,一般有兩種情況:第一種是文件爲已經編譯好的程序(無須再編譯了)用上面的察看文件命令會以帶“*”標記的亮綠色顯示;第二種則是需要由你自己編譯的源代碼。得到的是源代碼的話,就需要我們自己編譯來得到可運行的程序。在編譯之前先要認真的閱讀一下readme文檔,等你閱讀完了以後就執行 ./configure make make install(只有Root身份才能執行此命令),編譯完成之後便會在當前目錄或src子目錄下得到軟件的可執行程序。 介紹完了,大家是不是覺的RPM的軟件安裝比較容易一點呢,但我個人意見初學者還是多選擇RPM格式以外的軟件,因爲通過編譯軟件的源碼可以爲你以後編譯內核打下一定的基礎。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章