远程升级 FreeBSD 系统备忘
最近两次失败记录的教训。
首先是联编 world 和 kernel (make buildworld buildkernel),这个没啥可说的。假定 / 是 UFS(即,可使用 nextboot),且配置了 watchdog,则操作步骤为:
- make installkernel KODIR=/boot/kernel.new; nextboot -k kernel.new 【令系统尝试一次新内核启动;若失败,则下次仍会启动旧内核】
shutdown -r now
- mergemaster -p 【建议做这步操作,可以避免选错】
- make installkernel installworld 【此处再做一遍installkernel;如果不做,可能导致系统从旧内核启动并导致失败】
mergemaster -Ui
- yes | make delete-old 【删去不需要的文件和库;不要make delete-old-libs,因为可能导致某些新程序无法运行】
- portmaster -BDavf 【重新联编所有 package】
- yes | make delete-old-libs 【此时删除旧 .so 库应该是安全的了】
- shutdown -r now,测试
当然,更简单的方法是先接好IPMI。