专栏首页微光点亮星辰Linux软件管理 - 解压安装

Linux软件管理 - 解压安装

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。、

  • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
  • 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
  • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

Linux软件管理 - 解压安装

文本关键字:Linux、软件安装、打包解压、环境变量

一、Linux压缩包介绍

与Windows一样,在Linux系统中也可以对各种压缩格式进行操作。只要有相关的工具,就可以对生成各种压缩格式的文件或解压缩。在Linux中,主要的包管理工具就是tar,主要使用的两种压缩包格式为gzip和bzip2,这是使用tar工具就直接能够操作的,所以在Linux中解压即用的软件提供的安装包大部分都是tar.gz压缩格式。

二、打包与解压

tar工具本身支持打包和解压两种操作,通过不同的参数来来实现不同的功能。

1. 打包

对于打包操作主要需要指定要打包的文件或文件夹、生成压缩包的格式、压缩包的名称,需要用到以下选项:

  • c:创建新的压缩包文件
  • z:指定格式为gzip
  • j:指定格式为bzip2
  • f:指定压缩包名称,需要放到最后,直接与压缩包名称相连

比如,我们想要使用gzip格式将当前系统的主要配置信息全部记录下来,那么需要使用如下命名对/etc目录进行打包:

tar -czf etc.tar.gz /etc

其中,将需要打包的内容放在第二个参数的位置,执行效果如下:

2.解压

在进行解压时需要指定要操作的压缩包、对应的解压格式、以及解压目标路径,需要用到以下选项:

  • x:对压缩包进行解压操作
  • z:指定格式为gzip
  • j:指定格式为bzip2
  • f:指定压缩包名称,需要放到最后,直接与压缩包名称相连
  • C:指定解压目录,指定的目录必须存在
  • v:显示详细过程

如果需要对刚刚打包的etc.tar.gz来进行解压,则根据压缩包自身格式可以使用如下命令(C和v为可选项):

mkdir target
tar -zxf etc.tar.gz -C target/

默认情况下,如果省略-C选项,则解压至当前目录,命令执行效果如下:

3. 注意事项

  • 对于大部分命令,各选项之间的顺序没有影响,但是对于tar命令的f选项必须紧接第一个参数,也就是要放在第一组选项的最后
  • 对于tar的命令选项,c:打包/x:解压/t:查看,这三个选项不能同时出现,原因也很简单,每种操作都是独立的,不会同时发生
  • 对于指定解压路径的选项,可以放在第一个参数之后,指定的目录必须是一个已存在的路径,不会自动创建

三、解压安装

对于解压即用软件和编译安装的软件都是压缩包的形式,本质区别在于解压即用软件的核心安装步骤为解压缩和配置环境变量,因为需要使用的命令和脚本都已经存放在bin或sbin目录中了。而编译安装的软件解压后得到的是源码文件,是不能够直接使用的,必须先经过编译和安装,才会生成相应的命令文件。一般来说,解压即用的软件都有会有以下约定俗成的目录:

  • bin:二进制文件目录,用于存放各种命令和可执行文件
  • conf:配置文件目录
  • lib:依赖文件目录,会存放软件运行所需的依赖包或库文件等
  • logs:软件运行日志目录
  • temp:临时文件目录

而对于需要编译后才能使用的软件,解压后找不到可以直接执行的命令,有关于编译安装的步骤将会在其他文章中详细说明。

1. 解压缩

以JDK的安装为例,解压缩步骤很简单,使用上面的解压命令即可,直接解压到当前目录:

tar -zxf jdk-8u221-linux-x64.tar.gz

2. 环境变量说明

