Linux下rpm、yum和源码三种安装方式详细介绍

  • 第1章 源码安装

  • 1.1 源码安装优点

  • 1.2 源码安装的缺点

  • 1.3 安装流程

    • 1.3.1 解压源码包tar文件:源码包通常会使用tar工具归档然后使用gunzip或bzip2进行压缩,
    • 1.3.2 切换到解压后的目录
    • 1.3.3 准备编译工作:在开始安装服务之前,需要执行configure脚本,会自动的对当前系统进行
    • 1.3.4 生成安装程序:上步生成的Makefile文件会保存有系统环境依赖关系的安装规则,接下来
    • 1.3.5 安装服务程序:如果在configure脚本阶段中没有使用-prefix参数,那么程序一般会被默认
    • 1.3.6 清理临时文件(可选):
    • 1.3.7 卸载服务程序命令(需要才执行)
    • 1.3.8 查看安装信息
  • 第2章 RPM包安装

  • 2.1 常用用法

    • 2.1.1 安装
    • 2.1.2 升级
    • 2.1.3 卸载
    • 2.1.4 查看已安装
    • 2.1.5 查看指定包
  • 2.2 常用方法

    • 2.2.1 第一种:对于已安装的如软件服务信息查询
    • 2.2.2 第二种:对于未安装的软件包信息查询
    • 2.2.3 [选项] [参数]:
  • 第3章 yum

  • 3.1 安装流程

  • 3.2 [选项] [参数]:

第1章 源码安装

  • 源码包安装会比RPM包安装慢,是因为RPM的软件包是根据特定系统和平台而指定的,经常一种程序会提供很多RPM包的格式,用户根据系统情况选择适合的RPM包直接安装,而源码包相当于通用型,可以是用于多个系统中,所以需要运行configure脚本来检测环境,生成对应的安装信息。

  • 1.1 源码安装优点

     1、文档齐全
    
     2、因为可以定位到代码,所以debug方便
    
     3、本机兼容性最好(由于是本机编译的,只要编译通过,就没有各种库的依赖的问题)
    
  • 1.2 源码安装的缺点

     1、编译麻烦
     2、缺乏自动依赖管理,软件升级麻烦
    
  • 1.3 安装流程

  • 1.3.1 解压源码包tar文件:源码包通常会使用tar工具归档然后使用gunzip或bzip2进行压缩,

  • 后缀格式会分别为.tar.gz与.tar.bz2,分别的解压方式:

     tar -zxvf FileName.tar.gz
     tar -jxvf FileName.tar.bz2
    
  • 1.3.2 切换到解压后的目录

     cd /解压后目录
    
  • 1.3.3 准备编译工作:在开始安装服务之前,需要执行configure脚本,会自动的对当前系统进行一系列的评估,如源文件、软件依赖库、编译器、汇编器、连接器检查等等,如果有需要,还可以使用-prefix参数来指定程序的安装路径,而当脚本检查系统环境符合要求后,则会在当前目录下生成一个Makefile文件。

     ./configure -prefix=/usr/local/program
    
  • 1.3.4 生成安装程序:上步生成的Makefile文件会保存有系统环境依赖关系的安装规则,接下来需要使用make命令来根据Makefile文件提供的规则使用合适的SHELL来编译所有依赖的源码,然后make命令会生成一个最终可执行的安装程序。

     make 编译
    
  • 1.3.5 安装服务程序:如果在configure脚本阶段中没有使用-prefix参数,那么程序一般会被默认安装到/usr/local/bin目录中。

     make install 编译安装
    
  • 1.3.6 清理临时文件(可选):

     make clean
    
  • 1.3.7 卸载服务程序命令(需要才执行)

     make uninstall
    
  • 1.3.8 查看安装信息

  • whereis 命令定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。

     例如:whereis java
    
     whereis [-bmsu] [BMS 目录名 -f ] 文件名
    
     -b 搜索文件的二进制部分。
    
     -m 搜索文件的手册部分。
    
     -s 搜索文件的源部分。
    
     -u 没有说明文档的文件
    
     -B、-M 和 -S 标志可以用于更改或限制 whereis 命令搜索的位置。由于该程序为了运行得更快而使用了chdir子例程,所以用-M、-S 和 -B标志目录列表给出的路径名必须是完整的;
    
     例如,它们必须以一个/(斜杠)开始。
    
     -B 与 -b 一样,但是添加了要搜索的目录。更改或限制 whereis 命令搜索二进制文件的位置。
    
     -M 与 -m 一样,但是添加了要搜索的目录。更改或限定 whereis 命令搜索手册部分的位置。
    
     -S 与 -s 一样,但是添加了要搜索的目录。更改或限定 whereis 命令搜索源的位置。
    
     -f 终止最后的 -M、-S 或 -B 目录列表并发文件名起始位置信号。
    
  • (四)[参数][文件]

     -c 压缩文件
    
     -x 解压文件
    
     -t 查看压缩包内有哪些文件
    
     -z 用Gzip压缩或解压
    
     -j 用bzip2压缩或解压
    
     -v 显示压缩或解压过程信息
    
     -f 目标文件名
    
     -P 保留原始权限和属性
    
     -p 使用绝对路径压缩
    
     -C 指定解压到的目录
    

