在常规 openbsd 安装后,我有以下分区方案:
# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/sd0a 986M 111M 826M 12% /
/dev/sd0k 46.4G 20.0K 44.1G 1% /home
/dev/sd0d 3.9G 6.0K 3.7G 1% /tmp
/dev/sd0f 11.2G 1.3G 9.4G 12% /usr
/dev/sd0g 986M 2.0K 937M 1% /usr/X11R6
/dev/sd0h 15.7G 151M 14.7G 1% /usr/local
/dev/sd0j 5.8G 2.0K 5.5G 1% /usr/obj
/dev/sd0i 2.9G 2.0K 2.8G 1% /usr/src
/dev/sd0e 12.8G 7.8M 12.2G 1% /var
我想要大一点的/var/
和小一点的/home
。
我可以交换挂载点吗?挂载/dev/sda0e
为/home
和?/dev/sd0k
/var
答案1
如图所示,拥有/boot
一个单独的分区并且可能安装一个单独的磁盘/home
比一堆小分区更有意义。
除非您对设置有非常特殊的原因;我认为最好只使用一个 / 分区,将所有其他分区保留为子文件夹。
您是否刚刚安装,并且还没有进行太多自定义?-> 如果是:重新安装。
“交换”分区的最简单方法是:将数据从任一位置复制到临时位置并删除原始数据,然后 2 次“将内容移动到新位置”。最后当然是:更改 fstab!
答案2
如果您按原样交换(不复制文件),那么您的服务将无法工作,您将无法登录到您的主目录。在 fstab 中交换分区后,您需要重新启动进入单用户模式并移动文件夹。
启动进入单用户模式后(boot -s
):
mount /home
mount /var
tar czf /var/home.tgz -C /home . # copy files from /home to /var/home.tgz
rm -rf /home/* # clear out old home
tar cf - -C /var . | tar xpf - -C /home # copy files from /var to /home
rm -rf /var/* # clear out old var
tar xpzf /home/home.tgz -C /var # extract home.tgz to new home
rm /home/home.tgz # remove home.tgz
reboot