文章目录
1.Linux应用程序基础
1.1应用程序与系统命令的关系
角色 | 系统命令 | 应用程序 |
---|---|---|
文件位置 | ——般在/bin和/sbin目录中,或为Shell内部指令 | 通常在/usr/bin和/usr/sbin目录中 |
主要用途 | 完成对系统的基本管理工作,例如IP配置工具 | 完成相对独立的其他辅助任务,例如网页浏览器 |
适用环境 | 一般只在字符操作界面中运行 | 根据实际需要,有些程序可在图形界面中运行 |
运行格式 | —般包括命令字、命令选项和命令参数 | 通常没有固定的执行格式 |
1.2典型应用程序的目录结构
文件类型 | 保存目录 |
---|---|
普通执行程序文件 | /usr/bin |
服务器执行程序文件和管理程序文件 | /usr/sbin |
应用程序配置文件 | /ect |
日志文件 | /var/log |
应用程序参考文档文件 | /usr/share/doc |
应用程序手册页文件 | /usr/share/man |
1.3常见的软件包封装类型
文件类型 | 保存目录 |
---|---|
RPM软件包 | 扩展名为“.rpm” |
DEB软件包 | 扩展名为“.deb" |
源代码软件包 | —般为“.tar.gz"、".tar.bz2”等格式的压缩包,包含程序的原始代码 |
绿色免安装的软件包 | 软件包的扩展名不一,以TarBall格式的居多 在压缩包内提供已编译好的执行程序文件 解开压缩包后的文件即可直接使用 |
- 注:光盘里的软件包都是.RPM格式,
2.RPM软件包
简介
- RPM全称为Red-Hat Package Manager,它是红帽子公司开发的一个软件包格式,以".rpm"作为文件的拓展名,管理rpm软件包的程序就是RPM。
特点
- 由Red Hat公司提出,被众多Linux发行版所采用;
- 建立统一的数据库文件;
- 详细记录软件包安装,卸载等变化信息;
- 自动分析软件包依赖关系解决,无法解决依赖关系
2.1RPM的一般命令格式
示例:
bash-4.1.2-15.el6_4.x86_64.rpm
bash表示软件名称
版本号为4.1.2
发布次数15
硬件平台x86
扩展名.rpm
- pm命令能够实现几乎所有对RPM软件包的管理功能;
- 执行“man rpm”命令可以获得关于rpm命令的详细帮助信息。
rpm命令功能:
- 查询、验证RPM软件包的相关信息;
- 安装、升级、卸载RPM软件包;
- 维护RPM数据库信息等综合管理操作。
2.2查询RPM软件包信息
2.2.1查询已安装的RPM软件信息
rpm -q[子选项] [软件名] #查询软件包是否安装
rpm -qa grep [软件名] #查询软件包是否被安装过
rpm -qa #在该目录下查询所有已安装的
常用选项及功能:
- -qa、-qi、-ql、-qf、-qc、-qd、-qR
命令 | 功能 |
---|---|
rpm -qa | 显示所有已安装的程序名 |
rpm -qi 程序名 | 显示已安装的程序的详细信息 |
rpm-ql 程序名 | 显示已安装的程序的文件列表 |
rpm -qf 程序名 | 查询已安装程序属于哪个安装包 |
rpm -qc 程序名 | 列出已安装程序的配置文件 |
rpm -qd 程序名 | 列出已安装程序的软件包文档所在位置 |
rpm-qR 程序名 | 列出已安装程序的依赖的软件包及文件 |
2.2.2查询未安装的RPM软件包文件中信息
rpm -qp[子选项] RPM包文件
常用选项及功能:
- -qpi、-qpl、-qpc、-qpd、-qpf
命令 | 功能 |
---|---|
rpm -qpi 程序名 | 显示未安装的程序的详细信息 |
rpm -qpl 程序名 | 显示未安装的程序的文件列表 |
rpm -qpf 程序名 | 显示未安装的程序属于哪个程序 |
rpm -qpc 程序名 | 显示未安装的程序的配置文件 |
rpm -qpd 程序名 | 显示未安装的程序的软件包文档的位置 |
2.3安装、升级、卸载 RPM软件包
2.3.1安装或升级RPM软件
rpm [选项] RPM包文件....
常用选项:
- -i、-U、-F
功能:
rpm -i 安装;
rpm -U 升级(不管程序是否安装过,都给它升级);
rpm -F 程序必须是己经安装过,才给升级。
2.3.2卸载指定的RPM软件
rpm -e 软件名
2.3.3辅助选项
- –force、–nodeps、-h、-V
选项的功能:
rpm --force 强制
rpm --nodeps 不检查与其他软件包的依赖关系
rpm -h 在安装或升级过程中以#显示进度
rpm -v 显示过程信息
2.4维护RPM数据库
- 重建RPM数据库:
[root@localhost~]# rpm --rebuilddb
或
[root@localhost~]# rpm --initdb
- 导入验证公钥:
[root@localhost~]# rpm --import /medialcdrom/RPM-GPG-KEY-CentOs-7
3.如何解决软件包依赖关系
(1)安装有依赖关系的多个软件时:
- 被依赖的软件包需要先安装;
- 可同时指定多个.rpm包文件进行安装;
(2)卸载有依赖关系的多个软件时:
- 依赖其他程序的软件包需要先卸载;
- 可同时指定多个软件名进行卸载;
(3)忽略依赖关系:
- 结合"–nodeps”选项,但可能导致软件异常。