2010年12月24日 星期五

Adding RBD support for Xen

Ceph 是近來新興的分散式檔案系統, 作者網站號稱可以到 peta-byte 的處理能力
看他的架構的確是不錯, 但目前還在開發階段, 不宜作為 production 使用!!
以下是小弟寫的小小 script 讓 xen 也能使用 Ceph 的 Rados

Adding the follow code in /etc/xen/scripts/block-rbd
#!/bin/bash

# Usage: block-rbd [monitor_server options pool_name image_name]

dir=$(dirname "$0")
. "$dir/block-common.sh"
rbd="/sys/bus/rbd/devices"

case "$command" in
add)
echo "$2 $3 $4 $5" > /sys/bus/rbd/add
sleep 0.5
for dev in `ls $rbd`; do
if [ "`cat $rbd/$dev/pool`" == $4 ] && [ "`cat $rbd/$dev/name`" == $5 ]; then
write_dev "/dev/rbd$dev"
xenstore_write "$XENBUS_PATH/rbd" "$dev"
exit 0
fi
done
exit 1
;;
remove)
dev=$(xenstore_read "$XENBUS_PATH/rbd")
echo $dev > /sys/bus/rbd/remove
;;
esac

Modify the last line of /etc/xen/scripts/block

--- block.org 2006-11-13 15:13:37.000000000 +0100
+++ block 2010-12-24 20:55:10.000000000 +0800
@@ -404,4 +404,4 @@

# If we've reached here, $t is neither phy nor file, so fire a helper script.
[ -x /etc/xen/scripts/block-"$t" ] && \
- /etc/xen/scripts/block-"$t" "$command" $node
+ /etc/xen/scripts/block-"$t" "$command" $p


Creating new config file for VM

The format of new block device is "rbd:monitor_server options pool_name image_name". example:

kernel = "/mnt/images/gentoo/kernel/boot/vmlinuz-2.6.32.26-domu"
extra = "root=/dev/xvda1 ro console=hvc0 ip=::::vm01::off"
memory = 1024
vcpus = 2
name = "vm01"
vif = [ '' ]
disk = [ 'rbd:192.168.15.1 name=admin rbd gentoo.2010-0.x86-64.img,xvda1,w' ]

2010年12月21日 星期二

SuRun - SUDO in Windows

在 Linux 系統中,管理員常會用 sudo 開放特定指令的權限給其他使用者
例如給 web server admin 的話可以用 sudo /etc/init.d/apache restart
sudo 好處在於可以只針對特定程式給予 root 權限

在 windows 上,有一個類似的軟體叫 SuRun 概念跟 sudo 差不多
對個人來說~平常可以使用較低權限的帳號,當需要使用特定權限時再用 SuRun 執行
可以減少被惡意軟體破壞的機率
對企業來說~可針對特定一定需要 admin 的軟體設定,而不需給使用者全部 admin 權限

2010年12月7日 星期二

PPStream for Linux 復活了(不用 root, 支援 64-bit)

今天無意間發現 PPS 已經有 for Linux 的版本了
稍微測試了一下,效果非常好,也很省資源
快到官方網頁下載吧: http://dl.pps.tv/
或是直接下載連結: PPS Linux版本(Ubuntu 8.04+)
官方提供的是 Ubuntu 8.04+ 32-bit deb 版本

接下來的文章主要介紹如何在 Gentoo Linux 64-bit 使用
  1. 安裝 32-bit Qt library: emerge emul-linux-x86-qtlibs
  2. 安裝播放器 mplayer (這大家應該都有了吧)
  3. 安裝 32-bit 的 fuse library: (我是設定 PORTAGE_TMPDIR=/tmp)
    # ebuild `equery w sys-fs/fuse` unpack
    # cd /tmp/portage/sys-fs/fuse-2.8.5/work/fuse-2.8.5
    # ./configure --build=i686-pc-linux-gnu --target=i686-pc-linux-gnu CFLAGS=-m32 LDFLAGS=-m32
    # make
    之後會在 lib/.libs 產生 libfuse.so.2.8.5 , 等一下會用到
  4. 安裝 deb2targz 把 .deb 轉成 tar.gz 格式: emerge deb2targz
  5. 解壓縮: tar zxvf ppstream_1.0.0-1_i386.tar.gz -C /
  6. 把剛剛產生的 libfuse.so.2.8.5 複製到 /opt/pps/lib 並建立連結
    # cd /opt/pps/lib
    # ln -s libfuse.so.2.8.5 libfuse.so.2
  7. 啟動 PPS: (如果出現 gksudo:命令找不到 請忽略)
    # LD_LIBRARY_PATH=/opt/pps/lib /opt/pps/bin/PPStream &
  8. 修改 PPS 的音效設定: 工具/選項/選擇音頻設備, 選 alsa
  9. 開始享受 PPS
