自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解Linux系統(tǒng)源碼包安裝方法

運維 系統(tǒng)運維
Linux越來越火熱,微軟都開始著急了,于是發(fā)布了windows 7這款系統(tǒng),吸引廣大用戶。本文為你詳細介紹Linux系統(tǒng)源碼包安裝,為你在學(xué)習(xí)Linux系統(tǒng)源碼包安裝時起一定的作用。

Linux越來越火熱,微軟都開始著急了,于是發(fā)布了windows 7這款系統(tǒng),吸引廣大用戶。Linux越來越成為主流,你了解Linux系統(tǒng)么?你是Linux系統(tǒng)的應(yīng)用者么?本文為你詳細介紹Linux系統(tǒng)源碼包安裝,為你在學(xué)習(xí)Linux系統(tǒng)源碼包安裝時起一定的作用。

1. 解壓縮包

可以通過下載或其他方式獲得了一個軟件包,通常它是一個壓縮文件,大部分可能是存檔的和壓縮的,這些文件一般以 .tar .gz為擴展名。

首先拷貝它到一個目錄,然后 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 。所以必須仔細閱讀安裝包的配置信息。當(dāng)一個軟件包里如果有config 和 Makefiles 文件則最好去編輯它,這里包括了安裝指令和說明。提示:你改變 makefile 會導(dǎo)致不同的結(jié)果。大部分軟件包允許用 make install 自動處理安置二進制文件在適當(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: 要了解軟件中更多更詳細的內(nèi)容你必須去在二進制中去了解,而不是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 目錄里。假如對于你的機器上的這個錯誤,請?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)里未被承認的庫別名。一個例子,構(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)令人討厭的錯誤并停止了。

  1. gcc -c -O -fstrength-reduce -finline-functions -fforce-mem  
  2. -fforce-addr -DSYSV -I/usr/X11R6/include  
  3. -DSYSPATHFILE="/usr/lib/X11/Xloadimage" mcidas.c  
  4. In file included from /usr/include/stdlib.h:32,  
  5. from image.h:23,  
  6. from xloadimage.h:15,  
  7. from mcidas.c:7:  
  8. /usr/lib/gcc-lib/i486-linux/2.6.3/include/stddef.h:215:  
  9. conflicting types for `wchar_t'  
  10. /usr/X11R6/include/X11/Xlib.h:74: previous declaration of  
  11. `wchar_t'  
  12. make[1]: *** [mcidas.o] Error 1  
  13. make[1]: Leaving directory  
  14. `/home/thegrendel/tst/xloadimage.4.1'  
  15. make: *** [default] Error 2 

這個錯誤消息包含了實質(zhì)的線索:

查看 image.h 文件的 23 行:
#include

在源碼的某處對于 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í),從錯誤里去仔細研究,努力動手排錯,從每個不足甚至失敗的地方得到擴充和提升,可以增強安裝構(gòu)建軟件的技巧。這樣你就學(xué)會了Linux系統(tǒng)源碼包安裝方法了。

【編輯推薦】

  1. 淺析Linux操作系統(tǒng)中開源Cisco路由虛擬機
  2. 詳解三十種Linux發(fā)行版本
  3. 學(xué)習(xí)心得:Linux系統(tǒng)文件鎖
  4. 闡述Linux擴展文件系統(tǒng)
  5. 輕松的完成Linux創(chuàng)建文件系統(tǒng)
責(zé)任編輯:小霞 來源: 51CTO.com
相關(guān)推薦

2011-01-07 10:55:42

linux源碼過程

2009-12-25 16:37:11

Linux源碼包

2009-12-11 14:05:32

Linux安裝GCC

2009-12-30 09:22:01

Ubuntu編譯

2010-10-15 13:57:55

MySQL源碼安裝

2009-12-21 13:55:40

Linux軟件

2011-03-10 09:31:02

LAMP安裝

2013-04-12 11:07:01

2009-12-16 13:44:12

2011-01-14 17:50:50

Linux安裝方法

2016-10-27 13:25:08

LinuxMySQL安裝

2009-12-01 17:36:48

SUSE LINUX

2022-05-30 15:08:33

包管理子系統(tǒng)包安裝模塊

2010-03-04 14:34:50

Linux操作系統(tǒng)

2010-06-02 13:05:14

Sendmail 安裝

2012-11-13 10:55:00

Linux系統(tǒng)運維

2020-08-21 10:05:22

Linux系統(tǒng)結(jié)構(gòu)內(nèi)核

2013-04-08 16:19:46

Linux內(nèi)核內(nèi)核升級

2012-07-31 16:11:25

Linux內(nèi)核系統(tǒng)運維

2009-06-25 08:53:03

Linux操作系統(tǒng)
點贊
收藏

51CTO技術(shù)棧公眾號