takashi kono's blog

コーヒーとキーボードと共に何かを記録していくブログ

snapcraft コマンド 備忘録

目的

snapcraft のコマンドについて備忘録を作る

参考

mekou.com

Install

Ubuntu Server 22.04 ではデフォルトで snap がインストールされていた
とはいえ、 apt でもインストールできるのでメモ

sudo apt install snapd

snapd でパッケージを検索する

# syntax
sudo snap search PACKAGE
# もしくは
sudo snap find PACKAGE

特定の一つのパッケージでインストール可能なバージョンの表示

sudo snap info PACKAGE

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

sudo snap install PACKAGE

snapd のサンドボックス機能を無効にしてインストールするには

sudo snap install PACKAGE --classic

snap info で見つけた特定のバージョンのインストール

sudo snap install PACKAGE --channel=CHANNEL
# sample
sudo snap install lxd --channel=5.19/stable

インストール済みパッケージの一覧

sudo snap list
sudo snap list --all

パッケージの削除

sudo snap remove PACKAGE

パッケージの更新

# まずは更新可能パッケージの一覧表示
sudo snap refresh --list
# 更新可能パッケージを全て更新する場合
sudo snap refresh
# 特定のパッケージのみ更新する場合
sudo snap refresh PACKAGE

このコマンドで更新できないけど、これより新しいものがある場合

# まずは確認する
sudo snap info PACKAGE
# channels の文字列を使って更新
sudo snap refresh PACKAGE --channel=CHANNEL
# サンプル
sudo snap refresh lxd --channel=latest/stable

更新したパッケージのバージョンを戻す

戻せるらしい。まずは戻せるバージョンを確認する

# パッケージの全バージョンを見る
# 全パッケージの場合
sudo snap list --all
# 特定のパッケージの場合
sudo snap list PACKAGE --all

戻す

# 一つ前
sudo snap revert PACKAGE
# 指定したリビジョンに戻す
sudo snap revert PACKAGE --revision=REV

パッケージの設定を見る

# -d で Key: Value 形式で出力される
sudo snap get -d PACKAGE

パッケージの設定を変える

listen するポートを変えるなど

sudo snap set PACKAGE KEY=VALUE
# sample
sudo snap set lxd ui.enable=true

パッケージの enable/disable

# 有効化
sudo snap enable PACKAGE
# 無効化
sudo snap disable PACKAGE

サービスの確認

sudo snap services

パッケージの start/stop

sudo snap start PACKAGE
sudo snap stop PACKAGE
# システム起動時の挙動を含めて start/stop
sudo snap start --enable PACKAGE
sudo snap stop --disable PACKAGE

log 表示

sudo snap logs PACKAGE
# tail -f 的な奴
sudo snap logs PACKAGE -f