CentOS Stream 8
Sponsored Link

Snappy : インストール2021/02/23

 
パッケージ管理システム Snappy をインストールします。
Snappy システムで管理される Snap パッケージは、[DNF/YUM/RPM] で管理されるシステムのパッケージに影響を及ぼすことなく、独立してインストール/起動することができます。
[1] Snap パッケージの利用には Snapd のインストールと起動が必要になります。
# EPEL からインストール

[root@dlp ~]#
dnf --enablerepo=epel -y install snapd
[root@dlp ~]#
ln -s /var/lib/snapd/snap /snap

[root@dlp ~]#
echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' > /etc/profile.d/snap.sh

[root@dlp ~]#
systemctl enable --now snapd.service snapd.socket

[2] [Snap] コマンドの基本操作です。
# インストール済 Snap パッケージ一覧

[root@dlp ~]#
snap list

No snaps are installed yet. Try 'snap install hello-world'.
# Snap リポジトリからパッケージをワード検索

[root@dlp ~]#
snap find kubernetes

Name                         Version                Publisher              Notes    Summary
microk8s                     v1.20.2                canonical             classic  Lightweight Kubernetes for workstations and appliances
eks                          v1.18.9                canonical             classic  Amazon EKS Distro (EKS-D) snap
kata-containers              1.12.1                 katacontainers        classic  Lightweight virtual machines that seamlessly plug into the containers ecosystem
doctl                        v1.57.0                digitalocean          -        The official DigitalOcean command line interface
kubectl                      1.20.4                 canonical             classic  Command line client for controlling a Kubernetes cluster.
.....
.....

# [hello-world] パッケージをインストール

[root@dlp ~]#
snap install hello-world

2021-02-23T09:41:56+09:00 INFO Waiting for automatic snapd restart...
hello-world 6.4 from Canonical✓ installed
[root@dlp ~]#
snap list

Name         Version      Rev    Tracking       Publisher   Notes
core         16-2.48.2.1  10823  latest/stable  canonical✓  core
hello-world  6.4          29     latest/stable  canonical✓  -

# パッケージ情報を表示

[root@dlp ~]#
snap info hello-world

name:      hello-world
summary:   The 'hello-world' of snaps
publisher: Canonical✓
store-url: https://snapcraft.io/hello-world
contact:   snaps@canonical.com
license:   unset
description: |
  This is a simple hello world example.
commands:
  - hello-world.env
  - hello-world.evil
  - hello-world
  - hello-world.sh
snap-id:      buPKUD3TKqCOgLEjjHx5kSiCpIs5cMuQ
tracking:     latest/stable
refresh-date: today at 09:42 JST
channels:
  latest/stable:    6.4 2019-04-17 (29) 20kB -
  latest/candidate: 6.4 2019-04-17 (29) 20kB -
  latest/beta:      6.4 2019-04-17 (29) 20kB -
  latest/edge:      6.4 2019-04-17 (29) 20kB -
installed:          6.4            (29) 20kB -

# アプリケーション実行

[root@dlp ~]#
hello-world

Hello World!
# 実 PATH は以下

[root@dlp ~]#
which hello-world

/var/lib/snapd/snap/bin/hello-world
# 実体はリンク

[root@dlp ~]#
ll /var/lib/snapd/snap/bin/hello-world

lrwxrwxrwx. 1 root root 13 Feb 23 09:42 /var/lib/snapd/snap/bin/hello-world -> /usr/bin/snap
# アプリケーションを無効化する

[root@dlp ~]#
snap disable hello-world

hello-world disabled
[root@dlp ~]#
snap list

Name         Version      Rev    Tracking       Publisher   Notes
core         16-2.48.2.1  10823  latest/stable  canonical✓  core
hello-world  6.4          29     latest/stable  canonical✓  disabled

[root@dlp ~]#
hello-world

-bash: /var/lib/snapd/snap/bin/hello-world: No such file or directory
# アプリケーションを有効化する

[root@dlp ~]#
snap enable hello-world

hello-world enabled
[root@dlp ~]#
hello-world

Hello World!
# アンインストールする場合は以下

# [snap remove] 実行にはシステムに [tar] コマンドが必要

# CentOS Stream Minimal Install には [tar] は含まれていない

[root@dlp ~]#
snap remove hello-world

hello-world removed
[root@dlp ~]#
snap list

Name  Version      Rev    Tracking       Publisher   Notes
core  16-2.48.2.1  10823  latest/stable  canonical✓  core
関連コンテンツ