PS. 如果你不喜歡被限制在 PPS 的播放視窗裡,
可以直接用你喜歡的播放器播放 /tmp/fuse/stream 讚啦!!!

PS2.如果不熟悉怎麼產生 libfuse.so 請留言我再寄給您

PPStream 工作原理解說:
這邊讓我們了解為什麼需要 root 原因以及解決方法

2010年11月23日 星期二

Speed-up eix-update

eix 是一個可以加速 Gentoo 套件搜尋的工具
但是在建立資料庫時所需花費的時間很長
尤其是 kde 的 overlay 會花上數分鐘的時間

在 Gentoo Forum 上找到解決方法
可大幅減少 update 的時間

需在 /etc/eixrc 加入:
OVERLAY_CACHE_METHOD='parse'


但討論串有提到會有這樣會有誤判的 slot
不過不是很清楚是什麼意思
目前使用上也沒遇到問題
先這樣試試看吧

Reference:
eix-update -a kde-sunset gets stuck at 48%

2010年9月23日 星期四

X61 2.20 SLIC2.1/X61最新BIOS帶SLIC2.1/X61激活Win7/X61激活Windows7

引用:http://www.52sino.com/2009/11/03/241.html

X61 2.20 SLIC2.1/X61最新BIOS帶SLIC2.1+添加白名單去除1802-1804限制。

改版BIOS簡介:BIOS基於聯想官網最新X61 BIOS2.20版修改!
完美添加slic2.1表,添加白名單!
放在同一目錄解壓,然後運行官網BIOS文件中的winphlash.exe文件…指定到剛解壓出的BIOS文件.,刷新!!PS:刷BIOS有風險,務必小心為妙!!安裝完成後可以完美激活win7。

由於自身問題導致的刷後黑屏.不開機.等一切後果自負!!下載說明::請選擇對應版本!!!X60T的用戶千萬不要選擇了,祝大家好運!

X61破解版BIOS BIOS.rar

注意:winphlash.exe文件在官方BIOS文件夾裡面,官方BIOS下載:官方BIOS 不明白的朋友請下載BIOS刷機教程(教程是T60 2.23版的,刷機的步驟是一樣的)

http://ppcsite.info/~ppc52776/x61

2010年9月17日 星期五

How to reset IPMI Password

  • IPMI 提供了遠端管理主機的功能,可以遠端 KVM 和 Mount ISO 等

以下提供忘記密碼或不知道預設密碼的重設方式:

  • 安裝 ipmitool
  • 列出所有使用者:
# ipmitool user list 1
ID Name Callin Link Auth IPMI Msg Channel Priv Limit
2 ADMIN false false true ADMINISTRATOR
  • 重設管理員密碼:
# ipmi user set password 2

2010年8月13日 星期五

工作的態度~值得看看

From http://blog.renren.com/blog/233793861/478150700

