![使“sudo pkg_add”在 NetBSD 上工作](https://linux22.com/image/131478/%E4%BD%BF%E2%80%9Csudo%20pkg_add%E2%80%9D%E5%9C%A8%20NetBSD%20%E4%B8%8A%E5%B7%A5%E4%BD%9C.png)
有什么办法可以让简单的命令
sudo pkg_add some-package
无需从源代码重新编译任何内容即可正常安装 NetBSD?我尝试过的所有其他 Unix 系统都毫不费力地提供了开箱即用的等效命令。
我能想到的最好的办法就是添加
export PKG_PATH="ftp://ftp.NetBSD.org/pub/pkgsrc/packages/$(uname)/$(uname -m)/$(uname -r)/All/"
to/root/.shrc
但 sudo 不读.shrc
。
这pkgsrc 常见问题解答,“将 'sudo' 与 pkgsrc 结合使用”说你可以调整“pkgsrc 的即时 su(1) 功能”来使用 sudo,但它需要编辑 makefile 并重新编译某些内容。对于这样一项基本任务来说,这似乎是一个很高的要求。即使没有进行此修改,当我尝试以普通用户身份安装软件包时pkg_add
也不会要求我这样做- 它只是说su
pkg_add: Can't create pkgdb entry: /var/db/pkg/<...>: Permission denied
OpenBSD 有一个/etc/安装网址我为此目的创建了一个文件,但我找不到 NetBSD 的等效文件。
答案1
正确的文件是/etc/pkg_install.conf
.要进行设置,请以 root 身份运行:
echo "PKG_PATH=ftp://ftp.NetBSD.org/pub/pkgsrc/packages/$(uname)/$(uname -m)/$(uname -r)/All/" >> /etc/pkg_install.conf
请参阅pkg_install.conf(5)有关该文件的详细信息的手册页。
请注意,每次版本升级后都必须更新该文件。发布版本号$(uname -r)
将会变得陈旧。