chenpc July 31st, 2008
當Gentoo Linux在做upgrade的時候,常常一個lib的升級會讓原本可以work的程式壞掉。
比方說:
某程式需要libaac-0.1,當libaac-0.2升級的時候,他會把libaac-0.1砍掉,換成libaac-0.2。這時候如果有程式去depend到libaac-0.1的時候,會顯示share lib not found。
FreeBSD的作法是讓他去depend某一個程式的版本號。比方說編的時候是depend到libaac-0.1,那libaac-0.1就不會被砍掉。不過這樣的作法有點肥,而且有時候不是depend到版本號的時候還是會噴掉。不清楚FreeBSD怎麼檢查和避免這樣的狀況。
Gentoo Linux之前的作法是跑revdep-rebiuld,去檢查所有lib的相依性。如果發現有程式需要的share lib不見了,他會把該程式rebuild。不過這樣的作法前提就是會先壞掉,再修復。
新的portage作法是他會自己detect libs被其他程式使用,然後把該套件砍掉之後,被使用的libs會被保存下來。並提醒你要rebuild,在下完emerge @preserved-rebuild之後,會把程式link到新的lib,並把舊的砍掉。而且中間過程不會有噴掉的時候。
這真的是….太聰明了。
Tags: Linux
chenpc July 29th, 2008
我:學弟,你都用哪一套debugger?
學弟:什麼是debugger,那是作啥的?
我:不然當你程式寫出來,結果和你預期的不一樣,你會怎樣…….?
學弟:我會很難過……
Tags: NCTU
chenpc July 24th, 2008
之前搞了一個hosting服務,說道最後當然還是因為自己想用。一開始用lighttpd的mysql-vhost實做,大概花了一個晚上。功能弄出來之後,卡在權限問題一直沒搞定。後來換成apache的rewrite-map + suphp,把問題解決掉了。技術問題總算告一段落。很多學校都有提供網頁代管服務,使用方法都是類似http://www.xxxx.edu.tw/~user/。這種作法好像沒辦法架wordpress,而且domainname也受限於學校。很多學長們都是在國外租主機,比方說gslin,jnlin和chwong大大們。不過以後,這個服務推下去的話。只是web hosting的話,就樣就可以解決。以後可能就不用租主機繳年費了。
Tags: CCCS
chenpc July 24th, 2008
之前實驗室的電腦硬碟壞掉了一顆,感謝mdadm寄信來告訴我這件事。後來發現,應該是誤判。因為事情是這樣的,只要access失敗,他就會把該硬碟標記成失效。可是常常只是偶發狀況或是硬碟排線接觸不良。只要把他加回去重新sync一次就會發現其實沒有壞掉。
Code: mdadm /dev/md0 --re-add /dev/sdb2
減少硬碟配置的數量,竟然是用grow。下面範例是從raid1 devices=4降到devices=2。
Code: mdadm /dev/md0 --grow -n 2
Tags: Linux
chenpc July 2nd, 2008
昨天裝了一台8 core的主機,看到八匹企鵝才恍然大悟.
core的數量,決定企鵝的力量!

Tags: Linux