Elton's Blog

Tag: snow leopard

将你的Snow Leopard设置为64位

by on 三.30, 2010, under Mac

很多人对Snow Leopard的64位还是一头雾水,下面我详细说一下。

首先,默认情况下,Snow Leopard总是开启32位内核;如果你的CPU是Core 2或者Core i7(的话,系统会在运行程序时自动启动Universal Binary中的64位部分(这里的Universal是32位Intel和64位Intel的Universal,不是指PPC和Intel的),因为默认的32位内核可以运行64位程序。但是,如果你想从内核就变成完全的64位,那么需要你的Mac还具备一个条件,就是你的EFI必须是64位的。EFI是固件用户接口,这里指的是你的固件必须是64位的。

EFI是否为64位的判别方法是:
打开终端,输入代码:

1
ioreg -l -p IODeviceTree | grep "firmware-abi" | sed -e 's/[^0-9A-Z]//g'

回车后,如果返回EFI64,则表示是64位的EFI,如果是EFI32则表明是32位的EFI……

通过Mactracker搜索,得到的分界如下:
MacBook:由于苹果限制,MB均不可开启64位内核。
MacBook Pro:MA895/896/897(Mid 2007)及以前的机型是32位的EFI,之后的机型是64位。
iMac:MA876/877/878(Mid 2007)有一部分是32位的EFI,一部分是64位的EFI,在这之前的都是32位,之后都是64位。
Mac Pro:第一代4核和8核都是32位,以后的都是64位。
注意,以上统计信息不一定准确,如果你在自己的机器上发现与上述写法不符的,请及时提出,我将做出更正!
目前已知MA895(预装Tiger)也具备64位EFI,因此wikipedia所谓预装Tiger是32位EFI的言论已经不靠谱了……

关于开启64位内核后的检查方法有四种:
1、进入“About This Mac”,点击“More Info”,在弹出的“System Profiler”中选择左边的“Software”,在右侧可以看到“64-bit kernel and extensions”,即可得知是否开启了64位内核。

2、打开终端,输入“uname -m”即可查看内核构架:

3、打开终端,输入”uname -v”即可查看内核发布信息:

4、打开“活动监视器”,找到进程“kernel_tasks”(PID为0),查看它的构架,它就代表内核。

最后说明开启64位的方法:
暂时性方法:
开机启动听到“咚”的一声马上按住“6″和”4″直到启动完成。建议先用这种方法查看开启64位内核是否有问题,我曾经在一台机器上面尝试开启64位后键盘失灵了。
永久性方法:
打开终端,拷贝下面的命令,回车运行:

1
sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

在弹出的文本编辑器中,找到kernel_flag下面的,并把它改写成arch=x86_64.
也就是说,改好的文件应该是这个样子:

1
2
3
4
5
6
7
8
9
10
	<?xml version="1.0" encoding="UTF-8"?>
	<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
	<plist version="1.0">
		<dict>
		        <key>Kernel</key>
		        <string>mach_kernel</string>
		        <key>Kernel Flags</key>
		        <string>arch=x86_64</string>
		</dict>
	</plist>

改完之后保存退出就可以了。

6 Comments :, , more...

Snow Leopard下,为Rails升级

by on 十二.06, 2009, under Rails

Snow Leopard是Apple最新的操作系统,拥有更快的速度并减少了对磁盘的占用。 Snow Leopard自带了ruby 1.8.7,已经可以很好的兼容Rails2.*。 对于Rails的开发者应该注意,如果你是从Leopard升级而来,Snow Leopard默认所有的解释型语言都是64位的(包括Ruby)。所以,如果之前你用的是32位的组建,需要做一些更新。

安装Snow Leopard 开发工具

在安装光盘上选择 “Optional Installs”, 安装 “Xcode.mpkg”. 使用默认的设置

安装Passenger

1
2
$ sudo gem install -r passenger
$ sudo passenger-install-apache2-module
1
$ cd /etc/apache2

编辑httpd.conf加入一下代码:

1
2
3
LoadModule passenger_module /Library/Ruby/Gems/1.8/gems/passenger-2.2.4/ext/apache2/mod_passenger.so
PassengerRoot /Library/Ruby/Gems/1.8/gems/passenger-2.2.4
PassengerRuby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby

安装MySQL

为了避免不必要的麻烦,强烈推荐你安装64位版本的MySQL。停止之前版本的MySQL。

这里安装适合Mac OS X 10.5 (x86_64)的MySQL

下载完成后,打开磁盘镜像,首先安装 “mysql-5.1.37-osx10.5-x86_64.pkg”. 使用默认项即可。

然后安装 “MySQLStartupItem.pkg”. 作为Mac的启动项.

最后安装 “MySQL.prefPane”.

如果之前你安装过32位的MySQL gem,那么你需要重新安装一份适合64位的版本。

1
$ sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

注意,你不需要使用ARCHFLAGS来重新编译其他gem

原文地址:http://weblog.rubyonrails.org/2009/8/30/upgrading-to-snow-leopard

3 Comments :, , , , , more...

把你的程序限定到10.6和64位上

by on 十一.01, 2009, under Mac

如果你已经在使用Snow Leopard和XCode 3.2了,你编译了一个64位的程序。 但是你发现他们可能无法在Leopard中很好运行,可能有些地方会出现问题。

如果你想提供一个要求运行在10.6以后系统并且支持64位的程序的话,可以在你的应用的Info.plist中,在最后一个前加入以下内容:

1
2
3
4
5
<key>LSMinimumSystemVersionByArchitecture</key>
<dict>
    <key>x86_64</key>
    <string>10.6.0</string>
</dict>

这个方法是被Apple批准和支持的,可以合法的使用。

具体的LSMinimumSystemVersionByArchitecture文档可以参考这里

2 Comments :, , , , more...

在snow leopard上编译Ruby, RubyGems, 和Rails

by on 十.01, 2009, under Mac, Rails

准备:

  1. Snow Leopard系统
  2. XCode编译环境,Snow Leopard系统盘上有

第一步:设置路径

1
vim ~/.profile

在文件最后加上:

1
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"

使新的路径生效

1
source ~/.profile

第二步:下载源文件

1
2
curl -O ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p174.tar.gz
curl -O http://files.rubyforge.vm.bytemark.co.uk/rubygems/rubygems-1.3.5.tgz

第三步:编译安装
安装ruby

1
2
3
4
5
6
tar xzvf ruby-1.8.7-p174.tar.gz
cd ruby-1.8.7-p174
./configure --enable-shared --enable-pthread CFLAGS=-D_XOPEN_SOURCE=1
make
sudo make install
cd ..

安装rubygem

1
2
3
4
tar xzvf rubygems-1.3.5.tgz
cd rubygems-1.3.5
sudo /usr/local/bin/ruby setup.rb
cd ..

安装rails

1
sudo gem install rails

安装ruby的mysql驱动

1
sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql

MySQL使用官方的dmg安装即可。

264 Comments :, , , more...

Snow Leopard安装PHP+MySQL+Apache

by on 九.30, 2009, under Mac, PHP

其实Snow Leopard已经内置了apache 2.2.11和php 5.3.0,只是默认都没有打开。

感谢网友Jerry的提醒,如果没有安装过XCode的朋友,在执行下面这些步骤之前,请先安装XCode,XCode在Snow Leopard的光盘里面自带了,你也可以去Apple官方网站,注册一个帐号去下载最新版本的。

1. 启用Apache
进入系统偏好->共享,勾选web共享后即可开启Apache

2. 配置PHP

1
sudo vim /etc/apache2/httpd.conf

1
#LoadModule php5_module        libexec/apache2/libphp5.so

把前面的#去掉。

1
sudo cp /etc/php.ini.default /etc/php.ini

3. 安装MySQL
MySQL网站下载最新的MySQL的dmg,按照普通程序安装即可。

1
sudo vim /etc/php.ini

将mysql.default_socket的值改为:“/tmp/mysql.sock”
将mysql.default_port的值改为:3306

重启Apache

1
sudo apachectl restart

4.测试
在/Library/WebServer/Documents下面建立一个test.php,里面写入:

1
2
3
<?php
phpinfo();
?>

然后访问http://localhost/test.php,可以看到mysql都已经配置好了。

5.增加mcrypt扩展支持
先下载,libmcrypt,然后在终端定位到目录里面

再在终端输入:

1
2
3
./configure --disable-posix-threads --enable-static
make
sudo make install

下载php的源码包,然后解包,在终端用cd定位到里面的ext/mcrypt目录

终端输入:

1
2
3
4
5
phpize
./configure
make
cd modules
sudo cp mcrypt.so /usr/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so

然后在终端输入:

1
sudo pico /etc/php.ini

在extensions那里加上:

extension=mcrypt.so

当然,别忘记把extension_dir=后面的改为:

“/usr/lib/php/extensions/no-debug-non-zts-20090626/”

然后,重启apache

1
sudo apachectl restart

至此,就在Snow Leopard下成功安装了PHP,MySQL和Apache了。

15 Comments :, , , more...

Snow leopard正式版开包图

by on 八.26, 2009, under Mac

据macrumors消息,西班牙苹果fans已收到snow leopard零售版。
并已经证实正式版的snow leopard的版本号就是Build 10A432(传说中的GM版).

Snow leopard正式版开包图

Snow leopard正式版开包图

Leave a Comment :, more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit my friends!

A few highly recommended friends...