我在 /var 上的空間不足。如何調整和移動 UFS 分區?
作為次要版本升級的一部分,我正在升級 FreeBSD 軟體包,但
/var/cache/pkg
. 現在我需要
- 收縮
/usr
- 移動
/usr
和/tmp
- 生長
/var
這在 FreeBSD 上可行嗎?如果我理解了到目前為止所讀到的內容,我應該能夠縮小
/usr
,growfs -s <smallersize> /dev/ada0p6
但我不知道如何重新定位分區。(使用 gparted 會很容易,但手冊上說 gparted 不能修改 UFS 分區。)誰能給我一步一步地做到這一點,還是我需要硬著頭皮進行擦拭並重新安裝?謝謝。
在實際使用中,我明確建議只備份數據,重新創建分區並恢復。這會快得多。
從 FreeBSD 10.0 開始, growfs(8)就可以調整掛載文件系統的大小。
從手冊中我們了解到,分區只能調整為連續的可用空間。這就是為什麼評論者(@uzsolt)要求輸出
gpart show -l
.所以你可以輕鬆地做所有你想做的事情,除了重新定位分區。我知道沒有工具可以自動為您執行此操作。如果您的空間不連續,這將是問題所在。然後,您需要創建一個新分區並將數據移到那裡。為了能夠做到這一點,您需要有足夠的可用空間,如果空間是一個問題,這會變得很痛苦。
如果您的系統位於 VM 中,那麼您可能可以輕鬆附加更多空間。如果這是一個物理系統,那麼我會附加一個 USB 磁碟並進行備份/恢復,而不是完全重新安裝。或者,也許這就是你所暗示的。
轉儲和恢復切片(s1d)並不太可怕:
dump -0Laf - /dev/ada0s1d | restore -rf -
您可以在文章Resize Existing FreeBSD Root Partition or Slice without Re-Installing or Rebooting中查看所有要完成的步驟
最後一點說明:您還有其他幾個選項可以通過小升級來解決目前的問題。您可以連結到另一個位置
var/cache/pkg
——甚至更好——PKG_CACHEDIR
在pkg.conf(5)中設置