fabric - Machine Manager

Python Fabirc 是一個類似 Ruby capistrano 的自動化部署跟系統管理工具,安裝指令是 pip install -U fabric 或者 easy_install fabric 都可以。fabric 的使用也非常的簡單,只要寫好一個檔名是 fabfile.py 的檔案,在同一個資料夾底下打 fab --list 就可以看到有哪些參數可以下(就是 fabfile.py 裡面的 function)。

以下是一個簡單的範例 template

繼續閱讀

分享到 評論

使用 vGhetto 管理 VMware vCenter

vGhetto 是一個由社群主導的專案,主要的目的當然是簡化管理 VMware 的工作,不用使用最原始的 vmrun 這個指令或者 Perl SDK 做管理,整個專案放在 SourceForge,到 專案頁面 下載,抓下來的目錄長這樣 (或者直接用 svn co https://vghetto.svn.sourceforge.net/svnroot/vghetto vghetto 也可以)

.
./INSTALL
./TODO
./bitmaps/
./build/
./demo/
./installers/
./other/
./scripts/
./vGhetto.pl*
./wbin/

其中的 scripts 資料夾就是放置管理用 script 的地方,裡面是一堆 .pl 的 perl 檔案

繼續閱讀

分享到 評論

設定 SPF 跟 DomainKeys 在 postfix 和 tinydns

  • Will be replaced with the ToC
    {:toc}

部門最近有架 Mail Server 的需求,要架 Mail Server 首先要搞定不讓自己寄出去的信被當作 Spam,參考 Google 的 電子郵件驗證 中說的,要可以被 驗證和識別,通常就是 Domain 要發佈 SPF 跟簽署 DKIM(DomainKeys Identified Mail) 或最古老的 DomainKeys,不過有了 DKIM 後原本單純 DomainKeys 就被廢棄了(當然目前還是可以用的)。我們單位用的 mail server 是 Postfix 而 DNS 則是 tinydns (djbdns %}

設定 SPF

SPF 只是簡單的 DNS TXT 發佈而已,可以利用 easySPF 製作。於是在 tinydns 的設定檔加入下列資訊:

'foo.bar:v=spf1 ip4\07211.22.33.44/32 ~all:600

這裡用 foo.bar 當作 domain,而 11.22.33.44 則是 Server 寄信出來的 public ip,這樣子就完成啦~

我們用 dig TXT foo.bar @8.8.8.8 +tcp 可以觀察到

;; ANSWER SECTION:
foo.bar.        600     IN    TXT    "v=spf1 ip4:11.22.33.44/32 ~all"

設定 DKIM

繼續閱讀

分享到 評論

Server 收到 SYN packet 後沒有 SYN/ACK 回應

這是最近管發生的怪現象,就是公司某個單位一直跟我們說他們的 Server 要連我們的 Server,結果我們這邊時好時壞,… 什麼?! 我們這邊時好時壞? 從沒有聽過用戶說我們的 Server 連不上阿,於是就跟他們一起 Debug,開了 tcpdump 來看,發現我們這邊的確有時候收到 SYN 結果就不回 SYN/ACK kernel 直接 drop 封包 XD 這是什麼鬼,kernel 也太不聽話了,不過我們這邊 kernel 沒有打開 iptables 也沒有什麼 drop 封包的規則,於是就 Google 了一下,原來有人跟我們遇到一樣的狀況 Why would a server not send a SYN/ACK packet in response to a SYN packet

簡單的來說跟我們一模一樣,隨機的不回 SYN ,根據那篇文章說的,解法有下列兩種:

  • 關掉 client 的 tcp window scaling

不過這個顯然不是什麼好的方法,因為我們不能限制 client 阿

  • 關掉 server 的 tcp window scaling 跟 tcp timestamps

看起來是因為 client 送的 tcp window size 不被 server 接受所以就 drop 掉,可是為什麼是 SYN 就被 drop 實在是不可得知。不過我們的 Server 後來加了以下設定後的確就好了:

net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack = 0

參考資料:

分享到 評論

為什麼我跳槽到 octopress

When I met Octopress

Octopress 是一個之前(應該是兩年前吧 XD)很流行的 Static Blog Generators 的產物,Based的語言是 Ruby,底層依賴 Jekyll,由於 Jekyll 支援很多其他有的沒的,像是 Markdown Engine 支援很多種(包含了 Maruku 或者 Kramdown ),另外也有 Syntax Highlight (可以使用 Pygment 或者 Coderay),加上 Octopress 作者自己的延伸讓 Octopress 常見的功能(甚至是不會用到的功能XD)都有提供了。

之前公司的學弟就使用 Markdown 在寫工作日誌,其實滿不明所以然

繼續閱讀

分享到 評論

從 TextMate 2 跳到 Sublime Text 2

原本都是使用 TextMate 後來實在受不了不能好好支援 cjk 的輸入。

加上 TextMate 已經過了好久都沒有更新,原本說好在 Mac OS X 10.5 出來的時候就要改用 CoreText 改寫,結果也跳票了。不然實在是離不開 TextMate 的 snippet 。

不過雖然 TextMate 在前一陣子推出 TextMate 2 beta 但是很多功能還是沒有完整,而且不時還會當機,所以前陣子原本就想說找個替代品,一路搜尋下來就發現了 Sublime Text 2 (beta)。

可以說 TextMate 該有的他都有,而且支援了更多的功能,加上跨 Windows, Linux, OS X 所以可以預料到未來應該會有更多人力加入寫 Sublime Text 2 packages 的行列。

繼續閱讀

分享到 評論

FreeBSD 初體驗

其實說初體驗好像太誇張 XD

大學時候有碰過一次 不過覺得好難玩(跟 Gentoo 比的話) (¬_¬) 所以就沒有繼續碰

最近因為想評估 FreeBSD 一下所以就想說來試一下

安裝非常簡單 都是選單互動的 比 Gentoo 簡單很多 XD

繼續閱讀

分享到

Open RC ulimit


一切都是因為手賤 XD

因為我們的 Server 要設定大一點的 ulimit

傳統的 Linux (或者說 Gentoo 在舊的 baselayout ) 都是使用 /etc/security/limits.conf 來設 ulimit

於是當然就照以前的印象做拉~

結果重開機後…


然後所有的 service 就都起不來了 什麼鬼 / 口 \

而且一開始還沒有想到是這個在搞鬼 以為是 PAM 或者 OpenRC 錯了

一直在想是不是 emerge 的 USE flag 錯了還怎樣

繼續閱讀

分享到

解決 OS X Lion 中 Log 一直出現 sanboxd deny 的訊息

雖然不是什麼大不了的事情

不過看了總是很不順眼 XD

就是每次開 Console Log 都會噴一堆

sandboxd: ([]) WebProcess() deny file-read-data /Library/Caches/com.nvidia.OpenGL
sandboxd: ([]) WebProcess() deny file-write-create /Library/Caches/com.nvidia.OpenGL/

之類的 deny 訊息,如下圖


這看了很讓人不順眼阿!

繼續閱讀

分享到

陶瓷蝴蝶結


這是女朋友在 Youtube 看到的~ 實在很勾錐~



陶瓷蝴蝶結 跟其他 杯子 盤子 都很可愛~

不過電視上沒有寫聯絡方式

於是就找啊找的人肉了一番 XD

終於找到她們的部落格跟名字 小陶器 設計師是鏡子跟金金

她們專門在做可愛的陶瓷創作

像是 陶瓷蝴蝶結

繼續閱讀

分享到