web-dev-qa-db-ja.com

snapdがopenSUSELeap15.1で失敗する

このドキュメントに従って、openSUSE Leap 15.1システムにsnappyをインストールして有効にしました: https://snapcraft.io/docs/installing-snap-on-opensuse

リポジトリを追加するときは、特定のバージョンのリポジトリを使用しました: https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.1/

ただし、サービスを有効にした後、サービスを開始してからわずか数秒後に終了コード42でクラッシュし続けます。ソケットは大丈夫のようです:

opensuse:~ # systemctl status snapd.socket
● snapd.socket - Socket activation for snappy daemon
   Loaded: loaded (/usr/lib/systemd/system/snapd.socket; disabled; vendor preset: disabled)
   Active: active (listening) since Tue 2019-12-31 15:22:47 CET; 1h 58min ago
   Listen: /run/snapd.socket (Stream)
           /run/snapd-snap.socket (Stream)

Dec 31 15:22:47 opensuse systemd[1]: Starting Socket activation for snappy daemon.
Dec 31 15:22:47 opensuse systemd[1]: Listening on Socket activation for snappy daemon.

Snapd.serviceを手動で開始すると、開始直後に問題なく表示されます。

opensuse:~ # systemctl status snapd.service
● snapd.service - Snappy daemon
   Loaded: loaded (/usr/lib/systemd/system/snapd.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2019-12-31 17:23:34 CET; 999ms ago
 Main PID: 3014 (snapd)
    Tasks: 10 (limit: 4915)
   CGroup: /system.slice/snapd.service
           └─3014 /usr/lib/snapd/snapd

Dec 31 17:23:34 opensuse systemd[1]: Starting Snappy daemon...
Dec 31 17:23:34 opensuse snapd[3014]: AppArmor status: apparmor is enabled but some kernel features are missing: dbus
Dec 31 17:23:34 opensuse snapd[3014]: daemon.go:346: started snapd/2.42.4-lp151.1.1 (series 16; classic; devmode) opensuse-leap/15.1 (AMD64) linux/4.12.14-lp151.28.36-defau.
Dec 31 17:23:34 opensuse snapd[3014]: daemon.go:439: adjusting startup timeout by 30s (pessimistic estimate of 30s plus 5s per snap)
Dec 31 17:23:34 opensuse systemd[1]: Started Snappy daemon.

しかし、数秒後に失敗します。

opensuse:~ # systemctl status snapd.service
● snapd.service - Snappy daemon
   Loaded: loaded (/usr/lib/systemd/system/snapd.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Tue 2019-12-31 17:23:39 CET; 36s ago
  Process: 3014 ExecStart=/usr/lib/snapd/snapd (code=exited, status=42)
 Main PID: 3014 (code=exited, status=42)

Dec 31 17:23:34 opensuse systemd[1]: Starting Snappy daemon...
Dec 31 17:23:34 opensuse snapd[3014]: AppArmor status: apparmor is enabled but some kernel features are missing: dbus
Dec 31 17:23:34 opensuse snapd[3014]: daemon.go:346: started snapd/2.42.4-lp151.1.1 (series 16; classic; devmode) opensuse-leap/15.1 (AMD64) linux/4.12.14-lp151.28.36-defau.
Dec 31 17:23:34 opensuse snapd[3014]: daemon.go:439: adjusting startup timeout by 30s (pessimistic estimate of 30s plus 5s per snap)
Dec 31 17:23:34 opensuse systemd[1]: Started Snappy daemon.
Dec 31 17:23:39 opensuse snapd[3014]: daemon.go:540: gracefully waiting for running hooks
Dec 31 17:23:39 opensuse snapd[3014]: daemon.go:542: done waiting for running hooks
Dec 31 17:23:39 opensuse snapd[3014]: daemon stop requested to wait for socket activation

/ usr/lib/snapd/snapdを直接実行すると、次のようになります。

opensuse:~ # /usr/lib/snapd/snapd
AppArmor status: apparmor is enabled but some kernel features are missing: dbus
cannot run daemon: when trying to listen on /run/snapd.socket: socket "/run/snapd.socket" already in use

何をしますか?

1
el.com

気にしないで、見つけた(私は思う)。どうやら、サービスはスナップがインストールされている場合にのみ実行を続けます。まだスナップをインストールしていないので、起動して終了しました。最初のスナップをインストールした後、snapdはバックグラウンドで実行され続けました。

インストールするには、最初にデーモンを停止する必要があります。

systemctl stop snapd.socket

次に、実際のインストールを行います。そうしないと、最初に投稿されたエラー(デーモンを実行できません)が表示されます。

1
el.com