Ubuntu 使用 snap 常用操作

0x01 关于Snap

     Snap是Ubuntu母公司Canonical于2016年4月发布Ubuntu16.04时候引入的一种安全的、易于管理的、沙盒化的软件包格式,与传统的dpkg/apt有着很大的区别。

     Snap可以让开发者将他们的软件更新包随时发布给用户,而不必等待发行版的更新周期;其次Snap应用可以同时安装多个版本的软件,比如安装Python2.7和Python3.3。

0X02 基础常用操作

#查询已经安装了的软件

sudo snap list

#搜索要安装的Snap软件包

sudo snap find xxxx

#查看Snap软件的更多信息

sudo snap info xxxx

#安装Snap软件包

sudo snap install xxxx

#更换软件安装通道

sudo snap switch –channel=xxxx xxxx

#更新Snap软件包

sudo snap refresh xxxx

#还原到之前版本

sudo snap revert xxxx

#卸载Snap软件

sudo snap remove xxxx

当然光靠命令你想搜索什么snap软件包也是一头雾水吧!可以去uappexplorer里查询下,有什么snap软件包呢!喜欢的就都安装上。

#Uappexplorer

https://uappexplorer.com/snaps

0x03 将软件打包为Snap软件

Ubuntu 18.04及Snap体验——让Linux入门更简单

Snapcraft是用来构建snaps的软件,他使用也非常的简单,我们仅仅需要写一个snapcraft.yaml的配置文件即可。接下来就用Snapcraft打包一下GNU项目里的hello和bash。先从hello开始。

由于Ubuntu 18.04LTS中已经安装有Snapcraft了,我们就不需要在去apt安装了。可以直接开始打包我们的snap软件。

0X0301 初始打包

1.创建一个打包snap的目录hello。

mkdir hello

cd hello

2.初始化snapcraft。

snapcraft init

3.使用vim编辑配置文件snapcraft.yaml。

vim snap/snapcraft.yaml

将其修改为以下内容。

Ubuntu 18.04及Snap体验——让Linux入门更简单

name:描述这个snap软件的名称

version:描述这个软件的版本,可以用ascii码。

summary:对软件的一个总结。

Description:对软件进行一个描述。

grade:软件的发行通道。

confinement:对软件做一个限制,如devmode或者strict。

之后按照格式定义以下parts。

其中source表示打包软件的来源,plugin表示此软件安装时候需要的一些依赖关系,使用autotools即可。

4.编译snap打包软件。

snapcraft

Ubuntu 18.04及Snap体验——让Linux入门更简单

由于我们的source需要从GNU的ftp服务器上下载程序,待下载好后,其会自动打包编译。

5.之后进行测试安装。

sudo snap install --devmode hello2.10amd64.snap

Ubuntu 18.04及Snap体验——让Linux入门更简单

可以通过snap list查看是否安装成功,注意看Notes部分,其为devmode。

Ubuntu 18.04及Snap体验——让Linux入门更简单

6.进行测试,输入hello命令。

神马??竟然抱错了。当然你肯定会想用which hello进行检查。不过我可以告诉你答案,hello的二进制文件在/snap/bin里,是不是明白哪里出问题了?

0X0302 Snap全局命令

我们已经知道了为什么hello不能成为全局命令了,当然也还是只能通过修改snapcraft.yaml配置文件来使之成为全局命令。

1.修改snapcraft.yaml,添加一个apps部分,使命令hello指向bin/hello即可。

Ubuntu 18.04及Snap体验——让Linux入门更简单

2.迭代你的snap打包软件。

snapcraft prime

Ubuntu 18.04及Snap体验——让Linux入门更简单

3.之后再次尝试hello命令,终于生效了。

0X0303 Snap打包进阶

1.为了让我们的snap更有意思一点,我们添加一个新的parts和apps。

Ubuntu 18.04及Snap体验——让Linux入门更简单

2.之后我们重新执行。

Snapcraft prime

毫无疑问你肯定会报错失败。为什么呢??因为gnu-hello和gnu-bash两个不同的parts都将定向到了一个share/info/dir里,这里就发生了冲突。

3.其实在执行snapcraft的时候,类似于执行./configure,这里只用给./configure一个参数即可。那么snapcraft.yaml配置文件可以这么修改。

Ubuntu 18.04及Snap体验——让Linux入门更简单

这相当于将—infodir=/var/bash/info作为一个参数传递给了./configure。

3.之后重新编译。

snapcraft clean gnu-bash -s build

这里的clean只是相当于重新构架了一下gnu-bash,并不需要重新下载gnu-bash,当然可以snapcraft成功了。

Ubuntu 18.04及Snap体验——让Linux入门更简单

4.之后重新测试。

sudo snap try --devmode prime

5.之后再次测试hello和hello.bash命令,看看是否能进入这个子shell。

Ubuntu 18.04及Snap体验——让Linux入门更简单

