google code-beautifer

星期一, 2月 11, 2008

人在曹營心在漢: linux 上使用windows系統的資訊

不要弄錯了,曹營是指M$,漢營是指Linux/BSD等開放OS環境,...我自己除非學校工作逼不得已外,都是用Linux 。這些資訊是給在windows 上處理跨平台開放軟體(如wine/cygwin/samba)的先驅看的,讓開發者windows上的開放軟體可以透過wine, virtual box 等在Linux 上執行。台灣有些人喜歡跑到別人個人網站偷看,毛手毛腳外還自以為奧步硬凹是真理,整個社會價值淪喪至此,只好諸事先打預防針。

察看一些關於windows 系統的資訊


Sysinternals web 是Mark Russinovich and Bryce Cogswell 在1996創立的,後來被M$ 買下來。有很多M$隱藏的系統內容,所有人現在都可以藉由這些工具一窺,如
Process Explorer v11.04 By Mark Russinovich
AutoRuns for Windows v9.01 By Mark Russinovich and Bryce Cogswell
LiveKd v3.0 By Mark Russinovich
Sigcheck v1.4 By Mark Russinovich
FileMon for Windows v7.04 By Mark Russinovich and Bryce Cogswell

開機執行程式


msconfig可以在開機時取消一些不想要啟動的程式。(Win2000 沒有提供,可以
拷貝 Windows 98 或 XP下 的這個程式到 winnt\system32\下用 開始 -> 執行 ->
輸入 msconfig 來執行。

其實也可以直接用 regedit去改(有點像Linux 下的 /etc/ 跟 /proc)。比如
HKEY LOCAL_Machine ->SOFTWARE -> Microsoft -> Windows -> CurrentVersion -> Run

批次方式執行程式


Windows 很多所謂的"創新",基本上就是去Unix/Mac 上抄別人真的創新,所以當你發現怎麼內部顯示網路命令也是"剛好"叫 netsate時,...也就不用驚訝其實Windows也可以用批次方式執行程式,當然是比不上Linux 方便,不過勉強用用。用過DOS 的人大概都知道shell (window 2k/XP的cmd)可以執行.exe程式,比較少人知道.dll檔可以透過 Rundll32.exe和Rundll.exe來執行,(Rundll.exe是用來執行16位DLL檔案),有些木馬利用Rundll32.exe載入DLL形式執行,所以要確定所執行的Rundll32.exe是在%systemroot%\system32目錄下沒動過檔名的)

此外微軟出的PowerShell加了不少功能(需要裝 .NET Framework Version 2.0)。
不過呢光下載就需要通過WGAPluginsatall.exe 驗證。要是哪一天Linux 上能夠透過wine 能來作驗證就太好了。

系統服務


不該開的系統服務全關掉。如CDBurnerXP跟Nero Buring ROM 都不用 IMAPI,可以考慮設manual。

RegSeeker個人免費使用,可以來找一些Registry 相關資料

延伸閱讀


http://www.annoyances.org/ 這是鼎鼎大名的 winodws annoyances網站
http://longtx.no-ip.com/ 這個網站有一些中文winodws的系統資訊

星期三, 2月 06, 2008

中文頻率最高的前100個詞

下面的資料是來自「中央研究院平衡語料庫詞集及詞頻統計(Word List with Accumulated Word Frequency in Sinica Corpus 3.0)」。這跟Big5 產生的年代已經有一些距離了。

可是我很好奇,會不會有些字即使後來使用頻率居上,比如王建(火宣),陶(吉吉),...但是受到電腦編碼下Big5 的影響,而在語料庫裡永不得翻身?其實光這點在學術上就很有得爭論。但關於這樣的問題,我一時是無法回答的,因為Sinica Corpus 不公開對外開放。要的人除了要花一筆錢外,使用上還有諸多限制。

不管是作gcin/linbchewing 輸入法的基礎,或是作中文 IR stop word list ,這些是很基本的資料,開放出來對政府機構其實也就是少收那一點錢,比起民進黨政府沒有效用的灑錢斷交的種種動作而言,實在是九牛一毛,可是對台灣整體的科技跟帶動的經濟都會有強勢的影響。台灣還在關起門自己搞之時,可是美國跟大陸已經在中文自然語言相關的研究上急起直追了,令人感嘆。

詞類標記 -- 依據中研院詞庫小組所架構的分類系統(參見原文)
詞頻 -- 在語料庫中出現的次數
累積頻率 -- 照詞頻排序至此詞的累積頻率(100為總頻率和)。