对于不同的软件,环境变量的配置内容略有不同,这主要取决于命令文件所在的目录。比如,对于JDK来说,命令分别存放在bin目录和jre/bin中,所以一般我们会把两个路径都添加进环境变量中。在配置环境变量时,为了使用方便,会先使用一个变量记录软件的解压路径,使用全大写字母和下划线的组合方式,如:JAVA_HOME。然后再通过拼接的方式,将命令所在路径拼接到PATH之后,刷新之后即完成整个安装配置过程。在进行操作前,有几个概念先做一下简要说明:

  • 环境变量:环境变量指的是在命令环境下可以使用的变量,一般的变量都只能在某一个脚本文件中使用,使用export指令可以将一个变量变为环境变量,这样就可以直接在命令环境下使用该变量的值。
  • 系统环境变量:系统环境变量就是系统已经预设的部分变量,是一组在系统用户登录后就可以直接使用的变量。
  • PATH变量:PATH变量是系统环境变量中的一个,作用就是记录命令执行时的搜索路径,使得命令可以在任意位置使用,而不需要输入命令所在完整路径才能使用。比如,如果我们想要在任意位置都能使用JDK相关命令,那么就需要将JDK命令所在路径追加到PATH变量中。
  • 环境变量配置文件
    • 系统变量:作用范围是所有的用户,是一种全局配置,所在路径为:/etc/profile(只有root用户可以修改)
    • 用户变量:作用范围是某一个用户,只对相应的用户生效,所在路径为:~/.bash_profile(~为当前用户家目录)
  • 环境变量生效:无论是自定义脚本中的变量,还是环境变量配置文件中的变量,在使用export操作后,都需要使用source命令使之生效。

3. 环境变量配置

以下为JDK的环境变量配置步骤:

  • 使用pwd命令复制JDK解压完整路径
  • 编辑~/.bash_profile,添加如下内容:
/home/test/jdk1.8.0_221
:/bin:/jre/bin JAVA_HOME
  • 使用source命令刷新环境变量并验证:
source .bash_profileecho $JAVA_HOMEecho $PATH

注:Linux中使用$符号来引用变量,相当于Windows中的%%,使用冒号作为路径分隔符,相当于Windows的分号

  • 配置完成后可以使用JDK中的命令来进行验证,刷新操作只需要做一次,因为在用户登录时,每次会自动读取两个环境变量配置文件。

本文分享自微信公众号 - 微光点亮星辰(SandTower),作者:沙塔的哲学

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 锋利的jQuery第八期

    上一期介绍了属性过滤选择器,提到了正则,那这次还是稍微说说吧,首先是不等于,开头以及结尾。原效果图如下:

    聚沙成塔
  • 数据库单表查询 - 简单筛选查询

    之前我们已经了解了SQL语言的分类,可以划分为:DDL(数据定义语言)、DML(数据操纵语言)、DQL(数据查询语言)、DCL(数据控制语言)、TPL(事务处...

    聚沙成塔
  • Spring BootCLI安装

    Spring Boot是一个命令行工具,用于使用Spring进行快速原型搭建。它允许你运行Groovy脚本,这意味着你可以使用类Java的语法,并且没有那么多的...

    聚沙成塔
  • 欧盟研究人员开发出智能灌溉系统

    2016年6月,欧盟资助的FIGARO项目正式推出其开发的一套精准农业决策支持系统,该系统可以通过提高水的生产及优化灌溉用水的使用与能耗,大幅改善高耗水作物(包...

    人工智能快报
  • python 基础知识第1讲:计算机要点

    将字符转换成二进制编码的过程叫做编码 将二进制码转换成字符的过程叫做解码 编码和解码都要遵守的规则是字符集

    小海怪的互联网
  • influxDB 常用操作

    在influxDB的CLI界面执行precision rfc3339即可,但是显示是UTC的时区,与中国时区差了8个小时,需要在查询语句的最后加上tz('Asi...

    Devops海洋的渔夫
  • Grafana使用InfluxDB作为数据源,呈现图表

    下面就在Grafana执行SELECT * FROM "CPU_All3" WHERE host =~ /qc_predepl_cms/查询出表里面的数据,并呈...

    Devops海洋的渔夫
  • LWC 61:740. Delete and Earn

    LWC 61:740. Delete and Earn 传送门:740. Delete and Earn Problem: Given an array nu...

    用户1147447
  • jQuery源码解析之trigger()

    一、$().trigger()和$().triggerHandler() 的作用和区别

    进击的小进进
  • 号称为“世界最精确”的inside-out位置追踪系统来了~

    VRPinea

扫码关注云+社区

领取腾讯云代金券