我正在尝试按照以下步骤在我的 Ubuntu 22.04 上启用 Tor 软件包存储库:https://support.torproject.org/apt/tor-deb-repo/
一切正常,直到第 3 步。当我运行
wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/null
我收到权限被拒绝错误:
tee: /usr/share/keyrings/tor-archive-keyring.gpg: Permission denied
我的架构是 amd64,lsb_release -c
给出Codename: jammy
和。在步骤 2 中cat /etc/debian_version
,bookworm/sid
我尝试填写 和jammy
,但在步骤 3 中bookworm/sid
,<DISTRIBUTION>
我得到了相同的错误。我没有尝试任何实验性的软件包,也没有添加 focal 的行,因为我没有在 focal 上运行。
有人能帮我解决这个问题吗?
提前致谢!
答案1
您需要以 root 身份写入系统目录。因此,您需要在 tee 命令前面添加 sudo 或以 root 身份运行整个命令,例如:
wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | sudo tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/null
答案2
您正在使用的教程假定您的用户具有 root 权限:
注意:符号 # 表示以 root 身份运行代码。这意味着您应该有权访问具有系统管理权限的用户帐户,例如,您的用户应该属于 sudo 组。
在 Ubuntu 上,您主要使用“普通”非特权帐户,并在sudo
需要时获得额外权限。您需要额外权限才能执行的操作之一是在$HOME
目录之外写入(例如,在目录之外/home/myusername/
)。
这正是所讨论的管道的第三部分试图做的事情。tee
尝试在中创建一个文件/usr/share/keyrings/
,而您的“普通”用户帐户无权在其中闲逛;)因此,您需要通过在sudo
管道的这一部分前面加上前缀来获得这部分的权限:
wget -qO- ... | gpg --dearmor | sudo tee ... >/dev/null
注意:为了更好地说明这个想法,上面的管道被缩短了。
管道的第一部分和第二部分wget
和pgp
无需额外权限即可工作,因此您不需要sudo
那里。