转载来源:https://computingforgeeks.com/install-snapd-snap-applications-centos-7/
How to Install Snapd and Snap applications on CentOS 7
(Last Updated On: August 21, 2018)
In this guide, I’ll take you through the steps to install and use snapd service on CentOS 7 server. For those new to snap terminology, snap comes from Snappy which is a package management and software deployment system from Canonical. It was originally designed for the Ubuntu phone operating system.
What is a snap?
A snap
:
- is a squashFS filesystem containing your app code and a
snap.yaml
file containing specific metadata. It has a read-only file-system and, once installed, a writable area. - is self-contained. It bundles most of the libraries and runtimes it needs and can be updated and reverted without affecting the rest of the system.
- is confined from the OS and other apps through security mechanisms, but can exchange content and functions with other snaps according to fine-grained policies controlled by the user and the OS defaults.
What is Snapd?
Snapd is a REST API daemon service that runs on your Linux system to manage snap packages (“snaps“). It interacts with the snap store and provides the command clientsnap
used to interact with it. You must install snapd before you can start managing snaps on any Linux distribution.
Why use Snaps?
Snap packages any app for every Linux desktop, server, cloud or device. Snaps are faster to install, easier to create, safer to run, and they update automatically and transactionally so your app is always fresh and never broken. You can bring your own build infrastructure or use ours.
How to Install and Use Snapd on CentOS 7
Follow steps below to install Snapd on CentOS 7 server.
Step 1: Install the COPR plugin and EPEL
Kick off the installation by adding epel
repository and installing copr
yum plugin.
sudo yum install epel-release
sudo yum install yum-plugin-copr
Then add the repo:
$ 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
may 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
Once the repository has been added, install snapd package.
sudo yum -y install snapd
Wait for the installation to finish then enable snapd socket:
$ sudo systemctl enable --now snapd.socket
Created symlink from /etc/systemd/system/sockets.target.wants/snapd.socket to /usr/lib/systemd/system/snapd.socket.
Classic confinement requires snaps under /snap
or symlink from /snap
to /var/lib/snapd/snap
. Create a symlink for it like below:
sudo ln -s /var/lib/snapd/snap /snap
Snapd is now ready for use. You interact with it using the snap command. See help page below:
# 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.
How to Install Snap Applications on CentOS 7
We use snap
command line tool to interact with snaps available on Snap Store.
Searching for a snap:
To search for Snaps, use
$ snap find <search terms>
This will query the store and list the results with their version number, developer names, and the description.
I’ll do an example for installation of Microsoft PowerShell automation and configuration management platform on CentOS 7 server.
# 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!
Install snap by running:
sudo yum install -y icu
sudo snap install powershell --classic
Wait for the download to finish, it should take short time to complete. Since the binary file is located under,/snap/bin/
we need to add this to the $PATH
variable.
$ sudo vim /etc/profile
export PATH="$PATH:/snap/bin/"
Source the file to get new PATH
source /etc/profile
Test by starting the pwsh
session.
# pwsh
PowerShell v6.0.4
Copyright (c) Microsoft Corporation. All rights reserved.
https://aka.ms/pscore6-docs
Type 'help' to get help.
PS /root>
To list installed snaps:
# snap list
Name Version Rev Developer Notes
core 16-2.34.3 5145 canonical core
powershell 6.0.4 8 microsoft-powershell classic
Manually update snaps by running snap refresh
# snap refresh powershell
snap "powershell" has no updates available
Removing Snaps
To remove a snap, all you need to do is run.snap remove <snap name>
In our case just do:
# snap remove powershell
powershell removed
Check snap info:
Use the command snap info
to check for more info about a snap package.
[root@cent-01 ~]# 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
Roll back to a previous version of an application
Use snap revert
$ sudo snap revert <snap name>
Conclusion
By now you should be able to install snaps the store, manually update them, remove them, check installed snaps and much more. The snap command line is designed to be as simple and memorisable as possible. It should become a second nature to you after using it just a couple of times.
来源:CSDN
作者:YumWisdom
链接:https://blog.csdn.net/Aria_Miazzy/article/details/85058247