Linux源程序包相關概念整理

一、      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系統基礎架構圖:

1.jpg

3)    Linux源程序包編譯

基本特點:

1.         源程序編譯前基本適用于任何架構平臺環境;

2.         源程序編譯后運行受架構平臺環境的限制;

注:有些程序不依賴于硬件運行,依賴于虛擬機,不再依賴于低層硬件平臺,后綴:.noarch

 

序號

源程序

編譯環境

編譯方式

依賴庫

編譯結果(二進制程序)

運行條件

1

開發程序(c、c++、perl

linux、windowsunix

靜態編譯

開發庫、運行庫

應用程序(含運行庫)

ABI

2

開發程序(c、c++、perl

linux、windowsunix

動態編譯

開發庫、運行庫

應用程序(鏈接至運行庫)

運行庫、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/etcconf目錄

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

(0)
晚明傷哥晚明傷哥
上一篇 2015-09-22 09:35
下一篇 2015-09-22 09:44

相關推薦

  • DHCP服務

    一、DHCP概述     DHCP全稱為Dynamic Host Configuration Protocol,即動態主機配置協議,其主要作用是使用網內的主機可以自動獲取到網絡相關參數信息,以達到高效管理主機的目的。     DHCP采用C/S架構,即Server/Client?!?/p>

    Linux干貨 2015-05-11
  • 深入淺出Docker(一):Docker核心技術預覽

    原文鏈接:http://www.infoq.com/cn/articles/docker-core-technology-preview/ 【編者按】Docker是PaaS供應商dotCloud開源的一個基于LXC 的高級容器引擎,源代碼托管在 GitHub 上,基于Go語言開發并遵從Apache2.0協議開源。Docker提供了一種在安全、可重復的環境中自…

    2015-04-10
  • 阿里巴巴開源項目nginx_concat_module企業部署實例

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://nolinux.blog.51cto.com/4824967/1580194        公司的前端開發工程師今天找我,讓我給他搞下淘寶的一個開源項目 nginx_concat_m…

    Linux干貨 2016-08-15
  • Bash Shell之數組簡介

    Bash Shell之數組簡介   一、數組基本概念   數組是內存中的存儲空間,連續的多個存儲單元;bash中只支持一維數組,支持稀疏格式 ,參數個數沒有限制。 二、數組基本語法格式   1、聲明一個數組          declare…

    Linux干貨 2015-05-11
  • 大數據計算:如何僅用1.5KB內存為十億對象計數

    Big Data Counting: How To Count A Billion Distinct Objects Using Only 1.5K This is a guest post by Matt Abrams (@abramsm), from Clearspring, discussing how they are able to accurat…

    Linux干貨 2015-04-08
  • 加密和解密技術基礎(01) ~ 105分鐘

    加密和解密技術基礎(01) ~ 105分鐘 講課思路: 互聯網通信機制 –> 網絡協議模式(osi,tcp/ip模型) –> 數據通信安全  à 數據加密 –> 加密算法 –> OpenSSL是什么 à SSL通信原理 –> CA –> OpenSSL命令用法 à CA 自簽及簽證演示 1.1 &nbs…

    Linux干貨 2016-09-19
欧美性久久久久