标签:Mac

添加用户到_www组解决权限问题

一些开发框架需要下载扩展包到其所在目录,但下载回来的文件所属的用户和组为_www,这就使得以当前登陆用户对扩展包进行编辑时非常麻烦,需要经常变更目录权限。如果把当前登陆用户,添加到_www组就可用很方便的解决这一问题。

在Mac下的添加方式与Linux系统不同,须使用如下命令:

sudo dseditgroup -o edit -a username -t user _www

username为当前登陆的用户名
如果不知道登录名,可用通过如下命令查询:

whoami

更多dseditgroup的使用方法,可参考Apple的官方手册

Linux下读写Mac的hfsplus硬盘

首先需要安装hfsprogs,我用的是debian直接

apt-get install hfsprogs

然后直接mount就可以了:

root@bananapi ~ # mount -t hfsplus -o force,rw /dev/sdb /mnt/backup320g
mount: warning: /mnt/backup320g seems to be mounted read-only.

怎么还是read-only…看一下dmsg:

root@bananapi ~ # dmesg|tail
[ 4842.317034] hfs: Filesystem was not cleanly unmounted, running fsck.hfsplus is recommended.  mounting read-only.

哦,原来硬盘有点儿问题,需要check一下,好吧:

root@bananapi ~ # fsck.hfsplus -f /dev/sdb
** /dev/sdb
root@bananapi ~ # fsck.hfsplus -f /dev/sdb1
** /dev/sdb1
root@bananapi ~ # fsck.hfsplus -f /dev/sdb2
** /dev/sdb2
** Checking HFS Plus volume.
** Checking Extents Overflow file.
** Checking Catalog file.

终于check完了,一共花了⋯⋯半天儿⋯⋯我们再remount一下吧~ 已经没问题了

解决mac更新慢的问题

最近几次在MAC OSX更新的时候极慢,很多时候只有10k/s的样子。以前的更新包只有几十M,也就忍了,但今天足足有250M,按照这个速度,恐怕需要20个小时。我记得刚买回macbook的时候,更新速度还是很快的,不知为何现在如此之慢。今天早晨和一个朋友聊起此事,他说在host文件中配置一下指向速度会有提升。这句话提醒了我。我为了解决国内DNS污染的问题,使用了美国DNS地址,所以在解析的时候,把我指向了美国的服务器。dig一下果然如此:

swcdn.apple.com.	1602	IN	CNAME	swcdn.apple.com.akadns.net.
swcdn.apple.com.akadns.net. 124	IN	CNAME	swcdn.apple.com.edgesuite.net.
swcdn.apple.com.edgesuite.net. 1386 IN	CNAME	swcdn.apple.com.edgesuite.net.globalredir.akadns.net.
swcdn.apple.com.edgesuite.net.globalredir.akadns.net. 380 IN CNAME a950.gi3.akamai.net.
a950.gi3.akamai.net.	8	IN	A	96.17.180.146
a950.gi3.akamai.net.	8	IN	A	96.17.180.147
a950.gi3.akamai.net.	8	IN	A	96.17.180.136

我的ISP是网通,使用国内的DNS,dig出来的内容:

;; ANSWER SECTION:
swcdn.apple.com.	1732	IN	CNAME	swcdn.apple.com.akadns.net.
swcdn.apple.com.akadns.net. 43	IN	CNAME	swcdn.apple.ccgslb.com.cn.
swcdn.apple.ccgslb.com.cn. 1355	IN	CNAME	download011.cncssr.chinacache.net.
download011.cncssr.chinacache.net. 93 IN A	175.22.6.16
download011.cncssr.chinacache.net. 93 IN A	182.118.9.194

哈哈,这样就简单了,直接在host文件中将域名swcdn.apple.com指向175.22.6.16和182.118.9.194就可以了。现在的速度太爽了,250M,小case。

Mac OSX中关闭打开下载文件时的警告

OSX上的打开下载文件警告提示太烦人了,尤其是当你解开一个从网上下载回来的程序包的,比如wordpress,每点开一次文件都要点一次确认。google一番总算找到了方法,记录如下:
10.5的系统,因为xattr命令不支持递归操作,所以只能用find搭配-exec参数来做了
find ~/Downloads/ -type f -exec xattr -d com.apple.quarantine {} \;

对于10.6(snow leopard): 直接用-r参数即可
xattr -d -r com.apple.quarantine ~/Downloads

以上两条是针对~/Download目录进行的,也可以通过直接关闭系统配置,停用这一功能。但是据说在10.7(mountain lion)中无效⋯⋯
defaults write com.apple.LaunchServices LSQuarantine -bool NO

后悔的时候可以改回来
defaults write com.apple.LaunchServices LSQuarantine -bool YES

Mac OSX上重新编译PHP后提示Syntax error的解决办法

Mac OS X 对于非开发人员提供了很好的体验,对于Web开发人员也很厚道。不但提供了Apache Web Server、FTP Server,还集成了很多开发环境:C、Python、PHP等等,而且版本比较新,扩展也很完善。可套餐终归是不如单点。在产品经理的各式各样需求前面,终于还是闹饥荒了。

不久之前由于需要PHP扩展的freetype模块,但是系统本身没有内建,所以只能自己动手。首先想到的是编译成动态扩展库的方式,按照装各种lib都很顺畅,也成功的编译gd.so文件。但是由于系统的PHP已经内建了gd,再load此文件会报错,google一番无解,所以只好放弃。重新编译吧,没有别的办法了。编译过程比较顺利,和Linux下过程一样,不在啰嗦了。但是重启Apache的时候出现下面的提示:

httpd: Syntax error on line 117 of /private/etc/apache2/httpd.conf: Cannot load /usr/libexec/apache2/libphp5.so into server: dlopen(/usr/libexec/apache2/libphp5.so, 10): Symbol not found: __cg_png_create_info_struct
Referenced from: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
Expected in: /usr/lib/libpng15.15.dylib
in /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIObogon:php-5.3.6

(更多…)