一、本章导言:

linux应用程序基础

查询RPM软件包信息

安装、升级、卸载、RMP软件包

源代码编译安装

二、linux应用程序基础:

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

a、文件位置

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

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

b、主要用途

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

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

c、适用环境

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

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

d、运行格式

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

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

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

文件类型       
保存目录
普通执行程序文件    
 /usr/bin
应用程序配置文件和管理程序 
/usr/sbin
应用程序配置文件   
 /etc
日志文件 
/var/log
应用程序文档文件
/usr/share/doc
应用程序手册页文件
 /usr/share/man


3、常见的软件包封装类型:

文件类型
 保存目录
rpm软件包  
扩展名为“.rpm”
deb软件包
扩展名为“.deb”
源代码软件包
一般为“.tar.gz"、".tar.bz2"等格式的压缩包包含程序的原始代码
绿色免安装的软件包
在压缩包内提供已编译好的执行程序文件,解开压缩包后的文件可直接使用


三、rpm包管理工具

1、RPM Package Manager

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

建立统一的数据库文件

详细记录软件包安装、卸载等变化信息

自动分析软件包依赖关系

2、RPM软件包:

软件素材参考:http://www.rpm.org

一般命名格式: bash-4.1.2.15.el6_4.x86_64.rpm

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库

四、rpm软件包信息

1、查询已安装的RPM软件信息

rpm -q【子选项}】【软件包】

常用选项

-qa:检查所有已安装的rpm软件包

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_02

-qi:检查详细信息,版本信息

-ql:检查rpm软件包包含的内容

-qf:检查某一个rpm软件包里的文件

-qc:检查已安装rpm软件包里的配置文件

-qd:手册文档

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

rpm -qp【子选项】 rpm包文件

常用选项:

-qpi:检查未安装软件包的详细信息
-qpl:检查未安装软件包中包含了哪些内容

-qpc:查询未安装软件包中的配置文件
-qpd:检查未安装软件包的文档手册

ps:

yun仓库yum list:yum源,软件包的集中存放地点,输入yum list即可查看到所有的软件包(下图为所展示的软件包的一部分)

 Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_03

源的软件包的是实时更新的,当我们使用yum进行安装时直接安装的是最新版本的,因为官方会自动维护的,具体这个官方的路径在什么位置,我们来看一下:

输入cd /etc/ 进入etc目录下,ls我们查列表信息,可以看到下图中的三个yum软件包,其中一个就是软件包的源的配置地点

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_04

输入cd yum.repos.d/进入文件中,再输入ls查看详细信息,此时我们会看到以CentOS开头的,以repo结尾的配置文件在其中(以下全是),其中CentOS-Base.repo这个文件为基本配置文件

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_05

输入vim CentOS-Base.repo 查看文件中的详细信息,看到镜像列表,为网站地址链接,表示当处于联网状态时才能安装软件包,断网状态软件包不能使用安装

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_06

当在在线状态安装软件包(httpd):yum install httpd -y

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_07

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_08

因为这是一个网站服务,所以我们接下来需要开启此项服务,
输入:
systemctl start httpd.service开启网站服务
输入:
systemtcl stop firewalld.service 关闭防火墙
输入:
setenforce 0关闭增强安全功能

输入:ifconfig获取到IP地址为192.168.64.138

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_09

用宿主机输入此地址是可以访问到建立好的Apache网站服务的

五、安装、升级、卸载rpm软件包

1、安装或升级rpm软件

rpm 【选项】 rpm包文件...

常用选项

-i:安装

-U:更新

-F:查看某一个文件目录属于哪一个rpm安装包

2、卸载指定的rpm软件

rpm -e 软件名

-e:已卸载的rpm软件包

3、辅助选项

--force:强制执行

--nodeps:解决依赖问题

-h:友好显示

-v:显示过程

六、解决软件包依赖关系方法:

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

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

可同时指定多个.rpm包文件进行安装
2.卸载有依赖关系的多个软件时

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

可同时指定多个软件名进行卸载
3.忽略依赖关系

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

