问题:我们有什么方法可以允许 snap 实用程序写入 .bashrc?
以下是我已执行或尝试过的步骤:
我使用安装了 Vault折断在 Ubuntu:19.04
snap install vault
2019-05-26T09:46:49Z INFO 正在等待重启...已安装来自 Snapcrafters 的 vault 1.1.1
安装成功后,我尝试使用安装 vault 自动完成功能
vault -autocomplete-install
引发以下错误:
root@vault-server:~# vault -autocomplete-install
执行 CLI 时出错:发生 1 个错误:
*打开/root/.bashrc:权限被拒绝
但是,如果我通过下载二进制文件安装 vault,在 /usr/bin 中添加软链接,然后尝试安装自动完成功能,它会成功安装,并且我可以在 ~/.bashrc 中看到一个新条目
complete -C /opt/softwares/vault vault
供参考 : /opt/softwares 是我复制下载的二进制文件的 /path/to/dir 。
添加参考信息: 使用 snap 安装 Vault 后:
which vault
/快照/ bin /保管库
ls -lrt /snap/bin/
总计 1 lrwxrwxrwx 1 root root 13 5月 26 09:47 vault -> /usr/bin/snap
ls -lrt /usr/bin/ | grep snap
lrwxrwxrwx 1 根 根 ubuntu-core-launcher -> ../lib/snapd/snap-confine
-rwxr-xr-x 1 根 根 snapfuse
lrwxrwxrwx 1 根 根 snapctl -> ../lib/snapd/snapctl
-rwxr-xr-x 1 root 根快照
ls -lrt /usr/bin/ | grep vault
没有什么
答案1
太长了,无法评论。
也许,坐月子,特别是classic
坐月子就是你需要的东西。从https://docs.snapcraft.io/snap-confinement
严格的
大多数 snap 应用都使用这种技术。严格限制的 snap 应用在完全隔离的环境中运行,因此,如果不通过接口请求特定访问权限,则无法访问您的文件、网络、进程或任何其他系统资源。
经典的
允许以与传统软件包相同的方式访问系统资源。为了防止滥用,发布经典快照需要手动批准,并且安装需要--classic 命令行参数。
开发模式
为 snap 创建者和开发者提供的特殊模式。devmode snap 以严格受限的 snap 形式运行,可以完全访问系统资源,并生成调试输出以识别未指定的接口。安装需要 --devmode 命令行参数。Devmode snap 无法发布到稳定通道,不会出现在搜索结果中,也不会自动刷新。
因此,您只需要vault
在经典限制下重新安装您的软件包:
sudo snap install vault --classic
希望这可以帮助。