\r\n\r\n

Linuxでsnapパッケージを使用する方法

スナップパッケージは元々ubuntu用に設計されたものですが、現在では様々なLinuxディストリビューションで利用することができます...

スナップパッケージは元々Ubuntu用に設計されたものですが、現在では様々なLinuxディストリビューションで利用することができます。

スナップパッケージは何ですか?

これまでLinuxでは、アプリケーションのインストールに苦労することがありました。何かをインストールした後、特定のライブラリやその他の依存関係が欠けていたり、古くなっていることに気づいたりするのです。そして、足りないリソースを探してインストールすると、別のアプリケーションが、あなたが置き換えたばかりのライブラリのバージョンに依存していることが判明するのです。1つ直して、1つ壊して、その繰り返し。

これは、apt、dnf、pacmanなどの優れたパッケージ管理システムによって改善されました。しかし、同じアプリケーションを異なるバージョンでインストールする必要がある場合は、まだ困難があります。あるいは、2つのアプリケーションを使用していて、それらが特定の、しかし異なるバージョンのライブラリにバインドされているために競合している場合。

これらの問題を解決する一つの方法として、アプリケーションのパッケージングとデプロイメントシステムがある。ファンキーはその中でも特に人気があります。クリックと呼ばれるパッケージングとデプロイのシステムをベースにしており、ubuntutouchイニシアチブまで遡ることができます。 AppImageやFlatPackも、ご存知の製品です。

これらのシステムは、アプリケーションだけでなく、依存関係やその他の要件も圧縮ファイルにカプセル化しています。そして、アプリケーションは一種の小さなコンテナで実行されます。サンドボックス化され、他のアプリケーションと分離されています。アプリケーションと一緒にパッケージされている、またはアプリケーションが必要とするライブラリやその他のリソースは、そのアプリケーションでのみ利用可能です。

従来の意味でのインストールではないので、同じリソースの異なるバージョンを必要とする他のアプリケーションに問題を起こすことはない。各アプリケーションが独自のサンドボックス内にあるため、相反するバージョンのライブラリを必要とするアプリケーションをインストールして実行することも可能です。

通常の方法でインストールされない場合は、どのように処理されるのでしょうか?さて、個々のパッケージファイルは、SquashFSvirtualファイルシステムとしてダウンロードされ、解凍され、ロードされます。そして、それを仮想環境として提示するのです。これらはすべて、裏側で行われていることです。アプリケーションをインストールし、アクセスできるようになったということだけです。

もちろん、各パッケージファイルには、アプリケーションが必要とするすべてのリソースを含める必要があるため、パッケージファイルは非常に大きくなる可能性があります。また、MySQLやApacheなど、通常は一度だけインストールされるリソースのコピーも簡単に作成できます。2つの異なるスナップアプリケーションが同じリソースを必要とする場合、それぞれ独自のコピーを作成します。

しかし、これは設置の簡便さと、リソース競合の頭痛の種をなくすこととのトレードオフになります。

snapdのインストール

Snappy は Ubuntu 16.04 で導入されたので、そのバージョン以上をお使いの方は、すでに使用可能な状態になっています。我々のマシンでは、Manjaro 18.04にSnappyがインストールされていますが、Fedora 31にインストールすることになりました。

snapは、パッケージファイルの名前と、パッケージファイルと対話するためのコマンドの両方です。裏では、snapdデーモンは、まだSnappyが入っていない場合にインストールする必要があるパッケージの名前でもあります。

Fedoraにsnapdをインストールするには、次のコマンドを入力します。

sudo dnf install snapd

Manjaroへのインストールが必要な場合は、以下のコマンドを使用します。

sudo pacman -Sy snapd sudo systemctl enable --now snapd.socket

snap versionコマンドを使用すると、snapクライアント、snapデーモン、およびソフトウェアのファミリ番号を表示することができます。

と入力する。

snap version

snapパッケージのインストール

スナップパッケージのインストールは非常に簡単で、snapでスナップパッケージを探し、必要なスナップパッケージをインストールすればよい。

以下のように入力して、画像編集ソフトのgimpを検索してインストールします。

snap find gimp

snapは、検索キーワード「gimp」にマッチするものを検索し、その結果を返します。検索キーワードにマッチするもの、または言及されているものはすべて見つかります。

あるパッケージをインストールするために、以下のようにName欄の値を使用します。

sudo snap install gimp

ダウンロードが完了すると、完了率の数値が上昇し、端末ウィンドウの左側にプログレスバーが表示されます。インストールが完了すると、パッケージがインストールされたことを知らせるメッセージ(下図)が表示されます。

dfコマンドは、Linuxコンピュータに設定されているさまざまなファイルシステムの容量や使用状況を確認するために使用します。その出力をgrepコマンドに取り込み、「gimp」を検索すると、今インストールしたパッケージのエントリーが分離されます。

以下のように入力します。

df | grep gimp

これは、snapパッケージがファイルシステムのようにマウントされていることを示しています。マウントポイントはsnap/gimp/252で、252はこのバージョンのgimpのリリース番号です。

関連:Linuxでのgrepコマンドの使い方

ファイルシステムは、/dev/loop18と表示されます。 ループデバイスファイルは、ブロックデバイスとして通常のファイルにアクセスするために使用されます。通常、ディスクイメージ内のファイルシステムをマウントするために使用されます。この例では、snapパッケージのSquashFSファイルシステムをマウントしています。18 "は、Linuxコンピュータで使用されている18番目の/dev/loopデバイスファイルであることを示す。

