Linux源程序包相关概念整理

一、      Linux源程序包介绍

1)    linux源程序包基础

1.         遵循常用开源协议:BSDApache Licence 2.0GPLLGPLMIT

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

开发程序(cc++perl

linuxwindowsunix

静态编译

开发库、运行库

应用程序(含运行库)

ABI

2

开发程序(cc++perl

linuxwindowsunix

动态编译

开发库、运行库

应用程序(链接至运行库)

运行库、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.178linux.com/8219

(0)
晚明伤哥晚明伤哥
上一篇 2015-09-22
下一篇 2015-09-22

相关推荐

  • 操作系统文件管理

      在现代计算机系统中,要用到大量的程序和数据,因内存容量有限,且不能长期保存,故而平时总是把它们以文件的形式存放在外存中,需要时再随时将它们调入内存。如果由用户直接管理外存上的文件,不仅要求用户熟悉外存特性,了解各种文件的属性,以及它们在外存上的位置,而且在多用户环境下,还必须能保持数据的安全性和一致性。显然,这是用户所不能胜任、也不愿…

    Linux干货 2015-04-13
  • Linux 2.6.39-rc3的一个插曲

    2011年4月12日,Linux 2.6.39-rc3发布了,Linus Torvalds写了一个发布邮件,其中包含了一个长长的为这个版本做过贡献的人员名单,这个名单中有很多看上去应该是中国人的名字,我挺为他们感到骄傲的(不知道你是否还记得以前本站的”Linux是由谁写的“)。 不过,没过一会,发现了一个bug,经过大家的调查(2.6.38版没有发现这个问题…

    Linux干货 2016-06-09
  • 运维监控大数据的提取与分析

    本文内容整理来自【敏捷运维大讲堂】蒋君伟老师的线上直播分享。分别从以下3个维度来分享:1、云时代监控分析的窘境;2、使用标签标记监控数据的维度;3、监控数据应用场景。 云时代监控分析的窘境 在虚拟化与容器技术广泛应用的情况下,运维对象大规模地增长,监控平台每天存储的指标都以亿计,所以监控数据如今已经成了大数据。传统的监控工具在这种场景下,对于数据的提取分析,…

    系统运维 2017-01-09
  • 细述LVM

     前言:     LVM(Logical Volume Manager)是基于内核的一种逻辑卷管理器,LVM适合于管理大存储设备,并允许用户动态调整文件系统大小。此外,LVM的快照功能可以帮助我们快速备份数据。LVM为我们提供了逻辑概念上的磁盘,使得文件系统不再关心底层物理磁盘的概念。 看图识LVM &nbs…

    Linux干货 2015-06-15
  • 使用Storm实现实时大数据分析

    摘要:随着数据体积的越来越大,实时处理成为了许多机构需要面对的首要挑战。Shruthi Kumar和Siddharth Patankar在Dr.Dobb’s上结合了汽车超速监视,为我们演示了使用Storm进行实时大数据分析。CSDN在此编译、整理。 简单和明了,Storm让大数据分析变得轻松加愉快。 当今世界,公司的日常运营经常会生成TB级别的数据。数据来源…

    Linux干货 2015-04-04
  • heartbeatV1+nfs实现高可用httpd

        随着互联网技术的不断发展,Web应用也越来越普遍,Web服务器的无故障工作时间就显得尤重要,但由于各种各样的原因,一台服务器并不能保证永远不出问题的运行,此时就需要一种机制来实现多台服务器共同为相同的来务功能提供服务,以确保任意一台服务器宕机后,不会影响其所承载的业务的访问。   &nbsp…

    Linux干货 2015-06-26