詞項 詞類 頻率 累積頻率
的 DE 285826 5.82
是 SHI 84014 7.53
一 Neu 58388 8.72
在 P 56769 9.88
有 V_2 45823 10.81
個 Nf 41077 11.64
我 Nh 40332 12.47
不 39014 13.26
這 Nep 33659 13.95
了 Di 31873 14.59
他 Nh 30025 15.21
也 D 29646 15.81
就 D 29211 16.40
人 Na 24269 16.90
都 D 20403 17.31
說 VE 19625 17.71
而 Cbb 18452 18.09
我們 Nh 18152 18.46
你 Nh 17298 18.81
了 T 15958 19.14
要 D 15955 19.46
之 DE 15893 19.78
會 D 14066 20.07
對 P 13944 20.36
及 Caa 13758 20.64
和 Caa 13585 20.91
與 Caa 13445 21.19
以 P 13172 21.45
很 Dfa 13013 21.72
種 Nf 12263 21.97
中 Ng 12231 22.22
的 T 11580 22.45
大 VH 11577 22.69
能 D 11125 22.92
著 Di 11026 23.14
她 Nh 10776 23.36
那 Nep 10740 23.58
上 Ncd 10619 23.79
但 Cbb 10242 24.00
年 Nf 10127 24.21
還 D 9698 24.41
可以 D 9671 24.60
時 Ng 9565 24.80
最 Dfa 9416 24.99
自己 Nh 9069 25.17
為 P 9026 25.36
來 D 8992 25.54
所 D 8873 25.72
他們 Nh 8818 25.90
兩 Neu 8692 26.08
各 Nes 8651 26.26
上 Ng 8650 26.43
可 D 8508 26.60
為 VG 8369 26.77
或 Caa 8317 26.94
好 VH 8304 27.11
等 Cab 8070 27.28
又 D 8037 27.44
將 D 7858 27.60
後 Ng 7752 27.76
因為 Cbb 7592 27.91
於 P 7395 28.06
由 P 7344 28.21
從 P 7303 28.36
更 D 7298 28.51
被 P 7272 28.66
才 Da 7266 28.81
已 D 7256 28.95
者 Na 7221 29.10
每 Nes 7207 29.25
次 Nf 7087 29.39
把 P 7024 29.54
三 Neu 6954 29.68
什麼 Nep 6729 29.81
問題 Na 6683 29.95
其 Nep 6667 30.09
讓 VL 6624 30.22
此 Nep 6599 30.36
做 VC 6597 30.49
再 D 6563 30.62
所以 Cbb 6529 30.76
只 Da 6521 30.89
與 P 6519 31.02
沒有 VJ 6510 31.15
則 D 6476 31.29
台灣 Nc 6414 31.42
卻 D 6388 31.55
地 DE 6329 31.68
並 Cbb 6171 31.80
位 Nf 6015 31.92
得 DE 5969 32.05
想 VE 5898 32.17
去 D 5748 32.28
呢 T 5577 32.40
學生 Na 5523 32.51
表示 VE 5504 32.62
到 P 5468 32.73
公司 Nc 5421 32.84
將 P 5365 32.95
如果 Cbb 5336 33.06

星期六, 2月 02, 2008

Mandriva 套件管理

建議

  • 先用DVD 或CD 安裝絕大部分的套件
  • 到 MCC 裡 用媒體管理員把 DVD 或 CD 媒體 的"啟用"取消
  • 用 easy urmpi 把媒體加入(參照下文),這樣就可以從http/ftp 站裡抓DVD 上缺的RPM/及作檔案更新
    * 有需要時(如網路斷線) 要安裝DVD 上的RPM還是可以把用媒體管理員把網路媒體 的"啟用"取消, 再打開 DVD 或 CD 媒體 的"啟用"
  • 有必要時去個別網站下載檔案

個別檔案網路下載


發行的CD/DVD 多多少少會缺套件,建議先用DVD 或CD 安裝絕大部分的套件,再按下面順序去找

  1. http://easyurpmi.zarb.org/ (Easy urpmi 詳見Easy urpmi一節)
  2. http://sophie.zarb.org/ 提供了Mandriva 的RPM索引,找不到的話再去
  3. http://fr2.rpmfind.net/ 找各大發行版本(不限Mandriva)的RPM索引


sophie 連 cooker 的套件也會顯示出來。如 multiget-1.2.0-2mdv2008.1.x86_64.rpm
但好像沒有提供實體的RPM,rpmfind 可以找到實體的RPM跟查詢個別套件的檔案及相依的套件

Easy urpmi: 加入更多套件來源


