当前位置: 首页 > Linux

Linux下配置命令工具分析

时间:2023-04-06 21:52:14 Linux

本文个人博客地址:https://www.leafage.top/posts/detail/2212501AB不修改环境变量文件,使得安装服务可以全局使用。以maven为例来说明,在很多linux服务器上安装了各种基础服务和软件来进行一些操作。比如java代码的编译打包就需要maven工具,它有一个命令mvn来进行各种操作。各种服务的安装方式有很多种,但由于各种原因系统默认仓库中可能没有提供需要的版本。比如ubuntu系统默认的maven版本号是3.6.2。这个版本会在编译jdk17问题的时候出现,所以需要更新到最新的3.8.x版本来解决这个问题。这个时候只能下载最新的maven编译安装。但是如果之前安装过maven,此时又不想破坏它之前的配置,怎么办呢?首先我们了解下Linux下各版本系统的默认工具是如何安装的,初始配置是如何配置的。在ubuntu系统下,maven文件会放在/usr/share/maven下,其中子目录conf软链接到/etc/maven目录下,/usr/share/maven/bin/m2.conf文件为软链接到/etc/maven/m2.conf,这些是文件的存放目录和配置文件的路径。那么如何配置才能让mvn命令工具全局使用。在很多文章中都会配置/etc/profile或者.bashrc或者.profile文件,加上export/xxx/xxx来实现。同样的,我们看看默认安装的maven是怎么配置的。通过命令:whereismvn,执行结果如下:root@localhost:/usr/bin#whereismvnmvn:/usr/bin/mvn/usr/share/man/man1/mvn。1.gz,我看到mvn的路径是:/usr/bin/mvn,其他指向mvn.1.gz的可以忽略,默认安装在文件目录/usr/下会有一个xx.gz文件share,里面是各种日志打印出来的东西,也就是安装的时候可以看到的进度信息。进入/usr/bin/可以看到mvn的具体信息。软连接到/etc/alternatives目录下,如下图:然后查看/etc/alternatives/mvn的具体信息,如下:这里的软连接直接指向具体maven存放目录下的脚本文件。那为什么这个mvn命令工具经过两次软链接就可以全局使用呢?这里需要了解linux系统中软件多版本切换的update-alternatives命令。它的管理目录是:/etc/alternatives。链接保证同一个工具的多个版本可以运行,这样当在/usr/bin和/etc/alternatives目录下建立执行脚本的软链接时,就可以全局执行脚本的命令。大致了解之后,我们来配置maven3.8.x。先将apache-maven-xx.tar.gz解压到/usr/share/maven,具体命令示例如下:tar-zxvfapache-maven-xx.tar.gz-C/usr/share/maven然后复制将share/maven目录下的/usr/conf目录和bin目录下的m2.conf文件复制到/etc/maven目录下,然后在两者之间建立软连接(修改源码目录和文件名,然后创建,否则因为文件已经存在,无法建立软连接),完成后在任意目录下执行mvn-v命令查看maven版本信息是否可行。一般这里会执行成功,会看到如下信息:root@localhost:/usr/bin#mvn-vApacheMaven3.8.4(9b656c72xxxxxxx159fe39b537)Mavenhome:/usr/share/mavenJavaversion:17.0.1,vendor:PrivateBuild,runtime:/usr/lib/jvm/java-17-openjdk-amd64//其他遗漏不需要修改任何环境配置,这种方式比较安全,不会影响其他已有配置。当然,如果是覆盖之前的文件或者配置的情况除外。