CDemu

出自 Arch Linux 中文维基

CDemu 是一個虛擬光碟機,可以掛載.bin/.cue, .nrg, 或 .ccd 等非ISO-9660格式光碟鏡像。mount 只能掛載包含單一文件系統的 iso。而許多 cd 都帶有複雜的信息,比如混合數據和音軌。CDemu 能獲得這些CD鏡像完整、原始的內容。

CDemu 利用vhba內核模塊模擬出一個SCSI CD/DVD設備,由後台運行的cdemud守護進程(cdemud)與該模塊通信。鏡像分析代碼被抽象到一個庫中(libmirage),需要支持新的鏡像格式時,也便於擴充。守護進程響應來自客戶端的dbus命令。CDemu軟體包提供了兩種可選的客戶端:基於命令行的(cdemu-client)和GNOME的panel applet——(gcdemu).

安裝[編輯 | 編輯原始碼]

CDemu 可以通過 安裝 官方軟體倉庫 中的軟體包 cdemu-client 獲得。如果使用自定義內核,不要使用正常的 vhba 內核軟體包 vhba-module, 必須使用 DKMS 版本的軟體包 vhba-module-dkms.

啟動 Systemd 服務:

# systemctl enable cdemu-daemon.service

systemd 不會自動加載 CD/DVD 驅動,需要手動加載:

 # modprobe -a sg sr_mod vhba

圖形界面[編輯 | 編輯原始碼]

AUR 中包含了多個圖形界面:

  • GTK/Gnome gcdemuAUR: 提供 GNOME 面板程序。
  • KDE kde-cdemu-managerAUR: 獨立程序,與 Dolphin 的動作菜單交互,可以在鏡像文件上右鍵。

示例[編輯 | 編輯原始碼]

將單個鏡像加載為第一個設備:

$ cdemu load 0 ~/image.mds

將多文件鏡像加載為第一個設備:

$ cdemu load 0 ~/session1.toc ~/session2.toc ~/session3.toc

設定字符編碼:

$ cdemu load 0 ~/image.cue --encoding=windows-1250

掛載加密鏡像:

$ cdemu load 0 ~/image.daa --password=seeninplain

卸載第一個設備:

$ cdemu unload 0

顯示設備狀態:

$ cdemu status

顯示設備掛載信息:

$ cdemu device-mapping

Setting daemon debug mask for the first device:

$ cdemu daemon-debug-mask 0 0x01

Obtaining library debug mask for the first device:

$ cdemu library-debug-mask 0

Disabling DPM emulation on all devices:

$ cdemu dpm-emulation all 0

Enabling transfer rate emulation on first device:

$ cdemu tr-emulation 0 1

Changing device ID of first device:

$ cdemu device-id 0 "MyVendor" "MyProduct" "1.0.0" "Test device ID"

Enumerating supported parsers:

$ cdemu enum-supported-parsers

Enumerating supported fragments:

$ cdemu enum-supported-fragments

Enumerating supported daemon debug masks:

$ cdemu enum-daemon-debug-masks

Enumerating supported library debug masks:

$ cdemu enum-library-debug-masks

Displaying daemon and library version:

$ cdemu version