Mandrake 的控制中心 (Mandrake Control Center,以下簡稱 MCC)裡可以用媒體管理員管理不同媒體來源,有時 Mandriva DVD缺套件,會導致某些軟體不能安裝。要解決這個問題,可以在MCC 加入更多套件來源,比如說PLF (http://plf.zarb.org/~nanardon/)。PLF 全名是 Penguin Liberation Front,它收藏了很多因為種種問題而無法令 Mandrake 無法直接包括在內的軟體,例如各種P2P軟體、freeware (免費但不是開放原碼/或加發佈上的限制,例如不許加入 Linux發行版本出售)、含有有專利的東西 (mp3, 跟許多多媒體編碼都是例子)。

要指定加入套件來源的地址,用指令會比用進入MCC圖形介面更加容易。PLF的網站有一個介面叫 Easy urpmi,可以把你準備加入的站台的程序指令以文字形式顯示出來,只要以 root 身份把它給你的一行行指令用老鼠剪貼到到終端機去執行就可以了。

以 MDV2008 比方來說,通常先把 DVD 或 CD 媒體 的"啟用"取消(MCC 下執行,或終端機下執行urpmi.removemedia -a) 後,用喜歡的瀏覽器 (如mozilla-firefox)開啟 easyurpmi.zarb.org 網址 ,它會問你一些問題,然後會給你要用到的指令

1.在網頁第一個步驟 (Select your system) 中指定使用版本,機種,跟管理機制,比如Mandriva 2008.0 ,x86_64 (表示AMD 的 64 bit,跟Intel 的 64bit, i586 都不一樣),跟 urpmi,及要不要 Select the mirror separately for every source 。然後按 "proceed to step 2"。

2. 指定站台地址: main、contrib 和 update 的 mirror 站台地址。Main 是正式支援的自由軟體套件,有些非自由軟體會放到 non-free下,contrib 是其它人協助包裝但沒有正式支援的,對這三者而言: XXX_update 是發行後更新套件,XXX_backport 是半官方版本更新套件(有相容風險)。有裝 YYY 來源的話,YYY_update 最好也加入。以新增Main媒體為例,就把mirror 站下拉選成喜歡的(如twaren.net ),然後打勾。PLF 這是 PLF 自己的套件的 mirror 站台地址。

最後按 proceed to step 3。

3.以 root 用老鼠剪貼它顯示的指令到到終端機去執行,以新增Main媒體為例,如下:

urpmi.addmedia --update main_updates http://ftp.twaren.net/Linux/Mandrake/official/2008.0/x86_64/media/main/updates with media_info/hdlist.cz

要是 64 bit 環境要混用 i586套件,只要回到步驟一把架構換成 i586,重複加入更多的套件來源即可。這樣就可以在圖形介面 (rpmdrake) 或文字模式介面 (urpmi) 中選取安裝喜歡的軟件了。

使用管理


裝好後後可以用

  • urpmq 套件名稱

  • 查詢是否已安裝某個套件。
    -p 查詢還沒安裝套件檔案的資訊
    -i 顯示套件的功用資訊
    -l 列出包含了那些檔案
    -a 列出系統內所有的套件
    分頁輸出用rpm -qa | less
  • urpmi 套件名稱

  • 來安裝你想要的套件,
  • urpmf 檔案名稱

  • 可以查詢某個檔案是在那個套件裡面。
  • urpme 檔案名稱

  • 移除某個套件


即使在文字模式介面下,只要套件來源設好,要是需要安裝相依套件,urpmi也 會警告套件相依,在使用者同意後自行滿足安裝相依,十分方便。

安裝更新管理


新版在軟體有更新時,在gnome 工具列上也會提醒安裝更新。可以自行參考 /etc/urpmi/urpmi.cfg 的格式修改設定自動更新安裝。往後定期跑 urpmi.update -a 更新所有媒體資訊,文字模式介面下,每天也只要執行
urpmi --auto-select --media updates
就可以很簡單完成重大更新安裝。

不過有時候mirror 站會出問題卡住(其他如Ubuntu 也會),還是不建議完全倚賴用自動更新。

相依(dependency)問題


想把其他家的 RPM 套件裝到 Mandriva 上經常可能會遇到相依問題, 特別是出現 "找不到某某 .so 檔" ( shared objects: 動態聯結程式庫,) 之類的錯誤訊息。可能要到sophie/rpmfind 網上搜尋那個套件裡面提供欠缺的 .so程式庫,。 找不到同樣版本的話,有時到 /lib 或 /lib64 下建立 symbolic link 欺騙系統也許能成功。如
ln -s 某某.so.現有版 某某.so.需要版
不過32 位元 跟 64 位元程式庫通常是無法互用的。

此外 alien 可以將 .deb 與 .rpm 檔案互相轉換; 不過可能也會遭遇相依性問題。