目录
Linux应用程序基础
- 应用程序与系统命令的关系
- 典型应用程序的目录结构
- 常见的软件包封装类型
RPM软件包管理工具
Red-Hat Package Manager
- 由Red Hat公司提出,被众多Linux发行版所采用
- 建立统一的数据库文件
- 详细记录软件包安装、卸载等变化信息
- 自动分析软件包依赖关系
RPM软件包
- 软件素材参考:http://www.rpm.org
- 一般命名格式:
bash-4.1.2-15.el6_4.x86_64.rpm
rpm命令的格式
1、rpm命令能够实现几乎所有对RPM软件包的管理功能
2、执行“man rpm”命令可以获得关于rpm命令的详细帮助信息
3、rpm命令功能
- 查询、验证RPM软件包的相关信息
- 安装、升级、卸载RPM软件包
- 维护RPM数据库信息等综合管理操作
查询RPM软件包信息
1、查询已安装的RPM软件信息
rpm -q[子选项] [软件名]
常用选项: -qa、-qi、-ql、-qf、-qc、-qd
2、查询未安装的RPM软件包文件中信息
rpm -qp[子选项] RPM包文件
常用选项
-qpi、-qpl、-qpc、-qpd
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
-R:显示套件的关联性信息;
-s:显示文件状态,本参数需配合"-1"参数使用;
-U:<套件档>或—-upgrade<套件档>:升级指定的套件档;v:显示指令执行过程;
-vv:详细显示指令执行过程,便于排错。
rpm -qa显示所有已安装的程序名
rpm -qi程序名显示已安装的程序的详细信息
rpm -ql 程序名显示已安装的程序的文件列表
rpm -qf程序名查询已安装程序属于哪个安装包
rpm -qc 程序名列出已安装程序的配置文件
rpm -qd 程序名列出已安装程序的软件包文档所在位置
rpm-qR 程序名列出已安装程序的依赖的软件包及文件
rpm -qpi程序名显示未安装的程序的详细信息
rpm -apl 程序名显示未安装的程序的文件列表
rpm -qpf 程序名显示未安装的程序属于哪个程序
rpm -qpc 程序名显示未安装的程序的配置文件
rpm -qpd 程序名显示未安装的程序的软件包文档的位置
维护RPM数据库重建RPM数据库
[root@localhost ~]# rpm --rebuilddb 或 rpm --initdb
导入验证公钥
[root@localhost ~]# rpm --import /medialcdrom/RPM-GPG-KEY-CentOs-7
解决软件包依赖关系方法
1、安装有依赖关系的多个软件时
- 被依赖的软件包需要先安装
- 可同时指定多个.rpm包文件进行安装
2、卸载有依赖关系的多个软件时
- 依赖其他程序的软件包需要先卸载-
- 可同时指定多个软件名进行卸载
3、忽略依赖关系
- 结合“–nodeps”选项,但可能导致软件异常
源代码编译安装
使用源代码安装软件的优点
- 获得最新的软件版本,及时修复bug
- 根据用户需要,灵活定制软件功能
应用场合举例
- 安装较新版本的应用程序时
- 当前安装的程序无法满足需要时
- 需要为应用程序添加新的功能时
Tarball封包
- .tar.gz和.tar.bz2格式居多
- 软件素材参考: http://sourceforge.net
完整性校验
- md5sum校验工具
[root@localhost ~]# md5sum httpd-2.4.25.tar.gz
确认源代码编译环境
需要支持C/C++程序语言的编译器,如:gcc、gcc-c++、make…
编译安装过程
./configure配置
- 使用源码目录中的configure脚本
- 执行“./configure --help”可查看帮助
- 典型的配置选项
1、- -prefix=软件安装目录示例 - 示例
[root@localhost ~]# cd lusrlsrc/httpd-2.4.25/
[root@localhost httpd-2.4.25]# .lconfigure --prefix=lusr/local/apache
make编译与安装
1、编译
- 执行make命令
2、安装 - 执行make install命令
示例
[root@localhost httpd-2.4.25]# make
[root@localhost httpd-2.4.25]# make install
测试、应用、维护软件
1、使用前
[root@localhost httpd-2.4.25]# vim lusrllocal/apachelconf/httpd.conf
2、启动Apache
[root@localhost httpd-2.4.25]#/usr/locallapache/binlapachectl start
3、运行lynx 127.0.0.1查看本机Apache运行状态