我是 NetBSD 新手,尽管经常在 ubuntu 上使用 pkgsrc。我可以从源代码构建和安装软件包,而不会对 ubuntu 的软件包依赖项产生任何影响。
例如,即使 ruby 2.2 是通过 apt-get 安装的,我也可以$HOME/pkg/bin
通过 pkgsrc 构建并安装 ruby 2.3。我可以使用 ruby 2.3,没有任何依赖性问题。
这个功能对我非常有帮助,这就是我到目前为止喜欢 pkgsrc 的原因。
现在我将 NetBSD 7.1 安装到我的另一台 PC 上。我想要下载 pkgsrc 作为我自己的包管理器,并且想要将包构建到我的主目录 ( $HOME/pkg/bin
) 中,而不会像我在 ubuntu 上所做的那样对系统范围产生任何影响,即使 NetBSD 本身使用 pkgsrc。
当我./bootstrap --unpriviledged
在主目录中尝试时,它不起作用。在我问为什么有详细的错误消息之前,让我先问一下NetBSD是否设计或考虑到为每个用户下载并使用另一个pkgsrc而不会对系统环境产生任何影响。
PS 英语不是我的母语;请原谅打字、语法或/和单词选择错误。
更新(2017/04/08)
感谢 Greg A. Woods 的回答,我明白我必须显示详细的错误消息。
起初,我总是使用 root 帐户使用 pkg_add 从二进制安装。
-bash-4.4$ uname -a
NetBSD hello-netbsd 7.1 NetBSD 7.1 (GENERIC.201703111743Z) amd64
-bash-4.4$ pkg_info -a
sudo-1.8.17p1 Allow others to run commands as root …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 pkgsrc 系统在 NetBSD 6.1.5 上安装 coreutils。
这是 6.1.5 的默认安装。所做的唯一更改是安装 zsh 并将其设置为我的 root 用户和任何本地用户的默认 shell。
与 pkgsrc 方式一样,我切换到包含我要安装的软件包的 pkgsrc heirachy 目录。在这种情况下,它是/usr/pkgsrc/sysutils/coreutils
当我以 root 身份进入这个目录时,我输入
制作
然后得到一个错误:
configure: error: you should not run configure as root (set
FORCE_UNSAFE_CONFIGURE=1 in environment to bypass this check)
See `config.log' for more details
*** Error code 1
Run Code Online (Sandbox Code Playgroud)
这在使用 pkgsrc 作为 root 时并不典型,并且似乎特定于 gnu 包,因为我没有在 pkgsrc 中使用任何其他包时遇到过这种情况。
当我在同一目录中以普通用户身份进行 make 时,我无权写入/usr/pkgsrc下的任何目录,并且由于一堆权限被拒绝错误而使 make 失败。例如:
sh: Cannot create configure.override: permission denied.
Run Code Online (Sandbox Code Playgroud)
将包目录复制到本地用户有写权限的地方,编译似乎不符合使用 pkgsrc。
用户是否必须是特殊组的一部分才能使用 pkgsrc?