當時公司招了大批應屆本科和研究 生畢業的新新人類。平均年齡25歲。那個新的助理,是經過多次面試後,我親自招回來的一個女孩。名牌大學本科畢業,聰明,性格活潑。私下裡我得承 認,我招她的一個很重要的原因,除了她在大學裡優秀的表現之外,還因為她寫了一手漂亮的字。女孩能寫一手好字的不多,尤其像她,看起來長發飄飄,多麼女性 化的一個姑娘,一手字卻寫的鏗鏘倜儻,讓我對她不由多了很多好感。 ­   ­
  手把手的教。從工作流程到待人接物。她也學的快。很多工 作一教就上手。一上手就熟練。跟各位同事也相處的頗融洽。我開始慢慢的給她一些協調的工作,各部門之間以及各分公司之間的業務聯繫和溝通讓她嘗試著去處 理。 ­
   ­
  開始經常出錯。她很緊張,來找我談。我告訴她:錯了沒關係,你且放心按照你的想法去做。遇到問題了,來問我,我 會告訴你該怎麼辦。仍然錯。又來找我,這次談的比較深入,她的困惑是,為什麼總是讓她做這些瑣碎的事情?我當時問她:什麼叫做不瑣碎的工作呢? ­
  她答不上來,想了半天,跟我說:我總覺得,我的能力不 僅僅能做這些,我還能做一些更加重要的事情。那次談話,進行了1小時。我知道,我說的話,她沒聽進去多少。後來我說,先把手頭的工作做好,先避免常識性錯誤的發生。然後循序漸進 罷。 ­
   ­
  半年以後,她來找我,第一次提出辭職。我推掉了約會,跟她談辭職的問題。問起辭職的原因,她跟我直言:本科四 年,功課優秀,沒想到畢業後找到了工作,卻每天處理的都是些瑣碎的事情。沒有成就感。我又問她:你覺得,在你現在所有的工作中,最沒有意義的最浪費你的時 間精力的工作,是什麼?她馬上答我:幫您貼發票,然後報銷,然後到財務去走流程,然後把現金拿回來給您。 ­
   ­
  我笑著問她:你幫我貼發票報銷有半年了吧?通過這件事 兒,你總結出了一些什麼信息? ­
   ­
  她呆了半天,答我:貼發票就是貼發票,只要財務上不出錯,不就行了唄,能有什麼信息? ­
   ­
  我說,我來跟你講講,當年我的做法吧:98年的時候, 我從財務被調到了總經理辦公室,擔任總經理助理的工作。其中有一項工作,就是跟你現在做的一樣,幫總經理報銷他所有的票據。本來這個工作就像你你剛才說 的,把票據貼好,然後完成財務上的流程,就可以了。 ­
  其實票據是一種數據記錄,它記錄了和總經理乃至整個公司 營運有關的費用情況。看起來沒有意義的一堆數據,其實它們涉及到了公司各方面的經營和運作。於是我建立了一個表格,將所有總經理在我這裡報銷的數據按照時間,數額,消費場所,聯繫人,電話等等記錄下來。 ­
  我起初建立這個表格的目的很簡單,我是想在財務上有據 可循,同時萬一我的上司有情況來詢問我的時候,我會有準確的數據告訴他。通過這樣的一份數據統計,漸漸的我發現了一些上級在商務活動中的規律,比如,哪一類的商務活動,經常在什麼樣的場合,費用預算大概是多少;總經理的公共關係常 規和非常規的處理方式。等等等等。 ­
  當我的上級發現,他佈置工作給我的時候,我會處理的很妥 貼。有一些信息是他根本沒有告訴我的,我也能及時準確的處理。他問我為什麼,我告訴了他我的工作方法和信息來源。 ­
    漸漸的,他基於這種良性積累,越來越多的交待更加 重要的工作。再漸漸的,一種信任和默契就此產生,我升職的時候,他說我是他用過的最好用的助理。 ­
   ­
  說完這些長篇大論,我看著這個姑娘,她愣愣的看著我。 我跟她直言:我覺得你最大的問題,是你沒有用心。在看似簡單不動腦子就能完成的工作裡,你沒有把你的心沉下去,所以,半年了,你覺得自己沒有進步。她不出 聲。但是收回了辭職報告。 ­
   ­
  又堅持了3個月,她還是辭職了。這次我沒有留她。讓她走了。 ­
  後來她經常在MSN上跟我聊天。告訴我她的新工作的情 況。一年內,她換了三份工作。每一次都堅持不了多久。每一次她都說新的工作不是她想要的工作。05年的時候,她又一次辭職了。很苦惱,跑來找我,要跟我吃 飯。我請她去寫字樓後面的商場吃日本料理。吃到中途,忽然跟我說:我有些明白你以前說的話是什麼意思了。 ­
   ­
  所謂的職業生涯,其實你很難預測到你將來真正要從事什 麼工作,將來所要從事的工作,是否跟你在大學裡學的專業有關。大多數人,很有可能將來所作的工作,跟他當初所學的專業一點關係都沒有。22歲大學畢業在26歲之 間這四年,重要的不是你做了什麼,重要的是你在工作中養成了怎麼樣的良好的工作習慣。這個良好的工作習慣,指的是:認真,踏實的工作作風,以及是否學會了如何用最快的時間接受新的事物,發現新事物的內在規律,比別人 更短時間內掌握這些規律並且處理好它們。具備了以上的要素,你就成長為一個被人信任的工作的人。 ­
   ­
  人都有惰性,也都願意用那些用起來順手的人。當你具備了被人信任的基礎,並且在日常的工作中逐漸表 現出你的踏實,聰明,和細緻的時候,越來越多的工作機會就會提供到你面前。原因很簡單,用一句話就能交代清楚並且能被你順利完成的工作,誰願意說三句話甚至半小時交待一個怎麼都不明白的人呢?溝通也是一種成本,溝通的時間越 少,內耗越少,這是作為管理者最清楚的一件事。 ­
   ­
  當你有比別人更多的工作機會去接觸那些你沒有接觸過的 工作的時候,你就有了比別人多的學習機會,人人都喜歡聰明勤奮的學生,作為管理者,大概更是如此。 ­
   ­
  一個新手,大多數新手,在這四年裡,是看不出太大的差 距的。但是這四年的經歷,為以後的職業生涯的發展奠定的基礎,是至關重要的。很多人不在乎年輕時走彎路,很多人覺得日常的工作人人都能做好沒什麼了不起。 然而就是這些簡單的工作,循序漸進的、隱約的,成為今後發展的分水嶺。 ­
   ­
  漫不經心的對待基層工作的最大的損失,就是將看似簡單 的事物性處理方式,分界成為長遠發展的能力問題。 ­
   ­
  聰明的人,總是不認為自己的能力有問題。時間長了,他 會抱怨自己運氣不好,抱怨那些看起來資質普通的人,總能比自己更能走狗屎運。抱怨她容貌比自己好,或者他更會討領導歡心。等等等等。慢慢的,影響心態。所 謂的懷才不遇,有時是這種情況。 ­
   ­
  工作需要一個聰明人,工作其實更需要一個踏實的人。在聰明和踏實之間,我更願意選擇後者。 ­
   ­
  而踏實,是人人都能做到的。和先天條件沒有太大關係。 ­
