一:Linux源码安装
    1、解压源码包文件
    源码包通常会使用tar工具归档然后使用gunzip或bzip2进行压缩,后缀格式会分别为.tar.gz与.tar.bz2,分别的解压方式:
    tar -zxvf FileName.tar.gz
    tar -jxvf FileName.tar.bz2

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

2、切换到解压后的目录
    cd FileDirectory

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

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

5、安装服务程序
    如果在configure脚本阶段中没有使用-prefix参数,那么程序一般会被默认安装到/usr/local/bin目录中。
    make install
    
    6、清理临时文件(可选):
    make clean

7、卸载服务程序命令(需要才执行)
    make uninstall

8、查看安装信息
        whereis 命令定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。
        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 目录列表并发文件名起始位置信号。

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

二:RPM包安装
    
    rpm [选项] [参数]
    -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 忽略依赖关系并继续操作
    
    1、安装
    rpm -i 需要安装的包文件
    rpm -iv    需要安装的包文件(显示安装详情)
    rpm -ivh 需要安装的包文件(显示安装详情及进度)

2、升级
    rpm -U 需要升级的包文件
    rpm -Uvh 需要升级的包文件(显示升级详情及进度)

3、卸载
    rpm -e 需要卸载的软件包
    注:如果其他程序依赖要卸载的包,系统会提示不能删除,若需要强行删除加上--nodeps,会强制删除,但可能导致
    依赖于它的软件不能运行。
    
    4、查看已安装
        rpm -qa
    
    5、查看指定包
        rpm -qa | grep "软件或者包的名字"

三、yum安装
    1、安装
        yum install 软件

2、升级
        yum update 软件

3、删除
        yum remove 软件
    
    4、查看
        yum info 软件
    
    5、搜索软件
        yum search 软件

6、查看依赖关系
        yum deplist 软件
    
    7、查看已安装软件
        yum list installded
    
    yum 命令参数列表:
        -e 静默执行
          -t 忽略错误
          -R[分钟] 设置等待时间
          -y 自动应答yes
          --skip-broken 忽略依赖问题
          --nogpgcheck 忽略GPG验证

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包] 卸载包

Linux常用的三种软件安装方式的更多相关文章

  1. Linux下常用的3种软件安装方式

    一:Linux源码安装    1.解压源码包文件    源码包通常会使用tar工具归档然后使用gunzip或bzip2进行压缩,后缀格式会分别为.tar.gz与.tar.bz2,分别的解压方式:   ...

  2. Linux下常用的3种软件安装方式—rpm、yum、tar

    一:Linux源码安装    1.解压源码包文件    源码包通常会使用tar工具归档然后使用gunzip或bzip2进行压缩,后缀格式会分别为.tar.gz与.tar.bz2,分别的解压方式:   ...

  3. linux 下的两种软件安装方式 —— 源码(编译、安装),编译好的二进制(直接安装)

    我们以 GPG(加密工具)为例来说明两种安装方式的区别: 源码(Source code releases,名称中则会含有src等说明信息,tarball:source),先编译再安装 GPU 的源码地 ...

  4. Linux虚拟机的三种网络连接方式

    Linux虚拟机的三种网络连接方式 虚拟机网络模式 无论是vmware,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2.NAT 3.Host- ...

  5. 官网安装Python包太慢?教你三种下载安装方式-PiP、conda、轮子,教你三种Pytorch的下载安装方式,保证你再也不用出现Error

    上一期我们介绍了CUDA下载安装以及其总结,这一期教大家如何在Anaconda中使用CUDA来进行加速.神经网络依赖cuDNN的下载安装,以及下载和安装Pytorch-GPU安装包的三种方式(cond ...

  6. CentOS下几种软件安装方式

    1.rpmRPM RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志, 但是其原始设计理念是开放式的,现在包括OpenLin ...

  7. [心得笔记]spring常用的三种依赖注入方式

    一.目前使用最广泛的 @Autowired:自动装配 基于@Autowired的自动装配,默认是根据类型注入,可以用于构造器.接口.方法注入,使用方式如下: @Autowired 构造方法.方法.接口 ...

  8. Linux软件安装方式 - Tarball&RPM&YUM

    软件安装 简介 概念详解 # 概念详解 - 开放源码: 程序码, 写给人类看的程序语言, 但机器并不认识, 所以无法执行; - 编译器: 将程序码转译成为机器看的懂得语言, 就类似翻译者的角色; - ...

  9. Linux 操作系统常用的三种流012

    Linux 操作系统常用的三种流: 0 标准输入流 1 标准输出流 2 标准错误流 通常在写脚本启动程序,写log时候,会出现如下写法: nohup commod > log.txt 2> ...

随机推荐

  1. md文件批量转化为html

    任务描述 博客的源文件一般以md文件保存 读取md源文件解析为html代码,然后嵌入到body中去 公式部分,需要使用第三方js库加载 实现办法 基于Django实现,进入webpage页面,然后通过 ...

  2. Mybatis中选择语句的使用:<choose>标签、分区排序 Row_num() over ()函数的使用呢

    1.Mybatis中数据库语句的选择 使用: <choose>       <when test="relationType=='L'">          ...

  3. POJ2806 Square

    题目描述 给定\(2*1\)和\(2 * 2\)两种规格的地砖,请问\(2 * n\)的地面总共有多少种方法? 下面是铺满\(2*17\)的地面的示意图. 输入输出格式 输入 多组数据,每组数据包括1 ...

  4. 轻量级Java EE企业应用实战:Struts2+Spring5+Hibernate5/JPA2

    轻量级Java EE企业应用实战(第5版)——Struts 2+Spring 5+Hibernate 5/JPA 2整合开发是<轻量级Java EE企业应用实战>的第5版,这一版保持了前几 ...

  5. MySQL InnoDB表空间加密

    从 MySQL5.7.11开始,MySQL对InnoDB支持存储在单独表空间中的表的数据加密 .此功能为物理表空间数据文件提供静态加密.该加密是在引擎内部数据页级别的加密手段,在数据页写入文件系统时加 ...

  6. 用过 mongodb 吧, 这三个大坑踩过吗?

    一:背景 1. 讲故事 前段时间有位朋友在微信群问,在向 mongodb 中插入的时间为啥取出来的时候少了 8 个小时,8 在时间处理上是一个非常敏感的数字,又吉利又是一个普适的话题,后来我想想初次使 ...

  7. java线程的五大状态,阻塞状态详解

    一.状态简介 一个线程的生命周期里有五大状态,分别是: 新生 就绪 运行 死亡 运行后可能遇到的阻塞状态 二.相关方法 2.1 新生状态 Thread t = new Thread(); 正如我们前面 ...

  8. Java中实现十进制数转换为二进制的三种方法

    第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒着依次排列,就构成了转换后的二进制数 ...

  9. 为什么 max() 应该写成 b < a ? a : b 呢?

    在 < C++ Templates 2nd Edition >Chapter 1 中,作者将 max() 模板定义如下: template <typename T> T max ...

  10. Redis高级项目实战,都0202年了,还不会Redis?

    导读 大家都听过1万小时定律,可事实真的是这样吗?做了1万小时的CRUD,不还只会CRUD吗,这年头不适当的更新自身下技术栈,出门和别人聊天吹牛的时候,都没拿不出手,(⊙o⊙)…Redis没入门的童鞋 ...