:::
顯示具有 DSpace 標籤的文章。 顯示所有文章

開放原始碼數位典藏整合平台發展與建置 / Introduce to DSpace-DLLL: an Open Source Digital Archive System

布丁布丁吃布丁

開放原始碼數位典藏整合平台發展與建置 / Introduce to DSpace-DLLL: an Open Source Digital Archive System

image

這是我在2016年到兩個地方介紹DSpace-DLLL的投影片。一個是在政治大學圖書館舉辦的「數位典藏、數位策展暨數位人文學研習班」,內含實作的3小時課程,另一個是在國立師範大學舉辦的「台北市教師研習中心校史研習班」單純講課的課程。這兩個課程都可以搭配我另外製作的VirtualBox版本DSpace-DLLL虛擬機器來使用,以下提供連結讓有需要的人自由下載。

(more...)

DSpace 1.5.0加入CKIP中文斷詞器 / Add CKIP Chinese Analyzer in DSpace 1.5.0

布丁布丁吃布丁

0 Comments

DSpace 1.5.0加入CKIP中文斷詞器 / Add CKIP Chinese Analyzer in DSpace 1.5.0

image

原本DSpace 1.5.0使用的是Lucene的ChineseAnalyzer,最近我需要把CKIP中文斷詞的服務加進DSpace當中,於是我自己做一個適合DSpace 1.5.0版本的CKIPChineseAnalyzer。這僅供需要研究斷詞器的人使用,一般使用者不建議更換斷詞器。以下介紹這個CKIPChineseAnalyzer的安裝步驟。

(more...)

OpenVZ虛擬應用範本備份 / Backup OpenVZ Format Virtual Templates

OpenVZ虛擬應用範本備份 / Backup OpenVZ Format Virtual Templates

image

最近在觀看Proxmox VE改版的時候才發現Proxmox VE已經捨棄使用OpenVZ虛擬化技術,而且虛擬應用範本主要的來源Turnkey Linux亦不再提供OpenVZ的格式。為了避免以後使用OpenVZ時找不到虛擬應用範本可供安裝,我認為需要趕快將手邊有的虛擬應用範本備份到其他地方,以供未來需要的時候還能找來下載。下面我以虛擬應用範本內含的系統來分類,有些混雜了下載自Proxmox VE跟我自己做的虛擬應用範本,全部一併備份吧。

(more...)

專書「DSpace開放源碼數位典藏系統建置理論與實務」出版了 / Developing an Open Source Digital Archive With DSpace: Theory and Practice

布丁布丁吃布丁

專書「DSpace開放源碼數位典藏系統建置理論與實務」出版了 / Developing an Open Source Digital Archive With DSpace: Theory and Practice

20140803-pudding-1-0001_結果

最近終於把以Dspace-DLLL建置數位典藏的專書「DSpace開放源碼數位典藏系統建置理論與實務」完成了。本書不僅可以作為教科書、計畫建置的指導手冊,書中更包含一個可以直接安裝後使用的DSpace-DLLL系統。以下介紹本書的基本資料,作為書本的簡單行銷宣傳。

Recently we had published our book “DSpace開放源碼數位典藏系統建置理論與實務” (Developing an Open Source Digital Archive With DSpace: Theory and Practice). Following are the introduction and table of contents of this book.


書目 / Bibliography

20140803-pudding-1-0001_結果20140803-pudding-1-0002_結果

DSpace開放源碼數位典藏系統建置理論與實務

  • 作者:陳志銘、陳勇汀(布丁布丁吃布丁)
  • 出版社:文華圖書館管理
  • 出版日期:2014/05
  • 語言:繁體中文
  • 附件:1片DVD,內含DSpace-DLLL系統
  • ISBN: 978-986-6182-12-9
  • 定價:850元整

APA引用格式為:

陳志銘、陳勇汀(2014)。DSpace開放源碼數位典藏系統建置理論與實務。臺北市:文華圖書館管理。

書本導讀 / Introduction

本書提供有意建立數位典藏的相關專業人員建置系統的起步,也是為了數位內容、數位典藏學程、圖書資訊及資訊傳播等相關科系進行數位典藏實作教學目的而撰寫。數位典藏發展至今,已有許多以開放源碼釋出的數位典藏自由軟體可供利用,本書所介紹修改自 DSpace 的 DSpace-DLLL 即為其中一種。但是數位典藏系統的建置背後涵蓋著相當廣泛的專業知識,非常需要有一本專業的書籍作為入門學習的基礎。

20140803-pudding-1-0003_結果

為了引導讀者全面性的掌握數位典藏專業知識,本書先揭櫫數位典藏相關理論,包括數位典藏專案規劃、網站資訊架構、後設資料觀念與設計、電子資源管理、電子資源授權與權限控管,讓讀者具備使用 DSpace-DLLL 數位典藏系統的基礎觀念;其次介紹 DSpace-DLLL 系統的安裝、使用與修改,讓讀者能夠以本書所提供的 DSpace-DLLL 系統為基礎,以小幅度修改程式碼方式自行發展成具有特色的數位典藏系統;最後介紹以修改 DSpace 數位典藏系統開發的各類型數位典藏建置成果,以實際的例子說明各類型數位典藏的建置過程。

基於上述考量,本書內容主要分為三個部分,分別是數位典藏導論、DSpace 數位典藏系統實作以及DSpace 數位典藏建置案例介紹,再依據這三個部分區分為若干章節進行詳細介紹,全書共計十三個章節。作者希望透過本書的介紹,能提升讀者以開放源碼系統建置數位典藏的專業能力。

DSC_0054 裁切

本書的附件光碟為作者自行開發的DSpace-DLLL系統,這是基於DSpace1.5 版本以及整合多個開放原始碼自由軟體而成(如表 B所示),且本書修改自 DSpace 的 DSpace-DLLL 系統也以柏克萊軟體套件授權條款(Berkeley Sof-tware Distribution,簡稱BSD)發行。讀者可以自行安裝、架設或修改DSpace-DLLL的原始碼而不須徵求本書作者的同意,我們由衷地期望讀者能夠利用本書的內容與 DSpace-DLLL 系統建立起屬於您自己的數位典藏系統。

目錄 / Table of Contents