這是無意間在同學空間看到的一篇文章,覺得說的很好。就COPY 了過來。描述的都是現代社會新人對工作的態度,或者心理。 包括我自己在內,看著看著孔乙己的感覺就出來了。如果想向前邁進,不要覺得是大才小用了自己,也不要去計較,更不要去嫉妒。請放下心裡的疙瘩,用心的做 吧!!

--
題外話
沒想到大陸那邊自己也做了一套幾乎跟 facebook 一樣的網站
人多真好~什麼東西都可以自己來

2010年5月26日 星期三

修改 OpenOffice 介面(UI)字型

升級 OO 3.x 後,所有介面都無法顯示中文,只會出現 口口 如下圖



到 工具(T)/選項(O)/檢視 下 取消 "使用使用者介面的系統字型" 後


OO 就會自動用系統裡的字型來取代,也就可以看到中文字
但 OO 會隨便挑選系統中可以顯示中文的字型來使用,有時特殊美工用字型並不適合
如下圖,用 古印體 顯示看起來很不清楚


在網路上找到很多說把 Andale Sans UI 取代成 新細明體
但是不管我怎麼設定他都沒有作用,只好把會被優先找到的字型由系統移除...
直到最近找到有人分享 OO 字型設定檔才發現
原來新版 OO 有針對不同語系設計不同的字型取代順序
已經不再是用 Andale Sans UI 為預設介面字型
對中文語系使用者,其介面字型預設為 "方正明體"
因此只要把 方正明體 用其他你喜歡有中文的字型取代即可呈獻美美的介面


這個神奇的設定檔在 /usr/lib/openoffice/basis3.2/share/registry/data/org/openoffice/VCL.xcu
開啟後找 zh-tw 字串,接下來就會看到很多 方正明體;AR PL Mingti2L Big5;細明體;MingLiU; 之類的字型取代順序
也才發現原來他預設的介面字型對中文使用者來說已經改成 方正明體
奇怪的是,照他裏面列表的順序,應該可以優先使用新細明體,不知為何他會找一個不在列表中的字型來用

參考資料:
如何修改 NeoOffice 使用者介面 (UI) 的字型

2012.05.19 update:
for libreoffice, please ref /usr/lib64/libreoffice/share/registry/main.xcd
Ref: http://ooo.tn.edu.tw/modules/xforum/viewtopic.php?post_id=10043

2010年1月26日 星期二

同步資料 lock 的處理機制

請教:spinlock,mutex,semaphore,critical section的作用和區別,都適合那些場合,謝謝
Mutex是一把鑰匙,一個人拿了就可進入一個房間,出來的時候把鑰匙交給隊列的第一個。一般的用法是用於串行化對critical section代碼的訪問,保證這段代碼不會被並行的運行。
(A mutex is really a semaphore with value 1.)


Semaphore是一件可以容納N人的房間,如果人不滿就可以進去,如果人滿了,就要等待有人出來。對於N=1的情況,稱為binary semaphore。一般的用法是,用於限制對於某一資源的同時訪問。



