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

前言

个人使用的linux均为centos6.5版本。几年前外出工作意识到学习linux的重要性,自学使用的是centos。已经习惯了,确实很好用。当然你会纳闷了,centos7centos8的版本都出来了,为啥还用老的版本讲解。其实老版本更稳定,也适合入门。像公司肯定优先选择稳定的版本,当然7的版本也比较成熟了,部分公司也在使用。

延伸阅读

linux养成达人之入门实践图文超详细(工欲善其事,必先利其器篇)

目录

一、软件安装包简介
二、源码包安装
三、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)是否被改变
-5 MD5校验,文件内容是否改变
-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 镜像站点,这个可以注释掉
baseurl yum源服务器的地址。默认是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官网(对于入门来说的确很好用)。

尾声

好了,到此为止就是此篇文章的全部内容了,能看到这的都是帅哥靓妹啊!!!善于总结,其乐不穷。好记性不如烂笔头,多收集自己第一次尝试的成果,收获也颇丰。你会发现,自己的知识宝库越来越丰富。

你可能感兴趣的:(Linux,笔记,linux,运维,centos)