成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux系統源碼包安裝過程詳解

運維 系統運維
隨著人們對源代碼的開發,linux越來越受到人們的普遍關注。全方位地了解linux還需要很長的過程,本文在這里主要為您介紹了linux系統下源碼包的安裝過程。

         linux最大的好處之一就是它的源碼公開,同時,源碼也吸引著無數的電腦愛好者和程序員;他們把解讀和分析linux代碼作為自己的興趣和愛好之一,以下是介紹linux源碼安裝包的過程:

一、 解壓縮包

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

  首先拷貝它到一個目錄,然后 untar 和 gunzip 解壓它。 通常這個命令是

  tar xzvf filename [filename 是軟件文件名稱]

  解壓后的文件一般會在當前目錄下的創建子目錄,并以這個包名來命名。 你也可以用用這個命令預先查看結果 tar tzvf filename,顯示包里有那些解壓文件。

  源文件如果是新的 bzip2 (.bz2) 格式,可用 bzip2 -cd filename | tar xvf -,或更簡單的 tar xyvf filename ,這很不錯的tar命令被不斷的完善。

  說明:

  A:有時候一些文件必須安裝在用戶的 home 目錄下,或更多的是在一個固定的目錄,比如 /, /usr/src, 或 /opt 。所以必須仔細閱讀安裝包的配置信息。當一個軟件包里如果有config 和 Makefiles 文件則最好去編輯它,這里包括了安裝指令和說明。提示:你改變 makefile 會導致不同的結果。大部分軟件包允許用 make install 自動處理安置二進制文件在適當的系統位置。

  B:你可能碰到過一些共享文件、shell 存檔文件、尤其是 Internet 上的源碼新聞組。它們保留的原因是具有人性化的可讀性,并且允許新聞組緩沖并通過它們篩選和剔除出不合格的。它們可能用 unshar filename.shar 命令來解壓。

  C: 一些源碼存檔文件是用非標準的 DOS,Mac 或其他壓縮的比如:zip, arc, lha, arj, zoo, rar, and shk.

  D: 有時候,你可能需要使用一個 patch 或顯示改變了的 diff 文件來升級或修復存檔的源碼文件。這 doc 文件或者 README 文件將告訴你怎么去使用。一個很好的命令用標準語法來調用的命令是 patch < patchfile.

二、關于 rpm 安裝包

  一些 Linux 用戶懼怕通過使用源碼來手動安裝軟件包,不過現在有方便的 rpm 和 deb 或 新格式的 slp 包。例如:rpm 安裝運行平穩又快,作為一個軟件安裝在某幾個有名的操作系統。

  作為方便的RPM包也存在很多不好的缺點,例如:
  A: 要了解軟件中更多更詳細的內容你必須去在二進制中去了解,而不是rpm包。

  B: 還有安裝一個 rpm 包如果需要依賴關系那么安裝就可能會導致失敗。

  C: 當 rpm 請求你系統中不同版本的庫,那么安裝將不能繼續,除非你為錯誤的庫位置創建連接符號到正確的位置。

  說明:必須使用root 安裝 rpm 和 deb 。因為它需要必須的寫入權限。

  最簡單的,用命令 rpm -i packagename.rpm 和 dpkg --install packagename.deb 會自動解包和安裝。

三、關于安裝 Linux 包出現的一些問題及解決方案

  假設 make 失敗有個鏈接錯誤: -lX11: No such file or directory,正好在 xmkmf 之后已被調用,這可能意味著 Imake 不能被完全建立。檢查第一部分 Makefile 文件的的行是這樣:

  LIB= -L/usr/X11/lib
  INCLUDE= -I/usr/X11/include/X11
  LIBS= -lX11 -lc -lm

  這個 -L 和 -I 開關告訴編譯器和鏈接分別在哪里找到 library 和 include 文件。在這個例子里, X11 庫應該在 /usr/X11/lib 目錄,且 X11 包含文件應該在 /usr/X11/include/X11 目錄里。假如對于你的機器上的這個錯誤,請處理修改 Makefile 并重新再 make。

  沒有聲明涉及的數學庫函數,像下列各項:
  /tmp/cca011551.o(.text+0x11): undefined reference to `cos'

  要修復它,需要明確鏈接到匹配的庫,在 Makefile (看先前的例子) 里增加一個 -lm 到 LIB 或 LIBS 標記 。

  用其他方法嘗試
  仍然失敗 如果失敗,參考下列腳本:
  make -DUseInstalled -I/usr/X386/lib/X11/config

  這個直接方式的類別相當于。

  在少數例子里,用 root 運行 ldconfig 可能會解決:
  # ldconfig 更新共享庫鏈接符號。

  一些 Makefiles 使用你系統里未被承認的庫別名。一個例子,構建可能需要 libX11.so.6 ,但是在 /usr/X11R6/lib 不存在文件或鏈接。然而,在那里是 libX11.so.6.1。解決方法是用 root 運行ln -s /usr/X11R6/lib/libX11.so.6.1 /usr/X11R6/lib/libX11.so.6 ,接著需要運行 ldconfig 。

  有一些包需要你安裝一個或更多庫的升級版本。需要拷貝一個或更多的庫到適當的目錄里,刪除舊的庫,重新設置動態鏈接庫。

#p#

四、一些其他的問題處理

  安裝一個shell 腳本如果出現:No such file or directory 的錯誤消息。這是可以檢查文件權限確定文件事可執行的,并檢查文件頭確定是否 shell 或程序是腳本在指定的位置被調用。一個例子,這個腳本可能是這樣開始的:

  #!/usr/local/bin/EDEN

  如EDEN的實際安裝位置是在你的 /usr/bin 目錄,用一個 /usr/local/bin 替代

  這個腳本不能運行有兩個方法來糾正!

  A: 文件頭改成 #!/usr/bin/EDEN

  B: 或增加一個鏈接符, ln -s /usr/bin/EDEN

五、一個典型的例子 Xloadimage

  首先說明下面的例子來源于國外網站的一個技術實例,這里我做了翻譯和整理。

  這個例子展現一個簡單的問題。xloadimage 程序對我的圖形工具的調整設置是有用的附加。從源碼目錄拷貝文件,用 tar xzvf 解壓文件,可是在運行 make 的時候出現令人討厭的錯誤并停止了。

 

  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.  
  6. from image.h:23,  
  7.  
  8. from xloadimage.h:15,  
  9.  
  10. from mcidas.c:7:  
  11.  
  12.   /usr/lib/gcc-lib/i486-linux/2.6.3/include/stddef.h:215:  
  13.  
  14.   conflicting types for `wchar_t'  
  15.  
  16.   /usr/X11R6/include/X11/Xlib.h:74: previous declaration of  
  17.  
  18.   `wchar_t'  
  19.  
  20.   make[1]: *** [mcidas.o] Error 1  
  21.  
  22.   make[1]: Leaving directory  
  23.  
  24.   `/home/thegrendel/tst/xloadimage.4.1'  
  25.  
  26.   make: *** [default] Error 2  
  27.  

  這個錯誤消息包含了實質的線索:

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

  在源碼的某處對于 xloadimage, wchar_t 已經在指定標準 include 文件重新定義。 告訴我們首先在 image.h 的 23 行嘗試注釋它,或許 stdlib.h include 是不存在的,畢竟不是所有都是必需的。

  在這點,構建中的收益來源于所有任何一個致命錯誤。xloadimage 現在功能正常。

