前言:
当前咱们对“ubuntu怎么备份”都比较注意,姐妹们都想要学习一些“ubuntu怎么备份”的相关内容。那么小编在网上收集了一些对于“ubuntu怎么备份””的相关知识,希望小伙伴们能喜欢,同学们快快来了解一下吧!Snap软件是把一个或多个应用程序的捆绑起来的程序包,它们自成一体、安装简单、安全、跨平台且无依赖性,能够自动更新,通常是在一个封闭的、基于事务的环境中运行,并且兼容于许多不同的Linux发行版。除了易于安装、易于维护和易于升级之外,安全性和稳健性也是它们的主要特点。Snap软件可从 Snap Store(拥有数百万用户的公共应用程序商店)中查找并安装。
本文主要介绍在Ubuntu22.04中如何使用Snap功能,如何安装和更新,以及如何备份和删除Snap软件。
检查Snap是否安装
Snap可通过图形软件包管理器(如 Ubuntu 软件中心)进行安装和删除,但大多数高级功能只能通过 Linux 命令行实现。Ubuntu Linux系统默认支持 snap,运行 snap --version命令查看详细情况:
$ snap --versionsnap 2.61.3+22.04snapd 2.61.3+22.04series 16ubuntu 22.04kernel 6.5.0-26-generic列出已安装的snap软件
在Ubuntu22.04 系统中,Snap与一些 Snap应用一起默认安装,使用 snap list 命令列出这些 Snap软件:
$ snap listName Version Rev Tracking Publisher Notescore22 20231123 1033 latest/stable canonical✓ basefirefox 120.0.1-1 3504 latest/stable mozilla✓ -snapd 2.60.4 20290 latest/stable canonical✓ snapd
命令输出中,Version和Rev(ersion)列分别显示了Snap软件的版本信息:
Version:开发人员指定的打包软件版本。Reversion:上传snap文件时商店(store)分配的序列号。
Version是开发人员分配给Snap软件的版本名称或编号,用以标识Snap提供给用户的一些具体功能。Rev是商店自动分配的一个编号,目的是在Snap系统中为Snap软件版本分配唯一标识。
查找Snap软件
目前,Spotify 、Slack 和 Chromium等许多流行应用程序都有snap软件包。如果需要查找最新的Snap软件可以通过Snap Store在线搜索功能进行查找,在关键词一栏中输入如 "Spotify"、"音乐 "或 "数学"搜索。
例如:要搜索名称或描述中包含 "媒体播放器 "的 Snap软件,可以在shell中输入 snap find "media player"命令:
$ snap find "media player"Name Version Developer Notes Summaryvlc 3.0.4 videolan✓ - The ultimate media player.
在上述命令输出结果中,videolan 旁的✓表示Snap发布者已通过验证。通过验证的发布者(指的是机构、基金会和公司)在制作和维护高质量软件包方面值得信赖。
Snap软件类别
输入不带任何参数的 snap find 会返回一批系统推荐的Snap软件,可以通过增加“ --section= 参数” 来明确列出某一种类别的Snap软件。以下是一些常见类别参数:
art-and-design
books-and-reference
development
devices-and-iot
education
entertainment
featured
finance
games
health-and-fitness
music-and-audio
news-and-weather
personalisation
photo-and-video
productivity
science
security
server-and-cloud
social
utilities
全面了解Snap软件
使用 snap info 命令可以轻松查找特定Snap软件的更多详细信息。这些详细信息包括Snap的作用、发布者、提供的命令等。
snap info 命令输出的最后部分列出了Snap软件版本分支:
channels: latest/stable: 3.0.19 2023-10-13 (3721) 336MB - latest/candidate: 3.0.19 2023-10-02 (3721) 336MB - latest/beta: 3.0.20-27-g795b1bc62b 2023-12-13 (3862) 336MB - latest/edge: 4.0.0-dev-26928-g9bc7ded0f0 2023-12-13 (3863) 692MB -installed: 3.0.19 (3721) 336MB -
版本分支声明了新的 snap 软件版本动态,默认安装的latest/stable版本号。我们可以选择从不同的分支安装,从而实现测试新功能或安装应用程序的旧版本的目的。
安装Snap软件输入 snap install ,输入需要安装的Snap软件名称<snap-name>,开始安装:
sudo snap install vlc
首次运行安装时,一个或多个依赖项可能会与Snap软件一起自动安装。通过键盘输入“ ctrl+c” 可以安全地取消Snap安装操作,Snap系统将很干净地回滚到软件安装之前的状态。
我们还可以使用分支选项指定需要安装的软件版本分支:
sudo snap install --channel=edge vlc
安装后,可通过以下方式更改监控版本分支最新动态:
sudo snap switch --channel=stable vlc运行Snap应用程序和命令
一般情况下,绝大多数Snap应用程序都能通过命令行或桌面启动器直接运行。如果直接执行命令不起作用,可以使用snap运行命令:
snap run vlc
已安装的Snap应用程序执行文件存放在 /snap/bin目录,它也会被添加到系统的 $PATH环境变量中。
更新已安装的Snap软件Snap软件会自动更新,如果需要手动检查更新,可以使用以下命令:
sudo snap refresh vlc
上述操作将检查Snap跟踪的默认版本分支,如果存在更新版本的软件,会立即下载安装。
改变系统默认跟踪的版本分支同时安装最新版本的软件:
sudo snap refresh --channel=beta vlc
默认情况下,在系统监测的版本分支中上线的新软件版本将在6小时以内自动安装。当然该配置选项可以手动调整,也可以使用 --hold 选项禁用。
暂停或停止自动更新
使用 snap refresh --hold 命令可无限期或在指定时间内暂停或推迟系统中单个或所有Snap软件的更新。
snap refresh --hold=<duration> <snap1> <snap2>...
时间长度单位可以是秒 (s)、分 (m) 或小时 (h),也可以是这些单位的组合。如果要无限期推迟更新,也可以使用 "forever" 参数。如果未指定持续时间,则默认为永久。
$ snap refresh --hold=24h firefoxGeneral refreshes of "firefox" held until 2023-10-26T14:10:53+01:00恢复到较早版本使用 snap revert 命令可以将Snap软件还原到以前较早的版本。默认情况下,它会尝试恢复到前一个版本:
$ sudo snap revert vlcvlc reverted to 3.0.5-1可以指定可选的 --revision 参数来限定恢复到某一个特定版本:
snap revert vlc --revision 500
此操作将还原Snap软件旧版本(Rev. 500)和与软件相关的配置数据。如果先前使用的版本来自不同的分支,则将安装该分支版本,但系统默认监测的版本分支不会改变。用户数据(如由Snap软件生成并存储在数据库中的数据)通常存储在公共目录中,不会被还原。
Snap软件不会自动更新到恢复之前的版本,snap refresh 命令的输出将继续显示 "所有Snap均为最新"。当发布者提供新的软件版本时,已还原的Snap软件将自动更新。此外,无论软件版本之前是否已被还原,如果在snap refresh命令中指定了Snap名称<snap-name>,那么该Snap会立即更新:
$ snap list --all vlcName Version Rev Tracking Publisher Notesvlc 3.0.5-1 768 stable videolan✓ -vlc 3.0.6 770 stable videolan✓ disabled$ sudo snap refreshAll snaps up to date.$ sudo snap refresh vlcvlc 3.0.6 from VideoLAN✓ refreshed
上述命令输出的备注栏中显示Snap软件被还原之后,之前使用的最新软件版本属于“禁用”状态。
连接各类功能接口
Snap通过功能接口控制Snap软件访问系统资源权限,从而控制Snap应用程序在系统中能做什么和不能做什么。功能接口常用于设定Snap软件访问网络摄像头、录音和网络设备或读写 $HOME 目录和远程存储设备的权限,而Snap软件需要或能够提供哪些接口功能,取决于Snap软件的类型和自身需求。
要查看某个Snap软件正在使用哪些功能接口,以及它可以使用但没有使用哪些接口,可以输入命令 snap connections <snap-name> 进行查看:
$ snap connections vlcInterface Plug Slot Notesaudio-playback vlc:audio-playback :audio-playback -audio-record vlc:audio-record - -camera vlc:camera - -desktop vlc:desktop :desktop -home vlc:home :home -(...)
Slot是接口功能的提供者,而Plug是接口功能使用者,一个Slot可支持多个Plug连接。在上述命令输出中,我们发现摄像机接口没有连接,因为其Slot是空的。这意味着VLC无法访问任何已连接的摄像机。<snap-name>:<interface-name> 语法表示某Snap软件的某个功能接口。如果没有<snap-name>,例如 :audio-playback,则该组件将直接连接到系统接口。
如果要让VLC软件可以访问摄像机,可以使用 snap connect 命令连接:
snap connect vlc:camera
从上图中 snap connections vlc 命令的输出内容可以看到,VLC可以访问用户的/home目录,因为 vlc:home 接口连接到了系统的 $HOME 目录。这是一种自动连接,当某个Snap软件需要一些基本存储功能(如 VLC 访问个人视频和音频文件)时,Snap软件就会自动建立这种连接。
Snap软件存储数据的位置
Linux系统对大多数 Snap软件的使用环境进行严格限制,它们的执行环境和用户数据都与系统隔开。如果Snap软件需要用户访问文件,可以通过自动保存和加载用户主目录中的文件来实现。
可以通过 snap connections <snap-name> 命令的输出中看到是否使用了home功能接口:
$ snap connections nethackInterface Plug Slot Noteshome nethack:home :home -
当然无论Snap软件是否自动连接了hom功能接口,Snap软件都可以在 $HOME/snap/<snap-name>目录中存储用户数据,如数据库或配置文件。目前,Snap软件在自己目录中的存储数据的方式有两种:
用户数据只保存于某一特定版本中。Snap软件的数据存储在以软件修订版名称命名的数字目录中,如 55 或 56等。该软件版本更新后,用户数据通常会从旧版本目录复制到新版本目录里,因此如果软件从一个版本还原到另一个版本,就能全部恢复前一个版本的用户数据。$HOME/snap/<snap-name>目录中还包含一个 “current” 的符号链接,它用于指向当前激活的Snap 软件版本目录。用户数据可以在多个软件版本共享使用。在不同的软件版本之间实现用户数据共享,用户数据存储在名为 “common” 的目录中,目录中包含图像、音频缓存和数据库,这些数据不会在不同软件版本间复制。创建和恢复Snap软件快照
Snapshot(软件快照)是snapd服务程序为系统中一个或多个Snap软件存储的用户、系统和配置数据副本,Snap软件存放在 $HOME/snap/<snap-name> 和 /var/snap/<snap-name> 目录中的数据文件的快照一般都存储在 /var/lib/snapd/snapshots/目录中。
软件快照可通过 snap save 命令手动生成,也可在软件卸载时自动生成。软件快照可用于备份Snap软件的状态、将Snap软件恢复到先前的某一状态,以及将更新后的snapd软件恢复到先前的状态。
snap save 命令为所有已安装的Snap创建快照,如果单独指定某一软件,则单独为其创建软件快照:
$ sudo snap saveSet Snap Age Version Rev Size Notes30 core 1.00s 16-2.37~pre1 6229 250B -30 core18 886ms 18 543 123B -30 go 483ms 1.10.7 3092 387B -30 vlc 529ms 3.0.6 770 882kB -restore 命令就是用指定快照中的相应数据替换当前的用户、系统和配置数据:
$ sudo snap restore 30Restored snapshot #30.
默认情况下,该命令会还原快照中的所有用户数据。如果只需还原某几个Snap软件数据,可以在命令行后边的一一列出<snap-name1><snap-name2> ...;还可以使用 --users=<usernames> 参数,还原特定用户的数据。目前,还不能通过snap restore 命令排除某一特定snap软件的系统和配置数据。
移除Snap软件要从系统中删除Snap软件及其内部用户、系统和配置数据,可以使用以下删除命令:
$ sudo snap remove vlcvlc removed
添加 --no-wait 选项可立即返回命令提示符,移除程序将在后台运行。
默认情况下,Snap软件的所有版本都将移除。要移除特定软件版本,在移除命令中添加 --revision=<revision-number> 参数。
在Snap软件被移除之前(Ubuntu Core 系统软件除外),程序的内部用户、系统和配置数据会自动保存为软件快照(需要snapd 2.39+),保留期限为31天。
要在不生成快照的情况下移除Snap软件,可以使用 --purge 参数:
$ sudo snap remove vlc --purgevlc removed
#ubuntu##linux##snap#
标签: #ubuntu怎么备份