zoukankan      html  css  js  c++  java
  • Linux下rpm、yum和源码三种安装方式详细介绍

     第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 常用用法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.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包] 卸载包

  • 相关阅读:
    每日一水 POJ8道水题
    编译和使用 MySQL C++ Connector
    j2ee model1模型完成分页逻辑的实现 详解!
    DB查询分析器访问EXCEL时,要在表名前后加上中括弧或双引号
    指向结构体变量的指针
    EOSS V3.0 企业运营支撑系统(基于RBAC原理的权限管理)
    MybatisGen1.0 Mybatis JavaBean Mapper生成工具
    The table name must be enclosed in double quotation marks or sqare bracket while accessing EXCEL by
    资源-Android:Android
    软件-开发软件:Android Studio
  • 原文地址:https://www.cnblogs.com/gmlkl/p/9354254.html
Copyright © 2011-2022 走看看