标准Linux应用程序包括:可执行程序、配置文件、帮助文档和库文件。
可执行程序是任务指令的集合,用户通过它向系统提出运算请求,完成所需的任务。配置文件向可执行程序传递用户和系统的定制信息。帮助文件指导用户使用该程序。库文件提供了应用程序运行时的底层支持,所有应用程序均要直接或间接地使用libc库。一般bin目录放可执行文件部分,conf目录存放配置文件部分,lib目录存放一些库文件,man目录存放帮助文件部分。
RPM:RedHat Package Manager.
安装软件包:rpm -ivh *** (i表示install,v表示显示附加信息,h表示安装时以#号显示安装进度,--replacepkgs表示强制重新安装已经安装的软件包,--prefix
升级软件包:rpm -U *** (U表示upgrade,--oldpackage表示升级到旧版本)
查询软件包:rpm -q *** (q表示query,-a表示查询所有安装的软件包,-i显示软件包的概要信息,-l显示软件包的文件列表)
生成补丁文件:diff [命令选项行] file1 file2
应用补丁文件:patch [命令选项行] [待patch的文件] [patch]
库的三种类型:静态函数库、共享函数库和动态加载函数库。
静态函数库:在应用程序编译时,就把函数的执行代码加入到应用程序中。由ar工具程序生成,一般都以.a作为库文件的后缀名。
共享函数库:当一个可执行程序启动时被加载。每个共享函数库都有个特定的名字,称作soname。soname名称必须以lib作为前缀,然后是函数库的名称,然后是.so,最后是版本信息。
动态加载函数库:在程序运行的任何阶段加载函数。一般来说,就是只在运行到该函数时,才从库中加载该函数。使用dll函数库提供的接口来实现动态加载、搜索和卸载动态对象函数。
可以使用nm和ldd命令来获得关于函数库的信息。
库的安装与配置:复制自己编写的库文件到系统标准的库目录中,如/usr/lib,然后运行ldconfig命令。接着,就可以设置LD_LIBRARY_PATH环境变量,或者设置LD_PRELOAD环境变量。

