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

Linux软件管理 - 解压安装_第1张图片

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解压完整路径

Linux软件管理 - 解压安装_第2张图片

  • 编辑~/.bash_profile,添加如下内容:
JAVA_HOME=/home/test/jdk1.8.0_221
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export JAVA_HOME

Linux软件管理 - 解压安装_第3张图片

  • 使用source命令刷新环境变量并验证:
source .bash_profile
echo $JAVA_HOME
echo $PATH

Linux软件管理 - 解压安装_第4张图片
注:Linux中使用$符号来引用变量,相当于Windows中的%%,使用冒号作为路径分隔符,相当于Windows的分号

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