1. 概要

このチュートリアルでは、 Snap パッケージマネージャーの使用方法、スナップパッケージ(スナップとも呼ばれる)のインストール、インストールされたスナップの一覧表示と管理、Linuxシステムでのインストールされたスナップの削除または無効化の方法を学習します。

パッケージマネージャーは、コンピューターへのプログラムのインストール、アップグレード、構成、および削除を自動化するソフトウェアツールのセットです。 Snapは、Linuxカーネルを使用するオペレーティングシステム用にCanonicalによって開発されたパッケージマネージャーです。

スナップは、すべての主要なLinuxディストリビューションで実行するために、すべての依存関係とともにパッケージ化されたプログラムです。 さらに、スナップは制限のあるセキュリティサンドボックス内に限定されて実行されます。 したがって、それらは安全です。 さらに、スナップは自動的に更新されます。 したがって、更新を手動でチェックし続ける必要はありません。

2. スナップエコシステムの主要コンポーネント

Snapエコシステムには5つの主要なコンポーネントがあります。

  • Snapd:スナップデーモン。 Linuxシステムでスナップを管理および保守するバックグラウンドサービスです
  • スナップ:Linuxシステムにスナップをインストールおよび管理するために使用されるコマンドラインインターフェイスツール
  • チャネル:チャネルは、スナップのどのリリースがインストールされ、更新がチェックされるかを決定します
  • スナップストア:開発者がスナップパッケージを公開し、Linuxユーザーがそれらをインストールする場所です
  • Snapcraft:スナップを作成するためのフレームワークツール

Snapエコシステムに関する十分な情報が得られたので、インストールしましょう。

3. Snapdのインストール

Linuxシステムでスナップを管理するバックグラウンドサービスであるsnapdのインストールから始める必要があります。

3.1. Debian/Ubuntuについて

Debian/Ubuntuにsnapdをインストールするには、次のコマンドを実行できます。

$ sudo apt update
$ sudo apt install snapd

インストールが完了したら、インストールされているバージョンを確認する必要があります。

$ snap version
snap        2.55.5
snapd       2.55.5
series      16
elementary  6.1
kernel      5.13.0-44-generic

snapdが正常にインストールされました。

3.2. Fedoraについて

次のコマンドを実行できます。

# dnf install snapd

その後、Fedoraにsnapdが正常にインストールされます。

3.3. Centosおよびその他のRedHatベースのディストリビューションについて

次のコマンドを実行する必要があります。

# yum install epel-release 
# yum install snapd

その後、システムにsnapdが正常にインストールされます。

3.4. Manjaroについて

次のコマンドを入力する必要があります。

# pacman -S snapd

その後、Manjaroにsnapdが正常にインストールされます。

4. Systemdユニットの有効化

snapd、をインストールした後、次のコマンドを実行して、メインのSnap通信ソケットの管理を担当するsystemdユニットを有効にする必要があります。

$ sudo systemctl enable --now snapd.socket

上記のコマンドを実行すると、Snapエコシステムが対話できるようになります。

5. スナップを見つける

snap コマンドを使用して、Snapエコシステムと対話できます。

snap find は、パッケージをインストールする前にパッケージを探すのに役立ちます。 たとえば、メディアプレーヤーをインストールする場合は、そのカテゴリを探すことができます。

$ snap find "media players"
Name                      Version                 Publisher      Notes    Summary
vlc                       3.0.16                  videolan✓      -        The ultimate media player
foobar2000                1.6.11                  mmtrt          -        foobar2000 is an advanced freeware audio player.
tizonia                   0.22.0                  tizonia        -        Cloud music from the Linux terminal
audio-recorder            3.0.5+rev1432+pkg-7b07  brlin          -        A free audio-recorder for Linux (EXTREMELY BUGGY)
mpv                       0.26.0                  casept         -        WARNING: THIS SNAP IS UNMAINTAINED. CONTACT ME IF YOU WISH TO MAINTAIN IT.
ktube-media-downloader    4                       keshavnrj      -        Download / Play Media from various websites

Snapは私たちのためにメディアプレーヤーのカテゴリーを拡大しました。

6. スナップに関する詳細情報の取得

VLCスナップに関する詳細情報を入手しましょう。

$ snap info vlc
name:      vlc
summary:   The ultimate media player
publisher: VideoLAN✓
store-url: https://snapcraft.io/vlc
contact:   https://www.videolan.org/support/
license:   unset
description: |
  VLC is the VideoLAN project's media player.
  
  Completely open source and privacy-friendly, it plays every multimedia file and streams.
