mac 上面的 homebrew

延續著 BSD 的傳統,在 mac 上面有許多類似的套件管理系統,像是  FinkMacPorts 或是 Homebrew 等,我推薦使用 homebrew 是因為他是用 ruby 寫成的,簡單又有彈性,以下記錄 homebrew 的使用(真的很容易上手!)。

1. 先安裝 xcode (從 Appstore 安裝,是免費的)

2. 安裝 homebrew

首先在 Terminal 中輸入:

ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"

3. 設定 xcode license

$ xcodebuild -license

4. 使用前先更新 homebrew 的 formula (就把它看成是菜單)

$ brew update

之後要安裝其他的軟體則是使用

$ brew install software

既然有安裝,就會有解除安裝

$ brew uninstall software

搜尋特定軟體名稱

$ brew search software 

如果搜尋到在其他的 repository 的軟體,可以用 brew tap other_repository 加入

廣告

[howto] 在 mac 上使用 speedstep 節能

===前言===

我是最近換平台到 mac 上面

/* 其實也不是最近啦,只是主要工作平台換到 mac 裡頭。不過 mac os 我實在不太熟…常常按錯鍵,快速鍵也太多了吧 */

 以前使用一般 i386 機器的時候,例如說 freebsd,有 powerd(8)GNU/Linux 有 cpufreq 的架構可以動態使用 SpeedStep 技術調控 cpu 頻率,藉由這個技術達到省電卻又不會影響日常工作(簡單說就是你需要大量運算時,CPU 時脈自動提昇,不需要的時候自動降低)

以下是 FreeBSD sysctl 的範例

#目前 CPU 的頻率
dev.cpu.0.freq: 223
#所支援的不同 level cpu 頻率,這顆 CPU 最高達到 1786MHz
#可使用 1562, 1339, 1116, 839, 669, 446, 223 MHz

dev.cpu.0.freq_levels: 1786/-1 1562/-1
      1339/-1 1116/-1 893/-1 669/-1 446/-1 223/-1

=== Howto ===

稍微找了一下網路資源,以下的 xnu-speedstep 專案可以在 MacOS
上面達到需求:

http://code.google.com/p/xnu-speedstep/

安裝:

1. 下載 IntelEnhancedSpeedStep.kext.zip 這個 kernel extension 壓縮檔案,以及 SpeedStep.zip 應用程式壓縮檔

 

2. 你可以使用 KextHelper/OSx86-Tools 安裝上述的 kernel extension,如果你懶得用上面的方法做,直接用終端機(Terminal)

   輸入以下的指令

sudo cp -R IntelEnhancedSpeedStep.kext /System/Library/Extensions
sudo chown -R root:wheel /System/Library/Extensions/IntelEnhancedSpeedStep.kext
sudo chmod -R 755 /System/Library/Extensions/IntelEnhancedSpeedStep.kext
sudo touch /System/Library/Extensions

3. 重開機即可

4. 如果想要馬上測試,可以直接用

        kextload $your_path/IntelEnhancedSpeedStep.kext

5. 把 SpeedStep 拉到應用程式中,就會在工具列上顯示目前的 CPU 頻率

6. 查看目前的 cpu 頻率:使用步驟 5 的 SpeedStep 或是利用 sysctl 查看

   [psilotum@machilus ~](23:11:34)$ sysctl -a | grep throttle
   kern.exec: unknown type returned
   kern.cputhrottle_curfreq: 1596
   kern.cputhrottle_curvolt: 1000
   kern.cputhrottle_freqs: 1596 1862 1995
   kern.cputhrottle_factoryvolts: 1000 1112 1112
   kern.cputhrottle_ctl: 18208
   kern.cputhrottle_auto: 1
   kern.cputhrottle_targetload: 30

   我們可以直接看到上面 kern.cputhrottle_freqs 就是所支援的 SpeedStep
   CPU frequency; kern.cputhrottle_curfreq 就是目前的 cpu 頻率

=== test ===

測試目前應該是可以正常工作,不過沒有實際比較到底有啟用
和沒啟用電池續航力差多少… 

=== bugs ===

1. 偶爾 SpeedStep.app 會爛掉…
2. 能降低的頻率也太少了,我在某機器上如果純粹用無線網路只用 terminal 寫東西,平均都可以到 300-500MHz
   (說實在文書處理工作也不用太多 cpu 啊…)
   電池可以用五個小時左右 (~4000 mAh)