批量解除Mac还原后的文件锁

最近重新还原了下系统,然后出现了一个很坑爹的情况,如下图:

Screen Shot 2013-09-07 at 1.32.38 PM

坑爹啊,这是什么玩意!!!!仔细一看原来是文件被lock住了,分析了下这是和 Time Machine 有关系的,貌似超过一定时间没动的文档就会被locked,如果只是一般的文档也就算了,其实很多配置文件甚至本地缓存文件都被lock住,出现的现象就是每次打开finder都会转菊花一会儿。总之,就是用户目录下一堆文件被locked住了,要是手动一个个改回来估计会吐血,那么做为程序员自然会想想解决办法。

首先分析下,locked这个属性貌似linux下面没接触到过,估计是mac自己有的一个文件tag,所以去查了查资料,原来是一个 flag 叫做 uchg,只要把相关文件的 flag 重置到 nouchg 就解决问题了。

那么我们来查找这些文件吧,代码如下:

find /Users/youraccountname/ -flags uchg > lk.txt

我把列表重定向到了一个文本里面,方便后续处理。中途有个小插曲,我输入命令后给我回复了一条:

find: unknown predicate-flags'`

仔细一看发现是我的 find 默认指向了brew 安装的gfind,所以不支持这个参数,简单,输入:

brew remove findutils

卸载,或者直接强制指定系统默认的 find 的位置来执行就行,系统默认 find 在

/usr/bin/find

那么,到现在,我们得到了一个lk.txt文件,里面列出来了你名下的所有的 locked 文件,之后我们怎么办呢?再次求救万能的 Google 搜到了一条命令

chflags -R nouchg /PATH/TO/DIRECTORY/WITH/LOCKED/FILES/

这就可以把文件解锁了,对于这个命令的解释,后面相关连接里面有介绍,有兴趣的可以看一下。

最后我把这些操作打包成了一个 shell 脚本,方便自己以后使用。脚本还有个可以改动的地方,我还是把文件列表输出到磁盘,因为我希望看到哪些文件被修改,如果你不希望,你可以直接在内存里面重定向,这样速度应该还会快上那么一点点。

#!/bin/sh find /Users/zerob13/ -flags uchg > lk.txt while read -r line do echo "$line" chflags -R nouchg "$line" done 相关连接
Find locked files in Mac OS X (via Terminal)

Command to unlock “Locked” files on OS X

Lion 以及我变形的D壳

Lion发布了,买了一个,下载安装一切都好,其实就是GM版本,对我来说没有什么新意也没什么惊喜,很淡定的装了用了罢了。

然后前两天不小心把我的Macbook Pro的背部的D壳摔了下,变形了,无法密封,经过本人暴力矫正后失败,只好上淘宝买了个二手人家拆下来的D壳。不过么,有些事情还是很无奈的,那个D壳虽然是二手原装的,但是依然不是非常密封,不知道是我安装的问题,还是这个壳子也有变形,到时候回去了自己研究下吧。。。囧

住处依然没有网络,手机的3g流量也快烧完了,现在只能溜实验室来蹭网,要不就不开住处的网络好了,专心学习也未尝不可,今天是图看英语和数学,勉勉强强没看进去多少,更多的是一种心态的调整吧,一下子进入状态也比较难。

比较头疼的一点么,是事情还是蛮多,想要一件件弄好又比较麻烦,最近修电脑花费又颇多,略不爽。当然最主要不是钱的问题,关键是憋屈,修电脑这个事情,帮人修,心情多少是好的,总说是助人为乐;给自己修么,总是懊恼万分的,因为我自己知道我这次修理能修好多少,会留下什么后遗症,而且修的不管多么好都是没有人感谢的,连饭都不能蹭一顿(蹭自己?开玩笑!)所以,很无奈是不是。

关键是吧,我给别人修个电脑什么的往往能够比较完美的解决问题,而给我自己修理就不一样了,比较多的情况是吃力不讨好,一般我遇到的问题都是属于疑难杂症+无可救药+回天乏术的那些——上拆硬件下编内核,这不,昨天vps还因为内核升级莫名其妙的当了一回,重启方才恢复正常。好吧,最近估计我和数码产品犯冲,先是上个学期新手机各种小问题,然后是现在各种电脑出问题,本来吧,在之前一个月我的Macbook Pro看上去还和新的一样,想不到没过一个月现在彻底看上去旧了,罢了罢了,09年产的本子到现在11年了也算是很长的一段时间了,好好复习吧,反正最近也没特别需要用电脑的地方,等考试告一段落了再想办法换个新的机器吧(ps:各种不想用笔记本,不舒服啊不舒服)

最后放上照片3张,拍摄于之前去上海的那个旅途~

IMG_1594

IMG_1392

IMG_1374

ps:心平气和,心平气和,生活本来就是充满各种小问题的,不要烦躁见招拆招总能解决的。

Podcast:吐槽ios和mac的mail客户端,以及各种吐槽

这是第二期的podcast,依然是坟蛋混沌的云各种吐槽~

这次主要吐槽的是Apple各个平台上的Mail客户端,当然虽然这个不爽,但是我还是各种想要弄个ipad神马的~哈哈哈~猥琐了猥琐了~

好吧,后面还顺便吐槽了一下mac和windows之间的一些事情云云~

依然是我的风格,混乱的podcast混乱的混沌的云,谢谢大家的关注喵~

第二期

mac上用openvpn教程

首先我们需要的工具是~Tunnelblick,这个软件。

你可以去这里下载
http://code.google.com/p/tunnelblick/
安装,很简单。下载下来是一个dmg文件,打开dmg文件后,你会看到下图:

