一、 Linux源程序包介紹
1) linux源程序包基礎
1. 遵循常用開源協議:BSD、Apache Licence 2.0、GPL、LGPL、MIT
2. 常用開發語言:C, C++, perl
3. 編譯過程:預處理–> 編譯 –> 匯編 –> 鏈接
2) Linux源程序包開發環境
1. 應用程序開發依賴:頭文件:/usr/include(標明那些庫可以被調用)
庫文件(開發庫,運行庫)/lib或者/usr/lib
2. 庫文件概念:是一種程序(無執行入口,不能獨立執行,只能被能獨立運行的程序調用 時執行)。
3. 庫文件生成:源代碼 –>(轉換為) 二進制格式。
注:ldd命令:查看應用程序運行所依賴的庫文件,使用格式:ldd /path/to/binary_file
4. ABI: Application Binary Interface :應用程序二進制接口,既操作系統內核支持的二進制接口。
5. Linux系統基礎架構圖:
3) Linux源程序包編譯
基本特點:
1. 源程序編譯前基本適用于任何架構平臺環境;
2. 源程序編譯后運行受架構平臺環境的限制;
注:有些程序不依賴于硬件運行,依賴于虛擬機,不再依賴于低層硬件平臺,后綴:.noarch
序號 |
源程序 |
編譯環境 |
編譯方式 |
依賴庫 |
編譯結果(二進制程序) |
運行條件 |
1 |
開發程序(c、c++、perl) |
linux、windows、unix |
靜態編譯 |
開發庫、運行庫 |
應用程序(含運行庫) |
ABI |
2 |
開發程序(c、c++、perl) |
linux、windows、unix |
動態編譯 |
開發庫、運行庫 |
應用程序(鏈接至運行庫) |
運行庫、ABI |
4) Linux源程序包命名格式
Name(名稱)-major(主版本號).minor(次本版本號).release(修訂號).tar.gz
舉例:bash-4.2.3.tar.gz
5) Linux源程序包的組成
1. 二進制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin, /usr/local/APP/{bin,sbin}
注意:有些特殊的應用程序放置于libexec目錄中;有些第三方應用默認安裝于/opt目錄
2. 庫文件(開發庫、運行庫):/lib64, /usr/lib64, /usr/local/lib64, /usr/local/APP/lib
3. 配置文件:/etc, /usr/local/APP/etc或conf目錄
4. 幫助文件:/usr/share/man, /usr/local/share/man, /usr/local/APP/man
二、 Linux源程序包管理器介紹
1) 程序包管理器組成:
1、數據庫(程序名及版本、依賴關系:X –> Y,Z 、功能性說明、安裝生成的各文件路徑及校驗碼
2、程序的組成清單(文件清單、安裝卸載時運行的腳本)
2) 包管理器的功能:
打包
安裝
卸載
升級
校驗
數據庫管理
3) 常用包管理器:
1. Debian: dpkg, 后綴.deb
2. RedHat: rpm, 后綴.rpm
3. 簡介:
在 GNU/Linux( 以下簡稱 Linux) 操作系統中,RPM 和 DPKG 為最常見的兩類軟件包管理工具,他們分別應用于基于 RPM 軟件包的 Linux 發行版本和 DEB 軟件包的 Linux 發行版本。軟件包管理工具的作用是提供在操作系統中安裝,升級,卸載需要的軟件的方法,并提供對系統中所有軟件狀態信息的查詢。
RPM 全稱為 Redhat Package Manager,最早由 Red Hat 公司制定實施,隨后被 GNU 開源操作系統接受并成為很多 Linux 系統 (RHEL) 的既定軟件標準。與 RPM 進行競爭的是基于 Debian 操作系統 (UBUNTU) 的 DEB 軟件包管理工具- DPKG,全稱為 Debian Package,功能方面與 RPM 相似。
三、 Linux源程序包管理器前端工具
由于開源的多態性,Linux 操作系統中的軟件之間的依賴性關系處理一直令用戶感到頭疼。因此可利用前端工具解決包依賴關系。
常用前端工具如下:
1. dpkg –> apt-get
2. rpm –> yum
原創文章,作者:晚明傷哥,如若轉載,請注明出處:http://www.www58058.com/8219