2010年9月24日

sendmail使用hibox寄信


在台灣使用sendmail寄信到外部郵件信箱(如gmail, pchome, hinet...), 大概都會遇到smtp需要認證的問題(SMTP AUTH). 為了解決這個問題, 必需要把sendmail的SMART_HOST, confAUTH及MASQUERADE功能打開. 

2010年9月22日

Office 2003, 2007共存的問題

若您在安裝office時跟我一樣選擇留下舊版的office2003的話,
在使用完2003後再開啓2007, 或者是用完2007再開2003, 可能都會再進入安裝的畫面.

2010年9月18日

手動複製ubuntu Linux

複製硬碟由小到大簡單, 由大到小比較難, 我就遇到這種問題.
兩家2G的卡片, 就有不同的大小.

這是第一個CF的大小
Disk /dev/sda: 2079 MB, 2079866880 bytes
這是第二個的
Disk /dev/sdb: 2029 MB, 2029805568 bytes

這是partition的layout
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 3756031 1876992 83 Linux
/dev/sda2 3758078 4061183 151553 5 Extended
/dev/sda5 3758080 4061183 151552 82 Linux swap / Solaris

在較小的CF卡上, 我決定將後面的swap放棄掉. Linux的partition不變.


1. 我先備份bootloader(Grub)
$dd if=/dev/sda of=MBR-backup bs=446 count=1
我不備份到512bytes的原因, 是因為不想備份到partition table.
參考這篇文章: http://embraceubuntu.com/2005/10/20/backing-up-the-mbr/

2. 按照之前sda所得到的partition table, 用fdisk設定到sdb上, 只有swap的partition變小.
並將之格式化.
# mkfs.ext2 /dev/sdb1
swap 因為要設定UUID, 所以待會再做
再把bootloader 還原回去
$ dd if=MBR-backup of=/dev/sdb

3. 將/dev/sdb1 mount 到/mnt上, 用rsync備份根目錄下的資料到/mnt下

# mount /dev/sdb1 /mnt
# cd /
因為mnt, proc, sys的目錄都是虛擬的檔案系統, 所以不用copy
# rsync -a --exclude=mnt --exclude=proc --exclude=sys * /mnt/
# sync

4. 最後, 需要修改硬碟磁區的UUID及udev網卡的rule
因為ubuntu 用UUID來區別partition, 因此需要根據原本的/etc/fstab所記載的UUID來修改.
# tune2fs -U b39b9f26-ebfa-470b-a68a-30dbcc0e7a13 /dev/sdb1
參考網址如下:
http://wiki.linux.org.hk/w/Manage_filesystem_with_UUID
swap的UUID需在mkswap就指定
# mkswap -U 592b51dd-5e1e-440f-9017-f200e7bf078c /dev/sdb5

由於要使用新的CF卡的是另一台相同硬體的電腦, 因此網卡的mac是不同的, 而ubuntu的網卡命名方式又是由mac address來決定
網卡的名稱是由udev的70-persistent-net.rules
修改 /etc/udev/rules.d/70-persistent-net.rules
將mac address改為新硬體網卡的 mac就可以了

註: 我不直接改新CF卡上的/etc/fstab裡的UUID是有原因的; 如果直接將新CF卡裡的/etc/fstab內的根目錄及swap改成新卡上的UUID, 開機時仍會找不到舊的UUID, 我猜想initrd裡是不是也有記錄同樣的fstab. 為了怕麻煩, 直接將新CF卡上的UUID改成跟以前一樣比較快.

2010年9月6日

Cisco也有GPL code可以下載

Cisco也有GPL code可以下載喔...
http://homesupport.cisco.com/en-us/gplcodecenter?referrer=www.linksysbycisco.com


原因在這篇文章中
http://www.openfoundry.org/en/worldwide-news/1930


YAML

我覺得YAML可以用在比較複雜的設定檔上, 它有提供各種語言的parser, 也比XML來得簡單. Google App engine也用這種語言來做設定檔的語法. 
下載網站: http://www.yaml.org/


以下為wikipidia的介紹:
YAML(IPA: /ˈjæməl/,尾音類似camel駱駝)是一個可讀性高,用來表達資料序列的程式語言。 YAML參考了其他多種語言,包括:XMLC語言PythonPerl以及電子郵件格式 RFC2822。Clark Evans在2001年在 首次發表了這種語言[1] ,另外Ingy döt Net與Oren Ben-Kiki也是這語言的共同設計者。目前已經有數種程式語言或腳本語言支援(或著說解析)這種語言。
YAML是"YAML Ain't a Markup Language"(YAML不是一種置標語言)的遞歸縮寫在開發的這種語言時,YAML 的意思其實是:"Yet Another Markup Language"(仍是一種置標語言),但為了強調這種語言以數據做為中心,而不是以置標語言為重點,而用返璞詞重新命名。

http://zh.wikipedia.org/zh-tw/YAML

CVS指令找改過的檔案

CVS版本管理系統雖然古老但是還是很多人在用, 至少我之前的公司就是
cvs status雖然可以找到變更的檔案有時卻又太多
這兩個指令可以找到有變更的檔名, 出處我已經忘了.
# Show new files in current project
"cvs status | grep ?"
# Show status of all *not* Up-to-date files
"cvs status | grep Status | grep -v Up"

2010年9月3日

你的Editor用什麼字型呢??

我開始用Bitstream Vera Sans Mono 是因為我發現Gnome的字型很好看,
後來研究後發現這種字型很像Linux上用的 ...
看了下面這篇文章後發現原來大家的感覺差不多 ...
另外一個字型Consolas 是Vista才有的(但可以下載), 看起來也很不錯喔 ...
唯一缺點是從MS下載回來的安裝程式, 會檢查你有沒有安裝 Visual Stdio

http://www.sitepoint.com/blogs/2009/05/01/top-10-programming-fonts/

coap-client 4.3.0 Windows build

coap-client  is a  wget -like tool to generate simple requests for retrieval and modification of resources on a remote server.  Got the sour...