安裝軟件---這個操作在WINDOWS的世界里很簡單,下載軟件雙擊exe文件即可,還有自動運行方式的,復(fù)雜點的執(zhí)行bat之類的可執(zhí)行程序即可。但Linux不然,因Linux版本過多,導(dǎo)致軟件的安裝方法五花八門。本文只是將Linux的軟件安裝方式進(jìn)行匯總和整理,沒有過多的技術(shù)難度,僅供參考。
創(chuàng)新互聯(lián)公司服務(wù)項目包括連江網(wǎng)站建設(shè)、連江網(wǎng)站制作、連江網(wǎng)頁制作以及連江網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,連江網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到連江省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Linux下主要有兩種方式,主要分在線安裝和線下安裝。(以下介紹的方式基本涵蓋所有Linux系統(tǒng)的軟件安裝方式)
一、在線安裝
1、軟件管理中心安裝。(ubuntu)1)更新源sudo apt-get update2)打開軟件中心,搜索你要安裝的軟件,雙擊安裝即可。例如安裝apache,如下圖
2、命令行安裝方式
1)更新,命令:apt-get update
2)查找你要安裝的軟件,apt-cache search “軟件名”
3)apt-get install 軟件名
以上在線的兩種方式都提到了apt-get 方式,那么它的工作原理簡單說明一下,apt-get相關(guān)的有兩個重要文件:1、是/etc/sources.list,2、是/var/lib/apt/lists/目錄.
當(dāng)我們執(zhí)行apt-get update程序分析sources.list看這個文件里是否有對應(yīng)的Packages/Sources/Release列表文件,如果有更新則下載之,存入/var/lib/apt/lists/目錄(其實就是保持與當(dāng)前系統(tǒng)版本軟件源表最新);apt-get install 安裝相應(yīng)的包 ,下載并安裝。
這種方式的好處在于:如果你想要加載的應(yīng)用需要依賴另一個應(yīng)用程序才能正常工作,apt-get會幫你找到并加載所需的程序庫或應(yīng)用代碼,這種方式是比較常用的的。比如我們執(zhí)行apt-get install mysql-server,可以看到相關(guān)的依賴包(如圖)
二、線下安裝
之所以叫線下的安裝方式,也就是說你要把軟件下載到本地去安裝。一般我們下載的文件后綴名都是zip、tar.gz等壓縮包,解壓后會看到rpm、bin、deb、run之類擴(kuò)展名文件。很多軟件都會提供不同LINUX版本的安裝格式,你可以根據(jù)自己的系統(tǒng)下載不同擴(kuò)展名的軟件。
1、rpm安裝包:這時一款老牌的安裝格式,是紅帽創(chuàng)建的安裝格式,現(xiàn)在已成為一種標(biāo)準(zhǔn),常用在opensuse/turbo/redhat版本),安裝方法rpm -ivh 軟件名.rpm (如果只是安裝一個i參數(shù)就夠了,如果還要看安裝進(jìn)度和軟件信息就加個vh)
2、deb安裝包:DEB是Debian軟件包格式的文件擴(kuò)展名,常用在centos/ubuntu,在蘋果系統(tǒng)里也常見此安裝方式。安裝方法:dpkg -i 軟件名.deb
3、run安裝包:以QT(一種編程工具)的安裝文件為例,
1)授權(quán): chmod x qt-unified-linux-x64-2.0.2-2-online.run
2)執(zhí)行:./qt-unified-linux-x64-2.0.2-2-online.run即可安裝。
4、bin安裝包:bin包是一個自解壓格式的安裝包,要想執(zhí)行它,需要先賦予它可執(zhí)行的權(quán)限。
(以安裝jdk為例)# chmod x jdk-6u21-linux-i586.bin# ./jdk-6u21-linux-i586.bin
5、編譯后安裝方式:
舉例安裝nagios插件(nagios是一種開源的監(jiān)控軟件,需要多種插件支持監(jiān)控模塊)
1)cd /tmp/nagios-plugins-* //先進(jìn)入目錄
2)./configure --with-nagios-user=nagios --with-nagios-group=nagios // 配置,即安裝的用戶安裝的路徑都可在此設(shè)置,這一步一般用來生成 Makefile,為下一步的編譯做準(zhǔn)備
3)make //編譯過程如果 在 make 過程中出現(xiàn) error ,你就要記下錯誤代碼,缺少什么包就按照什么包。
4) make install //如果make無問題就可以直接安裝了。
這種安裝方法的好處是你可以自定義安裝路徑、安裝賬號等參數(shù),常見開源平臺下載的源碼安裝方式。
6、其它,還有一些軟件解壓后生成的文件夾內(nèi)包含很多文件,一般文件夾內(nèi)有install.sh、setup.py等安裝文件方式,此種方式類似windows的exe安裝方式,你需要先授權(quán)該文件的可執(zhí)行權(quán)限,在執(zhí)行安裝。以上基本上囊括了所有的Linux環(huán)境下的軟件安裝方式,供各位參考。
在Ubuntu中附帶了豐富的軟件,這些軟件一般使用圖形化的自動方式(“添加/刪除”或“新立得”)即可輕松安裝,但是對于那些剛剛問世的新軟件,Ubuntu的源中還未收錄其中,這時我們就需要用到一種更通用的安裝方式:通過手工方式從源文件來安裝這些軟件。下面就介紹這種手工安裝方式的詳細(xì)步驟。 一、 安裝編譯程序因為要編譯源代碼,所以第一步就是安裝編譯和構(gòu)建之類的程序。如果你已經(jīng)安裝過了,可以跳過此步。在Ubuntu系統(tǒng)中非常簡單,只要執(zhí)行下面命令就行了: $ sudo apt-get install build-essential 該命令執(zhí)行后,從源文件安裝軟件所需的工具,如gcc、make、g++及其他所需軟件就安裝好了。 二、下載并編譯軟件的源代碼當(dāng)我們下載源文件時,一定要弄清該軟件所依賴的庫文件和其他程序,并且首先將它們裝好。這些信息,通常都能在該開源項目的主頁上查找到。做好這些準(zhǔn)備工作后,我們就可以進(jìn)行下面的工作了。因為,軟件的源代碼通常以壓縮文件形式發(fā)布,所以需要將其解壓到指定目錄。命令如下所示: OwnLinux@ubuntu:~$ tar xvzf program.tar.gz OwnLinux@ubuntu:~$ cd program/ 如果你的對tar命令不熟悉請點擊這里閱讀《tar命令詳解》 在Linux下從源文件安裝程序時,有一個通用模式,即配置(./configure)–> 編譯(make) –> 安裝(sudo make install)。但是,此前你最好還是閱讀源文件中附帶的安裝說明,因為對于每個程序,其開發(fā)者的指示才是最具權(quán)威性的。程序開發(fā)者通常將安裝說明存放在名為INSTALL或README。到哪里找這些文件呢?它們在項目主頁或源代碼主目錄中都能找到。 1.配置 構(gòu)建應(yīng)用的第一步就是執(zhí)行configure腳本,該腳本位于程序源文件的主目錄下: OwnLinux@ubuntu:~/program$ ./configure 該腳本將掃描系統(tǒng),以確保程序所需的所有庫文件業(yè)已存在,并做好文件路徑及其他所需的設(shè)置工作。如果程序所需的庫文件不完全,該配置腳本就會退出,并告訴您還需要哪些庫文件或者是哪些版本太舊需要更新。如果遇到這種情況,僅弄到含有該庫文件的軟件包還是不夠的,同時還要找到具有該庫文件所有頭文件的開發(fā)包,在Ubuntu中,這樣的包一般以-dev作為文件名的結(jié)尾。安裝好所有需要的庫文件后,重新運行配置腳本,直到?jīng)]有錯誤提示為止,這說明需要的庫文件已經(jīng)全部安裝妥當(dāng)了即滿足了依賴關(guān)系。 2.編譯 當(dāng)配置腳本成功退出后,接下來要做的就是編譯代碼了。具體操作為在源文件的主目錄中運行make命令: OwnLinux@ubuntu:~/program$ make 這時,您會看到一串編譯輸出數(shù)據(jù)迅速從屏幕上滾過,如果正常的話,系統(tǒng)會返回的提示符狀態(tài)。然而,如果編譯過程中出現(xiàn)錯誤的話,排錯的過程可就不像配置步驟那么簡單了。因為,這通常要涉及到源代碼的調(diào)試,可能源代碼有語法錯誤,或其他錯誤等等。怎么辦?如果您是編程高手,那就自己調(diào)試吧!否則,檢查該軟件的郵件列表等支持渠道,看看是不是已知的bug,如果是就看看別人是怎么解決的,不是就提交一份bug報告吧,也許不久就會有解決辦法。 3.安裝 當(dāng)軟件成功編譯后,最后一步就是將它們安裝到系統(tǒng)上。大部分程序的makefile文件中都會有一個用于安裝的函數(shù)。需要注意的是,大多時候我們必須作為root用戶來安裝程序,這樣程序就把文件安裝到/usr或其他只有超級用戶才有寫權(quán)限的目錄中。依舊是在源文件的主目錄下,執(zhí)行如下命令: OwnLinux@ubuntu:~/program$ sudo make install 好了,這樣程序就會安裝到您的計算機(jī)上了。另外,當(dāng)您不再使用該程序時,可以使用軟件所帶的卸載功能,一般程序都會具備此功能。切換至源文件的主目錄下,執(zhí)行以下命令即可: OwnLinux@ubuntu:~/program$ sudo make uninstall 多數(shù)情況下,利用上面介紹的方法安裝的程序,都位于/usr/local下面。若想讓安裝的程序文件與Ubuntu巡視的文件系統(tǒng)隔離開的話,可以為命令添加項,如下所示: OwnLinux@ubuntu:~/program$ ./configure –prefix=/opt 盡管這樣做一般都是有效的,但是也有例外,有些程序根本不理會項;有些程序如含有內(nèi)核模塊的程序,會把它們自己全部放進(jìn)您的文件系統(tǒng)。 上面介紹的手工安裝軟件的方法雖然是針對Ubuntu環(huán)境來介紹的,但是各種Linux系統(tǒng)下的從源文件安裝應(yīng)用的方法基本上都大同小異。
詳解linux源碼包安裝過程
1. 解壓縮包
可以通過下載或其他方式獲得了一個軟件包,通常它是一個壓縮文件,大部分可能是存檔的和壓縮的,這些文件一般以 .tar .gz為擴(kuò)展名。
首先拷貝它到一個目錄,然后 untar 和 gunzip 解壓它。 通常這個命令是
tar xzvf filename [filename 是軟件文件名稱]
解壓后的文件一般會在當(dāng)前目錄下的創(chuàng)建子目錄,并以這個包名來命名。 你也可以用用這個命令預(yù)先查看結(jié)果 tar tzvf filename,顯示包里有那些解壓文件。
源文件如果是新的 bzip2 (.bz2) 格式,可用
bzip2 -cd filename | tar xvf -,或更簡單的 tar xyvf filename ,這很不錯的tar命令被不斷的完善。
說明:
A:有時候一些文件必須安裝在用戶的 home 目錄下,或更多的是在一個固定的目錄,比如 /, /usr/src, 或 /opt 。所以必須仔細(xì)閱讀安裝包的配置信息。當(dāng)一個軟件包里如果有config 和 Makefiles 文件則最好去編輯它,這里包括了安裝指令和說明。提示:你改變 makefile 會導(dǎo)致不同的結(jié)果。大部分軟件包允許用 make install 自動處理安置二進(jìn)制文件在適當(dāng)?shù)南到y(tǒng)位置。
B:你可能碰到過一些共享文件、shell 存檔文件、尤其是 Internet 上的源碼新聞組。它們保留的原因是具有人性化的可讀性,并且允許新聞組緩沖并通過它們篩選和剔除出不合格的。它們可能用 unshar filename.shar 命令來解壓。
C: 一些源碼存檔文件是用非標(biāo)準(zhǔn)的 DOS,Mac 或其他壓縮的比如:
zip, arc, lha, arj, zoo, rar, and shk.
D: 有時候,你可能需要使用一個 patch 或顯示改變了的 diff 文件來升級或修復(fù)存檔的源碼文件。這 doc 文件或者 README 文件將告訴你怎么去使用。一個很好的命令用標(biāo)準(zhǔn)語法來調(diào)用的命令是 patch patchfile.
2: 關(guān)于 rpm 安裝包
一些 Linux 用戶懼怕通過使用源碼來手動安裝軟件包,不過現(xiàn)在有方便的 rpm 和 deb 或 新格式的 slp 包。例如:rpm 安裝運行平穩(wěn)又快,作為一個軟件安裝在某幾個有名的操作系統(tǒng)。
作為方便的RPM包也存在很多不好的缺點,例如:
A: 要了解軟件中更多更詳細(xì)的內(nèi)容你必須去在二進(jìn)制中去了解,而不是rpm包。
B: 還有安裝一個 rpm 包如果需要依賴關(guān)系那么安裝就可能會導(dǎo)致失敗。
C: 當(dāng) rpm 請求你系統(tǒng)中不同版本的庫,那么安裝將不能繼續(xù),除非你為錯誤的庫位置創(chuàng)建連接符號到正確的位置。
說明:必須使用root 安裝 rpm 和 deb 。因為它需要必須的寫入權(quán)限。
最簡單的,用命令 rpm -i packagename.rpm 和 dpkg --install packagename.deb 會自動解包和安裝。
3:關(guān)于安裝 Linux 包出現(xiàn)的一些問題及解決方案
假設(shè) make 失敗有個鏈接錯誤: -lX11: No such file or directory,正好在 xmkmf 之后已被調(diào)用,這可能意味著 Imake 不能被完全建立。檢查第一部分 Makefile 文件的的行是這樣:
· LIB= -L/usr/X11/lib
· INCLUDE= -I/usr/X11/include/X11
· LIBS= -lX11 -lc -lm
這個 -L 和 -I 開關(guān)告訴編譯器和鏈接分別在哪里找到 library 和 include 文件。在這個例子里, X11 庫應(yīng)該在 /usr/X11/lib 目錄,且 X11 包含文件應(yīng)該在 /usr/X11/include/X11 目錄里。假如對于你的機(jī)器上的這個錯誤,請?zhí)幚硇薷?Makefile 并重新再 make。
沒有聲明涉及的數(shù)學(xué)庫函數(shù),像下列各項:
/tmp/cca011551.o(.text 0x11): undefined reference to `cos'
要修復(fù)它,需要明確鏈接到匹配的庫,在 Makefile (看先前的例子) 里增加一個 -lm 到 LIB 或 LIBS 標(biāo)記 。
用其他方法嘗試
仍然失敗 如果失敗,參考下列腳本:
make -DUseInstalled -I/usr/X386/lib/X11/config
這個直接方式的類別相當(dāng)于。
在少數(shù)例子里,用 root 運行 ldconfig 可能會解決:
# ldconfig 更新共享庫鏈接符號。
一些 Makefiles 使用你系統(tǒng)里未被承認(rèn)的庫別名。一個例子,構(gòu)建可能需要 libX11.so.6 ,但是在 /usr/X11R6/lib 不存在文件或鏈接。然而,在那里是 libX11.so.6.1。解決方法是用 root 運行l(wèi)n -s /usr/X11R6/lib/libX11.so.6.1 /usr/X11R6/lib/libX11.so.6 ,接著需要運行 ldconfig 。
有一些包需要你安裝一個或更多庫的升級版本。需要拷貝一個或更多的庫到適當(dāng)?shù)哪夸浝?,刪除舊的庫,重新設(shè)置動態(tài)鏈接庫。
4:一些其他的問題處理
安裝一個shell 腳本如果出現(xiàn):No such file or directory 的錯誤消息。這是可以檢查文件權(quán)限確定文件事可執(zhí)行的,并檢查文件頭確定是否 shell 或程序是腳本在指定的位置被調(diào)用。一個例子,這個腳本可能是這樣開始的:
#!/usr/local/bin/EDEN
如EDEN的實際安裝位置是在你的 /usr/bin 目錄,用一個 /usr/local/bin 替代
這個腳本不能運行有兩個方法來糾正!!
A: 文件頭改成 #!/usr/bin/EDEN
B: 或增加一個鏈接符, ln -s /usr/bin/EDEN
5:一個典型的例子 Xloadimage
首先說明下面的例子來源于國外網(wǎng)站的一個技術(shù)實例,這里我做了翻譯和整理。
這個例子展現(xiàn)一個簡單的問題。xloadimage 程序?qū)ξ业膱D形工具的調(diào)整設(shè)置是有用的附加。從源碼目錄拷貝文件,用 tar xzvf 解壓文件,可是在運行 make 的時候出現(xiàn)令人討厭的錯誤并停止了。
gcc -c -O -fstrength-reduce -finline-functions -fforce-mem
-fforce-addr -DSYSV -I/usr/X11R6/include
-DSYSPATHFILE=\"/usr/lib/X11/Xloadimage\" mcidas.c
In file included from /usr/include/stdlib.h:32,
from image.h:23,
from xloadimage.h:15,
from mcidas.c:7:
/usr/lib/gcc-lib/i486-linux/2.6.3/include/stddef.h:215:
conflicting types for `wchar_t'
/usr/X11R6/include/X11/Xlib.h:74: previous declaration of
`wchar_t'
make[1]: *** [mcidas.o] Error 1
make[1]: Leaving directory
`/home/thegrendel/tst/xloadimage.4.1'
make: *** [default] Error 2
這個錯誤消息包含了實質(zhì)的線索:
查看 image.h 文件的 23 行:
#include stdlib.h
在源碼的某處對于 xloadimage, wchar_t 已經(jīng)在指定標(biāo)準(zhǔn) include 文件重新定義。 告訴我們首先在 image.h 的 23 行嘗試注釋它,或許 stdlib.h include 是不存在的,畢竟不是所有都是必需的。
在這點,構(gòu)建中的收益來源于所有任何一個致命錯誤。xloadimage 現(xiàn)在功能正常。
6: 安裝 Linux 包的一些總結(jié)
堅持自己動手處理所有的安裝出現(xiàn)的問題,不斷總結(jié)努力學(xué)習(xí),從錯誤里去仔細(xì)研究,努力動手排錯,從每個不足甚至失敗的地方得到擴(kuò)充和提升,可以增強安裝構(gòu)建軟件的技巧。
起因:想查看鏈表list.h源碼,但系統(tǒng)中沒有找到
經(jīng)過一番搜索,總結(jié)下安裝步驟:
此時需要安裝一個mock,并新建一個mockbuild用戶
4、命令行執(zhí)行
5、回到根目錄下 /root/rpmbuild ,可以看到SPECS文件夾cd到這個文件夾
執(zhí)行 rpmbuild -bp --target = $ (uname -m) kernel.spec
如果提示rpmbuild not find,需要先安裝rpmbuild, yum install rpmbuild
6、運行后會出現(xiàn)錯誤,提示
執(zhí)行
7、依賴包安裝完成后,再次執(zhí)行
至此,安裝完成。
本文名稱:linux上源碼安裝命令 linux源代碼安裝
文章起源:http://jinyejixie.com/article28/dosspcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)、網(wǎng)站營銷、建站公司、App設(shè)計、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)