在CentOS 7/CentOS 8上安装snapd和snap应用程序
在本指南中,我将指导我们完成在CentOS 8/CentOS 7服务器上安装和使用Snap的步骤。对于那些不熟悉的新术语,snap来自Snappy,它是Canonical的软件包管理和软件部署系统。它最初是为Ubuntu手机操作系统设计的。
什么是snap?
snap是包含应用程序代码的squashFS文件系统和包含特定元数据的snap.yaml文件。它具有只读文件系统,并且一旦安装,便具有可写区域。它捆绑了所需的大多数库和运行时,可以在不影响系统其余部分的情况下进行更新和还原。它通过安全机制在OS和其他应用程序中受到限制,但可以根据细粒度与其他快照交换内容和功能。由用户控制的策略和操作系统默认设置。
什么是Snapd?
Snapd是一种REST API守护程序服务,可在Linux系统上运行以管理快照包(快照)。它与快照存储进行交互,并提供用于与之交互的命令客户端"快照"。必须先安装napd,然后才能在任何Linux发行版上开始管理快照。
为什么要使用snap?
Snap可以为每个Linux桌面,服务器,云或者设备打包任何应用程序。快照的安装速度更快,更易于创建,运行更安全,并且它们会自动进行事务更新,因此应用程序始终是全新的且永不中断。我们可以带上自己的构建基础架构或者使用我们的基础架构。
在CentOS 8/CentOS 7上安装和使用Snapd
请按照以下步骤在CentOS 7服务器上安装Snapd。
在CentOS 8上安装Snap
添加EPEL存储库
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf -y upgrade
在CentOS 8上安装Snap
sudo dnf -y install snapd sudo systemctl enable --now snapd.socket sudo ln -s /var/lib/snapd/snap /snap
在CentOS 7上安装Snap
通过添加epel
存储库并安装copr
yum插件开始安装。
sudo yum install epel-release sudo yum install yum-plugin-copr
然后添加仓库:
$sudo yum copr enable ngompa/snapcore-el7 Loaded plugins: copr, fastestmirror You are about to enable a Copr repository. Please note that this repository is not part of the main Fedora distribution, and quality Jan vary. The Fedora Project does not exercise any power over the contents of this repository beyond the rules outlined in the Copr FAQ at <https://fedorahosted.org/copr/wiki/UserDocs#WhatIcanbuildinCopr>, and packages are not held to any quality or securty level. Please do not file bug reports about these packages in Fedora Bugzilla. In case of problems, contact the owner of this repository. Do you want to continue? [y/N]: y copr done
添加存储库后,请安装installsnapd软件包。
sudo yum -y install snapd
等待安装完成,然后启用napd套接字:
$sudo systemctl enable --now snapd.socket Created symlink from /etc/systemd/system/sockets.target.wants/snapd.socket to /usr/lib/systemd/system/snapd.socket.
经典的限制要求在/snap'下捕捉或者从
/snap到'/var/lib/snapd/snap
的符号链接。为它创建一个符号链接,如下所示:
sudo ln -s /var/lib/snapd/snap /snap
Snapd现在可以使用了。我们可以使用snap命令与其进行交互。请参阅下面的帮助页面:
# snap --help Usage: snap [OPTIONS] <command> Install, configure, refresh and remove snap packages. Snaps are 'universal' packages that work across many different Linux systems, enabling secure distribution of the latest apps and utilities for cloud, servers, desktops and the internet of things. This is the CLI for snapd, a background service that takes care of snaps on the system. Start with 'snap list' to see installed snaps. Application Options: --version Print the version and exit Help Options: -h, --help Show this help message Available commands: abort Abort a pending change ack Adds an assertion to the system alias Sets up a manual alias aliases Lists aliases in the system buy Buys a snap changes List system changes connect Connects a plug to a slot disable Disables a snap in the system disconnect Disconnects a plug from a slot download Downloads the given snap enable Enables a snap in the system find Finds packages to install (aliases: search) get Prints configuration options help Help info show detailed information about a snap install Installs a snap to the system interface Lists snap interfaces interfaces Lists interfaces in the system known Shows known assertions of the provided type list List installed snaps login Authenticates on snapd and the store logout Log out of the store logs Retrieve logs of services pack pack the given target dir as a snap prefer Prefer aliases from a snap and disable conflicts refresh Refreshes a snap in the system remove Removes a snap from the system restart Restart services revert Reverts the given snap to the previous state run Run the given snap command services Query the status of services set Changes configuration options start Start services stop Stop services switch Switches snap to a different channel tasks List a change's tasks (aliases: change) try Tests a snap in the system unalias Unalias a manual alias or an entire snap version Shows version details watch Watch a change in progress whoami Prints the email the user is logged in with.
在CentOS 7/CentOS 8上安装Snap应用程序
我们使用" snap"命令行工具与Snap Store中可用的快照进行交互。
搜索快照:
要搜索快照,请使用
$snap find <search terms>
这将查询商店并列出结果及其版本号,开发人员名称和说明。
病了一个在CentOS 7服务器上安装Microsoft PowerShell自动化和配置管理平台的示例。
# snap search powershell Name Version Developer Notes Summary powershell-preview 6.1.0-preview.4 microsoft-powershell classic PowerShell for every system! powershell 6.0.4 microsoft-powershell classic PowerShell for every system!
通过运行以下命令安装快照:
sudo yum install -y icu sudo snap install powershell --classic
等待下载完成,应该花很短的时间才能完成。由于二进制文件位于/snap/bin /下,我们需要将其添加到$PATH变量中。
$sudo vim /etc/profile export PATH="$PATH:/snap/bin/"
源文件以获取新路径
source /etc/profile
通过启动pwsh
会话进行测试。
# pwsh PowerShell v6.0.4 Copyright (c) Microsoft Corporation. All rights reserved. https://aka.ms/pscore6-docs Type 'help' to get help. PS /root>
列出已安装的快照:
# snap list Name Version Rev Developer Notes core 16-2.34.3 5145 canonical core powershell 6.0.4 8 microsoft-powershell classic
通过运行"快照刷新"来手动更新快照
# snap refresh powershell snap "powershell" has no updates available
移除快照
快速打开快照,我们需要做的就是运行。snapremove <snap name>
在我们的例子中,只需执行以下操作:
# snap remove powershell powershell removed
检查捕捉信息:
使用命令" snap info"来检查有关快照包的更多信息。
[theitroad@localhost ~]# snap info powershell name: powershell summary: PowerShell for every system! publisher: microsoft-powershell contact: https://github.com/powershell/powershell description: | PowerShell is an automation and configuration management platform. It consists of a cross-platform (Windows, Linux, and macOS) command-line shell and associated scripting language. See https://docs.microsoft.com/en-us/powershell/scripting/powershell-core-support for support details. snap-id: JSNnoJl3EqkMuWoy5Dgq8PMqZ0uNcpie channels: stable: 6.0.4 (8) 58MB classic candidate: 6.0.4 (8) 58MB classic beta: 6.0.4 (8) 58MB classic edge: 6.0.4 (8) 58MB classic
回滚到应用程序的先前版本
使用snap revert 快照还原
$sudo snap revert <snap name>