リフレッシュコマンドを使用してSnapパッケージを最新の状態に保つ方法

リフレッシュコマンドを使用してSnapパッケージを最新の状態に保つ方法
プログラマーはコードを扱います。
画像: ThisisEngineering RAEng/Unsplash

私は、適切なツールを適切な用途に使うことを信条としています。いつも使っている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

Tagged: