:::

統計課本的公式,期刊論文的公式

統計課本的公式,期刊論文的公式

上式是資訊計量學三大定律當中的齊夫定律(Zipf's law),式中C為一常數;fr為較長文章中每個詞出現的頻率;r為與fr相對應的賦予詞的序號。

~引用自馬悅英,分形論在情報學中的應用,圖書情報工作,1998年第5期。


今天剛考完統計,範圍是敘述統計的部份,也就是平均數、變異數、標準差、機率以及常態分配。題目不難,公式也很好理解。

考完試的下午我繼續讀資訊計量學要看的「分形論在情報學中的應用」,短短三頁,但是卻有著11個公式,而且每一個都看不太懂。

翻翻蔡明月老師所著的「資訊計量學與文獻特性」,回想一下老師上課時公式講解,似乎自己都能夠理解。但是為什麼讀這期刊論文時,卻覺得這公式怎麼這麼難懂呢?

更甚者,光是看公式就看不懂了,那以後要怎麼寫出這些公式呢?未來真是讓人擔憂啊。

(more...)

大圖盃與布萊德福定律

布丁布丁吃布丁

大圖盃與布萊德福定律

根據排球場上選手碰觸到排球次數的多寡,依遞減次序排列,這些選手將可分為一個核心區(第一區)及接連的數區,且每一區包含大約相同的文獻篇數,則各區選手人數的比例將呈現1:n:n2......的關係,其中n大約是5。

以上說明只是在加油的時候想到的,其實要說的是:

恭賀政大圖檔所奪得第33屆大圖盃運動會男子排球賽季軍

選手之夜的時候,以前輔大的學姊發現我是五年以來第一次參加大圖盃,問我有沒有覺得很棒。雖然還不到感動到流淚的地步,不過也覺得人生的視野好像又擴大了一些。

我參加了桌球混雙,其他就是來喊加油。對我來說,球場是一個很不熟悉的場所。在我這個不懂規則的人的眼中,球員、裁判、旁邊加油打氣的人,都做著許多似乎已經約定成俗的規律動作。我一邊看著、一邊學著怎麼做,既然來到球場了,那就學著當裡面的一份子吧。(雖然打牌好像不是球場該出現的行為啊......)

(more...)

TOWARDS A MULTI-DISCIPLINARY BRADFORD LAW

TOWARDS A MULTI-DISCIPLINARY BRADFORD LAW

TOWARDS A MULTI-DISCIPLINARY BRADFORD LAW
Bookstein, Abraham. Scientometrics. 30(1):353-361, May 1994.

Bradford定律可以具有實務與理論價值。在應用上,可以指引圖書館館藏發展需要增減哪些文獻。而在理論上的衝擊則是更重要且有趣,。
Bradford定律在多學科中有以下多種方式:

  1. 經過布拉德佛型態分析的期刊通常是多領域的。單一領域的布拉德佛分析將各種期刊切片(slice),而且據觀察,如果有另一種切片在同一種期刊裡面產生,布拉德佛規律將會再次發生,但是是描述不同領域。
  2. 定義主題領域具有某種程度上的獨斷性(arbitrary),而且包括整合更多已定義的領域。
  3. 簡單的單一領域版本必須在某種程度上浮現主題之間非常動態複雜的互動。除非我們研究多領域基礎的形成,否則我們不能理解單一領域的布拉德佛規律。
  4. 最有用的是,我們必須用上所有領域來評鑑期刊的價值。

這篇論文有幾個目標。最重要的是強調用多領域的觀點處理文章發散,並且看到傳統布拉佛德型態規律在多規律領域中描述單一規律碎片。而且,我們試圖定義描述與分析多規律發散現象的基礎概念。我們討論從競爭過程中浮現的期刊發表的單一規律模式;為了要指導我們定義基本概念,我們應該創造一種競爭模型,並且研究這些模型裡面需要哪些實體。

期刊評鑑的模型需要有以下指標:

  • 動態:因為文獻一直在增加。
  • 可靠的多領域散佈狀況:能夠帶出正確的分析
  • 抵抗不確定性:資訊計量學規律最重要的特色。

在接下來的段落中,該論文依據以上指標推導了一連串公式,最終為。t為文章總數,a為可觀察的數量,陣列R則是假設給定的値,跟之公式推導中的領域F相關。

結論則是探討公式模型參數之間的變化,然後假設情況套入公式模型檢驗是否可行。然後提到使模型更為精細需要更多隨機資料。但是作者相信這個簡單的模型已經能夠展現期刊出版關鍵的特性。

(more...)

期刊論文的作者合作度與合作作者的自引分析

期刊論文的作者合作度與合作作者的自引分析

期刊論文的作者合作度與合作作者的自引分析
蔣穎、金碧輝、劉筱敏,圖書情報工作,2000年第12期,23-28頁。

本篇作者用統計的方法來分析期刊論文的作者合作程度,再統計合作作者的自引數量,推測合作作者群當中對於一篇文章的貢獻程度。統計資料來源是「中國科學引文資料庫」在1989年和1998年兩個時期,比較9年差別的變化,並考慮了資料庫收錄期刊數量的增加。合作度比較了12種學科,接著更進一步比較數學、物理、醫學這3個有代表性學科的數據來做細部分析。

期刊論文的作者合作度,是以「人」為單位為,一篇論文有幾個作者就稱該文的作者合作度為幾人。

  • 9年間合作規模有明顯地擴大,合作形式成為科學研究的主流。

  • 依據學科性質的不同而會合作程度也不盡相同,理論性越強的學科合作度越低;實驗性越強的學科合作度越高;介於理論與實踐之間的學科,其合作度為中等。因此作者建議在研究相關問題時,最好能根據學科性質區別對待。

作者自引的定義為文章作者引用自己的其他文獻的行為。然而在合作現象當中,如果一位作者引用了一篇他自己並非為第一作者的文獻,也應算做自引一次。但由於資料庫只有收錄被引用文獻的第一作者,所以在此文章中各種自引數都不包括這一部份。

研究結果顯示:

  • 9年間論文作者整體自引量有大幅度的提高。

  • 合著情況下,各作者在文章中的排序與個人自引百分比總體狀況是相反,第一作者的自引百分比遠高於其他作者。

  • 合著中存在著「臨界合作度」,當合作度小於臨界值時,第一作者的自引白分比隨著合作規模的增加而降低;反之當合作度大於臨界值時,第一作者個人自引百分比呈上升趨勢,這說明合作規模達到一定程度之後,合作研究中的分工方式發生變化。

本文認為作者的自引百分比近似於作者的名譽分配比例,就本文分析結果來看,可以按照該比例分配作者的權重。一般來說,作者的自引數會按照文章中排名順序遞減,但是從各學科來看,最後一個作者的自引數比常常高於前面幾個的作者。這可能與最後一個作者經常是研究的組織者、指導者有關。

(more...)

Automated user modeling for personalized digital libraries

Automated user modeling for personalized digital libraries

Automated user modeling for personalized digital libraries E. Frias-Martinez, G. Magoulas, S. Chen, R. Macredie International Journal of Information Management 26 (2006) 234-248

數位圖書館(Digital Libraries, DLs)已經變成取用數位化資訊最普遍的方式。因此,使用者歡迎任何改進數位圖書館的方法。其中一種服務就是從個人化(personalization)著手。到目前為止,數位圖書館常見的個人化服務依然是以使用者自行設定為主。儘管如此,為了要發展出高效率的個人化服務,現在可以加入自動化的方法。在這種情況下,機器學習技術(machine learning techniques)可以自動建立使用者模型(user model)。該論文提出了一種可以滿足使用者對資訊需求的新方法來設計數位圖書館:自動適應數位圖書館(Adaptive DLs),系統將會自動學習使用者的偏好設定與目的,並依此提供個人化的互動使用經歷。

該論文最重要的地方是提出了數位圖書館使用者模型的九個面向:個人資訊、認知型態(cognitive style)、設備、情境、歷史記錄、興趣、目的、系統使用經驗、領域專業知識。然後介紹相關的機器學習技術,建議用哪幾種方式來建立使用者模型,並帶出相關的研究,供讀者可以繼續延伸閱讀。

(more...)

meeting之後的討論

布丁布丁吃布丁

meeting之後的討論

今天meeting只有三個人報告,最後我報的paper連自己都快要不知道自己在說些什麼,接著老師講些想到的題目,然後聊起了其他話題,不過大多數之前都聽過。meeting在三個小時之內結束,算是蠻快的了。

收拾東西的時候,聽到學長姐在討論最近研究上的瓶頸。大意是要拿未知詞彙跟兩萬多筆資料計算相似度,花費時間過長,該怎麼改善。大家一邊思考、一邊提意見、畫黑板,討論這個點子的可行性。最後想出了一個兼具精準度與速度的折衷方法,大家鼓掌叫好。

就是這種氣氛,讓我願意每個禮拜都來團體meeting吧。

(more...)

洪淑芬演講「Metadata建檔規劃與檢索呈現」

布丁布丁吃布丁

洪淑芬演講「Metadata建檔規劃與檢索呈現」

今天臺大圖書館特藏組的洪淑芬主編來演講臺大圖書館在製作數位典藏過程的實務經驗。投影片上面寫著內部文件請勿流傳,那我就以自己的方式重新整理今天的演講吧。

Metadata的用處及重要性,我想大家都能照本宣科,但實際建立的過程,我想這並不是照書上講的就能夠建出來。一般來說,設計的基礎可以參考文建會設計的多種詮釋資料格式,再進一步調整成適合描述典藏目標的格式。然而,文建會的metadata其實只有考慮到描述層面(Descriptive Metadata),在實際使用上是非常不足的!

Metadata有幾種類型:

  • 管理 Administrative Metadata:來源、擁有權、著作權、權限、取用方式等
  • 結構 Structural Metadata:硬體與軟體文件、記述資訊、版本控制、數位化資訊等
  • 描述 Descriptive Metadata

如果要用Metadata Encoding & Transmission Standard(METS)作為交換資料的格式的話,還要考慮到更多層面。但至少上面這三種類型的Metadata,是實務上必須要考量進去的。

對應到今日洪主編演講的實務內容,她的「數位檔案命名」與「檢索欄位關聯」等主題都涵括在管理及結構metadata裡面。儘管洪主編自謙以實務起家再學理論,但能考慮得如此周詳,也是很値得敬佩。


臺大執行數位典藏計畫另一個重要關鍵,那就是不依附系統的獨立建檔方式:Excel。

對碰過很多系統、對於資料庫設計也有不少經驗的我來說,深知製作一個完美的資料輸入流程是非常困難的事情。做到最後,通常建檔者得屈就於系統設計者,而一再屈就、下降目標的最後,連系統設計者也會遺忘原來的設計目的。這是一種惡性循環的陷阱!

相對的,臺大以Excel這種容易操作、建立、比對的方式建檔,增加了更多自由性。在建檔同時,也可以一邊快速地對於metadata欄位編修,因而不需要等待系統花時間修正。而最後調整到最後的欄位,依此做出的系統也可以有較佳的呈現。

在製作DSpace的時候,我有研究過台大的數位典藏DARC。他們用Excel建立的Metadata資料,甚至沒有直接對應到DSpace的欄位,而是另外儲存為一個xml的檔案供全文檢索與擷取顯示。

相較之下,去年頂大計畫的百年圖書館歷史中,我們嘗試去調整了DSpace的Metadata,最後結果卻無法應付不斷修改的欄位而一團亂。今日洪主編的演講,再再切入我心,越聽越是悔不當初。


演講後跟同學聊到此事,她說很欽佩洪主任,雖然沒有程式概念,卻能將資料分得有條有理。我認為,這才是圖書資訊人員的專業。至於資訊工程的專業,則是在於研究該怎麼把這種想法實作出來。

實際上,研究所培養出來的領導人才,確實不需要有能力實作系統,反之像洪主編這種能夠知道概念而能夠領導眾人順利完成計畫,這才是有價值的目標。

嗯,加油吧!

(more...)

資源取用的理想

布丁布丁吃布丁

資源取用的理想

前幾天聽說師大的同學們也要研究Second Life,還找到我這篇介紹Second Life的Blog,打了電話過來問我概況。雖然很多事情無法電話中表達,而且我對於實際的操作還是不太熟悉,故能講的事情不多,請同學們好好加油。

電話講完,我忽然想到毛老師的理想。印象中以前上課的時候毛老師有提到過,資源本身是什麼不重要,只要擺在網路上,總有一天會有人來取用。此外之前洪教授演講知識的創造力時也提到這個概念,不管想法是什麼,儘管攤開來給大家看,總是會有人再把你的想法加強、深化,最後成就會變成創意。

這篇Second Life只是我在課堂上報告而介紹,然而卻也能夠幫助到同學們,這不也是這種理想的一種體現嗎?

附帶一提,我祈求當我不小心因為分享資訊而觸犯到別人的智慧財產權時,請來信告知我要移除就好,請不要罰我這窮圖資學生的錢啊(汗)。

(more...)

以VirtualBox架設Koha的緣由、過程與感想

以VirtualBox架設Koha的緣由、過程與感想

架設圖書館自動化系統Koha的方法,一般是從安裝作業系統、安裝並確認模組、設定資料庫、再來安裝Koha,整個安裝過程十分複雜且容易失敗(至少我灌了好幾台Linux都還沒成功過)。

儘管我國在毛慶偵教授、long_sam.tw 龍山與Thomas 育欽等人的努力之下,在網路上釋出了Koha 中文 WIKI 文件區 (技術文件)、Koha臺灣Google網上論壇KOHA 中文開發網站等資源,安裝檔過程也有自動設定的程式,然而我研究了好久卻還是裝不起來。

在這時候,Koha臺灣Google網上論壇裡面找到了一篇用虛擬機器VirtualBox架設的點子,Thomas也釋出了一個 VDI檔案(VirtualBox給虛擬機器使用的硬碟檔),讓正在使用VirtualBox架設Linux的我相當地感興趣。當然,VirtualBox是免費且跨平台的應用程式。

然而,之前也有看過用虛擬機器VMware Server或VMware Player架設Koha的介紹,這兩種的VMware也是免費軟體,但VMware Server需要免費註冊取得授權帳號。然而實際架起VMware之後,卻因為網路設定過於複雜,苦於不知該如何將虛擬機器(Guest)的網路與實體機器(Host)的網路連接而放棄。

話說回來,下載了Thomas的VDI檔之後,儘管是可以用VirtualBox成功開啟,然而卻遇到了網路卡找不到、需要修改koha-http.conf的設定等問題,再經過幾回跟Thomas通信請教與自己研究之下,終於一一克服。

在取得Thomas同意之下,我將修改過後的VDI檔再釋放出來供人下載,並撰寫修改過程與在Windows上的安裝方法,將從網路所學所得、回饋給網路社會。


好,在把Koha虛擬機器的架設方法說明完畢之後,我才打算要發佈這一篇。我本來是想說,應該要先把連結加上去再發佈,但其實先發佈也無所謂,有需要的人應該是一下子就能找到了,也不會特地來看這一篇感想。

Koha,從在輔大圖資的時候就常常聽得到這個名詞,跟毛慶禎老師上過課,也跟龍山學長見過面,Koha是個很常聽見、卻又不太熟悉的名詞。這次由於政大圖檔所授課編目教學,想效法毛老師用Koha來上資訊組織;另一方面是所上圖書室內的書目資料庫僅有儲存、查詢的功能,與現行圖書館所使用的自動化系統相距甚遠,因此希望改以Open Source的Koha圖書館自動化系統取代之;再加上其實之前就有同學跟學長有需要圖書館自動化系統,這些就是我這次研究Koha架設的原因。

剛開始,我需要一台伺服器安裝Linux,然而光這點就讓我為了調配電腦而煩惱半天。後來改用VirtualBox架設,安裝了不下數十次的Linux,每每卡在Perl模組遺失,至今這個問題還在Koha臺灣論壇等著解決。接著改嘗試以VMware架設,卻苦於網路設定搞不定而放棄。此時看到Thosmas釋出的VirtualBox VDI,解決了系統自身的網路問題之後,就順利運作了!此時才是我正式碰觸Koha的開始,雖然我目前還是不能成功安裝Koha。

接著熟悉系統操作,發現有許多不太習慣的設定,我從資料庫、從Perl程式一一地去修改,最後再把這些調整整理之後釋出。前前後後,我用了一個多月的時間才搞定。

我想說的有兩件事情。第一件事情是架設Koha這件事情,很難嗎?老實說,一再重灌Linux、安裝Koha,這過程很讓人絕望。有好幾天我都是過著一邊等安裝、一邊Google找解答、一邊整理問題狀況去問Koha臺灣的前輩們這種不斷重複的生活。架設Koha的過程,並不是努力做同一件事情就能夠成功,我用同種方法灌100次Linux,應該都架不起Koha。因此得要不斷地去找其他方法、詢問別人、再嘗試新的方法來解決。所以我也期許共同努力的同學、朋友們,不要懼怕這種連架都不知道能不能夠架起來的任務,其實我多少也抱著架不起來也沒關係的心態在做,即使架不起來,我還是學到了很多東西,在碰Koha之前,我連Perl都還沒寫過呢。

另一件事情,Koha我目前只有碰觸讀者、編目、系統設定這些部份,但我真的覺得,這是一個很不錯的系統。特別是編目的機讀格式功能,我感到與以往自己寫資料庫結構或是DSpace用的Dublin Core有著很大的差別。機讀格式這種複雜到讓人難過的Metadata,真的不能用普通的資料庫就草草了事。機讀格式的指標、分欄、資料代碼等處理,光是一個欄位就得花上好多功夫,這也只有Koha這種圖書館自動化系統才有量身打造。然而,Koha不能用預設值(允許値的選單又太過限制)、不能用自由填寫搭配選單、說明欄位太過簡短等缺點也是需要繼續改進的地方,期許毛老師與學長們繼續努力。即使如此,我希望我這次研究的結果能幫助其他人能夠更順利地架設Koha,推廣Koha的應用。

話說回來,研究Koha這件事情,我是把它當作所上事務在看,而不是個人研究。老闆也在跟我說,希望我能把所上事務脫手,儘可能回到自己研究。其實不只如此,這段時間沉溺於Koha,又好久沒讀paper了,不振作不行啊......

(more...)

以VirtualBox架設Koha

以VirtualBox架設Koha

Koha,自動化圖書館系統,以Opne Source的形式讓人使用。以目前穩定的2.2.9版本來說,架設方式是從1. 作業系統安裝、2. 安裝運作環境、3. Koha系統安裝、4. Koha系統設定,最後才能開始使用。繁雜的安裝步驟容易失敗,此時可以藉由虛擬機器VirtualBox的技術,將前三個步驟建立成可以立即使用的虛擬機Koha系統。

使用虛擬機器架設Koha能夠解決以下問題:

  • 省略從作業系統到Koha安裝等步驟,節省掉大量的時間。
  • 運行環境皆已經設定妥善,幾乎可以立即使用。
  • 虛擬機器VirtualBox可架設在現有的作業系統上,包括Windows、Linux,而不需要再佔用另一臺電腦。
  • 軟體部分皆是Open Source或免費使用,不需要花費額外的經費。

然而這方法並不是完美的,缺點如下:

  • 虛擬機器必須依附主作業系統(以下皆稱為Host OS)一起運行
  • Host OS必須切割自己的記憶體(RAM)給虛擬機器使用,建議最少能給虛擬機器512MB。虛擬機器需要的硬體等級,可以參考koha 2.2.9 繁體中文版安裝手冊(ubuntu 6.10)硬體一節。
  • 虛擬機器需要常駐在Host OS當中,跟一般個人使用的電腦一起運作時,硬體等即不足會讓操作速度延緩。例如開著虛擬機器、一邊玩遊戲等。

本篇教學主要著重在以VirtualBox架設起Koha系統,以Windows XP SP2 (Windows 2003 Server也一樣)為操作環境,介紹VirtualBox取得、安裝、架設虛擬機器、網路設定到開機自動啟動虛擬機器等步驟。

本篇核心虛擬機器的硬碟請點選下面下載,該硬碟的來源請參考Thomas的VDI修改記事

koha-vdi-20080408 (分流1)

koha-vdi-20080411(分流2)

koha-vdi-20080411(分流3) SkyDrive下載:下載1下載2下載3下載4下載5下載6下載7下載8下載9下載10下載11下載12下載13下載14下載15。推薦用7-Zip Portable解壓縮。


VirtualBox取得

VirtualBox是SUN開發的跨平台虛擬機器,以Open Source的方式發佈,在Windows、Linux皆能安裝運行。

本次教學使用的是VirtualBox 1.5.6版本,此版本已經具有繁體中文版(雖然有些翻譯還是有點怪),圖形化介面的操作環境讓人容易上手,也可以命令列執行(伺服器管理人員的最愛)。


VirtualBox安裝

執行檔安裝步驟很容易,一直按下一步就可以安裝完成,不太需要額外說明。


VirtualBox架設虛擬機器

安裝好的介面如下,接下來我們一步一步來新增虛擬機器。

選取「新增」。

下一步。

輸入名稱,選取作業系統為Linux 2.6。

記憶體,在此示範當中僅給虛擬機器128MB,建議是給他512MB。

使用現有的虛擬硬碟。

加入現有的虛擬硬碟。

選取已經配置好的虛擬機器硬碟,網頁上方可以下載

加入完成,選取。

下一步。

完成。

可以看到新增的虛擬機器,選取該機器並按下開始就可以啟動。但是在這之前,還得要調整完網路。


設定VirtualBox的網路

為了讓外面電腦能夠連線到虛擬機器,必須要給予虛擬機器一個IP。詳細的作法請參考VirtualBox用網路橋接器設定虛擬機器的固定IP。(至於用撥接連線搭配動態DN的方法我倒還沒研究,其實我比較想要本機端就能用NAT連線到虛擬機器orz)

網路設定完成之後,就可以用遠端登入SSH或是用網頁來開啟Koha系統了。

SSH遠端登入:可以用Pietty開啟,帳號為root,密碼為ilovekoha。

網頁OPAC:直接用http://虛擬機器的網址/開啟Koha的OPAC。

內部網頁:用http://虛擬機器的網址:8080/開啟Koha內部網路。預設的帳號密碼是kohaadmin、ilovekoha。

也可以用http://虛擬機器的網址/phpmyadmin開啟phpymymin了。一樣附帶一提,預設的帳號密碼是root、ilovekoha。


自動啟動虛擬機器

作為伺服器服務,就應該要能夠自動啟動。關於這部分的方法可以參考另一篇Windows開機自動開啟VirtualBox虛擬機器──用延後啟動。


網站資源

(more...)

Thomas的VDI修改記事

Thomas的VDI修改記事

前言

繼以VirtualBox架設Koha的緣由,這一篇記錄從Thomas取得的VDI檔案之後修改的過程。原本該討論主題主張以trac + svn聯合多人共同開發koha軟體,但是我其實只求能架設、使用Koha即可,並沒有準備要到參與開發的程度。

在修改Thomas原始的VDI檔時,恐怕有破壞原有計畫的疑慮,因此才打算撰寫本篇以茲說明。另一方面也是為自己摸索Linux (Thomas是使用Debian發行版)的過程留下記錄。

最後修改過的VDI檔案在下方。使用的時候,除了網路設定(/etc/network/interfaces)保留以DHCP開啟之外,其他的修改都不需要再修改。之後我會以此檔案再寫一篇以VirtualBox架設Koha的方法作為詳細說明。

koha-vdi-20080408 (分流1)

koha-vdi-20080411(分流2)

※註:內有VirtualBox 5.6.1與虛擬機器設定檔

關於虛擬機器VirtualBox與VDI動態擴充映像檔

VDI是VirtualBox架設虛擬機器時的硬碟檔案,透過以VDI架設起的VirtualBox虛擬機器,你可以快速地在任何作業系統上重現一台已經架設完成的伺服器,而不需要再從無到有第一步一步安裝設定。

然而這只是理論,實際上我也只嘗試在WindowsXP跟Windows 2003上成功架設過,尚未測試各種的情況,不能給予完美的保證。至於詳細的架設過程,請參考另一篇虛擬機器VirtualBox架設Koha。

關於Thomas的VDI硬碟檔案

Thomas架設的環境如下:

  • Linux debian 2.6.18
  • Koha 2.2.9 (已經預設是zh_TW中文環境)
  • 硬碟虛擬空間4.88GB
  • 硬碟檔案實際大小2.09GB:VDI動態擴充映像檔會隨著映像檔內安裝的實際檔案大小來改變,而不會強求一定要虛擬空間這麼大。
  • Linux登入
    帳號:koha (也可用root登入)
    密碼:ilovekoha

也許有人會對於硬碟不到3GB的剩餘空間感到憂心,但我想對於中小型圖書館來說應該已經是綽綽有餘,因此這個問題先不在研究範圍內。

以Thomas的VDI架設起的Koha,我遇到了以下問題:

  1. 鍵盤配置錯誤:執行dpkg-reconfigure console-data修正
  2. 抓不到網路卡:停止udev自動新增網路卡
  3. 語系錯誤:修改語系為zh_TW.UTF-8
  4. Koha的OPAC非預設的80 port:重新設定/etc/Koha-http.conf
  5. 修改Koha OPAC與Intranet的一些程式

以下將各問題與處理方式一一詳述。

操作方法及使用軟體

以下操作剛開始是以root身分登入本機電腦。網路可以連線之後,則改用SSH遠端登入、FileZillar上傳檔案。


鍵盤配置錯誤

一開始以root登入Linux的時候,是完全以命令列來操作,必須要依靠鍵盤輸入指令。如果你發現你打的字跟你的鍵盤不吻合,那麼得先調整鍵盤配置。

  1. 輸入「dpkg-reconfigure console-data」,開啟藍底設定畫面
  2. 按「tab」跳到「ok」,「enter」進到下一頁
  3. 選擇最後一項「Select keymap from full list」,按「enter」
  4. 選擇「pc / qwerty / US american / Standard / US Internation (ISO 8859-1)」,按「enter」

如果您連怎麼輸入「dpkg-reconfigure console-data」都做不到,那請試著按「↑」回溯一下之前的指令找找看吧。

我安裝在第二台電腦的時候才發生了這個問題,即使現在設定過配置,之後可能設定還會跑掉,這時就得照著這個步驟重做一次。


解決抓不到網路卡的問題

開機的過程中,預設的eth0並沒有被抓到,這是由於網路卡的MAC碼並不相同的緣故。

接下來修改設定我是使用vim,這個文字編輯器對於初學者來說可能不太友善,詳細的操作方式請參考基本 VIM 操作指令

debian:~#vim /etc/udev/rules.d/z25_persistent-net.rules

在udev的管理之下,從這邊會記錄著該台虛擬機器曾經安裝過的網路卡,而你目前安裝的網路卡應該會被排到最後一個去,可能被當成eth1或eth2。預設/etc/network/interface僅有自動啟動eth0,故其他的eth1或eth2自然是無法啟動了。

因此,我打算把udev自動增加網路卡的功能取消掉,方法如下。

debian:~#vim /etc/udev/rules.d/z45_persistent-net-generator.rules

將以下兩行註解掉(在該行前面加上「#」(井字號),這樣程式就不會去執行這行指令)。

#ACTION!="add", GOTO="persistent_net_generator_end"

#KERNEL=="eth*|ath*|wlan*|ra*|sta*", DRIVERS=="?*",\

接著清空vim /etc/udev/rules.d/z25_persistent-net.rules網路卡的資料。清空之後只會剩下以下五行註解文字:

# This file was automatically generated by the /lib/udev/write_net_rules
# program, probably run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.
# MAC addresses must be written in lowercase.

以上方法可以解決udev自動增加網路卡的問題。

接著是設定網路,預設是將eth0以DHCP(動態主機設定協定)啟動,這是只有在VitualBox網路設定為NAT的情況下才需要用的。如果要作為伺服器,最好給予網路卡一個靜態的IP,關於VirtualBox的網路設定請參考另一篇「 VirtualBox用網路橋接器設定虛擬機器的固定IP」,以下則是示範在Linux debian裡面設定網路的步驟。

先用VIM開啟/etc/network/interfaces/

debian:~# vim /etc/network/interfaces

將原本的DHCP註解掉,然後取消靜態網路的註解(刪掉行前的#),設定如下:

#iface eth0 inet dhcp

iface eth0 inet static
address 172.20.0.15
netmask 255.255.255.0
gateway 172.20.0.1

以上的adress、netmask、gateway請改成您網路環境所使用的設定。關於network interface的詳細解說,可以參考「/etc/network/interfaces 集網路設定之大成」。

修改完成之後,請執行以下指令或重開機以重新啟動網路:

debian:~# /etc/init.d/networking restart


改用PieTTY遠端操控虛擬機器

網路設定完成之後,您應該可以用PieTTY之類的軟體來連線到虛擬機器了。由於PieTTY操作起來比起在虛擬機器VirtualBox上操作更為順手,所以接下來我們的操作都改在PieTTY上進行(我是使用PieTTY 0.3.27版本)。當然,這並非必要步驟,你也可以繼續在虛擬機器上操作Linux。

在開始之前,要記得修改字元編碼為UTF,步驟在上方工具列「選項 / 字元編碼 / Unicode UTF-8」。


修改語系

有些Koha的設定檔(如/etc/koha-http.conf)寫入了中文字,然而這在預設的狀態下會變成亂碼,因此得修改語系以正確顯示才行。

請輸入以下指令:

debian:~# export LC_ALL=zh_TW.UTF-8

接著再開啟/etc/koha-http.conf的時候,就能夠顯示正確的編碼了。

但是在虛擬機器上看起來還都是亂碼,這個我就沒有繼續研究了。


用80 port開啟Opac

預設的設定中,開啟虛擬機器的網址,只會跑出一個「It works!」的字樣。根據/etc/koha-http.conf的說明,還需要修改很多部份才能順利開啟,因此我想改成直接以80 port(如此一來,網址就不需要加上:80連接埠),並能夠保持phpmyadmin的功能。

用vim開啟/etc/koha-http.conf

debian:~# vim /etc/koha-httpd.conf

全部檔案內容設定如下,紅字的部份是我修改過的,e-mail記得要改成自己的喔:

# Koha 2.2 阿帕契(Apache)虛擬主機設定檔
#
# 在你的阿帕契(Apache)設定,包含這個檔案。
# 最好的方法依據你的網站設定。
# 有一些像是一個 Include 加到 /etc/apache/httpd.conf
# 且有一些寧願一個 symlink 從一些目錄到這個檔案。
# 請參考你的系統手冊。

# 針對 Koha 監聽埠號
# 無法評論這些,假如它們已經不在主要 httpd.conf
#
Listen 8080
#Listen 8081

# NameVirtualHost 被用在其中一個設定檔,詳細如下:
# 還沒註解以前,請確認這行是否正確。
# 參考 http://httpd.apache.org/docs/vhosts/ 一些手冊。

#NameVirtualHost 11.22.33.44
NameVirtualHost *:80
NameVirtualHost *:8080


# KOHA's OPAC 設定

ServerAdmin administrator@email DocumentRoot /usr/local/koha/opac/htdocs
ServerName *:80
ScriptAlias /cgi-bin/koha/ /usr/local/koha/opac/cgi-bin/
Redirect permanent index.html http://*/cgi-bin/koha/opac-main.pl
ErrorLog /usr/local/koha/log/opac-error_log
TransferLog /usr/local/koha/log/opac-access_log
SetEnv PERL5LIB "/usr/local/koha/intranet/modules"
SetEnv KOHA_CONF "/etc/koha.conf"
Alias /phpmyadmin /usr/share/phpmyadmin/

Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all



# KOHA's INTRANET 設定

ServerAdmin administrator@email
DocumentRoot /usr/local/koha/intranet/htdocs
ServerName *:8080
ScriptAlias /cgi-bin/koha/ "/usr/local/koha/intranet/cgi-bin/"
Redirect permanent index.html http://*:8080/cgi-bin/koha/mainpage.pl
ErrorLog /usr/local/koha/log/koha-error_log
TransferLog /usr/local/koha/log/koha-access_log
SetEnv PERL5LIB "/usr/local/koha/intranet/modules"
SetEnv KOHA_CONF "/etc/koha.conf"


# 假如你想要使用虛擬主機(Virtual Hosting):
# 1. 移除兩個監聽行(Listen lines)
# 2. 取代 *:80 成為你的 opac 領域名稱(domainname)埠號
# 3. 取代主機名稱(ServerName) * 你的 opac 領域名稱(domainname)
# 4. 取代 *:8080 你的 intranet 領域名稱(domainname)埠號
# 5. 取代主機名稱 * 你的 intranet 領域名稱(domainname)
#
# 假如你想要使用 NameVirtualHost'ing (一個 ip 使用兩個名稱):
# 1. 依照以上 1-5 的步驟
# 2. 沒有註解 NameVirtualHost 行並解設定正確 ip 位址

修改完成之後,重新啟動Apache 2才會生效,請輸入以下指令:

debian:~# /etc/init.d/apache2 reload

如果沒有出現錯誤訊息的話,那麼就成功了。

可以直接用http://虛擬機器的網址/開啟Koha的OPAC。

用http://虛擬機器的網址:8080/開啟Koha內部網路。附帶一提,預設的帳號密碼是kohaadmin、ilovekoha。

也可以用http://虛擬機器的網址/phpmyadmin開啟phpymymin了。一樣附帶一提,預設的帳號密碼是root、ilovekoha。


修改Koha的機讀格式

這版本的Koha似乎是使用中國機讀格式CMARC3,隱藏了許多欄位,最後僅剩24段。我做了以下修改:

  • 有顯示名稱的欄名,皆加上國家圖書館CMARC3的說明連結,作為編目人員的快速參考。
    例如:
    700
    人名-主要著者

    其中惟有856電子資源位址及取得方法並非CMARC3擁有的欄位,故改以CMARC民國90年修訂版的說明連結。
  • 700$a標目主體使用了權威記錄PER,在尚未釐清權威記錄的用法之前,我先將之拿掉,變成可以自由輸入的欄位。
  • 606 主體標題欄位改成可重複,610非控制主題詞彙分欄$a標目主體改成可重複。
  • 995$o改以允許値,因為只有流通與不流通兩種
  • 修正欄位名稱200$h 編次(Number of a part)

修改OPAC顯示

檔案是/home/koha/svn/trunk/opac-html/opac-tmpl/npl/zh_TW/opac-detail.tmpl跟/home/koha/svn/trunk/opac-html/opac-tmpl/npl/zh_TW/images/ BOOK.gif,詳細內容我就省略了。

修改外掛程式

  • 欄位100:日期修正、設定預設值
    /home/koha/svn/trunk/intranet-cgi/value_builder/unimarc_field_100.pl
    /home/koha/svn/trunk/intranet-html/intranet-tmpl/npl/zh_TW/value_builder/unimarc_field_100.tmpl
  • 欄位105:修正錯字
    /home/koha/svn/trunk/intranet-html/intranet-tmpl/npl/zh_TW/value_builder/unimarc_field_105.tmpl

修正z39.50無法使用的問題

因為沒有Perl模組的Text::Trim,我在Koha臺灣論壇裡面有提問過,已經獲得解決,請在Linux命令列輸入以下指令安裝缺失的模組:

perl -MCPAN -e 'install "Text::Trim"'

修改無法查詢沒有前後切截的問題

關鍵在於koha/intranet/modules/C4/SearchMarc.pm的create_request函式,裡面查詢MySQL的語法是使用like,規則是「低於4個字元長度以下,則把%去掉」(%是切截功能的萬用字元),但是這規則並沒有自動加上%的功能,因此我加了「高於4個字元長度,則在前後加上%」,以方便查詢的進行。再把這個4的參數改成Koha的系統設定變數「truncation」,以方便管理者控制。需要精確查詢的時候,建議改用新增機讀格式(MARC)欄位查詢吧。

此外,加上了查詢結果顯示查詢字的功能,因此要修改的有三個檔案。

/home/koha/svn/trunk/modules/C4/SearchMarc.pm
/home/koha/svn/trunk/intranet-cgi/search.marc/search.pl
/home/koha/svn/trunk/intranet-html/intranet-tmpl/npl/zh_TW/search.marc/result.tmpl


Thomas VDI內Koha系統的SVN版本控制系統

檔案位置看起來不太像是Koha的安裝位置(/usr/local/koha/),這是由於Thomas的VDI裡面的系統是用SVN版本控制系統,但是我對這方面沒有研究,故沒有參與,僅僅只有說明。


小結與感言

從取得VDI檔案、摸索Koha系統、到操作,甚至是修改程式碼,這些過程真的是花了不少功夫, 也讓這一篇修修改改地拖了好久才寫完。跟上次玩DSpace一樣,這次玩Koha也個老師沒教的摸索過程,不同的是,這次有個可以問的前輩們,再次感謝Koha Taiwan的毛老師、龍山與Thomas等人的努力與幫助!

(more...)

Live-CD Koha-UNLP versión 2006 - 1.0架設

布丁布丁吃布丁

Live-CD Koha-UNLP versión 2006 - 1.0架設

關於Koha Live-CD的記錄,雖然似乎很久以前Koha開發Wiki製作過,但是放置Koha檔案的SourceForge.net找不到ISO檔案。找來找去的,最後是在KOHA UNLP(美國)找到了Live-CD

2009年2月6日增加內容:為了避免Koha Live檔案被移除,所以我把我這邊的備份上傳:

OPAC

Intranet

Koha-UNLP的Koha介面非常漂亮,可惜並非英文,因此在使用上也有些障礙。

網頁中的2007年版本是使用VMware Server(免費,但要註冊取得序號),但是VMware Server在網路設定上頗為複雜,因此我改用VirtualBox來體驗看看這個Live-CD。安裝好之後,直接掛載下載好的ISO映像檔即可開機。

登入Linux

帳號:root
密碼:demo

修改網路設定

輸入以下指令 (紅字部分請改用可以使用的IP,詳情請問網路管理人員)
ifconfig eth0 192.168.0.10
同樣的,你的HOST OS也要設定網路橋接器才能讓它使用,詳細設定方法請參考VirtualBox用網路橋機器設定虛擬機器的固定IP

開啟Koha系統介面

請使用網頁瀏覽器開啟,如Firefox或IE。(注意IP要改成你自己的)
OPAC:http://192.168.0.10/
內部管理:http://192.168.0.10:8080/
帳號:kohaadmin
密碼:demo
(more...)

Windows開機自動開啟VirtualBox虛擬機器──用延後啟動

布丁布丁吃布丁

Windows開機自動開啟VirtualBox虛擬機器──用延後啟動

伺服器要能夠自動地運作,那麼開機時順便把虛擬機器一起開起來,這也是必要的條件。

如果你的虛擬機器VirtualBox架在Linux(特別是ubuntu)上,你可以參考ubuntu正體中文站的「用 VirtualBox 讓 Windows Server 偷偷(背景執行)跑在 Linux Server 上」,但是如果你跟我一樣把VirtualBox架在Windows上,那麼就沒有這麼簡單了。


在Windows裡面要啟動虛擬機器的命令列跟Linux一樣,用VBoxSDL.exe會開啟一個簡單的視窗(像上圖),內容如下,

"C:\Program Files\innotek VirtualBox\VBoxSDL.exe" vm Koha

或著用以下VBoxManage.exe開啟跟普通VirtualBox相同的視窗:

"C:\Program Files\innotek VirtualBox\VBoxManage.exe" startvm Koha

紅色的字是VirtualBox的安裝位置,藍色的字則是虛擬機器的名稱。你可以把它寫成bat批次執行檔以便快速執行,參考這個檔案當作範例,自己修改。


無法直接開啟虛擬機器

我先說失敗的經驗,在Windows 2003 Server或Windows XP裡面都沒有辦法順利地直接啟動。

一開始找尋的方法是將應用程式(Application)改成以系統服務(NT Service)的方式運行,「以服務形式啟動 Windows 內的 PPPoE 撥號網路」這一篇教學很完整,啟動服務所需要用到的instsrv.exe及srvany.exe也可以從Windows的網站上免費下載。或著是使用其他軟體來將應用程式轉成系統服務,然而除了DynaSvr-服務控制程序(NT Service Controller)大陸簡體程式是免費之外,大部分都是要收費付費軟體。

我嘗試以前者的方式,用instsrv.exe及srvany.exe將VBoxSDL.exe轉成系統服務執行。雖然可以成功轉換並執行,但是網路卻怎樣也沒辦法連上。最後我的結論是,在Windows理面,以服務執行虛擬機器,是不可行的。(或著是沒這麼單純,還要啟動其他相對應的程式)

接著我以自動登入搭配啟動應用程式的方式進行。Windows只要在開始 / 程式集 / 啟動 裡面的程式,只要登入之後就會自動執行。首先先將上面的命令列指令作成批次執行檔,擺到啟動裡面,或是用開機管理軟體starter(PChome Toget的介紹)來設定。再設定開機時自動登入指定帳號,或著是用簡化的系統自動登入工具

然而,還是失敗了。Windows 2003 Server像是不接受用自動登入開啟程式虛擬機器一樣,不管是設定在,「啟動 - 目前的使用者」、「啟動 - 所有的使用者」、「登錄檔 - 使用者 啟動列表」、「登錄檔 - 機器 啟動列表」、「登錄檔 - 機器 啟動服務」、「登錄檔 - 預設使用者啟動列表」,都無法用自動登入的方式啟動虛擬機器。

正確來說,在剛開啟的Windows狀態下啟動VirtualBox會發生錯誤,用VBoxSDL.exe開啟時,會發生錯誤「SQL Error: no available video device"」,而導致無法開啟。


用延後開啟的方式虛擬機器(Startup Delayer)

後來發現,改用VBoxManager.exe的方式,雖然無法在第一時間啟動虛擬機器,但是卻可以在開機直到所有程式都載入之後,就可以順利執行。

因此這時候Startup Delayer或是系統看門狗WinPatrol的Delayed Start就可以派上用場。

接下來,以Startup Delayer的設定來說明:

開啟主程式之後,先切換到你設定的帳號(非必要過程)。

按左上角綠色十字的Add功能。

選擇要延遲啟動的程式,此處選擇C:\Program Files\innotek VirtualBox\VBoxManage.exe。

在Parameters填入「startvm Koha」,Koha可改成您虛擬機器的名稱。在Delay填入要延後的時間,三格欄位個別是小時、分鐘、秒鐘,我們在分鐘填入1,表示要延後一分鐘。

看到剛剛新增的VBoxManage。

可以在該項目上面按右鍵,選擇「Start now」測試啟動狀態。

如果可以順利啟動,那麼重新開機之後應該會看到視窗上方Startup Delayer的倒數計時。等待數到0之後,VirtualBox的虛擬機器就能順利啟動了!


光是為了這個功能,這一篇花了我一整天的時間。想說終於可以回去了,但是卻發現外面網路連不到實驗室的伺服器,這讓我又萌生了不想離開這邊的念頭。今晚要繼續待在這邊研究Koha呢?還是要回去宿舍然後卻什麼都不能作好呢?

總之,先休息一下吧......

(more...)