mount坑爹记

在Mac又遭遇了一次mount坑爹记,想挂载一个FAT12格式的软驱,以前在Linux下使用如下命令:
sudo mount -o loop a.img /mnt/floppy
将a.img这个FAT12的软驱镜像挂载到/mnt/floppy目录下。

Mac上mount需要指定-t(文件系统)参数,man了但E文不好,看不太懂,但好歹找到了FAT12应该用-t msdos参数。可是mount -t msdos a.img /xxx/floppy却报错:Block device required。Google了大半天终于找到了解决方案:
$ hdid -nomount a.img
/dev/disk1
$ mount -t msdos /dev/disk1 /xxx/floppy

hdid的命令还不太清楚,后面了解了再补上。

另外一个方法是使用实用工具里的磁盘工具, File—> Open Disk Image—> a.img。

附上好不容易google到的两篇参考资料:
mounting dos floppy image
Create a blank floppy image in Mac OSX 10.6

Bochs on Mac

Win上使用Bochs应该是最方便的了,但Win上使用的命令行工具没Linux上的多,或者Win上已经没有使用命令行工具的氛围了。之前在Ubuntu上折腾过Bochs的编译和安装:Ubuntu编译Bochs,这次又在Mac上折腾了遍。

首先是使用./configure –with-x11 –enable-debugger –enable-disasm –disable-debugger-gui生成makefile时显示缺少gcc。机器上装有Xcode,怎么会缺少gcc呢?原来是没安装Xcode命令行工具,打开Xcode—>Preference—>Downloads中安装Command Line Tools。

完成后configure OK,但是make会找不到很多函数。原来Bochs需要X11,安装完X11后make OK,make install完成安装。

在终端中输入bochs可启动Bochs,但是会报错,原因是Bochs的隐藏配置文件.bochsrc中的配置不太兼容,自己新建个简单的配置即可。

svnX坑爹使用记

Mac上需要使用SVN,百度了一下说是Mac自带了SVN功能,看了不少资料,都是如何配置SVN服务端的,不是我想要的只使用SVN客户端的功能。于是,用上了svnX。

百度上svnX有图文教程,但都忽视了一个细节点,导致了我的坑爹使用记——那就是Output窗口。

默认情况下Repository和Working Copy里的Output窗口都是隐藏的,如果不打开,一个正在进行中的SVN操作很难看出它的进度,而svnX又不会禁用SVN的相关功能,这就会导致各种坑爹的问题。比如我这里遇到的:在Repository中Checkout未完成的情况下进行了Working Copy中的SVN Add操作,结果就是Commit的时候总提示我本地目录被Lock住了需要Cleanup,但无论怎么Cleanup后再Commit还是一样。

通常遇到这种情况我的第一想法是重新Checkout一份,但如果你还想Checkout到原目录怎么办?这是个坑爹的问题!因为SVN会在每个目录下生成一个.svn的隐藏文件夹保存SVN的相关信息,要实现我的想法不得不全删掉它,这是个体力活,也极度考验耐心。

想到Mac是类Linux系统,于是百度Linux命令,又被自己坑爹了,先是有如下命令:
find . -name .svn -type d -exec rm -fr {} ;
它的坑爹之处在于它让我以为只要cd到原目录下即可成功执行(没注意到find后面的点),没有提到find命令还要path,对于我这Linux菜鸟来说害苦我了,会被系统报错:
find: illegal option — n
后面又找到一份资料,里面有path,但是却没有”;”中的””又折腾了好久:
find: -exec: no terminating “;” or “+”
原来find的-exec参数要以”;”结束,而且是要转义的,最终被我摸索对了:

find /Users/***/Documents/HelloWorld -name .svn -type d -exec rm -rf {} ;