Binary semaphore與Mutex的差異:

在有的系統中Binary semaphore與Mutex是沒有差異的。在有的系統上,主要的差異是mutex一定要由獲得鎖的進程來釋放。而semaphore可以由其它進程釋放(這時的semaphore實際就是個原子的變量,大家可以加或減),因此semaphore可以用於進程間同步。 Semaphore的同步功能是所有系統都支持的,而Mutex能否由其他進程釋放則未定,因此建議mutex只用於保護critical section。而semaphore則用於保護某變量,或者同步。



另一個概念是spin lock,這是一個內核態概念。 spin lock與semaphore的主要區別是spin lock是busy waiting,而semaphore是sleep。對於可以sleep的進程來說,busy waiting當然沒有意義。對於單CPU的系統,busy waiting當然更沒意義(沒有CPU可以釋放鎖)。因此,只有多CPU的內核態非進程空間,才會用到spin lock。 Linux kernel的spin lock在非SMP的情況下,只是關irq,沒有別的操作,用於確保該段程序的運行不會被打斷。其實也就是類似mutex的作用,串行化對critical section的訪問。但是mutex不能保護中斷的打斷,也不能在中斷處理程序中被調用。而spin lock也一般沒有必要用於可以sleep的進程空間。



Mutex vs. Semaphore, what is the difference?

The Toilet Example (c) Copyright 2005, Niclas Winquist ;)

Mutex:

Is a key to a toilet. One person can have the key - occupy the toilet - at the time. When finished, the person gives (frees) the key to the next person in the queue.

Officially: "Mutexes are typically used to serialise access to a section of re-entrant code that cannot be executed concurrently by more than one thread. A mutex object only allows one thread into a controlled section, forcing other threads which attempt to gain access to that section to wait until the first thread has exited from that section."
Ref: Symbian Developer Library

(A mutex is really a semaphore with value 1.)

Semaphore:

Is the number of free identical toilet keys. Example, say we have four toilets with identical locks and keys. The semaphore count - the count of keys - is set to 4 at beginning (all four toilets are free), then the count value is decremented as people are coming in. If all toilets are full, ie. there are no free keys left, the semaphore count is 0. Now, when eq. one person leaves the toilet, semaphore is increased to 1 (one free key), and given to the next person in the queue.

Officially: "A semaphore restricts the number of simultaneous users of a shared resource up to a maximum number. Threads can request access to the resource (decrementing the semaphore), and can signal that they have finished using the resource (incrementing the semaphore)."
Ref: Symbian Developer Library

2010年1月13日 星期三

在「磁碟整理」程序中禁止使用「壓縮舊檔案」功能

http://support.microsoft.com/kb/812248/zh-tw

壓縮舊檔時「磁碟清理」工具停止回應

當您嘗試壓縮舊檔案時,「磁碟清理」工具可能會停止回應,而您可能會收到下列訊息:
磁碟清理正在計算您可以在 C: 上釋放多少空間。
可能要幾分鐘時間才能完成。
正在掃描:壓縮舊檔案


回此頁最上方
發生的原因
當「磁碟清理」公用程式使用不正確的登錄項目來尋找壓縮檔案時,便會發生這個問題。

回此頁最上方
其他可行方案
警告 不當使用「登錄編輯程式」可能會導致嚴重的問題,甚至必須重新安裝作業系統。Microsoft 不保證可以解決您不當使用「登錄編輯程式」所導致的問題。請自行承擔使用「登錄編輯程式」的一切風險。

如果要解決這個問題,請依照下列步驟執行:
1. 按一下 [開始],然後按一下 [執行]。
2. 在 [開啟] 方塊輸入 regedit,再按下 ENTER。
3. 找出並按一下下列登錄機碼:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches
4. 在 [檔案] 功能表按一下 [匯出],再按一下 [桌面],在 [檔名] 方塊輸入 VolumeCaches,再按一下 [儲存]。

注 意 這個步驟會建立 VolumeCaches 登錄機碼的備份。如果在您完成這個程序的步驟之後仍遭遇任何問題,您可使用這個備份將 VolumeCaches 機碼還原至原始的狀態。如果要還原這個機碼,請按兩下您桌面的 VolumeCaches.reg 檔,再按一下 [是]。
5. 展開下列登錄機碼:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches
6. 刪除 [Compress old files] 登錄機碼。
7. 結束 [登錄編輯程式]。

Related Posts Plugin for WordPress, Blogger...