Take the docker
snap for example: the snap can be installed with no any error message, the journalctl -u snapd
outputs as below:
Apr 26 13:45:00 intel-corei7-64 /usr/lib/snapd/snapd[457]: api.go:913: Installing snap "docker" revision unset
Apr 26 13:45:00 intel-corei7-64 snapd[457]: 2017/04/26 13:45:00.898706 api.go:913: Installing snap "docker" revision unset
Apr 26 13:45:02 intel-corei7-64 /usr/lib/snapd/snapd[457]: taskrunner.go:367: DEBUG: Running task 41 on Do: Download snap "docker" (88) from channel "stable"
Apr 26 13:45:02 intel-corei7-64 /usr/lib/snapd/snapd[457]: daemon.go:176: DEBUG: uid=0;@ POST /v2/snaps/docker 1.53732162s 202
Apr 26 13:45:02 intel-corei7-64 /usr/lib/snapd/snapd[457]: store.go:1281: DEBUG: Available deltas returned by store: []
Apr 26 13:45:58 intel-corei7-64 /usr/lib/snapd/snapd[457]: taskrunner.go:367: DEBUG: Running task 42 on Do: Fetch and check assertions for snap "docker" (88)
Apr 26 13:46:02 intel-corei7-64 /usr/lib/snapd/snapd[457]: taskrunner.go:367: DEBUG: Running task 43 on Do: Mount snap "docker" (88)
Apr 26 13:46:03 intel-corei7-64 /usr/lib/snapd/snapd[457]: taskrunner.go:367: DEBUG: Running task 44 on Do: Copy snap "docker" data
Apr 26 13:46:03 intel-corei7-64 /usr/lib/snapd/snapd[457]: taskrunner.go:367: DEBUG: Running task 45 on Do: Setup snap "docker" (88) security profiles
Apr 26 13:46:03 intel-corei7-64 /usr/lib/snapd/snapd[457]: taskrunner.go:367: DEBUG: Running task 46 on Do: Make snap "docker" (88) available to the system
Apr 26 13:46:04 intel-corei7-64 /usr/lib/snapd/snapd[457]: taskrunner.go:367: DEBUG: Running task 47 on Do: Set automatic aliases for snap "docker"
Apr 26 13:46:04 intel-corei7-64 /usr/lib/snapd/snapd[457]: taskrunner.go:367: DEBUG: Running task 48 on Do: Setup snap "docker" aliases
Apr 26 13:46:05 intel-corei7-64 /usr/lib/snapd/snapd[457]: taskrunner.go:367: DEBUG: Running task 49 on Do: Start snap "docker" (88) services
Apr 26 13:46:05 intel-corei7-64 /usr/lib/snapd/snapd[457]: taskrunner.go:367: DEBUG: Running task 50 on Do: Run configure hook of "docker" snap if present
Apr 26 13:46:06 intel-corei7-64 /usr/lib/snapd/snapd[457]: daemon.go:176: DEBUG: uid=0;@ GET /v2/snaps?snaps=docker 4.844957ms 200
but it fails to run as it can not find the loader ld-linux-x86-64.so.2
, which is located at /snap/core/current/lib64/, and should be mounted as / while running the snap:
root@intel-corei7-64:~# snap run docker
/snap/docker/88/bin/docker-wrapper: line 14: /snap/docker/88/bin/docker: No such file or directory
From the shell of the hello-world
snap, it looks like the Core snap is not mounted as /
root@intel-corei7-64:~# hello-world.sh
Launching a shell inside the default app confinement. Navigate to your
app-specific directories with:
$ cd $SNAP
$ cd $SNAP_DATA
$ cd $SNAP_USER_DATA
bash-4.3# mount
/dev/disk/by-partuuid/12345678-9abc-def0-0fed-cba987654321 on /var/lib/snapd/hostfs type ext4 (rw,relatime,data=ordered)
tmpfs on /var/lib/snapd/hostfs/run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /var/lib/snapd/hostfs/run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=193652k,mode=700)
tmpfs on /var/lib/snapd/hostfs/run/snapd/ns type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /var/lib/snapd/hostfs/tmp type tmpfs (rw,nosuid,nodev)
tmpfs on /var/lib/snapd/hostfs/var/volatile type tmpfs (rw,relatime)
/dev/loop0 on /var/lib/snapd/hostfs/snap/core/1577 type squashfs (ro,nodev,relatime)
/dev/loop1 on /var/lib/snapd/hostfs/snap/hello-world/27 type squashfs (ro,nodev,relatime)
/dev/disk/by-partuuid/12345678-9abc-def0-0fed-cba987654321 on / type ext4 (rw,relatime,data=ordered)
I guess the Core snap should be mounted as / in the last statement of the above paragraph? So which part of the snapd should I check? Any pointers would be very appreciated.