snap是什么?

snap是一种全新的软件包治理形式,它相似一个容器领有一个应用程序所有的文件和库,各个应用程序之间齐全独立。所以应用snap包的益处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易治理。然而由此带来的问题就是它占用更多的磁盘空间。
  snap的安装包扩展名是.snap,相似于一个容器,它蕴含一个应用程序须要用到的所有文件和库(snap包蕴含一个公有的root文件系统,外面蕴含了依赖的软件包)。它们会被装置到独自的目录;各个应用程序之间互相隔离。应用snap有很多益处,首先它解决了软件包的依赖问题;其次,也使应用程序更容易治理。
当初反对snap的利用并不多,snap软件包个别装置在/snap目录下。

如何装置snap?

在ubuntu零碎中,snap是零碎默认自带的,docker容器中ubuntu零碎官镜像中则没有,大部分linux发行版也没有自带snap,须要额定装置,这里演示debian系发行版如何装置snap。centos等rpm系发行版装置snap的步骤能够参考这篇文章https://www.linuxidc.com/Linux/2020-03/162485.htm

配置apt的阿里源

默认ubuntuapt软件源在国内拜访过慢,常常会导致装置失败,这里应用sed命令对apt软件源进行替换,换成阿里的apt软件源
sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.listsed -i s@/security.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.listapt-get cleanapt-get update

装置snap

sudo apt-get install snapd

应用snap装置jdk

sudo snap install openjdk

将JDK增加到环境变量中

仔细的同学可能曾经发现,应用snap装置openjdk,还是无奈在命令中运行java相干的命令,这是因为咱们还没有把jdk配置到环境变量中。

在命令中输出openjdk能够取得openjdk的配置文件地址

openjdk// 例如输入// /var/snap/openjdk/common/openjdk.env

应用cat命令输入查看配置文件内的内容

cat /var/snap/openjdk/common/openjdk.env

例如我这里输入的如下:

# Source this file for OpenJDK environment variables and aliasesexport JAVA_HOME=/snap/openjdk/714/jdkexport MANPATH=/snap/openjdk/714/jdk/man:alias java='openjdk.java'alias javac='openjdk.javac'alias javadoc='openjdk.javadoc'alias jar='openjdk.jar'alias jarsigner='openjdk.jarsigner'alias jlink='openjdk.jlink'alias jpackage='openjdk.jpackage'

复制配置文件的输入,用vim获取其余编辑器关上/etc/profile文件(留神,有些时候须要sudo),将复制的配置内容,增加到/etc/profile文件最初面。

刷新环境变量

source /etc/profile

此时能够在终端中查看java版本信息,如果能够成输入,阐明配置胜利了。(有些时可能须要重启下电脑)

java --version// 输入样例// openjdk 17.0.2 2022-01-18// OpenJDK Runtime Environment (build 17.0.2+8-snap)// OpenJDK 64-Bit Server VM (build 17.0.2+8-snap, mixed mode, sharing)