亂點鴛鴦譜:Fedora Core 4 Linux 與麥金塔 HFS/HFS+ 檔案系統格式相親記
2006/05/19 12:05 am 老刀

一、前言

RedHat Linux 自推出以來,便因為安裝容易與各安裝套件之間高度整合的特性普受好評。 Fedora Core 承自 RedHat 的開放源碼計畫, 2005 年 6 月正式釋出的 Fedora Core 4(以下簡稱為 FC4)延續源自 RedHat 的血統,除了系統核心 (kernel) 更新為 2.6 版外,嶄新的 GNOME 2.10 也帶來耳目一新的外觀。另 FC4 除支援傳統 x86 平台之外,也新增對於麥金塔電腦的支援(適用於 G3, G4, G5 CPU 的機種),突破從前 RedHat 及 Fedora Core 系列 linux 系統僅能在 x86 電腦安裝與執行的窠臼。

筆者使用 RedHat 與 Fedora Core Linux 系列已有一段時間,一開始是安裝於低階 PC 上做為檔案伺服器,隨著採用 GNOME 做為 X Window 客端圖形介面發現,平常在 Windows 及 Mac OS 使用的工具、如瀏覽網頁 (Firefox)、 Office 作業 ( OpenOffice.org)、簡單的繪圖 (Gimp) 都有免費且功能頗佳的替代軟體,故有逐漸將個人資料移至 Linux 的想法。

筆者使用的儲存媒體種類甚多。考量將所有資料重新備份一次、重新格式化為 Linux 使用的 ext2 / ext3 檔案系統格式再予以拷回的所需時間、精力與相容性(Windows 、 Mac OS X 並不能直接讀寫 ext2 / ext3 檔案系統),產生了將儲存媒體跨平台化的想法。雖然微軟 FAT32 格式已經是各家系統普遍支援的非官方標準,但因 FAT32 先天上的缺點,筆者決定捨棄 FAT32 ,選擇蘋果電腦普遍使用的 HFS, HFS+ 檔案系統,並測試它是否能通過考驗。

因為 Windows 上已有讀寫 HFS, HFS+ 檔案系統的工具程式(如 TransMac, MacDrive 等), FC4 能否支援 HFS / HFS+ ,即成為其是否能通過考驗的關鍵。



二、測試設備清單

筆者使用的裝備如下:

1. PC 電腦一部:

  • CPU: Intel Celeron 1.1GHz(Socket 370 腳位)。
  • RAM: 640MB。
  • 主機板: ASUS P3V4X,另加一片 Slot 1 -> Socket 370 CPU 轉接卡。
  • 3.5" 軟碟機。
  • Acer 52 倍速 IDE 介面唯讀光碟機 (CD-ROM)。
  • 1394 (FireWire) 介面卡,使用威盛 (VIA) 元件。
  • USB 2.0卡,使用NEC元件。
  • 安裝 Fedora Core 4 系統,X Window 視窗介面使用 GNOME 2.10(FC4 預設使用 GNOME 介面)。

2. 記憶卡讀取器,使用 USB 2.0 介面。

3. HFS/HFS+ 格式儲存媒體:以下除 3.5" 軟碟片是於 Power Macintosh G3/233 使用 OS 9.2.2 格式化為 HFS 檔案系統之外,其餘皆使用 Mac OS X 格式化為 HFS+ 檔案系統。

  • 3.5" 軟碟片。
  • CD-ROM光碟,以 iBook G4/800 隨機版 Mac OS X 10.3 (Panther) 安裝光碟第一片做為測試片。
  • 記憶卡:創見 (Transcend) 256MB CompactFlash。
  • 外接硬碟:以 ZX-5 外接盒(FireWire/USB 2.0 雙介面),內裝 3.5" Seagate Barracuda 120GB(型號:ST312002 6A)硬碟一顆。
  • iPod 15GB 第三代機,使用 Power Macintosh G4/733 更新 iPod 韌體為 2.3 版。

4. 必死的決心(當然,重要資料已先行備份)。

如果您也有意這麼做,為免悲劇發生,建議您測試之前最好先備份重要資料為宜。



三、中文檔名編碼說明

FC4 內定使用 UTF-8 編碼處理中文檔名,與 Mac OS X 相同。故若 FC4 成功掛載 Mac OS X 格式化的 HFS+ 檔案系統時,系統無須任何修改便可支援HFS+ 媒體的中文檔名。但因為 Mac OS X 不支援 3.5" 軟碟機,故測試之軟碟片使用 Mac OS 9.2.2 格式化。 Mac OS 9 與更早期系統的正體中文檔名採用 Big-5 編碼,故即使磁碟機可讀取磁碟片,亦無法辨識其中文檔名。 FC4 與其他 Linux 系統均提供變更預設編碼的方法,您可透過變更 FC4 編碼解決檔名編碼不相容的問題。如您希望變更內定編碼為 Big-5 ,請自行參照 Linux 相關文件的說明,此處不再贅言。



四、掛載/卸載檔案系統

Linux 與 Unix (包括 Mac OS X )的指令列及「終端機」均提供 mount 指令,用以手動掛載週邊裝置。其指令語法為:

    mount [-t 檔案系統型別] /dev/週邊裝置目錄 掛載目錄1

雖然以方括弧 [ ] 中的項目可以省略,筆者測試時發現如未明確指定檔案系統型別(即 hfs 或 hfsplus), FC4 並不能成功掛載。因此,如需掛載 HFS+ 儲存媒體,必須明確指定檔案系統型別為 "hfsplus"(強烈建議您修改 /etc/filesystems2 ,增加一行 "hfsplus" 即可避掉必須明確指定檔案系統的問題,且可免除某些狀況下使用 FireWire 週邊裝置將造成 GNOME 不穩的情況)。讀者若有興趣,請參考 Linux 手冊等文件。

在 Mac OS X 中,如您不再使用某個儲存媒體裝置,請先卸載其檔案系統(將其圖像拖至垃圾桶)後再拔除連接線;直接拔除之可能導致損失資料。 Linux 與 Unix(包括 Mac OS X 的「終端機」)亦然,它提供 umount 指令用以卸載檔案系統,語法如下:

    umount [選項] 週邊裝置目錄(或掛載目錄)

FC4 可以辨認數種檔案系統,除了您可隨時利用 mount / umount 指令掛載/卸載檔案系統之外, FC4 一偵測到儲存媒體時即嘗試自動掛載其檔案系統;若掛載成功,將在 GNOME 桌面產生對應的圖像。您亦可透過 GNOME 的「電腦」視窗見到掛載結果。

GNOME 也提供了圖形介面的檔案系統管理模組,筆者另於文後討論之。



五、測試結果

筆者逐一測試在 GNOME 環境內掛載各儲存媒體的結果。檔案系統掛載後,其結果將顯示於 GNOME 的「電腦」視窗內,如圖 1 所示。

1. 抽取式媒體:

(1) 3.5" 軟碟片:因為PC軟碟機不會自動掛載 3.5" 軟碟片,您必須打開 GNOME 桌面的「電腦」,再雙擊「軟碟機」即進行掛載。


圖 1:GNOME 的「電腦」視窗

掛載後, "floppy" 圖像將出現在 GNOME「電腦」視窗與桌面上。正如之前預料的,因為檔名編碼不同,中文檔名並不能正確顯示(如圖 2); FC4 體貼地在檔名後端加上 "(invalid encoding)" 以便識別。另外,原先磁碟片裡的隱藏檔一覽無遺地出現在 GNOME 檔案瀏覽器中。


圖 2:檔名編碼不同,導致亂碼

您可對照 Mac OS 9.2.2 所見的磁碟內容,如圖 3。


圖 3:Mac OS 9.2.2 顯示的 3.5" 磁碟內容

(2) CD-ROM:將Mac OS X 10.3 (Panther) 安裝光碟片第一片放入光碟機,即自動掛載於 GNOME 「電腦」視窗。筆者以 FC4 瀏覽 Mac OS X 10.3 安裝光碟內容如圖 4 。


圖 4:FC4 裝載 Mac OS X 10.3 安裝光碟

2. USB 連接測試:記憶卡讀取器(已插入 CompactFlash 記憶卡)與外接硬碟。

測試過程順利,讀卡器與 USB 外接硬碟接上電腦時, FC4 不僅能辨認其存在,並自動掛載檔案系統,產生磁碟圖像於 GNOME 桌面上(如圖 5)。一如預期,中文磁碟名稱與檔案名稱皆可正常顯示,讀寫入資料完全 OK!


圖 5:GNOME 自動掛載儲存媒體

3. FireWire (IEEE1394) 連接測試:外接硬碟與 iPod 與先前的 USB 測試相同, FireWire 外接硬碟接上電腦時, FC4 自動掛載檔案系統,產生硬碟圖像於 GNOME 桌面上。有趣的是當 iPod 接上 FC4 時,桌面上產生的 iPod 圖像,是不是似曾相似呀?

既然可以看到 iPod ,那麼是否可以將裡面的歌曲拷出呢?答案當然是肯定的!iPod 的歌曲儲存於 /iPod_Control/Music/Fxx(xx 為一串數字),如圖 6 所示。


圖 6:iPod 歌曲目錄

試著將 iPod 裡的歌曲拷出,完全成功(如圖 7)!蘋果公司顯然尚未在 Linux 系統做版權保護,嘿嘿……。歌曲雖可成功拷貝,但建議您僅做個人備份用途。未經授權非法盜取音樂是違法行為且不值得鼓勵!

【註】測試中發現,如果未依前述修改 /etc/filesystems (增加一行 "hfsplus")時, FC4 僅能掛載一個 FireWire 週邊;同時接上 FireWire 外接硬碟及 iPod 時,二者將互搶系統資源使 FC4 自動掛載失敗,結果是二者皆無法使用!


圖 7:拷貝 iPod 歌曲到 GNOME 桌面上



六、GNOME 磁碟管理

FC4 已提供一個「磁碟管理」工具程式(執行方式如圖 8),除可使用它查看所有儲存媒體的檔案系統格式之外,您亦可用來手動掛載/卸載所有的檔案系統。


圖 8:GNOME 「磁碟管理」工具

使用方式非常容易:點選您希望掛載/卸載的裝置,然後按下右下角的「掛載」或「卸載」即可(如圖 9 )。


圖 9: GNOME 「使用者掛載」工具

此外,你也可以單獨掛載/卸載某個儲存媒體裝置,打開 GNOME 「電腦」視窗,以滑鼠右鍵選擇「掛載檔案系統」或「卸載檔案系統」(如圖 10)。


圖 10:「卸載檔案系統」



七、結語

話說至此,本次測試即將告一段落。在測試過程中發現 FC4 與 HFS+ 檔案系統的相容性極高,並且證實我的疑慮是多餘的:既有 HFS+ 格式的儲存媒體可直接接上 FC4 繼續使用。但此僅是 FC4 單一版本的相容測試,並不保證其他 Linux distributions 也有同樣的高相容性。這篇 FC4 測試只是起頭,希望藉此拋磚引玉,期待您協助進行其他 Linux distributions 的相容測試提供參考。

【後註】本篇文章亦刊載於 Linux Guide 雜誌第 9 期(2005 年 9 月 25 日出刊)
(C) 老刀版權所有. All Rights Reserved. 2005 年 8 月 12 日 于台灣台北

1. 檔案系統型別、支援的 /dev 週邊裝置,請參見 Linux 手冊等文件或於命令模式下執行 man mount 。
2. /etc/filesystems 為純文字檔案。用來表示未指明檔案系統時, mount 自動掛載檔案系統型別的順位。