应用程序与系统命令的关系
/bin,/sbin和/usr/bin,usr/sbin之间的简单区别
/bin,/sbin目录是在系统启动后挂载到根文件系统中的,所以/sbin,/bin目录必须和根文件系统在同一分区
/usr/bin,usr/sbin可以和根文件系统不在一个分区
典型应用程序的目录结构
常见的软件包封装类型
RPM包管理工具
Red-Hat Package Manager
·由Red Hat公司提出,被众多Linux发行版所采用
·建立统一的数据库文件
·详细记录软件包安装、卸载等变化信息
·自动分析软件包依赖关系
RPM软件包
·软件素材参考:http://www.rpm.org
·一般命名格式:
rpm命令的格式
·rpm命令能够实现几乎所有对RPM软件包的管理功能
·执行“man rpm”命令可以获得关于rpm命令的详细帮助信息
·rpm命令功能:
查询、验证RPM软件包的相关信息
安装、升级、卸载RPM软件包
维护RPM数据库信息等综合管理操作
安装、升级、卸载RPM软件包
安装或升级RPM软件
rpm 【选项】 RPM包文件...
常用选项:-i、-U、-F
卸载指定的RPM软件
rpm -e 软件名
辅助选项:--force、--nodeps、-h、-v
查询rpm软件包信息
rpm -q xxx 查询软件包是否安装
rpm -qa | grep xxx 查询xxx是否被安装过
rpm -i 安装
-e 卸载
-U 升级(不管是程序是否安装过,都给它升级)
-F 程序必须是已经安装过,才给升级
--force 强制
--nodeps 不检查与其他软件包的依赖关系
-v 显示过程信息
-h 在安装或升级过程中以#显示进度
维护RPM数据库
重建RPM数据库
【root@localhost~】#rpm--rebuilddb 或 【root@localhost~】#rpm-initdb
导入验证公钥
【root@localhost~】#rpm--import /media/cdrom/-RPM-GPG-KEY-CentOS-7
解决软件包依赖关系方法
安装有依赖关系的多个软件时
·被依赖的软件包需要先安装
·可同时指定多个.rpm包文件进行安装
卸载有依赖关系的多个软件时
·依赖其他程序的软件包需要先卸载
·可同时指定多个软件名进行卸载
忽略依赖关系
·结合“--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”可查看帮助
·典型的配置选项 --prefix=软件安装目录
示例:【root@localhost~】#cd /usr/src/httpd-2.4.25/
【root@localhost httpd-2.4.25】# ./configure --prefix=/usr/local/apache
make编译与安装
编译:执行make命令
安装:执行make install命令
示例:【root@localhost httpd-2.4.25】# make
【root@localhost httpd-2.4.25】# make install
测试、应用、维护软件
使用前:【root@localhost httpd-2.4.25】# vim /usr/local/apache/conf/httpd.conf
启动Apache:【root@localhost httpd-2.4.25】# /usr/local/apache/bin/apachectl start
运行lynx127.0.0.1查看本机Apache运行状态