共计 1675 个字符,预计需要花费 5 分钟才能阅读完成。
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 的阿里源
默认
ubuntu
的apt 软件源
在国内拜访过慢,常常会导致装置失败,这里应用sed
命令对apt 软件源
进行替换,换成阿里的 apt 软件源
。
sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
sed -i s@/security.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
apt-get clean
apt-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 aliases
export JAVA_HOME=/snap/openjdk/714/jdk
export 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)