
私は、適切なツールを適切な用途に使うことを信条としています。いつも使っているLinuxディストリビューションでは、パッケージのインストールには主にaptを使用しています。しかし、私が使っているアプリケーションの中には、aptのリポジトリに存在しないものもあるため、このパッケージマネージャーだけでは、私が使用しているシステムへのアプリケーションのインストール、アップデート、削除を単独で行うことはできません。
参照:知っておくべきオープンソースと Linux の用語 40 選(TechRepublic Premium)
おかげで、Snapパッケージを使う機会が増えました。頼りにしているアプリケーションがあるだけでなく、Snapは使いやすいです。Snapパッケージの世界に初めて触れる方は、このパッケージマネージャーの多機能さにきっと驚かれることでしょう。
パッケージを最新の状態に保つために Snap が提供しているさまざまなツールをご紹介します。
Snapを使用するために必要なもの
必要なのは、オペレーティングシステムにSnapがインストールされていることと、sudo権限を持つユーザーだけです。これで準備完了です。早速始めましょう。
Snapの気に入っている点の一つは、パッケージのアップデートがaptよりもずっと簡単なことです。aptをアップデートしてからパッケージをアップデートする代わりに、Snapコマンド1つでこれらすべてを実行できます。例えば、以下のコマンドです。
sudo snap refresh
もちろん、refreshコマンドでできることはこれだけではありません。例えば、次のsnap refresh
コマンドで最後に実行された日時を確認できます。
snap refresh --time
上記のコマンドの出力は次のようになります。
timer: 00:00~24:00/4
last: today at 01:52 EST
next: today at 10:46 EST
最後の行に注目してください。これはSnapが次回更新される日時を示しています。そうです、Snapは自動更新を行うので、手動で更新する必要はありません。また、次のコマンドで、次回のSnap更新で更新されるSnapパッケージのリストを表示することもできます。
snap refresh --list
最新のsnap refresh
実行中に何が変更されたかの詳細を確認するには、次のコマンドを発行します。
snap changes
次のような出力が表示される場合があります。
51 Done today at 10:18 EST today at 10:18 EST Refresh all snaps: no updates
Snapパッケージがリストされている場合は、パッケージに関連付けられたIDが表示されます。さらに詳しい情報を取得するには、次のコマンドを使用します。
snap change ID
ID は、問題のスナップ パッケージの ID です。
スナップの更新タイミングを変更する方法
Snapパッケージの自動更新のタイミングは、 を使って簡単に設定できますrefresh.timer
。例えば、マシンを使用していない時にのみSnapパッケージの更新を許可したいとします。ここでは、午前1時から午前5時までと午後7時から午後10時までの任意の時間を選択します。これを行うには、set system
と を次のように使用しますrefresh.timer
。
sudo snap set system refresh.timer=1:00-5:00,19:00-22:00
曜日と時間を指定することもできます。例えば、Snapの更新を土曜日の午後10時と日曜日の午後10時だけに制限したい場合は、次のようにします。
sudo snap set system refresh.timer=sat,22:00,,sun,22:00
次のようにすれば、月曜日から金曜日の深夜に実行できます。
sudo snap set system refresh.timer=mon-fri,0:00
新しい新鮮な時間を確認するには、次の手順に従ってください。
snap refresh --time
出力には次のようなものが表示されます。
timer: mon-fri,0:00
last: 2022-11-03
next: tomorrow at 00:00 EST
Snapの更新を延期する方法
この機能は開発段階にあり、エッジチャネルからインストールされた snapd でのみ利用可能です。このオプションを安定版の Snap で使用しようとすると失敗します。
特定のアプリケーションのSnapアップデートを延期することができます。なぜこのオプションを使用するのでしょうか?例えば、特定のSnapパッケージが更新されたため、ローカルバージョンのアップグレードを延期したい場合などです。そのような場合は、次のように--holdオプションを使用します。
snap refresh --hold=DURATION PACKAGE
ここで、DURATION は保留期間、PACKAGE は対象となるソフトウェアです。例えば、Firefox パッケージを今後 2 日間保留にしたい場合は、次のようにします。
snap refresh --hold=48h firefox
保留期間を指定しない場合、Snapは期間を に設定しますforever
。保留対象のパッケージを指定しない場合、Snapはインストール済みのすべてのパッケージを保留します。ただし、保留対象としてアプリを指定した場合、自動更新には有効ですが、Snapによる特定の更新には有効ではないことに注意してください。つまり、Firefoxで手動更新を実行すれば、更新されます。
Snap パッケージの保留を解除するには、次のコマンドを発行します。
snap refresh --unhold PACKAGE
ここで、PACKAGE は問題のソフトウェアです。
すべてのパッケージを保留にした場合、保留解除コマンドは次のようになります。
snap refresh --unhold
簡単なアップデート管理
Snapを使えば、パッケージのアップデートが非常に簡単になり、アップデートのタイミングも細かく指定できます。ここで紹介するコマンドを使えば、Snapパッケージを簡単に管理できるだけでなく、アップデートの様々な側面を制御できます。
Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube で TechRepublic の How To Make Tech Work を購読してください。
TechRepublic Academyのリソースを活用してLinuxのエキスパートになりましょう:
The Mastering Linux Development Bundle
The Linux & Docker Coding Bundle
The Complete 2022 Linux Certification Training Bundle
The Mastering Linux and Git Certification Bundle