本書分成三個部分,包括數位典藏導論、DSpace數位典藏系統實作與DSpace數位典藏系統建置案例。

第一部分 數位典藏導論
  • 第一章 數位典藏概論:介紹數位典藏的各種定義,釐清讀者對於數位典藏的概念,並引領讀者認識數位典藏的相關計畫。
  • 第二章 數位典藏專案規劃:介紹數位典藏發展需要的成員組合,引導讀者瞭解如何從後設資料規劃設計與系統分析,一步一步地規劃建置數位典藏專案的執行細節。
  • 第三章 網站資訊架構:介紹數位典藏系統網站的組織架構原則,包括組織系統、標籤命名系統、導覽系統、搜尋系統、後設資料與控制詞彙等觀念。
  • 第四章 後設資料設計:說明後設資料的原理以及重要性,並介紹數位典藏常用的後設資料規格與參考資源。
  • 第五章 電子資源授權與權限控管:介紹電子資源的授權方式、各種不同的授權條款以及數位典藏系統權限控管的規劃與建議。
第二部分 DSpace 數位典藏系統實作
  • 第六章 DSpace 介紹:介紹 DSpace 的發展背景,帶領讀者瞭解 DSpace 各種功能特色與網頁使用介面,並介紹以 DSpace 發展完成的相關數位典藏應用。
    第七章 DSpace-DLLL安裝與設定:詳細介紹 DSpace-DLLL 安裝與設定程序,讓讀者能夠利用自己的電腦架設 DSpace-DLLL 數位典藏系統。
  • 第八章 資料內容組織架構:介紹 DSpcae 的資料內容組織架構,針對社群(community)、類別(collection)、文件(item)、檔案集(bundle)到檔案(bitstream)各層級與管理進行介紹,讓讀者學習如何制訂典藏的數位內容。
  • 第九章 帳戶、群組與權限設定:介紹如何建立 DSpace 的使用者、群組,以及權限控管的設定。
  • 第十章 遞交作業與工作流程:介紹 DSpace-DLLL 中設計與建立數位典藏的遞交作業與工作流程,其中遞交作業涉及後設資料規範的設定。
  • 第十一章 系統架構與版面修改:剖析 DSpace 的系統架構,並說明如何閱讀 DSpace 系統採用的 Java 程式碼,然後教導讀者修改網頁使用介面。
第三部分 DSpace 數位典藏建置案例
  • 第十二章 臺灣百年圖書館史數位圖書館先導計畫:介紹由政治大學圖書資訊與檔案學研究所依據修改DSpace所發展的「臺灣百年圖書館史數位圖書館」。詳細地描述數位典藏專案的建置程序,以供讀者作為規劃的參考。
  • 第十三章 教育部臺灣通識網課程資料庫:介紹「教育部臺灣通識網」建置的開放式通識課程資料庫成果。臺灣通識網課程資料庫包含典藏完整的優質課程資料庫與集合國內各大專院校通識課程資訊的通識課程基本資料庫。

出版現況 / Publication Status

image

目前「DSpace開放源碼數位典藏系統建置理論與實務」這本書已經在國家圖書館的全國新書資訊網登錄,但這不是銷售平臺,只是為新書記錄而已。

由於本書採用POD (Print On Demand,按需求印製)的方式印製,印量並不大,目前尚未在各通路上架。如果要購買的話,請直接跟文華圖書出版公司聯絡:

印量少加上還有一片DVD的情況下,本書不僅較難在傳統通路上架,價格也比一般書籍昂貴許多。我試著跟文華出版談談看能不能在Google Play等電子書平臺上架,讓想要的讀者更容易拿到本書。

(more...)

DSpace-DLLL教學投影片 / DSpace-DLLL Teaching Slides

DSpace-DLLL教學投影片 / DSpace-DLLL Teaching Slides

image

最近幫老師上課教了DSpace-DLLL,教導學生如何用DSpace-DLLL建檔、規劃社群與類別、設計遞交表單。在此公開教學的內容。

In recent days, I taught students how to use DSpace-DLLL to archive items, organize communities and collections, design submission input forms (metadata schema). I public my teaching materials in this article.


什麼是DSpace-DLLL? / What is DSpace-DLLL

DSpace-DLLL係以DSpace 1.5版本為基礎,結合實驗室長久使用DSpace發展數位典藏系統專案的經驗,改良並同樣以BSD條款釋出開放給讀者使用的數位典藏軟體。DSpace-DLLL系統與原本的DSpace 1.5版本有許多改良的地方,列舉如下:

  1. 以臺灣國情為主的中文化介面。
  2. 加強DSpace著錄數位典藏後設資料的功能。使用者可以用已經具備的後設資料格式,以輸入文字、上傳檔案等多種輸入型態來著錄後設資料。
  3. 在網頁使用介面裡加入許多管理工具,諸如設定檔編輯、語系檔編輯、遞交表單編輯、重新啟動Tomcat伺服器與記錄檔查閱等。即使不熟悉各個設定檔的編輯語法細節,讀者也可以在網頁使用介面上輕易地調整這些設定。
  4. 改良部份操作細節、版面配置,讓使用上能夠符合一般使用者的邏輯與習慣。

我之前已經用「談DSpace-DLLL系統」一文來介紹了一些DSpace-DLLL的事情。關於DSpace-DLLL的細節會在專書中介紹。

以下是以DSpace-DLLL的教學內容。跟專書中有點不一樣的是,我針對社群、類別、文件這三個重要但容易混淆的差異,我用目錄、Excel、表格內容來比喻:

2014-03-31_15-39-00

針對Metadata Schema概念設計的部分,我建立了一份「遞交表單規劃表」供初學者規劃。

image

遞交表單規劃表下載:Google DriveOneDriveBox.net

Part.1 資料建檔:新增遞交作業

大綱:

  • 進入並登入您的DSpace
  • 文件建檔:新增遞交作業
  • 檢視已建檔的文件

檔案下載:Google DriveOne DriveBox.net

Part.2 建構DSpace的架構

大綱:

  • 修改系統設定
    • DSpace-DLLL網站名稱
    • 編輯網站介紹(頭條新聞)
  • 介紹內容資料組織架構概念
    • 新增社群(community)
    • 新增類別(collection)

檔案下載:Google DriveOne DriveBox.net

Part.3 設計遞交表單

大綱:

  • 遞交表單介紹
  • 遞交表單規劃表
  • 遞交表單新增與編輯

檔案下載:Google DriveOne DriveBox.net

Part.4 遞交作業與問題回報

大綱:

  • 新增遞交作業
  • 修改文件與多媒體轉檔
  • 常見錯誤與問題回報

檔案下載:Google DriveOne DriveBox.net


心得:感謝雲端平台 / Thinking: Thanks for Proxmox VE

我教DSpace已經教很久了,不管是教使用操作、還是教系統開發,但直到現在,我還是覺得那些metadata schema什麼的概念,是很難一下子就搞懂得的事情。所以這次的教學,我也比上次又更改進了一些地方。希望大家都能夠透過簡單的比喻、熟悉的討論工具,能夠更容易操作DSpace-DLLL。

另外,多虧實驗室的Proxmox VE虛擬機器IaaS架構,以及之前把DSpace-DLLL改成OpenVZ的形式。一台實體伺服器跑11台DSpace-DLLL,運作起來仍游刃有餘。這比起去年教學時的狀況還要好上許多了。

這次所上開設的雲端運算研習班(名字尚未確定)中,我會去介紹實驗室的雲端平台架構,裡面會講我們是如何用開放原始碼的軟體來整合虛擬網路與虛擬機器,來提供快速提供大量伺服器服務的功能。有興趣的話請報名。

(more...)

論文獲得了「The Electronic Library 2013 Highly Commended Paper Award」 / Receving The Electronic Library 2013 Highly Commended Paper Award

論文獲得了「The Electronic Library 2013 Highly Commended Paper Award」 / Receving The Electronic Library 2013 Highly Commended Paper Award

20131225-pudding-2-0003

陳志銘老師、其他老師以及我在內大家合力在2012年發表的論文「基於臺灣百年圖書館史DSpace平台發展讀者知識典藏與分享機制」獲得了Emerald出版社底下The Electronic Library期刊的高度推薦論文獎

My teacher, Prof. Chih-Ming Chen, other teachers and I published a paper “Developing a Taiwan library history digital library with reader knowledge archiving and sharing mechanisms based on the DSpace platform” in 2012. And we got “The Electronic Library 2013 Highly Commended Paper Award” this year.


獲獎經過 / Receiving the Award

今年5月的時候,我收到來自Emerald Literati Network的得獎通知信件。那時候我還在想說,文章審查意見的事情主要是先由老師決定如何處理,而忽略這封信。隔幾天老師跟我報喜,我發現原來是這是獲獎通知。

信中還寫到有機會可以到國外研討會去領獎,我還挺興奮的,可惜後來並沒有如期成行。最後只有將獎狀寄出,大概12月才收到這張獎狀,就是文章開頭的那張圖片。

最後記錄一下得獎的網頁:

獲獎論文 / Awarded Paper

elcover

獲獎的論文原文是「Developing a Taiwan library history digital library with reader knowledge archiving and sharing mechanisms based on the DSpace platform」,完整的APA引用文獻是:

Chen, C.-M., Chen, Y.-T., Hong, C.-M., Liao, C.-W., & Huang, C.-M. (2012). Developing a Taiwan library history digital library with reader knowledge archiving and sharing mechanisms based on the DSpace platform. Electronic Library, The, 30(3), 426–442. doi:10.1108/02640471211241681

文章網址:

摘要 / Abstact

image

研究目的 / Purpose

本研究係在台灣圖書館史數位圖書館中,發展一基於Web 2.0技術、可在HTML網頁進行標註的閱讀標註與知識分享工具。

研究方法 / Design/methodology/approach

本研究調整了DSpace──一個開放原始碼的機構典藏系統──以此建置臺灣百年圖書館史數位圖書館,並加上讀者標註工具以支援讀者知識典藏與分享機制。本研究採用準實驗研究設計,將受試者隨機分成實驗組與控制組,以該系統進行閱讀學習並評估閱讀理解成效。統計分析顯示使用閱讀標註工具的實驗組學習成效明顯較高。

研究結果 / Findings

本研究發現具閱讀標註之數位文本提供讀者有用的知識。標註的價值在於可以輔助讀者獲取深度知識與進行有效閱讀。此外,對於數位圖書館來說,數位圖書館的內容也可以隨著讀者知識典藏而動態成長。更重要的是,來自不同讀者的標註資訊將有高度潛力,可以利用資料探勘技術進行更進一步的知識加值探勘。

研究價值 / Originality/value

在圖書資訊學領域中,蒐集讀者產生的內容是一種嶄新的研究議題,而且鮮少研究發展出有效的工具以支援讀者在數位圖書館中貢獻他們的知識。本研究描述了如何實作此數位圖書館系統以及如何利用標註工具促進數位典藏的成長,並影響讀者學習成效的提昇。

系統平台 / Platform

THL Project

論文提到的系統還可以使用喔:

關於百年圖書館史,可以參考我之前的「臺灣百年圖書館史」介紹。本系統在今年被我轉移到OpenVZ上,現在是以虛擬機器的形式在運作。不過這是我早期使用DSpace的系統,所以很容易當機。如果有問題的話可以在下面反應一下。


小結:得獎不敢居功 / Can't Take The Credit for This Award

這篇論文能得獎,還是得歸功於老師們,我主要做的只有系統功能的結合而已。能跟老師們沾點光,我就覺得很幸運了。在此僅是推銷一下這篇論文的內容與系統,做個記錄而已。

不過,未來我還是希望能靠自己的寫作來得獎,到時候才能夠真的抬頭挺胸地跟大家分享這份驕傲吧。

(more...)

VDI轉換成KVM可用之VMDK

VDI轉換成KVM可用之VMDK

image

早期我常使用的虛擬機器環境為VirtualBox,但是因為效能不彰、管理不易,之後我開始使用Proxmox VE平台來取代,並獲得不錯的成果。

要讓VirtualBox使用的VDI檔案能在Proxmox VE平台中的KVM虛擬機器中運作,必須先將之轉換成KVM可用之VMDK。奇怪的是,這並不能夠用VirtualBox GUI介面中的「匯出」功能,而必須要用「VBoxManage.exe」直接轉換VDI才行。

以下簡單說明作法。


虛擬機器使用的硬碟映像檔

本文所用的平台轉換方式是將VirtualBox使用的硬碟放到Proxmox VE的KVM中使用,你可以單純地想像成實體電腦中硬碟換到另一台插上去的感覺。只是VirtualBox用的VDI跟KVM支援的VMDK這兩者格式上有所不同,在實作前有必要先介紹一下。

VDI:虛擬硬碟映像檔

VDI是VirtualBox使用的虛擬硬碟映像檔,全名為Virtual Disk Image。他可以在最大2TB的檔案大小之間動態地佔用實際上需要的檔案數量。

舉例來說,設定一個大小為2TB、但內容並沒有檔案的硬碟,在Host端看起來該檔案大概只有幾MB而已。隨著VDI內容檔案的增加,VDI的檔案大小也會隨之增加。以一個CentOS來說,VDI大概會高達10GB左右。

VDI似乎並不會壓縮檔案。實際上內容用了多少、外面看起來就是說大。我之前用7-Zip壓縮VDI檔案的時候,可以將26GB的VDI壓縮到3GB左右的大小。當然,壓縮的時間也是非常地久就是了。

VMDK:虛擬機器硬碟

VMDK是VMware虛擬機器使用的映像檔,全名為Virtual Machine Disk。作為虛擬機器市場第一把交椅,各種虛擬機器都將支援VMware作為噱頭,而VMDK格式映像檔也在VirtualBox跟KVM的支援範圍之內。因此,將VirtualBox使用的VDI檔案轉換成KVM也支援的VMDK,就是本篇的主要重點囉。

2012-04-24_062535 vmdk 2012-04-24_064813 oracle vm

必須註明的是,只有VirtualBox 2.1.2之後的版本,也就是後期的Sun VirtualBox跟Orcale VirtualBox才有支援VMDK格式。早期的xVM VirtualBox跟更早的Inno Tek VirtualBox都沒有支援喔。關於VirtualBox的歷史請看新聞頁面

VMDK格式似乎會稍微壓縮資料,讓硬碟實際使用量不會太過暴增。VirtualBox支援匯出功能的時候,也會將硬碟檔案直接匯出成VMDK,而不是早期的VDI。但是透過匯出功能匯出的VMDK並無法讓KVM使用,這點真是令人匪夷所思。

VirtualBox將VDI轉換成VMDK指令

VirtualBox 2.1.2之後支援VMDK虛擬機器硬碟格式,可以使用內建的工具VboxManage來轉換。操作時必須以指令列的方式執行,Windows中就必須先叫出命令提示字元。

其指令為:

VBoxManage.exe clonehd source.vdi target.vmdk --format vmdk

舉例來說,我的VirtualBox裝在「D:\Program Files\Oracle\VirtualBox\」路徑底下,而我要將dspace-dlll.vdi轉換成dspace-dlll.vmdk的話,那麼指令要這樣下:

"D:\Program Files\Oracle\VirtualBox\VBoxManage.exe" clonehd dspace-dlll.vdi dspace-dlll.vmdk --form vmdk

2012-04-24_065054 cmd

如果指令正確的話,就會看到下面出現「0%…」的訊息。進度每隔10%都會顯示一次,你也可以看到目錄底下的「dspace-dlll.vmdk」逐漸變大。

因為VMDK會稍微壓縮資料的樣子,轉換完成之後,原本26.5GB的VDI居然只剩下11.4GB的VMDK。這對硬碟空間老是抓襟見肘的我們來說,真是件好事。

Proxmox VE執行VMDK結果

接著將轉換完成的dspace-dlll.vmdk放到Proxmox VE上執行看看。

基於Proxmox VE特殊的目錄架構,你必須先將硬碟檔案透過網路上傳到指令目錄底下。舉例來說,我現在要建立的KVM虛擬機器是VMID 103,名稱「test-dspace-dlll」。那麼vmdk檔名就要改成「vm-103-disk-1.vmdk」,並上傳到目錄「/var/lib/vz/images/103/」。

2012-04-24_182234 proxmox

至於建立KVM虛擬機器與掛載vm-103-disk-1.vmdk這些細節我就不說明了。

2012-04-24_065449 on kvm

設定好之後就能夠直接運作,上圖就是正常開啟的成果囉。


小結:KVM也需要Virtual Appliance

既然KVM支援VMDK,那麼也應該可以支援VMware大力推廣的虛擬應用(Virtual Appliance)吧?我之前介紹過Proxmox VE內建的OpenVZ系列虛擬應用樣板,以及最近發現的Turnkey Linux ,而KVM的虛擬應用就比較少。儘管Proxmox VE都已經進入第二版,但是這部份並沒有什麼加強就是了。

透過上述的轉換工具,各種虛擬機器之間的隔閡越來越低。下一步就是對各種虛擬機器的整合管理,根據機器負載需求即時地遷移需要的資源。這個議題已經有不少計畫進行中,許多工具也放在網路上等我去研究。可惜近期內我應該沒什麼時間好好摸索就是了。

(more...)

光碟救援模式(rescue mode)用fsck修復無法啟動的CentOS

光碟救援模式(rescue mode)用fsck修復無法啟動的CentOS

2012-04-23_154621 光碟畫面

繼今天(實際上是昨天)下午寫的用救援模式暫時進入原本系統的研究,之後在救援模式用fsck花了許多時間修復檔案系統之後,居然順利讓我修復完成並且正常啟動了!

以下就記錄修復的過程。


問題敘述

這個作業系統是CentOS 5 final,提供DSpace服務。

前一篇一樣,我要處理的問題都是開機過程「Checking filesystems」時出現「e2fsck: aborted [FAILED]」 錯誤,然後Linux指示以下訊息:

*** An error occurred during the file system check.
*** Dropping you to a shell; the system will reboot
*** when you leave the shell.
Give root password for maintenance
(or type Control-D to continue): _

也許可以在維護模式(maintenance)中進行修復,但我摸了一陣子搞不太定。倒是利用CentOS 5 Final的救援模式,用fsck順利修復了系統本身。

從光碟進入救援模式 (rescue mode)

2012-04-23_234849 linux rescue

用光碟開機之後,輸入「linux rescue」就可以進入救援模式。上圖是按下<F5>之後對救援模式的說明。

接著要設定語系、鍵盤與網路。

2012-04-23_235030 continue

最後要決定是否掛載原本的系統。因為我們是要修復原本壞掉的系統,所以這邊要選擇「Continue」。

2012-04-23_235123 chroot hint

掛載完成,原本的系統被掛載到「/mnt/sysimage/」。

2012-04-23_235214 cmd   

接著會進入指令列模式,可以輸入指令進行操作。

請輸入以下指令,將原本的檔案系統視為根目錄:

sh-3.1# chroot /mnt/sysimage/

試著查詢一下現在的目錄看看吧:

sh-3.1# ls
bin dev halt lost+found mnt pgdb sbin sys var
boot dspace home media net proc selinux tmp
core.15890 etc lib misc opt root srv usr

其他的細節請看前一篇的「從光碟進入救援模式(rescue)」。

利用fsck修復檔案系統

在使用fsck修復之前,必須要先卸載要修復的檔案系統,否則會造成檔案系統毀損。

透過「mount」指令,可以知道要修復的檔案系統「/dev/VolGroup00/LogVol00」掛載在「/」根目錄。現在我們使用「umount」卸載檔案系統:

sh-3.1# umount /

接著就能用「fsck」來修復檔案系統囉,指令如下:

sh-3.1# fsck -y /dev/VolGroup00/LogVol00

記得要加上「-y」選項喔,不然會確認按到累死。

image

看到以下訊息,就知道fsck開始修復動作了:

fsck 1.39 (29-May-2006)
e2fsck 1.39 (29-May-2006)
/dev/VolGroup00/LogVol00 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes

修復的過程非常久。我的硬碟有2T大小,修復大概也要快兩個小時有吧。總之請耐心等待。

2012-04-24_052701 finish

修復完成之後會看到上圖的訊息。

image

重開機看看,這次就能夠正常運作囉!


小結:能在維護模式下用fsck修復嗎?

雖然透過光碟的救援模式(rescue mode)使用fsck的確能修復檔案系統,但畢竟這還是要片光碟,比較麻煩。不知道能不能在維護模式(maintenance)中就直接使用fsck修復呢?

2012-04-24_004010 maintenance

當然,直接用上述的作法來做,只會收到以下錯誤訊息:

Error allocating icount link information: Memory allocation failed
e2fsck: aborted

到這邊我就不知道該怎麼做才好了。因為時間的限制,我也沒有繼續找下去。未來有機會再繼續研究吧。

(more...)

用光碟救援模式進入壞掉的CentOS系統

用光碟救援模式進入壞掉的CentOS系統

2012-04-23_154456 dspace 虛擬機器無法開啟

我這邊使用VirtualBox架設CentOS的時候,時常遇到開機程序無法順利進行的問題。雖然可以進入單機維護模式,但卻不能透過網路將檔案拿出來。後來發現可以用CentOS光碟的Linux救援模式來開機,並順利進入原本應該是壞掉的系統中,而且居然還可以順利開啟網頁服務來使用,就像是在原本的系統一樣。

當然,這並不是完整的解決方案,而只是我還在研究如何修復中的一個發現的筆記而已。


問題敘述

上述的問題都是在開機過程中進入到「Checking filesystems」的步驟時出現「e2fsck: aborted [FAILED]」 的錯誤訊息,然後出現以下訊息:

*** An error occurred during the file system check.
*** Dropping you to a shell; the system will reboot
*** when you leave the shell.
Give root password for maintenance
(or type Control-D to continue): _

雖然可以輸入root密碼進入維護模式,但是因為不能用網路,所以還要找其他的方法來取出檔案,對我來說是比較麻煩的。

於是我嘗試使用CentOS 5 Final的光碟來修復看看。

從光碟進入救援模式(rescue)

2012-04-23_154621 光碟畫面

從CentOS 5 Final光碟中看到的畫面如上。如果要進入救援模式(rescue mode),我們可以先按 <F5>看一下說明。

2012-04-23_154647 救援模式說明

簡單來說,輸入「linux rescue」並按下 <ENTER>就可以進入救援模式。

 2012-04-23_154722 linux rescue

救援模式設定

進入救援模式之後,會有幾項設定需要確認:

2012-04-23_154812 語言

操作語言。用英文最穩啦,沒有亂碼問題。

2012-04-23_154835 鍵盤

鍵盤配置。台灣通常都是用美規的「us」。

 2012-04-23_154904 網路

是否要啟動網路,選擇「Yes」。

2012-04-23_154925 網路設定

網路的相關配置。按<TAB>切換操作項目,移到「OK」進入下一步。

2012-04-23_154949 讀取模式

掛載原本系統

是否掛載原本的檔案系統到「/mnt/sysimage」。選擇「Continue」吧。

2012-04-23_155045 chroot

掛載完成之後,你就可以用「chroot /mnt/sysimage」指令進入原本的root環境。

進入原本系統

2012-04-23_155125 cmd

接著進入到了指令列,輸入「chroot /mnt/sysimage」 吧。

2012-04-23_155152 輸入之後

雖然系統沒有回應,但現在你已經是以root身分進入原本的系統中,而各種服務都可以正常使用。

啟動DSpace服務

以我在實驗室常用的DSpace來說,你可以透過以下指令來啟動DSpace:

sh-3.1# export JAVA_HOME=/usr/java/jdk1.6.0_06
sh-3.1# /opt/apache-tomcat-6.0.16/bin/startup.sh
sh-3.1# /etc/init.d/postgresql start

同理,要啟動SSH也可以輸入以下指令:

sh-3.1# service sshd start

就跟在原本系統一樣操作。


小結:救援模式只是應急的技巧

儘管用這種方式可以啟動網頁服務,至少大致上看起來是沒問題,不過畢竟不是長久之道。

我本來想試著用upgrade升級原本系統,可是失敗了。現在試著在救援模式中用fsck –y /dec/VolGroup00/LogVol00來修復看看,目前仍在跑,但我覺得成功機率應該不大。

最後的方法就是先在救援模式中取出必要的檔案,然後再架一台同樣環境但可以正常運作的機器,把檔案復原回去吧。

(more...)

臺灣百年圖書館史

臺灣百年圖書館史

THL Project

  • 題名:政大圖檔所台灣百年圖書館史暨數位圖書館先導計畫
  • 網址:http://tlh.lias.nccu.edu.tw
  • 負責建置時間:2007

台灣百年圖書館史暨數位圖書館先導計畫網站的建置之後,我就接手學長建到一半的DSpace系統,也至此與DSpace結下了不解之緣。


台灣百年圖書館史暨數位圖書館先導計畫是政大圖檔所的頂尖大學計畫發展成果。該計畫典藏臺灣圖書館界大事記、各類型圖書館介紹、圖書資訊學教育、圖書館人物、建築與各類文件,以DSpace系統開發建置而成。

這是我第一次參加具有數十人規模團隊的數位典藏計畫,我在陳志銘老師帶領之下從學長接手DSpace系統開發,對於初學Java與JSP的我來說修改得仍不是很成熟,但大部分功能修改已經不成問題。

image

當時我使用Zoomify來製作無差段圖片瀏覽器,似乎頗受好評。在這個計畫中開發出的相當多技術,也造就了後來教育部全國通識教育資源平台的成就。

 

 image

台灣百年圖書館史在作為數位圖書館的功能有張敦媛學姐的標註功能跟SRU (Search and Retrieve via URL) 開放查詢檢索的結果。前者可允許讀者在典藏內容加註筆記,如上圖,這也是我碩士論文的起源;後者是嘗試實作以網址為基礎的檢索協定。


陳佳琪學姊以臺灣百年圖書館史作為碩士論文、研究其資訊架構與搜尋引擎之間的不同。而在計畫結束後幾年,所上老師仍努力想要為此網站建置資料,因此有在持續更新。

不過實際上,能管理此網站的學弟妹應該是越來越少了。跟許多學術計畫一樣,臺灣百年圖書館史計畫也會逐漸凋零吧。雖然令人落寞,但也無可奈何。

(more...)

教育部全國通識網

布丁布丁吃布丁

教育部全國通識網

getcdb 截圖

  • 題名:教育部通識教育資源平臺建構與永續發展計畫 臺灣通識網
    (2010以前的舊名:教育部全國通識教育資源平台建構與永續發展計畫,簡稱全國通識網)
  • 網址:課程資料庫 http://get.nccu.edu.tw:8080/getcdb/
  • 負責建置時間:2006~2010

我在政大圖檔所的學生生涯中,有許多時間投注在這個平台上。我從此計畫剛起步的前兩年負責協助建置、開發,而之後則是擔任指導、諮詢的工作。至今大部分的工作都已經由專任助理們擔任,我也只有在他們有問題時提供詢問,並不直接參與開發。

由於我主要參與的期間,該計畫是以「全國通識網」稱之,所以以下我還是以慣用的「全國通識網」來敘述這個網站。


教育部全國通識教育資源平台是一個跨校大型計劃。內容包括典藏通識課程教材、通識教師資訊、通識實務規劃知識。陳志銘老師負責此計畫中技術部份的子計畫4(2010年之後更名為子計畫3),底下聘有多位助理,而身為兼任助理的我則是負責以DSpace為主的技術指導兼部分程式開發,後期撰寫DSpace技術專書,希望將此機構典藏的技術推廣出去。

全國通識網中分成多個子計畫,包括典藏通識課程的課程資料庫、可供通識教師交流的教室資料庫、學校整體通識計畫的通識實務全景。其中課程資料庫是我投注心力最多的地方。

image

我對DSpace的修改並不僅僅只是版面上的大幅度變動。原本只是典藏資料的DSpace,現在能夠即時在線上播放影片、投影片、文件檔案,這背後還搭配了多媒體檔案轉換的功能來實作。

image

除此之外,為了因應複雜的課程結構,我設計了以XML形式來儲存metadata,突破原本系統在metadata重複資料上的限制。

大部分的技術我都直接寫在「布丁布丁吃什麼?」的blog中,請參考DSpace標籤的連結。不過後來有許多功能改良之後就沒有持續更新,而是希望未來的人可以直接參考DSpace-DLLL中的程式碼。


現在此計畫仍在持續經營中,未來仍有各種豐富的價值有待開發,也能從這上面進行相當多的研究計畫,有興趣的人請與政大圖檔所的陳志銘教授聯絡吧!

(more...)

談DSpace-DLLL系統

談DSpace-DLLL系統

image

政大圖檔所於2011年5越27日舉辦了「數位檔案加值與教學應用研討會」。早上的場次中,我的指導老師陳志銘教授(真‧教授囉!)參與主講「DSpace-DLLL開放源碼數位典藏系統建置與應用」,講述我們實驗室DSpace改良開發成DSpace-DLLL,並應用於臺灣百年圖書館史數位圖書館全國通識網課程資料庫的內容。

以下是演講時的投影片:(SkyDrive下載)


關於DSpace-DLLL

如果常常閱讀這個Blog的人,一定知道這個「DSpace-DLLL」就是我在寫書中做出來的系統。這個演講底下的意義是為了書的出版鋪路,老師也很有良心,不把研討會當廣告臺,所以演講中並沒有提到書的事情,而是私下詢問時才會透漏給有興趣的人知道。


由於之前我在準備博士班的考試,老師並沒有特別告知我要進行這篇的演講,而是在我博士班筆試都考完之後才請我做投影片,所以我是最近才知道這篇文章的內文在講些什麼。儘管作為一個熟悉者,可以看得出學弟妹整理的文章中有很多破綻,不過將自己做的作品分享出去這件事情,還是挺令人驕傲的。而且這篇文章的發表也能幫學弟妹抵免資格考,這對學生來說才是數位典藏系統的「加值應用」啊。

關於DSpace-DLLL的細節,我在書本中已經有詳細地說明。目前書本正在二校中,博士班筆試結束之後,我也比較能夠專心投入這塊。希望能儘快出版呢。


回應項潔館長的問題