七、维护RPM数据库

1、重建RPM数据库

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_10

2、导入验证公钥

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_11

八、源代码编译概述

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

获取最新的软件版本,及时修复bug

根据用户需要,灵活定制软件功能

2、应用场合举例

安装较新版本的应用程序时

当前安装的程序无法满足需要时

需要为应用程序添加新的功能时

九、编译安装源代码包

1、Tarball封包

.targz和.tar.bz2格式居多

软件素材参考:http://sourceforge.net

2、完整性校验

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_12

3、确认源代码编译环境:

需安装支持C/C++程序语言的编译器,如:

gcc-4.4.7-4.el6、 gcc-c++-4.4.7-4.el6  等等

十、编译安装过程

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_13

十一、tar解包

解包

习惯上将软件包释放到/usr/src/目录

解包后的源代码文件位置:

/usr/src/软件名-版本号/

示例:

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_14


补充:如何在断网情况下安装RPM软件包

1、将你的虚拟机设置为仅主机模式断网,在仅主机模式下只能与宿主机与宿主机中的虚拟机通讯

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_15

2、配静态IP,配好后远程连接也会断掉,我们在虚拟机中打开终端

a、输入:vim /etc/sysconfig/network.scripts/ifcfg.ens33进入网卡配置,此时BOOTPROTO为dhcp自动获取模式

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_16

b、输入/dhcp,直接查询到,按dw整个删除,输入statci

c、G到末行,$符号到末尾,确认ONBOOT状态为yes,按o进入下一行插入
d、.输入IPADDR=192.168.100.100设置好静态IP,再按o进入下一行插入
e、输入NETMASK=255.255.255.0设置MAC地址,再按o进入下一行插入
f、输入GATEWAY=192.168.100.1设置网关,按Esc退回到命令模式,按“:”号到末行模式
i、输入wq保存退出

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_17

g、输入service network restart重启服务,改完配置文件之后必须要重启服务,否则不会生效

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_18


k、输入ifconfig查看此时的网卡IP为192.168.100.100Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_19

l、用火狐浏览器尝试访问互联网,此时无法访问互联网

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_20

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_21

3、输入yum clean all清除之前联网状态下的yum缓存

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_22

4、此时进行离线安装,就要用到镜像文件里的软件包,并为镜像里的软件包自行创建一个yum仓库。首先需要挂载镜像。

a、右键点击虚拟光驱选择设置,在使用ISO镜像文件中会有我们之前安装系统时加载的镜像文件,我们使用这个镜像文件就可以,选择状态为已连接,点击确定

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_23

b、输入:df -h查看光盘是否被成功挂载,此时我们看下我们的光驱在什么位置

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_24

c、输入:cd /dev/,进入dev中,再输入ls查看详细信息,可以看到其中有一个目录为cdrom

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_25

d、将光驱挂载到自己的一个目录中(此处设置目录为mnt),在以后再需要用到时,直接到开这个目录就可以了

e、输入:mount /dev/cdrom /mut敲回车,此时光盘挂载到mnt目录下成功

f、输入:df -h查看挂载是否成功

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_26

g、输入:ls /mnt/进入mnt目录中查看详细信息,可以看到其中有镜像文件当中的东西,其中我们安装所需的安装包都在Package这个目录里面,我们进入此目录后会发现里面都是rpm包

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_27


Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_28

5、卸载vim,再安装vim验证安装包的使用

输入:rpm -evh vim.enhanced-7.4.160-2.el7.x86_64(此处可查看路径后复制),敲回车进行卸载,此时在使用vim功能是无法使用的,显示没有文件或目录,过程和结果如下图所示:

Linux命令系列《三》——安装及管理程序_rpm软件包 yum仓库_29

此时vim功能失效,但是vi功能还是可以使用的(vi中不能用颜色区分文件格式)

这个时候我们输入:rpm -evh vim.enhanced-7.4.160-2.el7.x86_64(在Packages路径下可以用Tab键自己补全)重新安装vim,就可以正常使用了。