Linux应用程序基础

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

1 文件位置

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

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

2 主要用途

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

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

3 适用环境

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

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

4 运行格式

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

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

二典型应用程序的目录结构

文件类型                        保存目录

普通执行程序文件                  /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软件管理

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

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

1 一般命名格式:

bash-3.1-16.1.i386.rpm

软件名-版本号-支持的CPU类型-扩展名

2 查询已安装的rpm软件信息

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

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

:rpm -qa              //查看系统中已安装的所有rpm软件包列表

:rpm -qa dhcp         //查看软件是否安装

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

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

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

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

:rpm -qf file         //查询文件或目录属于哪个rpm软件

3 查询未安装的RPM包文件

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

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

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

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

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

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

4 安装或升级RPM软件

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

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

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

    :rpm -ivh dhcp

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

    :rpm -ivh dhcp --force

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

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

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

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

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

5 卸载指定的RPM软件

格式:rpm -e 软件名

6 重建RPM数据库(用户系统被破坏时重载rpm,以便正常使用)

rpm --rebuilddb或 rpm --initdb

7 导入验证公钥    (用于校验rpm包是否被改过)

rpm --import /media/cdrom/RPM-GPG-KEY-redhat-release

五从源代码编译安装程序

1 源代码编译概述

使用源代码安装软件的优点

获得最新的软件版本,及时修复bug、根据用户需要,灵活定制软件功能

应用场合举例

安装较新版本的应用程序时、自由软件的最新版本大都以源码的形式最先发布、当前安装的程序无满足需要时、编译安装可由用户自行修改、定制功能、需要为应用程序添加新的功能时 、用户可以重新配置、自由修改源代码,加入新的功能

2 编译安装基本过程

   1)解包并切换到解压目录

   2)配置

·使用源码目录中的 configure 脚本

·执行"./configure --help" 可以查看帮助

·典型的配置选项:

--prefix=软件安装目录

    ./configure --prefix=/usr/local "其他模块

3)编译

 make

4)安装

make install

编译和安装也可以一起执行:make && make instaLl