Linux系统使用snap安装jdk
source link: https://segmentfault.com/a/1190000041369317
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
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)
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK