2013年1月17日 星期四

如何在 Android 裝置閱讀使用 DRM 機制的電子書


1. 在Adobe 網站 http://www.adobe.com/tw 註冊取得 Adobe ID

2. 在電腦下載並安裝免費的閱讀軟體Adobe ADE (Adobe® Digital Editions)

3. 安裝完成 Adobe Digital Editions 後請啟動程式,選擇功能列上的「圖書館」 並點選「授權電腦」,輸入您的 Adobe ID,即開始授權電腦設備可以讀取使用 DRM 機制的電子書。

4. 從電腦下載並開始閱讀電子書。

5. Adobe PDF 電子書在電腦資料夾中的位置:C:\Users\使用者名稱\Documents\My Digital Editions。將下載的電子書從電腦複製到 Android 裝置。


7. 開啟 Aldiko Book Reader 並從選單點選設置,在ADOBE DRM的地方輸入您的 Adobe ID
Aldiko Book Reader

8. 接著回主畫面點選文件,再選擇您存放電子書的目錄,接著點選該電子書並選擇『導入』,導入完成即可順利閱讀
import

使用KVM建立虛擬機器(以Ubuntu 12.04 LTS平台為例)


以下的步驟均在Ubuntu 12.04 LTS 環境中執行,並以root身份登入。

1. 先檢查實體電腦是否支援 Intel VT or AMD-V: 
# egrep '(vmx|svm)' --color=always /proc/cpuinfo

如果有出現 vmx 或者 svm 表示實體CPU有支援,如果CPU沒有支援就無法繼續了。
或者您也可以安裝CPU檢查套件來檢查:
# apt-get install cpu-checker
# kvm-ok

如果出現KVM acceleration can be used就表示可以繼續安裝KVM。要注意的是您也必須檢查BIOS是否有將VT的功能開啟。

2. 安裝KVM和 vmbuilder
# apt-get install ubuntu-virt-server python-vm-builder kvm-ipxe

安裝完畢後必須將目前的使用者(root)加入libvirtd的群組,請輸入:
# adduser `id -un` libvirtd
# adduser `id -un` kvm

接著請務必先登出再登入,使群組生效。重新登入後請執行:
# virsh -c qemu:///system list

如果出現底下的畫面,表示您的KVM已經正確運行。
Id 名稱 狀態
----------------------------------

3. 安裝網路橋接(Bridge)界面,讓虛擬機器可以和外面的網路連接:
# apt-get install bridge-utils

安裝完成後必須修改網路組態設定,請使用您熟悉的編輯器開啟/etc/network/interfaces,修改前的組態可能是:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.254
dns-nameservers 8.8.8.8 8.8.4.4

請將內容修改為:(增加br0橋接界面)

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0 iface eth0 inet manual
auto br0 iface br0 inet static
address 192.168.0.100
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 8.8.8.8 8.8.4.4

bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

接著重新啟動網路:
# /etc/init.d/networking restart

檢查修改後的網路組態,看看br0界面是否正常運行以及IP位址是否正確:
# ifconfig

br0 Link encap:Ethernet HWaddr 00:26:18:97:91:72
      inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
      inet6 addr: fe80::226:18ff:fe97:9172/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
      RX packets:228570 errors:0 dropped:0 overruns:0 frame:0
      TX packets:143241 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0
      RX bytes:322035649 (322.0 MB) TX bytes:11535133 (11.5 MB)

eth0 Link encap:Ethernet HWaddr 00:26:18:97:91:72
        inet6 addr: fe80::226:18ff:fe97:9172/64 Scope:Link
        UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
        RX packets:229408 errors:4 dropped:0 overruns:0 frame:4
        TX packets:143224 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:325306184 (325.3 MB) TX bytes:11538445 (11.5 MB)
        Interrupt:19 Base address:0xdead

lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:36 errors:0 dropped:0 overruns:0 frame:0
    TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:2720 (2.7 KB) TX bytes:2720 (2.7 KB)

virbr0 Link encap:Ethernet HWaddr da:b0:93:41:4a:3b
          inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
          UP BROADCAST MULTICAST MTU:1500 Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

如果網路組態正確無誤,請重新啟動實體電腦主機。

4. 安裝virt-install(虛擬機器建立)virt-manager(虛擬機器管理員):
# apt-get install virtinst
# apt-get install virt-manager

5. 利用virt-manager建立虛擬機器(Guest),請執行:
# virt-manager

會出現虛擬機器管理員:
 
虛擬機器管理員

請點選左上角的圖示建立新的機器,會出現底下的畫面(步驟 1/5):
 
步驟1/5

接著輸入虛擬機器名稱,並選擇安裝方式,然後再按下一步。例如您要安裝Windows 7,則在名稱欄位輸入Windows7並選擇本地端安裝媒體,接著按下一步。(註:在本範例中筆者已事先將Windows 7的光碟轉成ISO格式,並置於/media/ISO/ 目錄中,您也可以直接利用光碟來安裝)

在步驟 2/5 的畫面只要指定正確的ISO檔位置,並選取要建立的虛擬機器作業系統類型與版本,再點選下一步。
步驟2/5

