一、软件包的组成

    1、二进制程序(二进制,可执行):如,mysql,mysqld,mysqladmin

    2、配置文件,组成方式:

        a)将主配置文件切割为多个小文件,并放置于某个目录中,如:

            /etc/profile,/etc/profile.d/*

            /etc/pam.conf,/etc/pam.d/*

            /etc/yum.conf,/etc/yum.conf.d/*

        b)单文件,在内部分割为多个片断

            [mysql]

            [mysqld]

    3、库文件(二进制,可执行):

        静态库

        动态库

    4、帮助文件

        手册页

        文档(/usr/share/doc)

二、应用程序存放位置

    1、二进制程序:

        /bin,/sbin 系统启动需要用到的

        /usr/bin,/usr/sbin 系统提供基本功能需要

        /usr/local/bin,/usr/local/sbin 第三方应用程序

    2、库文件(/etc/ld.so.conf,/etc/ld.so.conf.d/*.conf指定lib文件路径的配置文件):

        /lib,/usr/lib

    3、配置文件:

        /etc

        /etc/httpd/等

        /usr/local/etc(第三方应用程序)

    4、帮助文件:

        /usr/share/man

        /etc/man.config

        /usr/share/doc

    5、头文件:/usr/include/下的*.h

    6、函数:一个代码片断,能完成某独立功能,并可以被其它程序或库所调用。

    7、操作系统组成:kernel+ glibc(C语言的标准通用库)+ app

三、软件包

    1、软件管理功能:

        安装

        卸载

        升级

        查询

        校验

    2、debian:最早使用软件包管理器deb的系统,把应用程序的二进制文件、库、配置文件、帮助文件打包成dpkg,dpkg中有每一个软件安装生成的数据库信息,通过deb来管理

    3、RedHat:软件包管理器RedHat Package Manager:RPM

        软件包格式:.rpm

        rpm被作为标准的软件管理格式,SUSE等等也在使用;

    4、二进制程序:有格式,特定于某硬件平台(编译器自身会在软件编译时对软件在特定平台上的运行进行优化)

        硬件架构(指令集):

            x86

            x64

            powerpc

            sparc

            arm

四、rpm软件包:

    1、格式命名:name-version(major.minor.releas)-release.arch|noarch|ppc.rpm

        a)name-version:主包

            name-subname-version:子包

            name-devel-version:跟开发相关的库文件和头文件

        b)major.minor.release表示:

            主版本号:重大改进

            次版本号:某个子功能发生重大变化

            发行号:修正了部分bug,调整了一点功能

        c)release.arch|noarch|ppc表示:

            release:版本和支持系统;

            arch表示:支持在什么平台下运行;

            noarch表示:在32位或64位平台下都可以运行;

            ppc表示:powerpc下运行;

        如:bind-9.7.1-1.noarch.rpm和bind-9.7.1-1.ppc.rpm;

    2、软件包管理工具:

        a)前端工具(自动解决依赖关系):(yum:yellowdog Update Modifier)、apt-get(Debian);

        b)后端工具:RPM(RedHat、Ubuntu), dpt(Debian); 

    3、软件包的安装途径:

        a)RPM包:

            rpm命令

            yum命令

        b)源码包

            编译安装

        c)编译好的二进制压缩包,解压后配置使用

            如:Mysql、MongoDB