Linux应用程序基础

一.Linux应用程序基础

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

Linux应用程序基础

bin和sbin是软连接文件分别指向use/bin 和use/sbin

2.典型应用程序的目录结构

Linux应用程序基础

3.常见的软件包封装类型

Linux应用程序基础

二.RPM包管理工具

RPM软件包管理器Red-Hat Package Manager
~由Red Hat公司提出,被众多Linux发行版所采用
~建立统一的文件数据库
~详细记录软件安装、卸载、升级等变化信息
~自动分析软件包的依赖关系
RPM软件包
~软件素材参考网站:http://www.rpm.org
~一般命名格式:
Linux应用程序基础

rpm命令格式

~rpm命令能够实现几乎所有对RPM软件包的管理功能
~执行”man rpm“命令可以获得关于rpm命令的详细帮助信息

rpm命令功能

~查询、验证rpm软件包的相关信息
~安装、升级、卸载rpm的软件包
~维护重建rpm数据库信息等综合管理操作

三.RPM软件包信息

1.查询已安装的rpm软件信息

命令格式:
rpm -q【子选项】 【软件名】
查询已安装rpm的选项
rpm -q: 查询指定软件是否已安装
rpm -qi: 显示已安装的指定软件的详细信息
rpm -ql: 显示已安装的指定软件的文件列表
rpm -qc: 列出已安装的指定软件的配置文件
rpm -qd: 列出已安装的指定软件的软件包文档所在位置
rpm -qR: 列出已安装的指定软件的依赖软件包及文件
rpm -qf: 查询已安装的指定软件属于哪个安装包
rpm -qa: 显示当前系统中以rpm方式安装的所有软件列表
rpm -qa | grep -i postfix: 查询软件postfix是否已安装

2.查询未安装的rpm软件包文件中的信息

rpm -qpi rpm包文件名 查询指定软件包的详细信息
rpm -qpl rpm包文件名 查询指定软件包的文件列表
rpm -qpc rpm包文件名 查询指定软件包的配置文件
rpm -qpd rpm包文件名 查询指定软件包的软件包文档位置

3.安装、升级、卸载 rpm软件包

命令格式:
rpm 【选项】 rpm软件包
常用选项:
“-i”:安装一个新的rpm软件包。
“-U”:升级某个软件包,若未安装过,则进行安装。
“-F”:升级某个软件包,若未安装过,则放弃安装。
“-h”:在安装或升级软件包的过程中,以“#”号显示安装进度。
“-v”:显示软件安装过程的详细信息。
“–force”:强制安装某个软件包,比如要安装版本更旧的软件包。
“-e”:卸载指定名称的软件包。
“–nodeps”:在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系。(常用在卸载方面)
常用:rpm -ivh安装,比较详细。

4.维护rpm数据库

重建rpm数据库
当rpm数据库发生损坏,可通过重建rpm数据库修复
命令:rpm --rebuilddb 或者 rpm --initab

5.导入验证公钥

在没有导入用于数字签名验证的公钥文件之前,安装光盘中的一部分rpm软件包时会报错。需要向rpm数据库中导入位于光盘根目录的公钥文件。
挂载命令:mount /dev/sr0 /mnt/ (sr0=cdrom=光盘)
rpm --import /mnt/RPM-GPG-KEY-Centos-7 (import导入 RPM-GPG-KEY-Centos-7 公钥文件)

四.源代码编译概述

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

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

2.应用场合举例

~安装较新版本的应用程序时
~当前安装的程序无法满足需要时
~需要为应用程序添加新的功能时

3.Tarball封包

~tar.gz和tar.bz2格式居多
~软件素材参考网站:https://sourceforge.net
完整性校验用md5sum校验工具

4.确认源代码编译环境

需要安装支持C/C++程序语言的编译器(如gcc , gcc/c++ ,make编译工具 )
但是在rpm中无法直接安装需要安装多个依赖包(强制安装会导致无法运行,因为缺少依赖包)

5.编译过程

Linux应用程序基础

五.yum一键安装

首先配置本地yum源仓库,把rpm包收集过来。
列:
mount /dev/cdrom /mnt/ (把光盘挂载到/mnt目录)
cd /etc/yum.repos.d/ (.d结尾的代表目录)
mkdir repos.bak (创建目录repos.bak)
mv *.repo repos.bak (把有repo的文件移动到repos.bak目录中)

vim local.repo (创建)
【local】 (仓库类别,与文件名一致)
name=local (仓库名称,与文件名一致)
baseurl=file:///mnt (指定URL ,访问路径为光盘挂载目录 /mnt)
enabled=1 (开启此yum源,此为默认项,可省略)
gpgchaeck=0 (不验证软件包的签名)
yum clean all (删除缓存) && yum makecache(更新缓存) &前的命令先执行,然后再执行后面的命令,如果&前面命令执行不了则后面也不执行,相当于window的刷新功能。
yum的常用操作命令
yum -y install 软件名 (安装、升级软件包,“-y”选项表示自动确认)
yum -y remove 软件名 (卸载软件包,可自动解决其依赖关系)
yum -y update 软件名 (升级软件包)
yum list (查询软件列表)
yum list installed (查询系统中已安装的软件包)
yum list available (查询仓库中尚未安装的软件包)
yum list updates (查询可以升级版本的软件包)
yum info 软件名 (查询软件包的描述信息)
yum search 【all】 关键字 (根据某个关键字来查找相关的软件包)
yum whatprovides 命令 (查询命令属于哪个软件包)
使用yum方式进行安装
源码安装需要安装C语言和C++语言的编译器
yum install -y gcc gcc-c++ make(编译工具)
源码编译安装的基本过程
1.解tar 包
2.配置软件模块(安装路径、开启或关闭模块功能、管理服务进程的用户设定)
先切换到解压缩的路径
列,命令格式: ./ configure --prefix (执行脚本文件./ ,prefix指定软件安装的位置,安装在哪儿目录当中)
3.编译(将源代码转换为可执行的程序)make
4.安装 make install