我使用默认/自动分区配置安装了 OpenBSD,该配置仅向/usr
.在编译大型端口时,出现磁盘已满的错误。
我已经寻找了扩展到分区的方法,但找不到任何关于如何执行此操作的信息。我在其他分区(例如/home
)上有足够的空间,有没有办法在运行时重定向输出文件的位置,make
以便我可以将它们指向有空间的地方?
答案1
/etc/mk.conf
创建一个类似于以下内容的文件:
WRKOBJDIR=/home/foo/build/ports
DISTDIR=/home/foo/build/distfiles
PACKAGE_REPOSITORY=/home/foo/packages
该路径可以是您想要的任何位置,因此显然替换/home/foo
为您想要的目录。您不需要创建目录;它们将在您运行时自动创建make
。
常见问题解答中对此进行了介绍:15.3.3 - 端口系统的配置,建议使用它来创建“只读”端口树,因此 /usr/ports 可以位于只读磁盘/文件系统上,您仍然可以从中构建,但显然仍然可以作为解决方法对于无法写入 /usr/ports 的任何情况。
答案2
格拉斯的回答是最好的方法,但作为替代方案,您可以移动它并对其进行符号链接。
mv /usr/ports /home/
ln -s /home/ports /usr/ports