Score:0

how to add a directory to snap mount namespace

cn flag

Snap mount namespace does not contain a specific directory. How do I add /usr/lib/doublecmd/ to snap Firefox's mount namespace without causing problems? Is there a "refresh" command that adjusts for non-snap changes? Or is there a file that determines what appears in a mount namespace? I want to do this system-wide if possible, but others may want to do this at the user level.

Terminal lists the doublecmd directory, snap Firefox file:// does not.

I kind of understand mount namespaces and that snap uses them for security, but I am not finding anything (or maybe not understanding what I'm finding) to add a specific directory to a snap mount namespace. I also consider the possibility that I am looking at this all wrong.

Plan B is to un-install all snap applications and snap itself, then install the applications using apt if possible. But Ubuntu appears to be committed to using snap ...

details

Ubuntu 22.10 AMD64, tried to use Double Commander's 1.0.8 help, which is browser based. Snap 2.58.2 Firefox 110.0, returns:

File not found

Firefox can’t find the file at /usr/lib/doublecmd/doc/en/index.html.

    Check the file name for capitalization or other typing errors.
    Check to see if the file was moved, renamed or deleted.

The file is there. Shortened the Firefox file:// spec, finally got to:

Index of file:///usr/lib/

Up to higher level directory
Name        Size    Last Modified
NetworkManager      1/25/23 22:46:21 PST
apparmor            1/25/23 22:46:21 PST
binfmt.d            9/8/22  02:58:15 PDT
File:clock-epoch    1/25/23 22:46:06 PST
cloud-init          1/25/23 22:46:21 PST
core                1/25/23 22:46:21 PST
cryptsetup          1/25/23 22:46:21 PST
dbus-1.0            1/25/23 22:46:21 PST

missing doublecmd should appear here

environment.d       1/25/23 22:46:21 PST
finalrd             1/25/23 22:46:21 PST
<snip>

Compare to terminal:

$ ll /usr/lib/
total 1308
drwxr-xr-x 113 root root   4096 Feb 17 06:42 ./
drwxr-xr-x  14 root root   4096 Oct 20 00:06 ../
drwxr-xr-x   2 root root   4096 Oct 20 00:07 apg/
drwxr-xr-x   2 root root   4096 Oct 20 00:07 apparmor/
drwxr-xr-x   5 root root   4096 Oct 20 00:07 apt/
drwxr-xr-x   3 root root   4096 Oct 20 00:07 aspell/
drwxr-xr-x   2 root root   4096 Oct 11 08:51 binfmt.d/
drwxr-xr-x   2 root root   4096 Feb 17 06:42 binfmt-support/
drwxr-xr-x   2 root root   4096 Oct 20 00:07 bluetooth/
drwxr-xr-x   2 root root   4096 Oct 20 00:08 brltty/
-rwxr-xr-x   1 root root   1075 Dec  8  2021 cnf-update-db*
-rwxr-xr-x   1 root root   3565 Dec  8  2021 command-not-found*
drwxr-xr-x   2 root root   4096 Oct 20 00:07 console-setup/
lrwxrwxrwx   1 root root     21 Jan 22 06:58 cpp -> /etc/alternatives/cpp*
drwxr-xr-x   2 root root   4096 Oct 20 00:08 crda/
drwxr-xr-x  10 root root   4096 Oct 20 00:07 cups/
drwxr-xr-x   2 root root   4096 Jan 22 07:51 dbus-1.0/
drwxr-xr-x   4 root root   4096 Jan 23 16:40 debug/

drwxr-xr-x   4 root root   4096 Jan 22 16:33 doublecmd/

drwxr-xr-x   3 root root   4096 Oct 20 00:07 dpkg/
drwxr-xr-x   3 root root   4096 Oct 20 00:07 emacsen-common/
drwxr-xr-x   2 root root   4096 Jan 22 07:51 environment.d/
drwxr-xr-x   7 root root   4096 Oct 20 00:07 evolution-data-server/
drwxr-xr-x   2 root root   4096 Oct 20 00:07 file/
drwxr-xr-x   3 root root   4096 Oct 20 00:08 firewalld/
drwxr-xr-x  90 root root  49152 Jan 22 07:51 firmware/
<snip>
$ lsb_release --all
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.10
Release:    22.10
Codename:   kinetic
$

Double Commander -> Help -> About:

Version: 1.0.8
Revision: 191
Commit: ee1f44b3c
Build date: 2022/10/10
Lazarus: 2.2.0.4
FPC: 3.2.2
Platform: x86_64-Linux-gtk2
OS version: Ubuntu 22.10
Widgetset library: GTK 2.24.33
$ snap version
snap    2.58.2
snapd   2.58.2
series  16
ubuntu  22.10
kernel  5.19.0-31-generic
$
$ findmnt | grep firefox
│ │ └─/run/snapd/ns/firefox.mnt                   nsfs[mnt:[4026532891]] nsfs            rw
├─/snap/firefox/2311                              /dev/loop5             squashfs        ro,nodev,relatime,errors=continue
├─/snap/firefox/2356                              /dev/loop6             squashfs        ro,nodev,relatime,errors=continue
$
noisefloor avatar
ec flag
It is technically not possible. File system access is constrained by design. There is one interface available (see `snap interface system-file`), but this doesn't include the directory your are looking for. If you absolutely need this, remove the Firefox snap, add the Mozilla PPA and use apt-pinning to ensure the PPA is preferred over the snap which is installed when you install the firefox package from the Ubuntu repos.
I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.