Linux Command snap 包管理(1)

简介: Linux Command snap 包管理(1)

Linux Command snap 软件包管理

tags: 软件包管理

文章目录

Linux Command snap 软件包管理

1. 简介

2 安装 Snapd

3. 管理 snaps

3.1 查看已安装

3.2 更新和恢复

3.3 禁用/启用和删除

3.4 从 Snap 运行应用程序

3.5 创建和使用 Snap Aliases

3.6 管理 Snap 的服务

3.7 创建和管理 Snap 的快照

1. 简介

在过去的几年里,Linux 社区在 Linux 系统上的包管理领域取得了一些显着的进步,特别是在通用或跨分发软件打包和分发方面。其中一项进步是由流行的Ubuntu Linux制造商Canonical开发的Snap包格式。


Snaps是跨发行版、无依赖关系且易于安装的应用程序,这些应用程序与所有依赖项打包在一起,可以在所有主要的 Linux 发行版上运行。从单个构建开始,一个 snap(应用程序)将在桌面、云和 IoT 上的所有受支持的 Linux 发行版上运行。支持的发行版包括 Ubuntu、Debian、Fedora、Arch Linux、Manjaro 和 CentOS/RHEL。


快照是安全的——它们被限制和沙盒化,因此它们不会危及整个系统。它们在不同的限制级别下运行(这是与基本系统和彼此隔离的程度)。更值得注意的是,每个快照都有一个由快照创建者根据快照的要求精心挑选的界面,以提供对其限制之外的特定系统资源的访问,例如网络访问、桌面访问等。


snap生态系统中的另一个重要概念是Channels。通道确定安装和跟踪哪个版本的快照以进行更新,它由跟踪、风险级别和分支组成并被细分。


snap包管理系统的主要组件有:


snapd – 在 Linux 系统上管理和维护快照的后台服务。

snap – 应用程序包格式和命令行界面工具,用于安装和删除 snap 以及在 snap 生态系统中执行许多其他操作。

snapcraft – 用于构建快照的框架和强大的命令行工具。

snap store——开发者可以共享他们的 snap,Linux 用户可以搜索和安装它们的地方。

此外,快照也会自动更新。您可以配置更新发生的时间和方式。默认情况下,snapd守护程序每天最多检查四次更新:每次更新检查称为刷新。您也可以手动启动刷新。

2 安装 Snapd

如上所述,snapd守护进程是后台服务,它通过实施限制策略和控制允许 snap 访问特定系统资源的接口来管理和维护Linux 系统上的snap环境。它还提供snap命令并用于许多其他用途。

要在您的系统上安装snapd软件包,请为您的 Linux 发行版运行适当的命令。

------------ [On Debian and Ubuntu] ------------ 
$ sudo apt update 
$ sudo apt install snapd
------------ [On Fedora Linux] ------------
# dnf install snapd     
------------ [On CentOS and RHEL] ------------
# yum install epel-release 
# yum install snapd   
------------ [On openSUSE - replace openSUSE_Leap_15.0 with the version] ------------
$ sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.0 snappy
$ sudo zypper --gpg-auto-import-keys refresh
$ sudo zypper dup --from snappy
$ sudo zypper install snapd
------------ [On Manjaro Linux] ------------
# pacman -S snapd
------------ [On Arch Linux] ------------
# git clone https://aur.archlinux.org/snapd.git
# cd snapd
# makepkg -si

在您的系统上安装snapd后,使用systemctl 命令启用管理主snap通信套接字的systemd单元,如下所示。

在Ubuntu及其衍生版本上,这应该由包安装程序自动触发。

$ sudo systemctl enable --now snapd.socket

请注意,如果snapd.socket未运行,则无法运行snap命令。运行以下命令以检查它是否处于活动状态并启用以在系统启动时自动启动。

$ sudo systemctl is-active snapd.socket
$ sudo systemctl status snapd.socket
$ sudo systemctl is-enabled snapd.socket

1832b220aa754cd18c504acc7686a560.png

接下来,通过在/var/lib/snapd/snap/snap之间创建符号链接来启用经典快照支持,如下所示。

$ sudo ln -s /var/lib/snapd/snap /snap

要检查系统上安装的snapd和 snap 命令行工具的版本,请运行以下命令。

$ snap version

1832b220aa754cd18c504acc7686a560.png

snap命令允许您安装、配置、刷新和删除快照,并与更大的快照生态系统进行交互。


