[Linux]应用程序的基础
一、常见软件包的结构与类型
1.1应用程序与系统命令的关系
角色 | 系统命令 | 应用程序 |
---|---|---|
文件位置 | 一般在/bin和/sbin目录中,成为Shell内部指令 | 通常在/usr/bin、/usr/sbin和/usr/local/bin、/usr/local/sbin目录中 |
主要用途 | 完成对系统的基本管理工作,例如IP配置工具 | 完成相对独立的其他辅助任务,例如网页浏览器 |
适用环境 | 一般只在字符操作界面中运行 | 根据实际需求,有些程序可在图形界面中运行 |
运行格式 | 一般包括命令字、命令选项和命令参数 | 通常没有固定的执行格式,由程序开发者自行定义 |
1.2应用程序的目录结构
文件类型 | 保存目录 | 说明 |
---|---|---|
普通的可执行程序文件 | /usr/bin | 所有用户可执行 |
服务器程序、管理程序文件 | /usr/sbin | 只有管理员能执行 |
应用程序配置文件 | /etc | 通过rpm或者yum方式安装的应用程序 |
日志文件 | /var/log | 系统日志 |
应用程序参考文档文件 | /usr/share/doc | 关于应用程序的参考文档数据 |
应用程序手册也文件 | /usr/share/man | 执行文件及配置文件的man手册页 |
1.3软件包封装类型
文件类型 | 保存目录 |
---|---|
RPM软件包 | 扩展名为“.rpm”,适用于RHEL、CentOS系统 |
DEB软件包 | 扩展名为“.deb”,适用于Ubuntu、Debian等系统 |
源代码软件包 | 一般为“.tar.gz”、“tar.bz2”等格式的压缩包包含程序的原始代码,需要编译 |
附带安装程序的软件包 | 软件包的扩展名不易,以TarBall格式的居多。在软件包在hi通过永固安装的可执行程序或脚本文件,如install.sh、setup等。安装时只需要运行安装文件就可以根据向导程序提示完成安装操作 |
二、RPM管理工具
2.1Red-Hat Package Manager
- 由Red Hat公司提出,被众多Linux发行版所采用
- 建立统一的数据库文件
- 详细记录软件包安装、卸载等变化信息
- 自动分析软件包依赖关系
2.2RPM软件包格式
- 一般命名格式: bash-4.1.2-15.el6_4.x86_64.rpm
(软件名:bash,版本号:4.1.2 ,发布次数:15 ,硬件平台:x86_64 ,扩展名:rpm)
2.3RPM命令格式
- “man rpm” 可以查看rpm命令的帮助信息
** rpm命令功能** - 查询、验证RPM软件包的相关信息
- 安装、升级、卸载RPM软件包
- 维护RPM数据库信息等综合管理操作
2.4 查询已安装RPM软件包信息
** 命令格式**
- rpm -q【子选项】 软件名
常用选项
命令 | 功能 |
---|---|
-q | 查询软件是否安装 |
-qi | 显示已安装软件的详尽信息 |
-ql | 显示软件的文件列表 |
-qc | 列出软件的配置文件 |
-qd | 列出指定软件的软件包文档所在位置 |
-qR | 列出软件的依赖软件包及文件 |
-qf 文件/目录 | 查询指定软件属于那个安装包 |
-qa | 显示系统中所有软件列表,(可以配合grep筛选) |
-q、-qi
-ql
-qc、-qd、-qR
-qf
2.5查询未安装的RPM软件包文件中的信息
格式
rpm -qp【子选项】 rpm包文件名
常用选项
命令 | 功能 |
---|---|
-qpi | 查询指定软件的详尽信息 |
-qpl | 查询软件包的文件列表 |
-qpc | 查询软件包的配置文件 |
-qpd | 查询软件包的文档位置 |
命令演示
-qpi
- qpl
-qpc、-qpd
2.6 安装、升级、卸载RPM软件包
常用选项
选项 | 功能 |
---|---|
-i | 安装一个新的软件包 |
-U | 升级一个软件包,未安装则直接安装 |
-F | 升级一个软件包,未安装则放弃升级 |
-h | 安装过程以“#”号显示进度 |
-v | 安装过程显示详细信息 |
–force | 强制安装某个软件包,比如旧版本 |
-e | 卸载一个软件包 |
–nodeps | 在安装、升级、卸载时候不查询依赖关系 |
安装软件包
卸载软件包
2.7维护RPM数据库
重建RPM数据库
- rpm -rebuilddb
- rpm -initdb
导入验证公钥 - rpm -import 【公钥文件】
- 可以在 /MNT查看公钥文件