双击那个隧道图标的文件,会提醒你安装。然后双击Tunnelblick,让其运行,第一次使用会出现下图所示,点击“安装及编辑范例设定档”,关闭弹出的对话框。

打开配置文件夹(\Users\你登陆的用户名\Library\Application Support\Tunnelblick\Configurations)
把你下载来的ca.crt ,client.crt,client.key放入
然后打开openvpn.conf文件,你需要修改如下几项
remote my-server-1 1194
把my-server-1改成你的openvpn服务器地址(如果必要后面的端口也要改成相应的)
ca ca.crt
cert client.crt
key client.key
这三行需要对应你的三个文件,如果你的文件名不是ca.crt,client.crt,client.key你就要做相应的修改。
修改完之后,保存。(需要root权限,也就是你需要输入一次你的管理员密码)
这时候,你看见你屏幕的右上角有个隧道图标,点击一下,然后选择 Connect ‘openvpn’ 即可享受openvpn的服务

mac os x 10.6.2下编译64位firefox

首先,编译的版本是3.7。然后看到了火狐很光明的未来,网上只有英文的教程,所以我就打算写一下自己的编译过程,算是当一个中文教程。喜欢折腾的朋友可以试试.
好了,废话不多,先开始讲吧。因为上次编译的时候忘记截图了,所以暂时就没图了,下回记得就补上吧。
首先,我们要确定你的电脑里面装了xcode的套件,如果你不知道这个是什么的话。你就把你安装系统的那张Mac OS X Install DVD塞进去,会看到一个叫做 “Optional Installs” 的文件夹的,里面就有xcode,把能装的都装上就成了。不过,记得使用最新的雪豹的光盘,里面的xcode才支持64位编译。或者也可以去http://developer.apple.com/technology/xcode.html这边下载最新的xcode,免费的。
第二个必须的东西是macports,这里有得下载http://www.macports.org/install.php下载了打开镜像双击安装即可。
装好了xcode和macports,我们就要开工了~
打开终端(别告诉我你不知道终端是什么,去 应用程序-》实用程序-》终端 打开),然后输入以下命令
sudo port selfupdate<br></br>
然后你会看到一坨东西在不断刷屏,没事,这个是macports的自我更新,macports是一个很棒的开源软件管理器,它可以帮你从网上同步下来最新的代码。不过这次我们用它是下另外的一个管理器。
当完成这条命令后,你需要输入
sudo port sync
于是就再稍等片刻,等macports同步完成。
现在macports已经是最新的状态了,下面就可以用macports安装编译火狐的一些必要的组件
还是命令
sudo port install mercurial libidl autoconf213<br></br>
这个会比较久,我记得我去吃了一碗面条回来才完成的。。。等这个命令完成了,真正的下载firefox的源码才刚刚开始。
等它完成后,关掉终端,然后重新打开(刷新一下罢了,不是必要步骤)
然后输入hg version
如果它显示了
分布式软件配置管理工具 - 水银 (版本 1.4.1)

版权所有 (C) 2005-2009 Matt Mackall 和其他人。
这是自由软件,具体参见版权条款。这里没有任何担保,甚至没有适合
特定目的的隐含的担保。
恭喜你,你马上可以开始下载代码了
否则的话,你需要检查一下你的配置。不过一般都是成功的
下载代码之前,你需要去那个以你用户名命名的文件夹下面新建一个文本文件,就叫做temp.txt吧,然后在里面输入
. $topsrcdir/browser/config/mozconfig<br></br> mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-ff-dbg<br></br>
mk_add_options MOZ_MAKE_FLAGS="-s -j4"<br></br>
ac_add_options --enable-debug<br></br>
ac_add_options --disable-optimize<br></br>
ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.6.sdk<br></br>

保存
之后再打开一个新的终端
输入
mv temp.txt .mozconfig
这样你就完成了所有的配置。
下面是激动人心的一步,下载,输入命令
hg clone http://hg.mozilla.org/mozilla-central/ mozilla<br></br>
如果中间有选项让你选一路回车即可,这个时间也比较长,看你网速而定。半小时左右吧。
当提示符再次出现的时候,说明代码下载完毕了!之后就是伟大的编译过程
切换到代码的目录
cd mozilla
编译!
make -f client.mk build<br></br>
之后你的cpu会占用100%然后温度不断上升。。。这时候就开始编译了,看你性能而定吧。
等到编译完成后,你就可以去你用户名命名的文件夹下面看看,应该有一个mozilla的文件夹
然后打开mozilla/obj-ff-dbg/dist/
里面有一个MinefieldDebug.app
图标是个地雷(因为是Debug模式,你用release模式就会出现正常的小狐狸了^o^)
打开就是你编译出来的火狐了!
enjoy it~

mac && pc


很讽刺的广告,感觉很有意思就发上来了

大意如下,我自己随便翻译的,有错误请随意指出

mac: 我是mac

pc:我是pc,hi,mac,告诉你个好消息,windows7发布了,它可以解决一切以前系统解决不了的问题,相信我。

mac:怎么感觉这个话好耳熟。。。

回忆。。。

pc:我是pc,hi,mac,告诉你个好消息,windows vista发布了,它可以解决一切以前系统解决不了的问题,相信我。

pc:我是pc,hi,mac,告诉你个好消息,windows xp发布了,它可以解决一切以前系统解决不了的问题,相信我。

pc:我是pc,hi,mac,告诉你个好消息,windows 2000发布了,它可以解决一切以前系统解决不了的问题,相信我。

pc:我是pc,hi,mac,告诉你个好消息,windows 98发布了,它可以解决一切以前系统解决不了的问题,相信我。

。。。。