接著指定虛擬機器的CPU及記憶體,再按下一步
 
步驟3/5

接下來是指定儲存空間,請依照需求指定虛擬機器的硬碟容量大小(例如20G),在這個畫面中如果您勾選現在分配整個磁碟,則系統會實際產生一個您所指定容量的儲存空間(20G),優點是安裝系統時間會縮短,缺點是會佔用實體硬碟的空間。如果您沒有勾選分配整個磁碟,在安裝時並不會真正佔用20G的空間,可以節省佔用實體硬碟的容量。
 
步驟4/5

最後一個步驟是檢視虛擬機器組態及指定網路界面。在這個步驟中要注意的是產生的虛擬機器會被置放在 /var/lib/libvirt/images/ 目錄下並命名為 Windows7.img 。

另外在網路設定的部份,您可以選擇NAT模式,或者改用橋接的方式讓虛擬機器和實體機器位於同一個網段。如果要採用橋接方式,請在進階選項點選 Specify shared device name ,接著在Bridge name輸入br0 就可以了。

為了要再次確認虛擬機器組態,請先勾選在安裝前自訂組態,再點選完成。
 
步驟5/5

您可以在自訂組態的畫面檢視內容或者變更虛擬機器的硬體設定,如果一切無誤請點選左上角的開始安裝。
 
開始安裝

接著就會出現熟悉的安裝畫面,請先依照畫面安裝好Windows7的虛擬機器,後續再進行效能調校:
 
Windows7安裝

6. Windows虛擬機器效能調整
如果想讓Windows虛擬機器在KVM中有比較好的效能,可以安裝virtio驅動程式來提昇虛擬機器中的硬碟及網路卡速度。請先到 http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/ 下載最新版本的virtio(本範例版本為virtio-win-0.1-30.iso),接著先將Windows的虛擬機器關機,並從虛擬機器管理員編輯虛擬機器細節,將下載的virtio-win-0.1-30.iso掛載到IDE CDROM 1(先將原先Windows7的安裝光碟斷線再連線,並指定virtio-win-0.1-30.iso檔的位置),接著再加入硬體,新增一個Storage儲存裝置,並指定裝置類型為Virtio disk,然後將網路界面(NIC)的裝置類型也改為virtio,最後就可以將Windows虛擬機器再度開啟。
Virtio disk

Windows虛擬機器再度開啟之後,裝置管理員中會產生二個有驚嘆號的裝置,分別是Ethernet控制卡和SCSI控制卡,只要更新此二個裝置的驅動程式,並將驅動程式的位置指向剛剛掛載virtio的光碟機就可以正確安裝。

安裝完畢請再度將Windows虛擬機器關機,並再次從虛擬機器管理員編輯虛擬機器細節,移除剛剛新增的0.1G虛擬硬碟(請勿刪錯磁碟),再將原先安裝Windows系統的IDE Disk 1之虛擬磁碟型態改為Virtio,然後再重新開啟Windows虛擬機器。如此就可以提昇Windows的效能。
IDE to Virtio

7. 複製(Clone)虛擬機器
虛擬機器安裝完成後,接下來如果要產生第二台相同的虛擬機器,只要使用複製(Clone)的方式就可以了,不需要重新再安裝一次。Clone的方法有二種,在Clone之前必須先關閉虛擬機器,第一種是利用virt-clone指令:

# virt-clone --connect qemu:///system -o Windows7 -n Windows7-clone -f /var/lib/libvirt/images/Windows7-clone.img

第二種是在虛擬機器管理員點選欲複製的虛擬機器,按滑鼠右鍵並選擇Clone來進行複製。
Clone-1
Clone-2

8. 匯入現有磁碟映像:
在上一個步驟我們Clone了一台虛擬機器,並在/var/lib/libvirt/images/ 目錄下產生Windows7-clone.img的映像檔,接著我們利用虛擬機器管理員將此映像檔掛載成另一台新的虛擬機器。
只要再新增一台新的虛擬機器,自訂好名稱並選擇匯入現有的磁碟映像,接著指定映像檔所在的位置(/var/lib/libvirt/images/Windows7-clone.img),然後依照之前建立虛擬機器的方式逐步執行就可以了。
匯入1
匯入2

9. 將實體機器轉換成虛擬機器(P2V)
就筆者所知KVM並沒有提供實體轉虛擬的工具,因此必須利用第三方工具程式先行將實體機器轉為虛擬,再掛載到KVM當中執行。建議使用VMware 所提供的VMware vCenter Converter™ 來進行實體轉虛擬的動作,您可以到 http://www.vmware.com/products/converter/overview.html 下載Converter,轉換步驟請自行參考相關文件,本文不再贅述。轉換完成之後可以直接掛載vmdk 檔,或者先將vmdk 轉成qcow2格式的映像檔,再進行掛載,轉換指令如下:

# kvm-img convert -O qcow2 VM1.vmdk VM1.qcow2

轉換完成後請依照前面步驟8. 匯入現有磁碟映像的方式,就可以啟動此實體轉虛擬的機器。