我正在升级 FreeBSD 软件包作为次要版本升级的一部分,并且我的/var/cache/pkg
.现在我需要
- 收缩
/usr
- 移动
/usr
和/tmp
- 生长
/var
FreeBSD 可以做到这一点吗?如果我理解了到目前为止所读到的内容,那么我应该能够缩小/usr
,growfs -s <smallersize> /dev/ada0p6
但我不知道如何重新定位分区。 (使用 gparted 很容易,但是手册上说 gparted 不能修改 UFS 分区。)
任何人都可以给我一个逐步执行此操作的步骤,还是我需要硬着头皮进行擦除并重新安装?谢谢。
答案1
在实际使用中,我明确建议只备份数据,重新创建分区并恢复。这会快得多。
成长(8)自 FreeBSD 10.0 以来,已经能够调整已安装文件系统的大小。
来自手册我们了解到分区的大小只能调整为连续的可用空间。这就是为什么评论者 (@uzsolt) 要求提供gpart show -l
.
所以你可以轻松地做你想做的所有事情,除了重新定位分区。据我所知,没有任何工具可以自动为您执行此操作。如果您的空间不连续,这就会成为问题。然后,您需要创建一个新分区并将数据移至那里。为了能够做到这一点,您需要有足够的可用空间,如果空间是一个问题,这会变得很痛苦。
如果您的系统位于虚拟机中,那么您可能可以轻松附加更多空间。如果这是一个物理系统,那么我会连接一个 USB 磁盘并进行备份/恢复,而不是完全重新安装。或者也许这就是你所暗示的。
转储和恢复切片 (s1d) 并不太可怕:
dump -0Laf - /dev/ada0s1d | restore -rf -
您可以在文章中查看要完成的所有步骤安全地调整现有 FreeBSD 根分区或切片的大小,无需重新安装或重新启动
最后一点说明:您还有其他几个选项可以通过次要升级来解决当前的问题。您可以链接到另一个位置var/cache/pkg
- 甚至更好 -PKG_CACHEDIR
设置pkg.conf(5)