在安装snap之前,您可以检查它是否存在于 snap store 中。例如,如果应用程序属于“chat servers”或“media players”类别,您可以运行这些命令来搜索它,这将在稳定频道中向商店查询可用包。

$ snap find "chat servers"
$ snap find "media players"

1832b220aa754cd18c504acc7686a560.png

显示有关snap的详细信息

$ snap info rocketchat-server

1832b220aa754cd18c504acc7686a560.png

安装snap包,例如,rocketchat-server

$ sudo snap install rocketchat-server

1832b220aa754cd18c504acc7686a560.png

您可以选择从不同的渠道安装:edgebetaCandidate,出于某种原因,分别使用--edge--beta--candidate选项。或使用该--channel

$ sudo snap install --edge rocketchat-server        
$ sudo snap install --beta rocketchat-server
$ sudo snap install --candidate rocketchat-server

3. 管理 snaps

3.1 查看已安装

$ snap list

1832b220aa754cd18c504acc7686a560.png

要列出正在使用的快照的当前版本,请指定其名称。您还可以通过添加--all选项列出其所有可用的修订。

$ snap list mailspring
OR
$ snap list --all mailspring

1832b220aa754cd18c504acc7686a560.png

3.2 更新和恢复

refresh命令检查快照跟踪的通道,如果可用,它会下载并安装更新版本的快照。

$ sudo snap refresh mailspring
OR
$ sudo snap refresh   #update all snaps on the local system

1832b220aa754cd18c504acc7686a560.png

将应用程序更新到新版本后,您可以使用revert命令恢复到以前使用的版本。请注意,与软件关联的数据也将被还原。

$ sudo snap revert mailspring

1832b220aa754cd18c504acc7686a560.png

现在,当您检查mailspring的所有修订版时,最新修订版被禁用,以前使用的修订版现在处于活动状态。

$ snap list --all mailspring

1832b220aa754cd18c504acc7686a560.png

3.3 禁用/启用和删除

#禁用
$ sudo snap disable mailspring
#开启
$ sudo snap enable mailspring
#删除
$ sudo snap remove mailspring
$ sudo snap remove  --revision=482 mailspring
相关文章
|
8月前
|
Linux 开发工具 数据安全/隐私保护
【Linux】软件包管理器yum和编辑器vim的使用(下)
【Linux】软件包管理器yum和编辑器vim的使用(下)
|
8月前
|
Web App开发 Ubuntu Linux
百度搜索:蓝易云【Ubuntu Linux中如何删除Firefox Snap?】
通过上述步骤,你可以在Ubuntu Linux中删除Firefox Snap。这将彻底删除通过Snap安装的Firefox,并确保你可以选择其他版本或使用其他方式重新安装Firefox。
373 0
|
9月前
|
网络安全 开发工具
|
8月前
|
关系型数据库 MySQL Shell
【Linux命令】-bash: mysql: command not found
【Linux命令】-bash: mysql: command not found
65 0
|
9月前
|
Linux 网络安全 Windows
linux/redhat系-006基础命令,包管理,
全程以企业正式的服务器为标准使用
71 0
|
2天前
|
缓存 Linux 编译器
技术笔记:Linux程序包管理
技术笔记:Linux程序包管理
|
1月前
|
Ubuntu 关系型数据库 Linux
《Linux 简易速速上手小册》第4章: 包管理与软件安装(2024 最新版)
《Linux 简易速速上手小册》第4章: 包管理与软件安装(2024 最新版)
34 0
|
8月前
|
NoSQL Linux 编译器
详讲yum包管理器/Vim编辑器/gdb调试器的基础用法【Linux】
详讲yum包管理器/Vim编辑器/gdb调试器的基础用法【Linux】
80 0
|
1月前
|
Linux Shell
mac/linux提示bash: telnet: command not found
mac/linux提示bash: telnet: command not found
|
1月前
|
Linux
linux RPM包管理
RPM包管理 查询指令 查询已安装的所有rpm软件包 rpm -qa | grep 名称 rpm -q 软件包名 查询软件包是否安装 noarch表示通用 查询软件包信息 rpm -qi 名称 查询软件包中的文件 rmp -ql 名称 查询文件所属软件包 rmp -qf 路径 卸载rmp包 rpm -e 包名 增加 --nodeps 强制删除 安装rpm包 rpm -ivh 包全路径名称 i=install 安装 v=verbose 提示 h=hash 进度条
48 0