一、linux系统软件包的分类:
1、软件分类
在linux系统中,软件包只有2种:源码包、二进制包
2、源码包:
包含了程序的源代码,安装时需要编译成二进制代码(编译安装)。源码包的特点:
(1) 开源
(2) 可自由选择安装所需功能
(3) 安装过程步骤较多
(4) 编译过程时间较长,安装比二进制安装时间长
3、二进制包:
包含已经经过编译,可以运行的程序。
(1) 二进制包的分类
① rpm包:是由Red Hat公司开发的包管理系统。功能强大;安装、升级、查询、
卸载简单方便。多种Linux都用该包管理方式,如:Fedora、CentOS、SuSE等。
② dpkg包:由Debian Linux开发的包管理机制。主要用在 Debian 和 unbuntu 中。
(2) 二进制的特性
① 二进制包管理系统简单,几条命令即可实现包的安装、升级、查询和卸载等
② 二进制包已经过编译,安装速度比源码包安装快,但是不能查看源代码
③ 依赖性:如安装软件a时需要先安装b和c。
(3) rpm包的依赖关系:
A、树形依赖:a --> b --> c
B、环形依赖:a --> b --> c --> a
C、函数库依赖:查询需要的函数库文件所对应的软件包,
一种方法是通过网站查询:www.rpmfind.net
4、软件包选择建议:
源码包:若服务是给大量客户端提供访问,建议使用源码包,源码包效率更高(如:LAMP)
PRM包:若程序是给少量用户访问,或本地使用的,建议PRM包,因为RPM管理方便
二、二进制包软件安装(rpm包)
1、rpm包命名规则(以apache为例)
2、rpm包手工操作命令
A、rpm安装
其它与安装相关的选项说明如下:
软件安装完成后,启动服务的方式如下:
方式一:(centos6版)
方式二:(标准启动方式)
B、rpm包升级
C、rpm包卸载
D、rpm查询命令相关总结
- 查询软件是否被安装(如:rpm -qa | grep httpd)
- 查询软件的安装位置
- 查询Linux中某个系统文件属于哪个rpm包,常用:rpm -qf `which 命令`
- 查询软件包的详细信息
- 查询软件包所依赖的软件包
E、数字证书
数字证书的作用是用于检查RPM包本身是否会出现问题。
a)、数字证书如下特点:
·首先必须找原厂的公钥文件,然后进行安装
·在安装RPM包时,提取RPM包中证书信息,与本地安装的原厂证书相校验
·若校验通过,则允许安装;若验证不通过,则不允许安装并警告
b)、数字证书位置:(以centos6为例)
位置一:光盘中就有,如:RPM-GPG-KEY-CentOS-6
位置二:在系统中也有,如:/etc/pkg/rpm-gpg/RPM-GPG-KEY-CentOS-6
c)、安装数字证书(即系统安装完成后就进行数字证书导入)
安装命令:rpm --import /etc/pkg/rpm-gpg/RPM-GPG-KEY-CentOS-6
查询系统中安装好的数字证书:rpm -qa | grep gpg-pubkey
三、rpm包在线安装(yum安装)
1、yum源的配置文件说明
(1)、yum源的配置文件所在位置:/etc/yum.repos.d/
(2)、yum源配置文件默认使用的是:“CentOS-Base.repo”。
(3)、yum源配置文件“CentOS-Base.repo”中,有5个yum源容器。每个源容器中的字段说明如下:
2、搭建本地光盘yum源(centos6为例)
步骤一:将安装光盘放入光驱,并挂载到系统中。
步骤二:使默认的yum源配置文件失效:即将配置文件名后追加.bak后缀以备份文件。
步骤三:配置本地光盘yum源的配置文件:CentOS-Media.repo
步骤四:清除系统缓存,并重新生成:yum clean all && yum makecache
步骤五:检查是否生效:yum list
3、yum的常用命令
A、安装
B、查询
·查询yum源服务器上所有可安装的软件包列表
·查询yum源服务器中是否包含某个软件包
·搜索yum源服务器上所有和“关键字”相关的软件包
·查询指定软件包的信息
C、升级
D、卸载(慎用)
注意:
yum的卸载命令在卸载软件的同时,很可能卸载软件的依赖包。
若该依赖包是重要的系统文件,就有可能导致系统崩溃。所以,一定要慎用这种方法卸载软件。
E、yum组管理命令
四、源码包安装
A、安装过程
进行源码包安装前,要确保系统中已有c语言编译器(因源码包是用c语言编写):
“rpm -qa | grep gcc”;若没有,则安装:“yum -y install gcc”。
源码包安装步骤如下:
(1)下载软件的源码包(压缩文件)。一般放在系统的“/usr/local/src”目录下。
(2)解压缩。
(3)进入解压目录。
(4)编译前准备:./configure(源码包自带的脚本程序,采用‘./configure’方式执行)
说明:“./configure”的主要作用有以下三个:
· 检测系统环境是否符合安装要求;
· 指定需要安装的软件功能:
“./configure --prefix=安装目录”:指定安装目录,常用目录为“/usr/local/”;
指定其他功能可用“./configure --help”命令查询;
· 生成Makefile文件:configure会将系统环境检测结果和定义的功能写入该文件;
注:后续的编译和安装需要依赖Makefile文件中的内容。
(5)编译:make
说明:make会调用gcc编译器,并读取Makefile文件中的信息进行软件编译,
即将源码程序转换成被linux识别的可执行文件(会保存在当前目录下)。编译过程较为耗时。
注意:若“./configure”或“make”编译中报错,重新执行前一定要使用“make clean”命令,
清除Makefile文件或编译产生的“.o”头文件。
(6)安装:make install
说明:真正的软件安装过程,一般会写清楚程序的安装位置。
B、卸载
源码包没有卸载命令。若要删除,直接删除安装目录即可。(删除前,先停止服务)