dfコマンドで簡単に確認することができます。ここでは、-t(type)オプションを使って、SquashFSのファイルタイプに限定して出力することにします。

以下のように入力します。

df -t squashfs

マウントされたSquashFSファイルシステムが一覧表示されます。/dev/loopデバイスファイルがそれぞれを処理し、合計18個あります。

各ファイルシステムは、/snapディレクトリ内のディレクトリにインストールされます。ただし、このコンピュータに18種類のスナップパッケージがインストールされているわけではありません。このディストリビューションはUbuntuなので、いくつかのsnapパッケージは直接インストールされますが、先ほども1つインストールしました。

また、snapのインストール時には、他のsnapパッケージの必要性に対応するために、いくつかのコアsnapパッケージがインストールされます。

snap listコマンド(下図)を使用すると、インストールされているsnapパッケージを一覧表示することができます。

snap list

出力が少し広いので、以下のようにリストが終了します。

以下は、その全リストです。

Name Version Rev Tracking Publisher Notes core 16-2.43.3 8689 stable canonical* core core18 20200124 1668 stable canonical* base gimp 2.10.18 252 stable snapcrafters - gnome-3-26-1604 3.26.0.20191114 98 stable/… canonical* - gnome-3-28-1804 3.28.0-16-g27c9498.27c9498 116 stable canonical* - gnome-calculator 3.34.1+git1.d34dc842 544 stable/… canonical* - gnome-characters v3.32.1+git3.b9120df 399 stable/… canonical* - gnome-logs 3.34.0 81 stable/… canonical* - gnome-system-monitor 3.32.1-3-g0ea89b4922 127 stable/… canonical* - gtk-common-themes 0.1-28-g1503258 1440 stable/… canonical* -

ご覧のように、18個のスナップパッケージではなく、10個のスナップパッケージがインストールされました。しかし、この10パッケージで18のSquashFSファイルシステムが生成されました。表中の列は、かなり自明なものであるが、ここでいくつかの注意点を挙げる。

  • 名前:インストールされたスナップショットパッケージの名前です。
  • バージョン:スナップパッケージに含まれるソフトウェアのバージョン番号です。
  • Rev:スナップパッケージのリビジョン番号です。
  • Tracking: このスナップパッケージがアップデートを監視するチャンネルです。その名の通り、このチャンネルには最も安定したパッケージが含まれています。Candidate: このチャンネルは安定性に欠けますが、それに非常に近いもので、候補バージョンレベルのソフトウェアが含まれており、コードは完全です。最終テストを経て、安定したチャンネルに移行します。ベータ版:このチャンネルは品質的に開発サイクルの後半にありますが、安定性は保証されていません。Edge:初期ビルドのテスター向け。このチャンネルは、重要な業務用コンピューターや生産用コンピューターでは使用しないでください。ドラゴンが来たぞ!
  • 発行者:スナップパッケージを発行した個人、会社、組織。検証済みの出版社であれば(そしてあなたのターミナルウィンドウがユニコードに対応していれば)、出版社の名前の横に緑色のチェックマークが表示されます。チェックマークが表示されない場合は、アスタリスク(*)が表示されます。
  • 注:コメントや追加情報がある場合は、ここに表示されます。

キャプチャーチャンネル

スナップショット・パッケージの説明は、infoオプションで取得することができます。

そのために、次のように入力します。

snap info gtk-common-themes

パッケージがどのチャンネルをトラッキングしているか、4チャンネルそれぞれのスナップパッケージのソフトウェアバージョンを確認することができます。ほとんどの場合、安定したチャンネルにとどまるはずです。

スナップパッケージは、1日に4回、監視しているチャンネルから新しいバージョンのソフトウェアが利用可能かどうかをチェックします。snapパッケージが追跡するチャンネルを変更するには、「refresh」オプションと「--channel」オプションを使用します。

そのために、次のように入力します。

sudo snap refresh gtk-common-themes --channel=beta

新しいバージョンが出ればインストールされるのですが、今回はそうではありません。ただし、スナップパッケージは現在ベータチャネルを追跡中です。新しいベータ版がリリースされると同時に、自動的にダウンロードされ、アップグレードされます。

listオプションを使用すると、コンピュータにインストールされているスナップショット・パッケージのうち、利用可能なアップデートがあるかどうかを確認できます。

そのために、次のように入力します。

sudo snap refresh --list

お使いのコンピューターでスナップパッケージによって追跡されているチャンネルの中に、新しいバージョンのソフトウェアが含まれている場合は、その旨が表示されます。

新しいバージョンのソフトウェアが利用できる場合は、リフレッシュオプション(下図)を使用して手動で強制的にリフレッシュすることができます。

sudo snap refresh gtk-common-themes

スナップショットパッケージの削除

スナップショットパッケージをアンインストールするには、以下のようにdeleteオプションを使用します。

sudo snap remove gimp

スナップショットメモシート

snapパッケージの使い方は非常にシンプルですが、参考になるコマンドをまとめました。

  • パッケージの検索: snap find packageu name
  • パッケージのインストール:sudo snap install packageu name
  • インストールされているすべてのパッケージの表示: スナップショットリスト
  • 単一パッケージの情報を取得: snap info packageu name
  • パッケージトラッキングの更新でチャンネルを変更する場合: sudo snap refresh packageu name --channel=channelu name
  • インストールされているパッケージのアップデートが可能かどうか確認します。
  • パッケージを手動で更新する: sudo snap refresh packageu name
  • パッケージのアンインストール:sudo snap remove packageu name

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