NetBSD增加硬盘更改/usr/pkgsrc挂载点的笔记

之前安装NetBSD分配inode不太合理,导致inode用光了,差点重装系统,仔细想来*nix的超强扩展性不用我们如此费神重装系统重新格式化什么的。还好是在VirtualBox虚拟机下装的,在虚拟机关机之后给NetBSD虚拟机增加一块硬盘然后开启虚拟机。

这里我的老硬盘识别为/dev/wd0,新的是/dev/wd1,顺带说一下老硬盘我只有一个分区(/ 根分区),所以a和d没有了,这里我让整个/dev/wd1作为系统的e分区加入进来。下面是实践过程的记录。(#后一个空格表示后接root下执行的命令,#后跟中文是注释)

# disklabel -i -I /dev/wd1e
partition:e
Filesystem type [?][unused]:4.2BSD
Start offset ('x' to start after partition 'x') [0c, 0s, 0M]:
Partition size ('$' for all remaining):$
partition:W
Label disk [n]? y
partition>Q
# newfs -i 384 -O 2 /dev/rwd1e  #注意这里是rwd1e而不是wd1e了。分配得到三百多万个inode,这下应该不愁了
# mount /dev/wd1e /mnt
# cd /usr/pkgsrc
# pax -rw -pe . /mnt #将文件和文件夹都镜像复制一份到/mnt下
# umount /mnt

然后编辑/etc/fstab添加一行 ‘/dev/wd1e /usr/pkgsrc ffs rw 1 2’ (不含单引号)

# shutdown now #进入单用户模式
# mv /usr/pkgsrc /usr/pkgsrc.old
# mkdir /usr/pkgsrc

然后启动系统(输入exit退出单用户模式就会自动启动系统到正常模式下了)看看是不是一切okay,没问题的话就可以删掉/usr/pkgsrc.old这个备份文件夹了。

至于为什么我不建议把整个/usr单独挂载到其它分区,因为目前我完全不能适应其它的Shell,而bash是安装到/usr/pkg/bin下的,如果/usr和/不是在一个分区的话,单用户模式下是不能使用bash的,所以我还是只把占用indoe最多的pkgsrc文件夹挪走就可以了。