在本指南中,我将向您介绍在CentOS 8/CentOS 7服务器上安装和使用Snap的步骤。对于那些刚接触snap的人,可能不知道snap来自于Snappy, Snappy是Canonical公司的一个包管理和软件部署系统。它最初是为Ubuntu手机操作系统设计的。
什么是snap?
- 是一个包含应用程序代码和快照的squashFS文件系统。包含特定元数据的snap.yaml文件。它有一个只读文件系统,安装后还有一个可写区域。
- 是独立的。它捆绑了所需的大多数库和运行时,并且可以在不影响系统其余部分的情况下进行更新和还原。
- 是通过安全机制限制在OS和其他应用程序中的,但可以根据用户控制的细粒度策略和OS默认值与其他snap交换内容和功能。
什么是Snapd?
Snapd是一个REST API守护进程服务,它在您的Linux系统上运行,用于管理snap包(“snaps”)。它与snap store交互,并提供与之交互的命令客户端snap。在开始管理任何Linux发行版上的snap之前,必须安装snapd。
为什么要使用snap?
Snap为每个Linux桌面、服务器、云或设备打包任何应用程序。Snaps的安装速度更快,创建起来更容易,运行起来更安全,而且它们会自动更新,所以你的应用程序永远是最新的且永不中断。你可以带上你自己的基础架构或使用官方的。
在CentOS 8/CentOS 7上安装和使用Snapd
请按照以下步骤在CentOS 7服务器上安装Snapd。
在CentOS 8上安装Snap
添加EPEL存储库
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf -y install https://dl.Fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf -y upgrade
在CentOS 8上安装Snap
[linuxidc@localhost ~/www.linuxidc.com]$sudo dnf -y install snapd
[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl enable –now snapd.socket[sudo] linuxidc 的密码:
Created symlink /etc/systemd/system/sockets.target.wants/snapd.socket → /usr/lib/systemd/system/snapd.socket.
[linuxidc@localhost ~/www.linuxidc.com]$sudo ln -s /var/lib/snapd/snap /snap
在CentOS 7上安装Snap
通过添加epel存储库并安装copr yum插件开始安装。
[linuxidc@localhost ~/www.linuxidc.com]$sudo yum install epel-release
[linuxidc@localhost ~/www.linuxidc.com]$sudo yum install yum-plugin-copr
然后添加仓库:
[linuxidc@localhost ~/www.linuxidc.com]$sudo yum copr enable ngompa/snapcore-el7
添加存储库后,安装snapcore包。
[linuxidc@localhost ~/www.linuxidc.com]$sudo yum -y install snapd
等待安装完成,然后启用snapd socket:
[linuxidc@localhost ~/www.linuxidc.com]$sudo systemctl enable –now snapd.socket
[linuxidc@localhost ~/www.linuxidc.com]$sudo ln -s /var/lib/snapd/snap /snap
Snapd现在可以使用了。 您可以使用snap命令与其进行交互。 请参阅下面的帮助页面:
[linuxidc@localhost ~/www.linuxidc.com]$snap –help
在CentOS 7/CentOS 8上安装Snap应用程序
我们使用snap命令行工具与snap商店中提供的snap进行交互。
搜索snap:
要搜索snap,请使用
$ snap find <search terms>
这将查询商店并列出结果及其版本号,开发人员名称和说明。
我将以一个示例在CentOS 8服务器上安装Microsoft PowerShell自动化和配置管理平台为例。
[linuxidc@localhost ~/www.linuxidc.com]$snap search powershell
Name Version Publisher Notes Summary
powershell 6.2.4 microsoft-powershell✓ classic PowerShell for every system!
powershell-preview 7.0.0-rc.3 microsoft-powershell✓ classic PowerShell for every system!
starship 0.36.1 matankushner – The cross-shell prompt for astronauts
通过运行以下命令安装snap:
[linuxidc@localhost ~/www.linuxidc.com]$sudo yum install -y icu
[linuxidc@localhost ~/www.linuxidc.com]$sudo snap install powershell –classic
等待下载完成,下载速度可达1-2MB/s。 由于二进制文件位于 /snap/bin/下,我们需要将其添加到$PATH变量中。
[linuxidc@localhost ~/www.linuxidc.com]$sudo vim /etc/profile
export PATH=”$PATH:/snap/bin/”
使用source命令以获得新路径
[linuxidc@localhost ~/www.linuxidc.com]$source /etc/profile
通过启动pwsh会话进行测试。
[linuxidc@localhost ~/www.linuxidc.com]$pwsh
PowerShell 6.2.4
https://aka.ms/pscore6-docs
Type ‘help’ to get help.
PS /home/linuxidc/www.linuxidc.com>
列出已安装的snap:
[linuxidc@localhost ~/www.linuxidc.com]$snap list
Name Version Rev Tracking Publisher Notes
core 16-2.43.3 8689 stable canonical✓ core
powershell 6.2.4 88 stable microsoft-powershell✓ classic
通过运行快照刷新来手动更新snap
[linuxidc@localhost ~/www.linuxidc.com]$snap refresh powershell
snap “powershell” has no updates available
移除snap
要删除snap,只需运行如下命令即可。snap remove <snap名称>在我们的例子中,只需执行以下操作:
[linuxidc@localhost ~/www.linuxidc.com]$snap remove powershell
powershell removed
检查snap信息:
使用命令snap信息来检查有关snap包的更多信息。
[linuxidc@localhost ~/www.linuxidc.com]$snap info powershell
回滚到应用程序的先前版本
使用snap还原
[linuxidc@localhost ~/www.linuxidc.com]$sudo snap revert <snap name>
总结
现在,您应该能够安装snap了,手动更新它们,删除它们,检查已安装的snap等等。snap命令行被设计得尽可能简单和易于记忆。
本文永久更新链接地址:https://www.linuxidc.com/Linux/2020-03/162485.htm