Linux でのスナップの初心者ガイド - パート 1
ここ数年、Linux コミュニティは、特にユニバーサルまたはクロスディストリビューションのソフトウェア パッケージングと配布に関して、Linux システム上のパッケージ管理の分野で目覚ましい進歩を遂げてきました。そのような進歩の 1 つは、 人気のUbuntu Linux のメーカーであるカノニカルによって開発されたスナップパッケージ形式です。
スナップパッケージとは何ですか?
スナップは、クロスディストリビューションで依存関係がなく、すべての主要な Linux ディストリビューションで実行できるように、すべての依存関係とともにパッケージ化されたアプリケーションのインストールが簡単です。単一のビルドから、スナップ (アプリケーション) はデスクトップ、クラウド、IoT 上のサポートされているすべての Linux ディストリビューションで実行されます。サポートされているディストリビューションには、Ubuntu、Debian、Fedora、Arch Linux、Manjaro、CentOS/RHEL が含まれます。
スナップは安全です。システム全体を侵害しないように制限され、サンドボックス化されています。これらは、異なる制限レベル (基本システムおよび相互間の分離の程度) の下で実行されます。さらに注目すべき点は、すべてのスナップには、スナップの要件に基づいてスナップの作成者によって慎重に選択されたインターフェイスがあり、ネットワーク アクセス、デスクトップ アクセスなど、制限の外にある特定のシステム リソースへのアクセスを提供することです。
スナップ エコシステムにおけるもう 1 つの重要な概念は チャネル です。 チャネルは、スナップのどのリリースがインストールされ、更新のために追跡されるかを決定します。チャネルは、追跡、リスク レベル、ブランチで構成され、さらに細分化されます。
スナップ パッケージ管理システムの主なコンポーネントは次のとおりです。
- snapd – Linux システム上でスナップを管理および維持するバックグラウンド サービス。
- スナップ – アプリケーション パッケージ形式とコマンドライン インターフェイス ツールの両方で、スナップのインストールと削除、およびスナップ エコシステム内で他の多くのことを行うために使用されます。
- snapcraft – スナップを構築するためのフレームワークおよび強力なコマンドライン ツール。
- スナップ ストア – 開発者がスナップを共有し、Linux ユーザーがスナップを検索してインストールできる場所。
さらにスナップも自動的に更新されます。更新がいつ、どのように行われるかを構成できます。デフォルトでは、snapd デーモンは 1 日に最大 4 回更新をチェックします。各更新チェックは リフレッシュ と呼ばれます。更新を手動で開始することもできます。
Linux に Snapd をインストールする方法
上で説明したように、snapd デーモンは、制限ポリシーを実装し、スナップを許可するインターフェイスを制御することによって、Linux システム上のスナップ 環境を管理および維持するバックグラウンド サービスです。特定のシステム リソースにアクセスします。また、スナップ コマンドも提供しており、他の多くの目的に役立ちます。
システムにsnapd パッケージをインストールするには、Linux ディストリビューションに適切なコマンドを実行します。
------------ [On Debian and Ubuntu] ------------
sudo apt update
sudo apt install snapd
------------ [On Fedora Linux] ------------
dnf install snapd
------------ [On CentOS and RHEL] ------------
yum install epel-release
yum install snapd
------------ [On openSUSE - replace openSUSE_Leap_15.0 with the version] ------------
sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.0 snappy
sudo zypper --gpg-auto-import-keys refresh
sudo zypper dup --from snappy
sudo zypper install snapd
------------ [On Manjaro Linux] ------------
pacman -S snapd
------------ [On Arch Linux] ------------
git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si
システムにスナップdをインストールした後、次のように systemctl コマンドを使用して、 メインのスナップ通信ソケットを管理するsystemdユニットを有効にします。
Ubuntu とその派生製品では、これはパッケージ インストーラーによって自動的にトリガーされます。
sudo systemctl enable --now snapd.socket
snapd.socket が実行されていない場合は、snap コマンドを実行できないことに注意してください。次のコマンドを実行して、アクティブであるかどうか、およびシステム起動時に自動的に起動するように有効になっているかどうかを確認します。
sudo systemctl is-active snapd.socket
sudo systemctl status snapd.socket
sudo systemctl is-enabled snapd.socket
次に、次のように /var/lib/snapd/snap と /snap の間にシンボリック リンクを作成して、クラシック スナップ サポートを有効にします。
sudo ln -s /var/lib/snapd/snap /snap
システムにインストールされているsnapd と snap コマンドライン ツールのバージョンを確認するには、次のコマンドを実行します。
snap version
Linux にスナップをインストールする方法
スナップ コマンドを使用すると、スナップのインストール、構成、更新、削除を行ったり、より大きなスナップ エコシステムと対話したりすることができます。
スナップをインストールする前に、それがスナップ ストアに存在するかどうかを確認できます。たとえば、アプリケーションが「チャット サーバー」または「メディア プレーヤー」のカテゴリに属している場合、次のコマンドを実行してアプリケーションを検索し、ストアにクエリを実行できます。安定したチャネルで利用可能なパッケージについては。
snap find "chat servers"
snap find "media players"
Rocketchat-server などのスナップに関する詳細情報を表示するには、その名前またはパスを指定できます。名前はスナップ ストアとインストールされたスナップの両方で検索されることに注意してください。
snap info rocketchat-server
システムにスナップ (rocketchat-server など) をインストールするには、次のコマンドを実行します。オプションが指定されない場合は、厳格なセキュリティ制限を備えた「安定」チャネルを追跡するスナップがインストールされます。
sudo snap install rocketchat-server
を使用すると、何らかの理由で別のチャネル (エッジ、ベータ、または候補) からインストールすることを選択できます。それぞれ --edge
、--beta
、または --candidate
オプション。または、--channel
オプションを使用して、インストール元のチャネルを指定します。
sudo snap install --edge rocketchat-server
sudo snap install --beta rocketchat-server
sudo snap install --candidate rocketchat-server
Linux でスナップを管理する
このセクションでは、Linux システムでスナップを管理する方法を学びます。
インストールされたスナップの表示
システムにインストールされているスナップの概要を表示するには、次のコマンドを使用します。
snap list
使用されているスナップの現在のリビジョンを一覧表示するには、その名前を指定します。 --all
オプションを追加すると、利用可能なすべてのリビジョンを一覧表示することもできます。
snap list mailspring
OR
snap list --all mailspring
スナップの更新と復元
次のように、指定したスナップを更新することも、何も指定されていない場合はシステム内のすべてのスナップを更新することもできます。 更新 コマンドは、スナップによって追跡されているチャネルをチェックし、新しいバージョンのスナップが利用可能な場合は、それをダウンロードしてインストールします。
sudo snap refresh mailspring
OR
sudo snap refresh #update all snaps on the local system
アプリを新しいバージョンに更新した後、元に戻す コマンドを使用して、以前に使用していたバージョンに戻すことができます。ソフトウェアに関連付けられたデータも元に戻されることに注意してください。
sudo snap revert mailspring
ここでメールスプリングのすべてのリビジョンを確認すると、 最新のリビジョンが無効になり、以前に使用したリビジョンがアクティブになります。
snap list --all mailspring
スナップの無効化/有効化と削除
使用したくない場合はスナップを無効にすることができます。無効にすると、スナップのバイナリとサービスは利用できなくなりますが、すべてのデータはそのまま残ります。
sudo snap disable mailspring
スナップを再度使用する必要がある場合は、 スナップを有効に戻すことができます。
sudo snap enable mailspring
システムからスナップを完全に削除するには、削除コマンドを使用します。デフォルトでは、スナップのリビジョンはすべて削除されます。
sudo snap remove mailspring
特定のリビジョンを削除するには、次のように --revision
オプションを使用します。
sudo snap remove --revision=482 mailspring
スナップを削除すると、そのデータ (内部ユーザー、システム、構成データなど) が snapd (バージョン 2.39 以降) によって保存されることに注意することが重要です。スナップショットとして保存され、システムに 31 日間保存されます。 31 日以内にスナップを再インストールすると、データを復元できます。
結論
スナップは、あらゆる Linux ディストリビューションにソフトウェアを簡単にインストールする方法を提供するため、Linux コミュニティ内で人気が高まっています。このガイドでは、Linux にスナップをインストールして操作する方法を説明しました。 snapd のインストール、スナップのインストール、インストールされたスナップの表示、スナップの更新と元に戻す、スナップの無効化/有効化と削除の方法について説明しました。
ご質問いただくか、以下のフィードバック フォームからご連絡ください。このガイドの次の部分では、Linux でのスナップ (コマンド、エイリアス、サービス、スナップショット) の管理について説明します。