六、總結

  linux源碼是很有吸引力的,特別是你弄懂了自己思考了很久的一個問題,或者是你修改的內核順利通過編譯,一切運行正常時,一種成就感油然而生。所以,堅持自己動手處理所有的安裝出現的問題,不斷總結努力學習,從錯誤里去仔細研究,努力動手排錯,從每個不足甚至失敗的地方得到擴充和提升,可以更好地增強安裝構建軟件的技巧。

 

【編輯推薦】

  1. 8.1 Linux內核源碼組織
  2. 8.3.1 獲取源碼
  3. 1 我的源碼讓貓給吃了
  4. 8.4.2 下載Linux 2.6內核源碼文件
  5. linux下MySQL源碼如何進行純手動安裝?
  6. 8.4.2 下載Linux 2.6內核源碼文件
責任編輯:zhaolei 來源: 比特網
相關推薦

2009-12-22 17:08:18

Linux系統源碼包安

2010-05-31 10:00:14

Nagios安裝

2009-03-24 09:14:20

Windows Emb

2009-10-12 13:54:56

RHEL kernel

2012-07-30 10:26:59

2011-03-28 12:42:26

nagios

2009-02-10 16:09:00

郵件服務器LinuxQmail

2009-12-21 13:59:28

Linux安裝過程

2009-12-16 10:21:08

Fedora 8系統

2010-01-11 17:21:26

Linux Fedor

2009-06-11 10:57:11

netbeans li安裝

2013-07-25 14:20:38

Android模擬器Genymotion

2010-09-10 13:15:39

NetBEUI網絡協議安裝

2011-03-08 10:56:56

LinuxLAMP安裝

2010-07-02 12:32:42

Meego開發

2011-04-22 17:08:43

電腦安裝故障

2010-06-09 18:57:53

Opensuse安裝

2009-12-17 18:50:27

2010-01-07 15:36:53

Ubuntu orac

2010-05-04 16:20:11

resin負載均衡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 2018中文字幕第一页 | 麻豆一区 | 国产黄色精品在线观看 | 日日夜夜av | 天天摸天天干 | 福利视频网站 | 香蕉91| 成人av免费 | 国产超碰人人爽人人做人人爱 | 看片国产 | 中文字幕1区2区3区 亚洲国产成人精品女人久久久 | 日韩毛片 | 亚洲国产成人在线观看 | 正在播放国产精品 | 日韩精品视频在线观看一区二区三区 | 亚洲欧美一区二区三区1000 | www.色综合| 一区二区三区网站 | 免费国产网站 | 日韩高清不卡 | av中文字幕在线播放 | 亚洲视频中文字幕 | 综合精品久久久 | 亚洲精品一区二区在线 | www.日韩在线 | 四虎午夜剧场 | 欧美激情a∨在线视频播放 成人免费共享视频 | 亚洲电影一级片 | 欧美成视频 | 亚洲欧美综合精品久久成人 | 日韩欧美福利视频 | 欧美午夜激情在线 | 日韩一级免费大片 | 亚洲成人午夜在线 | 婷婷综合 | 国产精品久久久久久婷婷天堂 | 久久合久久 | 亚洲www | 五月天婷婷狠狠 | 日韩在线观看中文字幕 | 免费观看a级毛片在线播放 黄网站免费入口 |