んたのブログ

週末になると出没します。

snapのアップデート

そういやsnapアプリのアップデートってどうやるのか知らないや、ということで調べてみました。


どうやら1日に4回自動でアップデートを見に行くようで。

https://snapcraft.io/docs/managing-updates

Snaps update automatically, and by default, the snapd daemon checks for updates 4 times a day. Each update check is called a refresh.

でもUpnoteのバージョンが9.2.5から9.2.9に上がってないんだけど?24時間起動してるわけじゃないから、タイミングなのかなあ。  

というわけで、手動でアップデートしてみました。

参考にしたのはこちら

$ sudo snap refresh 
2024-04-21T19:09:29+09:00 INFO Waiting for automatic snapd restart...
2024-04-21T19:09:30+09:00 INFO Waiting for automatic snapd restart...
2024-04-21T19:09:31+09:00 INFO Waiting for automatic snapd restart...
snapd 2.62 from Canonical✓ refreshed
WARNING: There is 1 new warning. See 'snap warnings'.

Warningはなんだ?とチェック。

$ snap warnings 
last-occurrence:  today at 19:09 JST
warning: |
  the snapd.apparmor service is disabled; snap applications will likely not start.
  Run "systemctl enable --now snapd.apparmor" to correct this.

snapd.apparmor がないよ、ということで記載どおりにコマンドを実行。

$ sudo systemctl enable --now snapd.apparmor
Created symlink /etc/systemd/system/multi-user.target.wants/snapd.apparmor.service → /usr/lib/systemd/system/snapd.apparmor.service.

そして手動アップデート。

$ sudo snap refresh 
All snaps up to date.

アップデートの対象ないよ、と。でもUpNoteは9.2.5のまま。  

$ sudo snap refresh --list
Name    Version  Rev  Size  Publisher               Notes
upnote  9.2.9    117  94MB  upnote-company-limited  -

じゃあアプリを指定してやればいいのかな、ということでアプリ名を指定して実行。

$ sudo snap refresh upnote 
error: cannot refresh "upnote": snap "upnote" has running apps (upnote), pids:
       1697,2772,2773,3199,3263,3290,3305,3366

あー、プロセス残ってるのね。ので表示されたプロセス番号をkillしてやりました。その後ちょっと用事で手を止めてたんですが、気づいたら9.2.9にアップデートされてました。再実行しなくても大丈夫なのかな。あ、ダウンロード自体は終わってたけどプロセスが残ってたからアップデートできてなかったのかな。

$ sudo snap refresh --list
All snaps up to date.


でもどうせなら起動してるタイミングで実行してくれればいいな、ということで時間を指定できないのかなと。

$ snap refresh --time
timer: 00:00~24:00/4
last: today at 19:09 JST
next: tomorrow at 05:51 JST

5:51なんて起きてねーよ、てことで

$ sudo snap set system refresh.timer=9:00-14:00,19:00-24:00
$ snap refresh --time
timer: 9:00-14:00,19:00-24:00
last: today at 19:09 JST
next: tomorrow at 09:00 JST

週末使っていることの多い午前中から昼過ぎと、普段帰宅して使い始める19:00以降で実行するように変更してみました。これでうまいこと自動アップデートされるかな。でもUpNoteは普段常時起動してるから失敗するかな。結局プロセスkill必須かなあ。