跟我一起学习Linux安装及管理程序
一.Linux应用程序基础
1.应用程序与系统命令的关系
角色 |
系统命令 |
应用程序 |
文件位置 |
一般在/bin和/sbin目录中,或为Shell内部指令 |
通常在/usr/bin、lusrlsbin和/usr/local/bin和/usrllocal/sbin目录中 |
主要用途 |
完成对系统的基本管理工作,例如IP配置工具 |
完成相对独立的其他辅助任务,例如网页浏览器 |
适用环境 |
一般只在字符操作界面中运行 |
根据实际需要,有些程序可在图形界面中运行 |
运行格式 |
一般包括命令字、命令选项和命令参数 |
通常没有固定的执行格式,由程序开发者自行定义 |
2. 典型应用程序的目录结构
文件类型 |
保存目录 |
说明 |
普通的可执行文件 |
/usr/bin |
所有用户可执行 |
服务器程序、管理程序文件 |
/usr/sbin |
只有管理员能执行 |
应用程序配置文件 |
/etc |
通过rpm或yum方式安装的应用程序 |
日志文件 |
/var/log |
系统日志 |
应用程序参考文档文件 |
/usr/share/doc |
关于应用程序的参考文档等数据 |
应用程序手册页文件 |
/usr/share/man |
执行文件及配置文件的man手册页 |
3.常见的软件包封装类型
文件类型 |
保存目录 |
RPM软件包 |
扩展名为”.rpm”,适用于RHEL、CentOS等系统 |
DEB软件包 |
扩展名为”.deb”,适用于Ubuntu、Debian等系统 |
源代码软件包 |
般为“.tar.gz” . ".tar.bz2”等格式的压缩包 包含程序的原始代码,需要编译安装
|
附带安装程序的软件包 |
软件包的扩展名不一,以TarBall格式的居多 在软件包中会提供用于安装的可执行程序或脚本文件,如install.sh、setup等 安装时只需运行安装文件就可以根据向导程序的提示完成安装操作 |
二. RPM管理包工具
1. rpm命令格式
- rpm命令能够实现几乎所有对RPM软件包的管理功能
- 执行"man rpm”命令可以获得关于rpm命令的详细帮助信息
- rpm命令功能
l 查询、验证RPM软件包的相关信息
l 安装、升级、卸载RPM软件包
l 维护重建RPM数据库信息等综合管理操作
2. RPM软件包管理器 -Red-Hat PackageManager
- 由Red Hat公司提出。被众多Linux发行版本采用
- 建立统一的文件数据库
- 详细记录软件包安装、卸载、升级等变化信息
- 自动分析软件包依赖关系
3. RPM软件包
- 软件素材参考:http://www.rpm.org
- 一般命名格式
- 查询RPM软件包信息
包名-版本号-发布次数-发行商-Linux平台-适合的硬件平台-包扩展名
name-version-release.arch.rpm
1) 格式: rpm -q [子选项][软件名]
2) 示例 : rpm -qa | grep -i postfix
3) 查询已安装的RPM软件信息
常用选项 |
作用 |
rpm -q 软件名 |
#查询指定软件是否已安装 |
rpm -qa 软件名 |
#显示当前系统中已rpm方式安装的所有软件列表 |
rpm -qi 软件名 |
#显示已安装的指定软件的详细信息 |
rpm -ql 软件名 |
#显示已安装的指定软件的文件列表 |
rpm -qc 软件名 |
#列出已安装的指定软件的配置文件 |
rpm -qd 软件名 |
#列出已安装的指定软件的软件包文档所在位置 |
rpm -qR 软件名 |
#列出已安装的指定软件的依赖的软件包及文件 |
rpm -qf 软件名 |
#查询已安装的指定软件属于哪个安装包 |
l 格式: rpm -q [子选项][软件名]
l 查询未安装的RPM软件包文件信息
常用选项 |
作用 |
rpm -qpi 软件名 |
#显查询指定软件包的详细信息 |
rpm -qpi 软件名 |
#显查询指定软件包的详细信息 |
rpm -qpc 软件名 |
#显查询指定软件包的配置文件 |
rpm -qpd 软件名 |
#显查询指定软件包文档的位置 |
- 安装、升级、卸载软件包
1) 格式: rpm [选项] rpm包文件
2) 示例 : rpm -ivh RPM软件包
3) 安装或升级RPM软件
常用选项 |
作用 |
rpm -i |
安装一个新的 RPM 软件包 |
rpm -U |
升级某个软件包,若未安装过,则进行安装 |
rpm -h |
在安装或升级安装包的过程中,以”#“号显示安装进度 |
rpm -v |
显示软件安装过程中的详细信息 |
rpm --force |
强制安装某个软件包,比如要安装版本更旧的软件包 |
l 格式: rpm -e 软件名
l 卸载指定的RPM软件
常用选项 |
作用 |
rpm -e |
卸载指定名称的软件包 |
rpm --nodeps |
在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系 |
4. 维护RPM数据库
- 重建RPM数据库
a) [root@localhost~]# rpm --rebuilddb
b) [root@localhost ~]# rpm --initdb
- 导入验证公钥
a) [root@localhost ~]#rpm --import /medialcdrom/RPM-GPG-KEY-CentOS-7
5. 解决软件包依赖关系方法
- 安装有依赖关系的多个软件时
a) 被依赖的软件包需要先安装
b) 可同时指定多个.rpm包文件进行安装
- 卸载有依赖关系的多个软件时
a) 可同时指定多个软件名进行卸载
b) 可同时指定多个软件名进行卸载
- 忽略依赖关系
a) 结合"--nodeps”选项,但可能导致软件异常
三. 源代码编译安装
1. 源代码编译概述
- 使用源代码安装软件的优点
a) 获得最新的软件版本,及时修复
b) bug根据用户需要,灵活定制软件功能
- 应用场合举例
a) 安装较新版本的应用程序时
b) 当前安装的程序无法满足需要时
c) 需要为应用程序添加新的功能时
2. 编译安装过程
3. tar解包
- 示例 [root@localhost ~]# tar zxf httpd-2.4.25.tar.gz -C usr/src
- 习惯上将软件包释放到/usr/src/目录
- 解包后的源代码文件位置
a) lusrlsrc/软件名-版本号/