將 “git://” 轉換成 “https://”

最近發現在公司無法使用 git://
應該是某些 port 被 firewall 擋下來了
只好將 “git://” 轉換成 “https://”
git config --global url."https://".insteadOf git://

NTP 失靈??

最近發現多台工作站的時間都不準了,快了近十分鐘
手動進行 NTP 同步也沒用
後來連到 www.stdtime.gov.tw 才看到這訊息:

NTP服務中time, tock, clock因校時請求過多,頻寬不足,請多改用tick與watch伺服器

恩,將原本 time.stdtime.gov.tw 的設定 改成 tick.stdtime.gov.tw
在同步一次
OK! 時間對了!…. 原來如此…

Homebrew: OS X 缺少的套件管理工具

一直以來都是使用 Mac Port 來安裝 Apple OS X 沒有內建的 軟體 或 套件
今天來試試另外一套: Homebrew
安裝很簡單

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

安裝好後,根據指示,先執行

$ brew doctor

它似乎會將原本 Mac Port 的目錄 /opt/local 先搬到 ~/macports
這樣就可以開始使用了..

先來裝個 wget 試試

$ brew install wget

安裝 wget 後,雖然 OK
但是出現一些警告訊息,似乎是希望我將 MacPort unistall

SVN 命令列使用技巧

有時候必須使用 命令列 方式 來 commit files
但經常有很多散在各個子目錄裡的新增檔案
若用 svn add 一個一個來新增 實在費時費工
後來在這裡找到一個好方法:

    svn status | grep “^?” | awk ‘{print $2}’ | xargs svn add

這樣就可一次將新增檔案加入
不過要小心不要加到垃圾檔了….

IPv6: 讓 OS X 開機時自動執行 gw6c

參考來源:個人收藏指令集:gw6c的LaunchDaemons http://cmd.hhmr.biz/2012/11/gw6claunchdaemons.html

建立檔案 /System/Library/LaunchDaemons/gw6c.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
 <key>UserName</key>
 <string>root</string>
 <key>GroupName</key>
 <string>wheel</string>
 <key>Label</key>
 <string>gw6c</string>
 <key>ProgramArguments</key>
 <array>
  <string>/usr/local/gw6c/bin/gw6c</string>
  <string>-f</string>
  <string>/usr/local/gw6c/bin/gw6c.conf</string>
 </array>
 <key>RunAtLoad</key>
 <true/>
 <key>OnDemand</key>
 <false/>
 <key>KeepAlive</key>
 <dict>
  <key>SuccessfulExit</key>
  <true/>
  <key>NetworkState</key>
  <true/>
 </dict>
</dict>
</plist>

之後 重新開機 或執行

$ sudo launchctl load /System/Library/LaunchDaemons/gw6c.plist

不過,gw6c 似乎會與 Tunnelblick OpenVPN Client 相衝!?
只要 gw6c 執行中,OpenVPN Client 就無法連接 OpenVPN Server
目前還無對策,只好在需要使用 openvpn 時,先結束 gw6c

$ sudo launchctl unload /System/Library/LaunchDaemons/gw6c.plist

加速Youtube: HiNet IPv6 Tunnel Broker for Mac OS X

聽說使用 IPv6 可以加快 Youtube 尤其是看 1080p 的時候
以下是安裝過程:

下載/安裝 TunTap for Mac OS X

$ sudo port install vpnc
$ sudo port load tuntaposx

下載/編譯 gw6c

$ wget http://nabla.googlecode.com/files/gw6c-6_0-RELEASE.tar.gz
$ tar -zxvf gw6c-6_0-RELEASE.tar.gz
$ cd gw6c-6_0-RELEASE/tspc-advanced
$ make target=darwin all
$ sudo make target=darwin installdir=/usr/local/gw6c install

設定 gw6c.conf

$ cd /usr/local/gw6c/bin
$ sudo vi gw6c.conf

#使用 HiNet  免認證模式:
userid=
passwd=
server=203.74.21.89
auth_method=anonymous

#使用 HiNet 認證模式:
userid=填入HiNet帳號 如8xxxxxx,只需要數字部分
passwd=填入HiNet密碼
server=203.74.21.88
auth_method=any

啟動 gw6c

$ sudo ./gw6c
$ ifconfig
看看 tun0 有沒有出現

測試網站: http://ipv6.google.com

Mac OS X 10.8 安裝 SVN Server

自從買了新的 2012 Late Mac Mini 之後
就開始將舊的 資料 搬到 新機器上
不過發現無法啟動 SVN server on apache2 web server
後來發現 原來是 Mac OS X 10.8 把 mod_dav_svn.so 給拿掉了… 很奇怪耶?
只好自己 compile 再補回去 …

首先,先確認 Mac OS X 10.8 內建的 SVN 版本

$ svn --version
svn, version 1.6.18 (r1303927)
   compiled Nov  2 2012, 23:47:41

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.apache.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository access (RA) modules are available:

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
  - handles 'http' scheme
  - handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme

接下來要下載 相同版本的 SVN source code,並重新 Compile 後
將所缺少的 module 補回去

$ cd ~/Download
$ wget http://archive.apache.org/dist/subversion/subversion-1.6.18.tar.bz2
$ tar -jxvf subversion-1.6.18.tar.bz2
$ cd subversion-1.6.18
$ ./configure
$ make
$ sudo cp subversion/mod_dav_svn/.libs/mod_dav_svn.so /usr/libexec/apache2/
$ sudo cp subversion/mod_authz_svn/.libs/mod_authz_svn.so /usr/libexec/apache2/

接下來,建立 /etc/apache2/other/svn.conf

$ vi /etc/apache2/other/svn.conf
LoadModule dav_svn_module /usr/libexec/apache2/mod_dav_svn.so
LoadModule authz_svn_module /usr/libexec/apache2/mod_authz_svn.so
<Location /svn>;
    DAV svn
    SVNParentPath /PATH-TO-SVN-REPOSITORY
    SVNListParentPath on
    AuthType Basic
    AuthName &quot;Subversion repository&quot;
    AuthUserFile /etc/apache2/svn-auth-file
    Require valid-user
</Location>;

記得變更 svn repository 的 權限

$ chown -R www:www /PATH-TO-SVN-REPOSITORY

重新啟動 Apache

$ sudo apachectl restart