...

スナップ情報は、スナップに関する詳細情報を提供します。

7. スナップのインストール

インストールしたいパッケージが見つかったので、次のようにインストールできます。

$ sudo snap install vlc

これにより、安定したチャネルから最新のVLCメディアプレーヤーがインストールされます。 さらに、別のチャネルからインストールする場合は、フラグを使用して指定できます。

選択できるリスクレベルは4つあります。

  • 安定:本番環境で実行している大多数のユーザー向け
  • 候補:安定した展開の前に更新をテストする必要があるユーザー、または特定の問題が解決されたかどうかを確認するユーザー向け
  • ベータ版:最新機能をテストしたいユーザー向け、通常は本番環境の外部
  • エッジ:開発を綿密に追跡したいユーザー向け

たとえば、ベータリスクレベルを選択しましょう。

$ sudo snap install --channel=beta vlc
vlc (beta) 3.0.17.3-203-gaefbee5bdb from VideoLAN✓ installed

ベータチャネルから最新バージョンのVLCを正常にインストールしました。

8. インストールされているスナップの一覧表示

システムにインストールされているすべてのスナップの概要を一覧表示するには、スナップリストを実行します。

$ snap list
Name    Version                   Rev    Tracking       Publisher     Notes
core18  20220428                  2409   latest/stable  canonical✓    base
ffmpeg  4.3.1                     1286   latest/stable  snapcrafters  -
snapd   2.55.5                    15904  latest/stable  canonical✓    snapd
vlc     3.0.17.3-203-gaefbee5bdb  3007   latest/beta    videolan✓     -

このコマンドは、インストールされているすべてのスナップの概要を画面に表示します。

さらに、システムにインストールされているスナップの現在のリビジョンを一覧表示できます。

$ snap list vlc
Name  Version                   Rev   Tracking     Publisher  Notes
vlc   3.0.17.3-203-gaefbee5bdb  3007  latest/beta  videolan✓  -

さらに、 –all を追加することで、インストールされているスナップのすべてのリビジョンを一覧表示できます。

$ snap list --all vlc
Name  Version                   Rev   Tracking     Publisher  Notes
vlc   3.0.17.3-203-gaefbee5bdb  3007  latest/beta  videolan✓  -

VLCで利用できるリビジョンは1つだけでした。

9. スナップの更新

Snapdは、デフォルトで、更新を1日4回チェックし、利用可能な場合は更新をインストールします。 各更新チェックは更新と呼ばれます。 refreshコマンドは、インストールされたスナップによって追跡されているチャネルをチェックし、新しいバージョンが使用可能な場合はそれをインストールします。

$ sudo snap refresh vlc
snap "vlc" has no updates available

VLCで利用できるアップデートはありませんでした。 インストールされているすべてのスナップに対してrefreshコマンドを実行することもできます。

$ sudo snap refresh
All snaps up to date.

利用可能なアップデートはありませんでした。

10. スナップを元に戻す

スナップを更新した後、何らかの理由で新しいバージョンに満足できなかった場合は、いつでも以前にインストールしたバージョンに戻すことができます。

$ sudo snap revert vlc

スナップのデータも以前の状態に戻ることに注意してください。

11. スナップの有効化/無効化および削除

インストールされたスナップを使用したくないが、スナップとそのデータを後で使用できるようにしておきたい場合は、無効にすることができます。 後でもう一度使用したい場合は、再度有効にすることができます。

$ sudo snap disable vlc
vlc disabled
$ sudo snap enable vlc
vlc enabled

システムからスナップを削除するには、 snapremoveを実行します。

$ sudo snap remove vlc
vlc removed

または、 –revision を追加して、インストールされているスナップの特定のリビジョンを削除することもできます。 選択したリビジョンを事前に無効にする必要があることに注意してください。

$ sudo snap remove --revision=2344 vlc
vlc (revision 2344) removed

VLCの特定のリビジョンを正常に削除しました。

12. 結論

この記事では、Snapエコシステムとその主要コンポーネントについて学びました。

Snapエコシステムは、Linuxマシンにパッケージをインストールおよび管理するための便利な環境を提供します。 さらに、LinuxマシンにSnapエコシステムをインストールする方法、スナップパッケージを探す方法、およびインストールする前にスナップパッケージに関する詳細情報を取得する方法を学びました。 さらに、Linuxマシンにスナップをインストールし、インストールされたスナップを管理する方法を学びました。