定期的にこのログが出力されている。
snapd[28476]: storehelpers.go:919: cannot refresh: snap has no updates available: "core18", "core20", "lxd", "snapd"
snapdは使っていないように思うのだけれど。
ここから広告
広告ここまで
これに気付いたのは、ログに以下が出ていたから。
kernel: kauditd_printk_skb: 5 callbacks suppressed
この前後のログを見てみたところ、snapdがアップデートを確認しに行っている。
そのタイミングで、AppArmorのプロファイルをシステムに大量登録、イベントログが大量発生。
同種のログを抑制する制限に引っかかって、このログが出力される。
Geminiに聞いたら、色々と教えてくれた。
削除・無効化してよい場合:
- 該当サーバーの用途が明確で、apt や docker などの他の手段のみでミドルウェア(Nginx, Docker, データベース等)を構築している場合。
- lxd(LinuX Containers)による仮想化環境を使用していない場合。
残すべき場合:
- Canonical社の提供するライブパッチ(再起動なしのカーネルアップデート)など、Snap必須の公式サービスを利用している場合。
本当にsnapdを使っていないのか、リストを表示して確認してくれ、といっている。
$ snap list
Name Version Rev Tracking Publisher Notes
core18 20260204 2999 latest/stable canonical✓ base
core20 20260410 2866 latest/stable canonical✓ base
lxd 4.0.10-e92d947 38688 4.0/stable/… canonical✓ -
snapd 2.76 27406 latest/stable canonical✓ snapd
Geminiさんに、これらがなんなのかを聞いてみた。
- そもそも、Snapというのは、アプリケーションを隔離された環境(コンテナのような状態)で動かす仕組み。
- core18やcore20というのは、アプリケーションが動作するためのLinuxの基本的な仕組みや標準ライブラリをひとまとめにした土台。
- lxdはlxc(LinuX Containers/コンテナ技術のコア)をバックエンドとして使い、より扱いやすくしたLXC Daemonの略称。
- snapdはsnap形式のアプリを制御する管理エンジン。
今のところ、ライブパッチは利用していないし、Snap必須のサービスも利用していない。
いつか使う日が来るかもしれないけれど、その時にインストールし直せば良いかな、と思った。
使っていないパッケージは削除できる。
パッケージを消してからSnapdを削除することで、確実なクリーンアップができるとのこと。
# 1. 既存のSnapパッケージを削除(ログにあるものを順に削除)
sudo snap remove lxd
sudo snap remove core20
sudo snap remove core18 ← lxdを削除したら消えていた。
# 2. snapd本体の削除
sudo apt purge snapd
# 3. 関連ディレクトリの削除(残骸がある場合)
rm -rf ~/snap
sudo rm -rf /var/cache/snapd/
sudo rm -rf /var/snap
sudo rm -rf /var/lib/snapd
将来使うかもしれないから、アップデートを止める、ということもできる。
# 自動更新タイマーとサービスの停止・無効化
sudo systemctl stop snapd.timer snapd.service
sudo systemctl disable snapd.timer snapd.service
さいごに
このシステムは、Ubuntu 18.04からアップグレードしてきているようだ。
(もう、忘れてたけど)
それでも安定して動いてくれていることに感謝。
不要なパッケージを消していけば、さらにスリムに動けそう。
またどこかでちょっと頑張ってみようかな。


コメントはこちらから お気軽にどうぞ ~ 投稿に関するご意見・感想・他