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
接下来,通过在/var/lib/snapd/snap
和/snap
之间创建符号链接来启用经典快照支持,如下所示。
$ sudo ln -s /var/lib/snapd/snap /snap
要检查系统上安装的snapd和 snap 命令行工具的版本,请运行以下命令。
$ snap version
snap命令允许您安装、配置、刷新和删除快照,并与更大的快照生态系统进行交互。
在安装snap之前,您可以检查它是否存在于 snap store 中。例如,如果应用程序属于“chat servers”或“media players”类别,您可以运行这些命令来搜索它,这将在稳定频道中向商店查询可用包。
$ snap find "chat servers" $ snap find "media players"
显示有关snap的详细信息
$ snap info rocketchat-server
安装snap包,例如,rocketchat-server
$ sudo snap install rocketchat-server
您可以选择从不同的渠道安装:edge
、beta
或Candidate
,出于某种原因,分别使用--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
要列出正在使用的快照的当前版本,请指定其名称。您还可以通过添加--all
选项列出其所有可用的修订。
$ snap list mailspring OR $ snap list --all mailspring
3.2 更新和恢复
refresh命令检查快照跟踪的通道,如果可用,它会下载并安装更新版本的快照。
$ sudo snap refresh mailspring OR $ sudo snap refresh #update all snaps on the local system
将应用程序更新到新版本后,您可以使用revert命令恢复到以前使用的版本。请注意,与软件关联的数据也将被还原。
$ sudo snap revert mailspring
现在,当您检查mailspring
的所有修订版时,最新修订版被禁用,以前使用的修订版现在处于活动状态。
$ snap list --all mailspring
3.3 禁用/启用和删除
#禁用 $ sudo snap disable mailspring #开启 $ sudo snap enable mailspring #删除 $ sudo snap remove mailspring $ sudo snap remove --revision=482 mailspring