关于FreeBSD的一些问题

    首先要需要面对的是FreeBSD的版本问题。

    有一回我想在FreeBSD 8.3上面编译一个比较老一点的驱动程序bsd-zaptel,发现kthread系列函数全部改成kproc前缀,除了函数名之外还对参数做了一些调整。我估计7.4是支持kthread系列的最后一个版本了,当然也可以对驱动程序做些调整,让它能够在8.0之后的系统上面编译通过。

    从9.0这个版本开始,clang成为了新的C/C++编译器,据说10.0以后FreeBSD准备废除gcc编译器。目前10.0-CURRENT正在开发之中,不过我有意下载了一个当前的版本,发现里面还是有gcc的,内核貌似已经使用clang来编译了。要想废除gcc这个由来已久的编译器可是一项艰巨的任务呢。

    经常在装好的一个系统里面要对硬盘重新分区或者增加一块新硬盘,总会发现进行不下去,不过它在提示出错的同时,也给出了解决办法,那就是执行“sysctl kern.geom_debugflags=16”命令,我发现这个做法确实有效。

    前段时间我要编译FreeSWITCH,居然发现经过一天一夜的编译,居然还没完成,貌似编译卡死在一个环节上面。经过多次调测,原来编译过程停留在一个文件结束符(EOF)的输入上,本来是一个自动化的脚本,现在变成需要人工输入,原因就是因为BSD make和GNU make不兼容所致。在FreeBSD系统里,二者是同时并存的,所以解决问题的方法很简单:在需要用“make”命令的场合中,换成“gmake”命令就可以了。

    前段时间还多次安装了FreeBSD的各个版本,以至于把sysinstall安装的流程搞得相当清楚。事实上,如果你想升级系统的话,不一定非要通过它来完成,自动化的安装过程虽然弄得很简单,但实际上很多步骤你在上一个版本里面已经做过了。比方说,分区、bootloader、系统配置这些操作其实每次都一样的,我把某一次安装配置之后所修改的文件备份下来,以后安装、升级系统时候都可以用上。升级系统很简单,首先把root分区重新格式化了,然后在安装光盘里面找到相应的压缩包(txz文件),直接解压出来就可以了。有一些压缩包里面包含一个install脚本,那是用来帮助安装的,执行之前配置一个环境变量就可以了(貌似叫做BASE_DIR之类的,查看一下脚本就能看到,脚本篇幅不大)。当然,最后要把系统配置恢复回去,这些配置包括文件系统、网络、用户与安全等等,都是可以通过备份/恢复来完成,而不需要每次都到一堆的界面里面来操作。

    应该还有别的问题吧,目前暂时想不来了,以后想起来了再做些补充吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值