远程升级 FreeBSD 系统备忘

• 本文约 355 字,阅读大致需要 1 分钟 | Cheatsheets | #FreeBSD | #upgrade | #remote administration | #sysadmin | #cheatsheet

📜 历史文件已不具备现实意义

目前(2020)的最佳实践是使用etcupdate和package。本文内容已过时。

最近两次失败记录的教训。

首先是联编world和kernel (make buildworld buildkernel),这个没啥可说的。假定 / 是UFS(即,可使用nextboot),且配置了watchdog,则操作步骤为:

  1. make installkernel KODIR=/boot/kernel.new; nextboot -k kernel.new【令系统尝试一次新内核启动;若失败,则下次仍会启动旧内核】
  2. shutdown -r now
  3. mergemaster -p【建议做这步操作,可以避免选错】
  4. make installkernel installworld【此处再做一遍installkernel;如果不做,可能导致系统从旧内核启动并导致失败】
  5. mergemaster -Ui
  6. yes | make delete-old【删去不需要的文件和库;不要make delete-old-libs,因为可能导致某些新程序无法运行】
  7. portmaster -BDavf【重新联编所有package】
  8. yes | make delete-old-libs【此时删除旧 .so库应该是安全的了】
  9. shutdown -r now,测试

当然,更简单的方法是先接好IPMI。