LinuxMint 20で snap を使う方法【メインマシンとしてのLinux ④】

Linux

 snap アプリがインストールできない

LinuxMintを使っていて、何かアプリをインストールしたいときにはsynapticパッケージマネージャーや、ソフトウェアマネージャーで見つかることが多いです。
しかし、これらに登録のないアプリは「 snap に登録されている」という紹介がされていることが多くあります。
そこで、 snap を使うためにsnapdをインストールしようとすると、「パッケージ ‘snapd’ にはインストール候補がありません」と表示され使うことができない、という経験をした方も多いのではないでしょうか。
なぜLinuxMint 20では snap が使えないのでしょう?
そして snap を使う方法はあるのでしょうか?
Linux Mintでsnapを使う方法について、いろいろと調べてみました。


小中学生専門のオンランプログラミングスクール【アンズテック】

 snap アプリとは

snapとは、ディストリビューションを問わず利用できる「ユニバーサルパッケージ」として開発されたパッケージシステムです。
もともとはIoT向けの、小さなパッケージシステムとして開発された「Snappy」が、通常のUbuntu系OSでも利用できるようになったパッケージのフォーマットです。
snapは現在、40以上のLinuxディストリビューションにインストール可能となっています。

snapは、インストールが簡単にできる、コンテナ化されたソフトウェアパッケージです。
アプリは自動更新され、安全に実行することができます。
また、アプリは依存関係の多くをバンドルしているため、ディストリビューションごとに変更の必要はなく、そのまま動作します。
欠点といえば、バンドルされた依存関係のためにパッケージサイズが大きくなることくらいです。

公式サイトはCanonicalが運営しており、URLは https://snapcraft.io/ です。
ここにsnapで扱う、すべてのアプリが掲載されています。

なぜLinuxMint 20は snap が使えないのか

snap

snapは、ディストリビューションを選ばずにアプリの配布が行える仕組みであり、開発者・利用者双方にとって非常に使い勝手の良いパッケージシステムに思えます。
しかし、LinuxMint 20 では Snap アプリのサポートは、初期状態で無効になっています。

なぜ無効になっているのか、という疑問については、LinuxMintの開発チームの考え方が、snapの思想、Canonicalの独占的な管理方法と相容れないから、というのが当たり障りのない回答になると思います。

このため、Linux Mint 20 では snapd デーモンが導入されていません。
そして、aptコマンドで snapd をインストールしようとすると、次のような表示とともに拒否されます。

E: パッケージ ‘snapd’ にはインストール候補がありません

aptコマンドでインストールできないのは、snapを拒否するファイルがLinuxMintに組み込まれているからです。
snapは、LinuxMintの開発チームから徹底して嫌われているようです。

とはいえ、僕のような一ユーザーとしては、便利なパッケージシステムは使ってみたいので、snapを使えるようにする方法を調べてみました。

LinuxMint 20で snap を使う方法

snapパッケージを利用するには、「snapd」がインストールされていることが必要です。
Linux Mint以外のディストリビューションでsnapdをインストールするには、ターミナル上で、

sudo apt install snapd

と入力すればよいのですが、LinuxMintではこのコマンドだけではインストールすることができません。

まずはじめに、snapのインストールをブロックしている設定ファイルを削除しなくてはいけません。

設定ファイルは、

/etc/apt/preferences.d/

に保存されている

「nosnap.pref」

というファイルになります。
そのものズバリのファイル名ですね・・・。

snap

このファイルを削除することで snapd をインストールできるようになります。
設定ファイルは、スーパーユーザーの権限がないと削除できないため、ターミナルから操作するほうが簡単です。

ファイルを削除するコマンドです。
rmコマンドを使用しますので、入力ミスには気をつけましょう。

sudo rm /etc/apt/preferences.d/nosnap.pref

次に、aptのパッケージキャッシュを更新します。

sudo apt update

最後に、snapdパッケージをインストールします。

sudo apt install snapd

これでsnapdがインストールされ、snapが有効になりました。

 snap でアプリをインストールする方法

snapが有効化したら、アプリのインストールです。
インストールの方法は、コマンドを使用する方法と、snapストアのページからインストールする方法、そして Snap Storeアプリ をインストールして使用する方法の3つです。

コマンドでインストールを行うときは、

snap install アプリ名

このような記述になります。
オプションなどは、アプリ名の後ろに適時つけます。

snapストアのページからインストールする場合は、GUIベースでアプリを探しアイコンをクリックすることで、コマンドが実行できるため非常に簡単です。

「Snap Storeアプリ」を使用するには、次のコマンドを実行します。

snap install snap-store

インストールが終わったら、

snap-store

これでアプリが起動します。

※Snap Storeは、非GTKデスクトップ環境では、機能しない場合があります。
Snap Storeを利用する場合は、Gnome、Mate、Cinnamon、またはGTKを使用するデスクトップ環境を用意しなくてはいけません。

snapは使い勝手の良いパッケージシステム

NURO光

思想はどうあれ、snapはユーザーにとって使い勝手の良いシステムです。
多くのアプリを、ディストリビューションを選ばずにインストールできます。
インストールしたアプリは自動更新され、安全に実行することができます。
snapを導入して、Windowsのアプリ「foobar2000」が登録されていることに驚きました。
同時に、Windows版とLinux版で音の聴き比べをしたくなり即インストールしましたが、他のパッケージにはないアプリが見つかるのも、snapのおもしろさですね。

 

 

関連記事:
Linux Mint 20.2 のインストール【SSD換装によるパソコンの活用⑤】
Linux Mint にインストールすべきアプリ【メインPCとしてのLinux環境①】
低latency化した Linux Mint の実力とは? 【メインPCとしてのLinux②】
Linux Mint 20.2 各種設定のチップス【メインPCとしてのLinux環境③】
Linux Mintで アプリの初期化 をする方法【メインPCとしてのLinux(初心者向け)】

コメント

タイトルとURLをコピーしました