linux软件安装详解 rpm包与源码包

前言

个人使用的linux均为centos6.5版本。

目录

一、软件安装包简介
二、源码包安装
三、rpm包的安装
四、yum在线安装
五、脚本安装包

正文

一、软件安装包简介

源码包优点:

  • 开源,假如有足够的实力,可以修改源代码。

  • 自由选择所需的功能。

  • 软件是编译安装,更加适合自己的系统,稳定效率更高。

  • 卸载方便。

源码包的缺点:

  • 安装过程步骤多,尤其安装大的软件集合时(LAMP环境搭建),容易出现拼写错误。

  • 编译过程时间较长,比二进制安装时间长。

  • 安装过程一旦报错,刚入门时(新手)很难解决,本人入门时深有体会。

rpm包二进制包优点:

  • 管理系统简单,通过简单的几个命令可以实现包的安装、升级、查询和卸载。

  • 安装速度比源码包快。

二进制包缺点:

  • 经过编译,无法看到源码。

  • 功能选择没有源码包灵活。

  • 依赖性(安装一个包时会找很多依赖包,比较繁琐,对初学者不友好)。

二、源码包安装

1、安装前的准备工作:

  • 安装C语言编译器

  • 下载源码包

2、安装注意事项

  • 源码保存位置:/usr/local/src

  • 原件安装位置:/usr/local/

  • 如何确定安装过程报错:安装时停止,出现error、warning或no的提示

3、源码包安装位置

  • 安装在指定路径中,一般在:/usr/local/软件名/

4、安装位置不同带来的影响

RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的Apache启动方法:

  • /etc/rc.d/init.d/httpd start

  • service httpd start

5、源码包安装过程:下载并解压安装包,进入目录

配置:./configure prefix=/usr/local/ 软件路径

  • 定义需要的功能选项

  • 检测系统环境是否符合安装要求

  • 把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续编辑

  • 编译make ,make install编译安装

三、rpm包安装

rpm包默认安装位置释义
/ect/配置文件安装目录
/usr/bin/可执行的命令安装目录
/usr/lib/程序使用的函数库保存位置
/usr/share/doc/基本软件使用手册保存位置
/usr/share/man/帮助手册保存位置

rpm包命名原则解读一览表2.2.15-69.el6.centos.1.i686.rpm

选项释义
httpd软件包名
2.2.15版本
15发布的次数
el6.centos适合的linux平台
i686适用的硬件平台
rpm软件包扩展名

rpm命令管理

1、查询是否安装

选项释义
查询当前软件包是否安装rpm -q 包名
查询所有已经安装的rpm包rpm -qa
-q(query查询)
-a(all所有)

2、查询软件包详细信息
rpm -qi 包名
选项:

  • -i(information查询详细信息)

  • -p(package查询未安装包信息)

3、查询安装包文件所在安装位置

  • rpm -ql 包名

  • 选项:-l(list列表)

4、查询系统文件属于哪个RPM包

  • rpm -qf 系统文件名

  • 选项:-f(file查询系统文件属于哪个软件包)

5、查询软件包的依耐性

  • rpm -qR 包名 查询软件包的依耐性

  • 选项:-R(requires 查询软件包的依耐性)

rpm包的依耐性

  • 树形依赖:a->b->c

  • 环形依赖:a->b->c->a

  • 模块依赖:查询网址:www.rpmfind.net

6、RPM包校验

  • rpm -V 已安装软件包

  • 选项:-V(verify校验指定rpm包的文件)

文件类型:

选项释义
-c (config file)配置文件
-d (documentation)普通文档
-d (documentation)“鬼文件”,指该文件不应该被rpm包包含
-L (license file)授权文件
-r (read me)描述文件

内容校验:验证内容中的8个信息的具体内容如下

选项释义
-S文件大小是否改变
-M文件的类型或文件权限(rwx)是否被改变
-5MD5校验,文件内容是否改变
-D设备的主从代码是否改变
-L文件路径是否改变
-U文件所有者是否改变
-G文件属组是否改变
-T文件修改时间是否改变

7、rpm包的安装卸载与升级

选项释义
-i(install:安装)
-v(verbose
-h(hash:显示进度)
-U(upgrade:升级)
-e(erase:卸载)
–nodeps(不检测依赖性)

安装rpm -ivh 接包全名
卸载rpm -e 接包名(你要卸载的软件)
升级rpm -Uvh 接包名

8、rpm包中文件提取
rpm2cpio 包全名 | cpio -idv.文件绝对路径

  • rpm2cpio:将rpm转换为cpio格式

  • cpio:标准工具,用于创建软件档案文件以及从文件中提取文件

cpio 选项 < [文件][设备]
这里是标准格式,当然可以使用上面介绍的管道符方式。
例如:cpio -idv < test.txt
选项:

  • -i:(copy-in模式,还原)

  • -d:还原时自动新建目录

  • -v:显示还原过程

四、yum在线安装

1、常用的yum命令

  • yum list,查询所有可用软件包列表

  • yum search 关键字,搜索服务器上所有和关键字相关的包

2、安装
yum -y install 接包名

  • install 安装

  • -y 自动回答yes

  • 例如:yum -y install gcc

3、升级
yum -y update 包名

  • update 升级

4、卸载

  • yum -y remove 包名

  • remove 卸载

5、yum软件组管理命令

  • yum grouplist,列出所有可用的软件组列表

  • yum groupinstall 软件组名,安装指定软件组,组名可以由grouplist查询出来

  • yum groupremove 软件组名,卸载指定软件组

6、yum源文件讲解

编辑网络yum源vim /etc/yum.repos.d/CentOS-Base.repo

选项释义
[base]容器名称,一定要放在[]中
name容器说明,可以自己随便写
mirrorlist镜像站点,这个可以注释掉
baseurlyum源服务器的地址。默认是CentOS官方的服务器,可以使用的,如果你觉得慢可以改成你喜欢的yum源地址。
enabled此容器是否生效,如果不写或者写成enabled=1都是生效,改为enabled=0就是不生效。
gpgcheck如果是1,指RPM数字证书生效,为0则不生效。
gpgkey数字证书的公钥文件保存位置,不用修改。

五、脚本安装包

centos.sh脚本分析:一键安装包,实际上还是安装的源码包和rpm包,只是把安装过程写成了脚本,便于初学者安装。

优点:简单,快速,方便
缺点

  • 不能定义安装软件的版本,选择余地较少

  • 不能定义所需软件功能

  • 源码包的优势丧失

例如:典型的一键安装包有lnmpnginx+mysql+php),还有lnmpanginx+mysql+php+Apache
以及lampApache+mysql+php)随着一键安装包的优化,用起来更方便,便于初学者使用。
具体不做过多介绍,只给出网址:lnmp官网(对于入门来说的确很好用)。

评论 (0)

发表评论