最近经历的Lion下比较想记一笔的经验,凑个数吧。

  1. 无厘头的DNS无法解析问题。

    不知道为什么我总是碰见这个问题… 网上搜了搜似乎也不是很常见。

    症状很简单:DNS无法解析,重设DNS服务器地址、DHCP的话重新续租等等都没法解决。

    解决方法:重启mDNSResponder服务。

    似乎有些简单粗暴了,不过确实没找到其他方法。记得Lion之前,这个mDNSResponder服务就总给我找事儿,不过那时的症状很明显,一般是从休眠唤醒之后,mDNSResponder进程的CPU使用率异常高,占满一个CPU核心;升级到Lion之后就再也没遇到这个问题,当时还觉得这个升级的钱花的值得。结果,后来就时不时地遇见DNS无法解析的问题了,无论怎么修改DNS相关设置都没法解决,syslog、dmesg输出也没有任何异常信息。后来想起来mDNSResponder最近很是消停,就上网搜了搜,才知道原来这个服务不像名字暗示的那样只负责mDNS,而是负责所有解析了。也许咱家接触Mac太晚了,不知道这个服务的渊源,我只记得Ubuntu下关掉Avahi是不影响其他DNS解析的。

    于是老方法重启了mDNSResponder服务,问题解决。

    [code=”bash”]
    launchctl stop com.apple.mDNSResponder
    launchctl start com.apple.mDNSResponder
    [/code]

    果然咬人的狗不叫。

  2. 把用户追加到其他组。

    各种userxxx命令在Lion下都是没有地,只有万能的dscl。简短截说,一个例子:

    [code=”bash”]
    dscl localhost -append /Local/Default/Groups/wheel GroupMembership iusr
    [/code]

    其实刚开始也就是知道dscl这么个东西而已,不过好在有-list命令可以去遍历“/”下的各个节点,然后就比较简单了。需要注意的也就是不同版本的Mac OS X的本地目录(此目录非彼目录哇~)下的用户组的路径不太相同,本地目录作为数据源的名称也不同,这些不同之处基本上不带参数跑一下dscl也就看出来了,就不废话了。

    哦,网上有人说用水果官方的Server Admin Tools来做这个事儿,不过我试验了一下,类似wheel这种组是看不到的,dscl下反正是可以看见,命令行也简单直白,所以就不纠结Server Admin Tools了。

以上~自行su/sudo。