之后通过env查询当前的环境,确认进入子shell,要退出的话,按q哦!

删除devmode

之前通过snap list可以看出Notes部分标记hello为devmode,既然我们都测试完毕了,那么是时候改为strict了。

Ubuntu 18.04及Snap体验——让Linux入门更简单

1.修改配置文件snapcraft.yaml。

将devmode修改为strict;其实也可以将grade后面的devel修改为stable了。

2.再次snapscraft一下。

3.你可以尝试安装它。

sudo snap install hello2.10amd64.snap

不出意外会报错:error: cannot find signatures with metadata for snap "hello2.10amd64.snap"。

Ubuntu 18.04及Snap体验——让Linux入门更简单

4.为什么会报错呢?是由于我们的软件没有经过Snap Store签名,而之前的安装是因为是devmode所以可以被安装,因而要在本地安装非devmode的snap时候,需要加入—dangerous选项。

之后snap打包后的hello即可被安装,在通过snap list看一下,Notes部分已经没有devmode的字样了。而程序也可以正常的运行。

 

节选自:https://www.linuxidc.com/Linux/2018-06/152993.htm

### 回答1: SnapUbuntu的一种包管理器,可以用来安装和管理软件包。要在Ubuntu使用Snap搭建Java开发环境,请遵循以下步骤: 1. 安装Snap 如果您的系统上还没有安装Snap,您可以使用以下命令安装Snap: ``` sudo apt update sudo apt install snapd ``` 2. 安装Java 使用Snap可以很容易地安装Java。要安装Java,请使用以下命令: ``` sudo snap install java ``` 3. 配置Java环境变量 安装完Java后,您需要设置Java环境变量。打开终端并使用以下命令: ``` sudo nano /etc/environment ``` 将以下行添加到文件末尾,其中“/snap/java/current”是Java的安装路径: ``` JAVA_HOME=/snap/java/current ``` 按Ctrl+X,然后按Y保存并退出nano。 4. 安装Java开发工具 现在您已经安装了Java和设置了Java环境变量,可以安装Java开发工具。使用以下命令安装Eclipse: ``` sudo snap install eclipse --classic ``` 使用以下命令安装IntelliJ IDEA: ``` sudo snap install intellij-idea-community --classic ``` 现在您已经成功使用Snap搭建了Java开发环境。您可以使用Eclipse或IntelliJ IDEA开始编写Java代码了。 ### 回答2: 在Ubuntu系统上使用snap搭建Java开发环境非常简单。首先,确保您的系统已连接到互联网。 首先,打开终端。您可以使用Ctrl + Alt + T键组合来快速打开终端。 然后,输入以下命令来安装Java(如果尚未安装): ``` sudo snap install openjdk ``` 该命令将下载并安装最新版本的OpenJDK。 然后,您可以使用以下命令来确认Java是否成功安装: ``` java -version ``` 您将看到Java的版本信息。 接下来,您可能还需要安装其他Java开发所需的软件包,例如Maven或Gradle。您可以使用以下命令来安装Maven: ``` sudo snap install --classic maven ``` 或使用以下命令来安装Gradle: ``` sudo snap install --classic gradle ``` 这些命令将下载并安装最新版本的Maven或Gradle。 一旦这些步骤完成,您就可以开始使用Java进行开发。您可以使用任何喜欢的文本编辑器编写Java代码,并使用命令行工具(如javac和java命令)来编译和运行代码。 总结一下,使用SnapUbuntu系统上搭建Java开发环境非常简单。只需几个命令即可安装所需的软件包,并开始使用Java进行开发。 ### 回答3: 在Ubuntu系统中,可以使用snap来搭建Java开发环境。Snap是一种软件打包技术,它可以帮助用户以更加简便和安全的方式安装和管理应用程序。 首先,打开终端并更新系统软件源,使用以下命令: sudo apt update sudo apt upgrade 接下来,安装snap包管理器,使用以下命令: sudo apt install snapd 然后,通过以下命令安装OpenJDK(Java开发工具包): sudo snap install --classic java 此命令将安装最新版本的OpenJDK。安装完成后,即可在系统中使用Java开发环境。 如果需要安装其他Java开发工具,可以使用类似命令的方式进行安装。例如,安装Maven(Java项目管理工具),可以使用以下命令: sudo snap install --classic maven 类似地,可以使用snap安装其他常用的Java开发工具,如Gradle(构建工具)和IntelliJ IDEA(集成开发环境)等。只需使用相应的命令进行安装即可。 安装完成后,可以通过以下命令来查看已安装的snap软件包: snap list 要卸载某个已安装的snap软件包,可以使用以下命令: sudo snap remove 软件包名称 总之,使用snap可以方便地搭建Java开发环境,并且可以很容易地安装和管理各种Java开发工具。通过上述步骤,您可以在Ubuntu系统上快速搭建Java开发环境并开始编写Java应用程序。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值