第2章 RPM包安装

  • 对于一个rpm包来说,都是有"-“和”."构成的,基本上有以下几部分组成: * 包名 *版本信息 * 发布版本号 * 运行平台,当出现noarch,代表的是软件可以平台兼容

2.1 常用用法

  • 2.1.1 安装

     rpm -i 需要安装的包文件
    
     rpm -iv 需要安装的包文件(显示安装详情)
    
     rpm -ivh 需要安装的包文件(显示安装详情及进度)
    
  • 2.1.2 升级

     rpm -U 需要升级的包文件
    
     rpm -Uvh 需要升级的包文件(显示升级详情及进度)
    
  • 2.1.3 卸载

     rpm -e 需要卸载的软件包
    
     注:如果其他程序依赖要卸载的包,系统会提示不能删除,若需要强行删除加上--nodeps,会强制删除,但可能导致依赖于它的软件不能运行。
    
  • 2.1.4 查看已安装

     rpm -qa
    
  • 2.1.5 查看指定包

     rpm -qa | grep "软件或者包的名字"
    

2.2 常用方法

  • 2.2.1 第一种:对于已安装的如软件服务信息查询

     1、查询系统中已经安装的软件
    
     rpm -qa
    
     2、查询一个已经安装的文件属于哪个软件包;
    
     rpm -qf 文件名的绝对路径
    
     3、查询已安装软件包都安装到何处;
    
     软件名定义是:rpm包去除平台信息和后缀后的信息
    
     rpm -ql 软件名
    
     4、查询一个已安装软件包的信息
    
     rpm -qi 软件名
    
     5、查看一下已安装软件的配置文件;
    
     rpm -qc 软件名
    
     6、查看一个已经安装软件的文档安装位置:
    
     rpm -qd 软件名
    
     7、查看一下已安装软件所依赖的软件包及文件;
    
     rpm -qR 软件名
    
  • 2.2.2 第二种:对于未安装的软件包信息查询

     1、查看一个软件包的用途、版本等信息;
    
     rpm -qpi rpm文件
    
     2、查看一件软件包所包含的文件;
    
     rpm -qpl rpm文件
    
     3、查看软件包的文档所在的位置;
    
     rpm -qpd rpm文件
    
     4、查看一个软件包的配置文件;
    
     rpm -qpc rpm文件
    
     5、查看一个软件包的依赖关系
    
     rpm -qpR rpm文件
    
  • 2.2.3 [选项] [参数]:

     -a:查询所有软件包
    
     -e:删除指定的软件包
    
     -f<文件>:查询拥有指定文件的套件;
    
     -h或--hash:显示进度信息
    
     -i:显示包的详细信息
    
     -i<软件包>或--install<软件包>:安装指定的软件包
    
     -l:显示包的文件列表
    
     -p:查询指定的RPM包
    
     -q:使用询问模式
    
     -U<软件包>或--upgrade<软件包>:升级指定的程序包
    
     -v:显示指令执行过程;
    
     -vv:详细显示指令执行过程,便于排错。
    
  • 常用命令组合:

     -ivh:安装显示安装进度--install--verbose--hash
    
     -Uvh:升级软件包--Update;
    
     -qpl:列出RPM软件包内的文件信息[Query Package list];
    
     -qpi:列出RPM软件包的描述信息[Query Package install package(s)];
    
     -qf:查找指定文件属于哪个RPM软件包[Query File];
    
     -Va:校验所有的 RPM软件包,查找丢失的文件[View Lost];
    
     -e:删除包
    
     --force 强制操作 如强制删除等;
    
     --requires 显示该包的依赖关系;
    
     --nodeps 忽略依赖关系并继续操作
    

第3章 yum

3.1 安装流程

	1、安装: yum install 软件

	2、升级: yum update 软件

	3、删除: yum remove 软件

	4、查看: yum info 软件

	5、搜索软件: yum search 软件

	6、查看依赖关系: yum deplist 软件

	7、查看已安装软件: yum list installded
  • 3.2 [选项] [参数]:

     -e 静默执行
    
     -t 忽略错误
    
     -R[分钟] 设置等待时间
    
     -y 自动应答yes
    
     check-update 检查可更新的包
    
     clean all 清除全部
    
     clean packages 清除临时包文件(/var/cache/yum 下文件)
    
     clean headers 清除rpm头文件
    
     clean oldheaders 清除旧的rpm头文件
    
     deplist 列出包的依赖
    
     list 可安装和可更新的RPM包
    
     list installed 已安装的包
    
     list extras 已安装且不在资源库的包
    
     info 可安装和可更新的RPM包 信息
    
     info installed 已安装包的信息(-qa 参数相似)
    
     install[RPM包] 安装包
    
     localinstall 安装本地的 RPM包
    
     update[RPM包] 更新包
    
     upgrade 升级系统
    
     search[关键词] 搜索包
    
     provides[关键词] 搜索特定包文件名
    
     reinstall[RPM包] 重新安装包
    
     repolist 显示资源库的配置
    
     resolvedep 指定依赖
    
     remove[RPM包] 卸载包
    
10-06 12:34