应用程序与系统命令的关系

文件位置

  • 系统命令:一般在/bin和/sbin目录中,或为Shell内部指令

  • 应用程序:通常在/usr/bin和/usr/sbin目录中

主要用途

  • 系统命令:完成对系统的基本管理工作,例如IP配置工具

  • 应用程序:完成相对独立的其他辅助任务,例如网页浏览器

适用环境

  • 系统命令:一般只在字符操作界面中运行

  • 应用程序:根据实际需要,有些程序可在图形界面中运行

运行格式

  • 系统命令:一般包括命令字、命令选项和命令参数

  • 应用程序:通常没有固定的执行格式


典型应用程序的目录结构

文件类型

保存目录

普通执行程序文件

/usr/bin

服务器执行程序文件和管理程序文件

/usr/sbin

应用程序配置文件

/etc

日志文件

/var/log

应用程序文档文件

/usr/share/doc

应用程序手册页文件

/usr/share/man


常见的软件包封装类型

封装类型

说明

rpm软件包

扩展名为“.rpm”

deb软件包

扩展名为“.deb”

源代码软件包

一般为“.tar.gz”、“.tar.bz2”等格式的压缩包

包含程序的原始代码

附带安装程序的软件包

在压缩包内提供install.sh、setup等安装程序

或以“.bin”格式的单个执行文件提供

绿色免安装的软件包

在压缩包内提供已编译好的执行程序文件

解开压缩包后的文件即可直接使用


RPM Package Manager

由Red Hat公司提出,被众多Linux发行版所采用

建立统一的数据库文件,详细记录软件包安装、卸载等变化信息,能够自动分析软件包依赖关系


一般命名格式:

bash-3.1-16.1.i386.rpm

软件名称版本号发布次数硬件平台 扩展名


RPM包管理命令——rpm

主要功能

1. 查询RPM软件、包文件的相关信息

2. 安装、升级、卸载RPM软件包

3. 维护RPM数据库信息

查询已安装的RPM软件信息

格式:rpm -q[子选项] [软件名]

用法:结合不同的子选项 完成不同查询

-qa:查看系统中已安装的所有RPM软件包列表(结合管道 rpm -qa | wc -l 显示已安装的RPM软件个数)

-qi:查看指定软件的详细信息

-ql:查询指定软件包所安装的目录、文件列表

-qc:仅显示指定软件包安装的配置文件

-qd:仅显示指定软件包安装的文档文件

-qf:查看指定的文件或目录是又哪个软件包所安装的


例如:查询文件或目录属于哪个RPM软件

格式:rpm -qf 文件或目录名


查询未安装的RPM包文件

格式:rpm -qp[子选项] RPM包文件

用法:结合不同的子选项 完成不同查询

-qpi:通过.rpm包文件查看该软件的详细信息

-qpl:查看.rpm安装包内所包含的目录、文件列表

-qpc:查看.rpm安装包内包含的配置文件列表

-qpd:查看.rpm安装包内包含的文档文件列表


安装或升级RPM软件

格式:rpm [选项] RPM包文件...

用法:不同选项适用于不同情况

-i:安装一个新的rpm软件包

-U:升级某个rpm软件,若原本未装,则进行安装

-F:更新某个rpm软件,若原本未装,则放弃安装

例如:卸载指定的RPM软件

格式:rpm -e 软件名


辅助选项

--force:强制安装所指定的rpm软件包

--nodeps:安装、升级或卸载软件时,忽略依赖关系

-h:以“#”号显示安装的进度

-v:显示安装过程中的详细信息

--rebuilddb或--initdb:重建RPM数据库

--imoort:导入验证公钥


解决软件包依赖关系

安装有依赖关系的多个软件时

被依赖的软件包需要先安装

同时指定多个.rpm包文件进行安装

卸载有依赖关系的多个软件时

依赖其他程序的软件包需要先卸载

同时指定多个软件名进行卸载

忽略依赖关系

结合“--nodeps”选项,但可能导致软件异常