UbuntuにおけるSnapパッケージ管理の完全ガイド

htopプログラムを表示しているモニター画面の写真。

SnapパッケージはUbuntu 16.04から存在しています。長年知られているdeb形式が.debパッケージに対して操作を行うための独自のコマンドを持っているのと同様に、Snapパッケージを管理するためのコマンドもあります。この記事では、Snapパッケージの基本的な管理操作を行う方法を学びます。

目次

  • なぜSnapなのか?
  • Snapパッケージ管理コマンド
  • Snapパッケージのデバッグ
  • よくある質問

ヒント: その間に、Snapストアで利用可能な最高のゲームのいくつかをチェックしてください。

なぜSnapなのか?

実用的な使用法を学ぶ前に、Snapパッケージングシステムについて理論的に明確であることが重要です。

このパッケージングシステムの目的は、パッケージのインストールとメンテナンスをより簡単かつ安全にすることです。たとえば、既存のシステムでは、インストールされるソフトウェアの依存関係に関するすべてのバージョン関連の競合を解決するのはあなたの責任ですが、Snapsでは開発者がソフトウェアが依存するすべてのものをパッケージ自体に含めることができ、実質的に自己完結型であり、インストールされるシステムから独立しています。

Snapsを使用すると、ソフトウェアの更新も自動的にバックグラウンドで行われるため、ユーザーにとってより便利です。

知っておくべきこと: Snapについてもっと学びたいですか? Snapcraftを使用して、Linuxで配布に依存しないSnapパッケージを作成できます。

Snapパッケージ管理コマンド

標準のSnapコマンドに飛び込む前に、まずシステムにsnappyコマンドラインツールをインストールする必要があります。まだインストールされていない場合は、次のコマンドを実行してください。

sudo apt install snapd

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

Snapパッケージをインストールするためのコマンドは次のとおりです。

sudo snap install [packagename]

たとえば、次のコマンドを使用して「htop」アプリケーションをインストールしました。

sudo snap install htop

Snapパッケージのインストールを示すターミナルウィンドウ。

インストールされたすべてのSnapのリスト

システムにインストールされているすべてのSnapパッケージの概要を表示するには、「Snap」コマンドをlistサブコマンドと共に実行します。

snap list

インストールされたすべてのsnapパッケージを示すターミナルウィンドウ。

Snapの更新

特定のsnapをより新しいまたは最新のバージョンに更新するには、refreshサブコマンドを使用し、その後にパッケージ名を続けます。たとえば、将来的に「htop」ツールを更新する必要がある場合、次のコマンドを実行します。

sudo snap refresh htop

Snapパッケージの検索

この操作にはfindサブコマンドが利用可能です。利用可能なパッケージを照会します。以下はその例です。

snap find

人気のsnapパッケージのリストを示すターミナルウィンドウ。

特定のSnapを検索することもできます。たとえば、次のようにします。

sudo snap find htop

Snapの削除

Snapをインストールする方法と同様に、システムからSnapパッケージを簡単に削除できます。この場合に使用するサブコマンドはremoveです。この例では「htop」ツールを削除しました。

sudo snap remove htop

Snap削除プロセスを示すターミナルウィンドウ。

Snapの無効化

コンピュータ上でSnapパッケージを「無効化」することも可能です。これにより、システム内のプログラムファイルは削除されませんが、システムの他の部分からアクセスできなくなります。これは、PATHからパッケージを削除したいが、後で使用する予定がある場合に役立ちます。

htop Snapパッケージを無効化するには、次のコマンドを実行します。

sudo snap disable htop

htop snapが無効化されていることを示すターミナルウィンドウ。

スナップパッケージを休止状態から復帰させるには、enableを使用します。

sudo snap enable htop

htopパッケージが再有効化されていることを示すターミナルウィンドウ。

知っておくべきこと: CanonicalはUbuntu用にSnapパッケージを開発しましたが、Arch Linuxなどの他のLinuxディストリビューションでも利用可能です。ArchでSnapパッケージをインストールする方法を見つけてください。

Snapパッケージのデバッグ

Snapは、優れたパッケージマネージャーであるだけでなく、強力なデバッグコマンドやフラグも提供します。これらを使用して、パッケージの問題を診断したり、お気に入りのプログラムの開発中のバージョンを探索したりできます。

後者を行うには、インストールコマンドの末尾に--edgeまたは--betaフラグを追加できます。

sudo snap install --beta htop

htopパッケージが候補チャネルに切り替わっていることを示すターミナルウィンドウ。

既存のSnapの設定を更新する

refreshコマンドは、システムにすでにインストールされているSnapのプロパティを変更することもできます。これは、開発バージョンのパッケージを通常の安定版に戻したい場合に便利です。

sudo snap refresh --stable htop

htopパッケージが安定版に更新されていることを示すターミナルウィンドウ。

また、プログラムのセキュリティポリシーを変更するための追加のフラグもサポートしています。たとえば、--jailmodeフラグを使用して、パッケージをシステムの他の部分から厳密に隔離できます。

sudo snap refresh --jailmode htop

htopのjailmodeフラグを示すターミナルウィンドウ。

ヒント: セキュリティは、システム内の個々のパッケージを隔離することだけでは終わりません。Chromeにプライバシー重視の拡張機能をインストールして、オンラインでデータを保護する方法を学んでください。

Snapパッケージのロールバック

トランザクショナルパッケージマネージャーと同様に、snapはパッケージごとに更新をロールバックする機能をサポートしています。これにより、問題のあるパッケージがシステムを壊すのを簡単に元に戻したり防いだりできます。

単一のsnapパッケージをロールバックするには、次のコマンドを実行します。

sudo snap revert htop

refreshサブコマンドと同様に、ロールバックでも問題のあるアプリケーションをロックダウンするために同じフラグを使用できます。

sudo snap revert --jailmode htop

htopパッケージが古いバージョンに戻っていることを示すターミナルウィンドウ。

FYI: FlatpakはSnapに似ています。FlatpakとSnapの違いと、どちらを選択すべきかを見つけてください。

よくある質問

Snapはaptを通じてインストールしたパッケージを上書きしますか?

いいえ。Snapは、システムに現在あるプログラムやファイルを変更しません。ただし、Snapの問題の1つは、Ubuntuが常にSnapパッケージを最初に読み込むことです。これは、Snapバージョンをインストールする前にaptプログラムを構成している場合に問題になることがあります。

Snapパッケージのファイルアクセスを無効化せずに削除できますか?

はい。Snapパッケージからファイルアクセス「プラグ」を切断することでこれを行うことができます。まず、次のコマンドを実行します: sudo snap interfaces snap-package。次に、無効にしたいプラグを見つけて、次のコマンドを実行します: sudo snap disconnect snap-package:plug

Snapパッケージの構成オプションを知ることはできますか?

はい。getサブコマンドを使用して、Snapパッケージのすべての利用可能な構成オプションを確認できます。たとえば、sudo snap get htopを実行してhtopの構成オプションを取得できます。

画像クレジット: Lukas via Unsplash。すべての変更とスクリーンショットはRamces Redによるものです。