在議程結束前的發問期間,項潔館長質疑我們做DSpace-DLLL是否有其必要性,應該是多跟臺大圖書館合作,這樣才是真正的「不必自行重複開發」。王梅玲老師認為小型團體仍有建置獨立數位典藏系統的需求,但項館長則反駁說,那應該是去購買雲端服務即可。而會議議程時間不夠,實際上的主講者陳老師卻沒有參與這個討論,就結束了這段議程。

說實話,我不是很清楚跟臺大合作的方式是如何。感覺上應該是類似企業外包委託案那種方式進行吧?如果真的要做大的話,臺大圖書館也的確可以用雲端運作模式來提供合作服務也說不定。

DSpace-DLLL的「不必重複建置數位典藏系統」,是真的只是在講這個技術平台。在數位典藏計畫裡面,技術平台只是一個環節,無法取代委託整個數位典藏計畫的作法。不過即使如此,對於很多人來說還是很有意義。舉例來說,教師在教數位典藏課程時,就能夠讓學生真的有一個系統平台可以去架設、管理、自行建置,讓他們真的體驗到「如何規劃、建置一個數位典藏計畫」的經驗。這種價值在政大圖檔所中也時常體現,我也從老師們教學使用上的回饋來修正DSpace-DLLL的缺點。另一方面,DSpace-DLLL可以成為想要獨自架設數位典藏系統的單位有一個比原始DSpace更好上手的起點。

尤其是後者,對我來說有著更深遠的含義。DSpace-DLLL是以開放原始碼的模式分享技術,我們站在DSpace這個巨人的肩膀上,往理想的方向踏出了一步,然後再成為其他人的基石,幫助他人更進一步。就像DSpace仍有許多缺點,而我們改善之後以DSpace-DLLL釋出一樣,未來也希望會有人再改進DSpace-DLLL,而釋出更好的開放原始碼數位典藏系統。

以一個系統開發者的角度來說,讓技術在開放原始碼的環境下自由地成長,這是很有意義的貢獻。


未來的方向

作為DSpace-DLLL的開發者,先不論老師在接手之後怎麼繼續改進,我必須補充一下老師在影片中尚未提及的幾個注意事項。

大前提是,這不是企業化、大團隊製作的成品,因此請勿期待不太會成為完美的方案,只能成為備選方案之一。

虛擬機器的限制
image

DSpace-DLLL封裝在虛擬機器VirtualBox進行安裝。我寫了一個Windows XP的安裝精靈,方便Windowx XP使用者來架設。而VirtualBox是跨平台的虛擬機器,因此熟悉的使用者也可以拿著硬碟檔架設在Linux平台上。

使用虛擬機器封裝的理由很單純:安裝簡易。DSpace的原始安裝方式是以Java Servlet來進行配置,但是技術難度高,而太多外部依賴元件需要額外下載。在DSpace-DLLL中加入的多媒體轉檔功能,也需要依賴非DSpace原始檔中的OpenOfficeFFmpegMEncoder套件。為了避免大家光是安裝就弄昏了頭,所以我把它通通打包在虛擬機器中,方便轉移與應用。這種概念可是雲端模式的基礎呢。

虛擬機器的意思是在電腦上再模擬一個電腦,對於效能不佳的電腦來說,虛擬機器的負荷很大,因此穩定度跟服務負荷量有待評估。

理論上,若將DSpace-DLLL裡面的系統移植到實體電腦上,應該是會有比較好的運作效能。不過各元件是否能夠順利搭配這點我就不敢保證,Linux最為人詬病的就是套件相依性太高,要完美地安裝一個系統,我一直都沒有確切的把握。

大量資料的處理

繼承前一點,虛擬機器的DSpace-DLLL在大量資料的存取下是否能夠正常運作,這是需要評估的。除此之外,在系統功能上也還有許多需要改進的地方。

對於數位典藏工作人員來說,最需要的就是批次匯入機制。DSpace有提供後台的匯入,但是批次檔的撰寫對一般人來說並不友善。同樣的,對於大量資料的修改、調整,DSpace也沒有批次修改的功能。因此在大量資料的管理上,還有很多的不便。

這是DSpace尚未達到的境界,而DSpace-DLLL也繼承下來,一樣有這種問題。

但是這並不是做不到:DSpace的批次匯入其實真的很好用,只是不太友善。有心要修改的人,應該是能夠輕易地將他實作成前臺網頁可以直接執行的功能吧。

權限控管與付費機制

這是非常重要的一個未解決問題,如果你的計畫想要以DSpace-DLLL作為起點,那麼權限是不得不考量的一個議題。

DSpace提供以帳號來控管權限功能,可以控制內容層級每一層的新增、遞交、編輯、刪除權限,控管上非常詳盡。但是就跟大量資料管理缺乏批次處理功能一樣,大量的權限設定也就變成一個難題。另一個問題,就是權限控管的需求不只有帳號這一種方式,常見的還有IP、國家等限制,而DSpace還沒考量到這點。

DSpace已經有良好的權限控管基礎,但仍需要有人進一步地改良,這也是DSpace-DLLL未解決的問題。

至於付費機制上,原本是為公開取用的DSpace就離這個功能更是八竿子打不著的關係,請營利公司自行加油吧。

分類與介面
image

作為一個泛用型典藏系統,DSpace的預設範本很樸實。我在DSpace-DLLL中修改了一些小細節,但是並沒有去調整他的設計,因此介面依然是很單調。

今天研討會時王老師提問說能不能更簡單地調整網頁的樣式,並且建立漂亮的分類架構。這也是她長久以來的一個疑惑。

用簡單的方式來修改網頁介面,例如拖曳、新增網頁元素、套用簡易範本,這在大多數CMS當中都已經是非常成熟的技術,不過DSpace在介面調整支援上,還不能簡單地使用。提示是XMLUI,但至今我仍未參透這個功能就是。

至於分類架構上,這可是一塊非常、非常、非常大的研究議題了。原本作為機構典藏之用的DSpace,將內容層級架構分成community、collection、item等層級,許多國外數位典藏系統也都是依照此架構在使用。但是數位典藏不像檔案管理有一套全宗原則,往往還是以客製化的方式設計分類架構為多。

這個客製化的要求並不是說DSpace的內容層級架構不能實作出來,事實上,像林巧敏老師負責的教育部中綱計畫成果資訊網就是一個很適合的例子。不過系統技術人員眼中的分類架構跟數位典藏人員來說有很大的差別。對於數位典藏人員來說,他們更在意的是對於每一種分類導覽功能的客製化。

image

以中綱計畫成果資訊網來說,在一個子計畫瀏覽中又可以依照藏品的類型來分類。若以DSpace實作,一個子計畫則是一個community,每一種藏品的類型是各自的collection,而底下每一筆資料則就是一筆item。那麼DSpace在介面呈現上能不能做到像中綱計畫成果資訊網一樣呈現?作為技術人員的我一定會跟你說:可以,但是要自己改。而這對許多不懂技術的人來說來說,其意義就與DSpace無法做到這種分類架構是同樣的答案。

總而言之,到頭來還是介面上的問題。而且這對泛用型典藏系統的DSpace來說,都已經快要是非戰之罪了。

然而,我認為DSpace在介面功能上的強大,對技術人員來說會有直接的感受。受惠於DSpace嚴謹地設計模式、詳盡的註解說明,技術人員可以輕易地利用DSpace的內容層級架構、瀏覽、搜尋功能做出各種客製化的分類架構,就像全國通識網課程資料庫一樣。我看過一些商用軟體的程式碼都還沒DSpace漂亮,這是真的。DSpace的程式非常嚴謹且靈活,不僅是容易使用,也很值得學習。


全文檢索的中文斷詞改善

在全文檢索的功能中,DSpace會依據檔案內文製作倒置索引檔,以此來達到全文檢索的功能。然而MIT與HP為西方人設計的DSpace並沒有很完美地考慮到各國的國情,中文斷詞只用二字詞的方式來切截。這會影響搜尋結果並不是十分漂亮。

中文斷詞全文檢索是一塊門檻不低的議題,DSpace-DLLL也沒有解決這個議題,但是未來仍可以從DSpace提供的plugin機制來進行修改,讓中文斷詞更為漂亮。


PDF的HTML網頁化

儘管現在PDF已經如此盛行,但我們真正要使用的時候,還是會希望他是以HTML網頁的方式呈現。只有網頁,才能讓我們能夠為他加上更多的服務,例如標註功能。

其實這幾乎脫離了DSpace原本的要求,但這也的確是我想做的一個功能。未來有機會的話再來挑戰看看吧。



DSpace-DLLL與我

如果有人欣賞DSpace-DLLL,那我會感到非常欣慰,辛苦努力總算有了代價。而DSpace-DLLL會不會像上述的未來發展一樣繼續改進,我希望會,但我也希望會有人來接手。至於我自己,也希望能有這個機緣能夠繼續改進。

機緣,那是很重要的條件。那就是有沒有繼續做下去的價值。也許很多人會認為「有!」,但那是站在使用者的立場來說的。作為開發者的我來說,有沒有價值,那又是另外一回事。


興趣來做的DSpace-DLLL,是以延畢換來的

我在政大圖檔所念了快要四年才完成學業,不瞞大家說,因為我都在玩──最後玩出這個DSpace-DLLL。

在幫忙百年圖書館史、教育部計畫、甚至是寫書的時候,儘管老師並沒有要求很多,但我卻仍會任性地挑戰自我。於是後設資料編輯功能出來了、虛擬機器出來了、更簡單的系統管理方式出來了、一本介紹DSpace的專書也快要出來了。

這並不是為了錢、也不是為了名聲、也不是為了他人(包括老師或是計畫助理),而是為了自己的興趣。那種「想看看跨越山丘之後的景色」是我持續前進的動力,這也往往讓我沉迷在此、樂在其中而不可自拔。

儘管學習的過程讓我感到開心,但我也知道,這其實並不是什麼值得驕傲的事情。當我每天在實驗室修改程式碼的時候,有些老師則是直接對我嘆氣:「唉,你怎麼都在搞這個,幹嘛還不畢業。」

我大概花了將近兩年的時間專搞DSpace,論文幾乎是寫完計劃書之後就放置不理了。每次陳老師想拿我來當學弟妹借鏡的時候,我內心其實都會為這種不顧學生畢業本分而玩樂於DSpace的行為感到汗顏。

在金錢上,因為幫忙計畫事宜,所以當時老師給的人事費仍可以補足日常生活所需。儘管如此,每學期的學雜住宿費仍得仰賴父母的支援。這對一個當時的年紀是應該在外面工作、養活自己的人來說,我這種為了興趣不顧一切的行為並不可取。


只是為了自我成就

DSpace-DLLL的發展並不像是國科會、教育部計畫一樣,是有實質的經費支援。它也不是我的畢業論文,對我的畢業也沒有實質的助力。這種基礎的系統建設並沒有太多學術上值得一提的研究價值,這也不是我想做的研究題目。

它就真的,只是我的興趣,只是一種自我成就,是幫忙計畫專案之後,學習了Java Servlet、AJAX、Linux、虛擬機器、自動安裝之後的一個成果產出與分享,就只是如此。


不能一直玩下去

人不去面對現實也要有個限度,至少這點我還是知道的。為自己設定一個折返點,做到一個程度就該收手,不能一輩子這樣玩下去。我想,這才是一個社會人應有的常識。

我玩得很開心,但是差不多了。

儘管如此,不會對DSpace-DLLL感到滿足的人總是會期望我或實驗室能夠繼續開發下去。我也希望如此,不過我更希望的是看到有人能接手,基於現在的基礎上,繼續深入開發。所以我寫書,我釋出系統,這是我的願望。

至於我自己能不能繼續做,那麼就要回歸現實問題,有沒有經費支援?對於我未來學業、工作上有沒有幫助?有多少經費做多少事情,這才是一種正常的運作模式。在沒有經費、憑著熱情來開發、供人自由取用的火柴人行為,這是可以拿來自己說笑的故事,但卻不是作為要求別人的條件。

所以誰誰誰快來聘我去工作吧,我就能名正言順地繼續玩DSpace了!!


結語

原本只是想記錄一下DSpace-DLLL的介紹投影片,沒想到越寫越多,就變成這樣落落長的一篇了。原本是打算花一個小時來寫,不過實際上似乎是寫了快三個小的樣子。都已經半夜兩點了,好睏。

那麼接下來就是努力讓DSpace-DLLL可以順利出版啦,加油~

(more...)