顯示具有 VMware Player 標籤的文章。 顯示所有文章
顯示具有 VMware Player 標籤的文章。 顯示所有文章

2009/08/21

在 Ubuntu 上安裝 VMware Player

首先到以下位置下載 VMware Player。填完註冊表格之後,便可選擇要哪一種平台的哪一個版本,請選擇 for Linux (.rpm):
http://www.vmware.com/download/player/
截至發文的時間,最新的版本是 2.5.3。若你有安裝舊版本,請用以下指令移除:
$ LANG=C rpm -e VMware-Player
若用以下指令安裝,會有「相依性偵測失敗:/bin/sh 被 VMware-Player-2.5.3-185404.i386 所需要」的錯誤發生:
$ rpm -Uhv VMware-Player-2.5.3-185404.i386.rpm
請改用以下指令跳過相依性檢查,就可以安裝成功:
$ LANG=C rpm --nodeps -Uhv VMware-Player-2.5.3-185404.i386.rpm
安裝成功之後,可以在系統工具選單找到 VMware Player 的啟動圖示。

2008/11/25

coLinux: 讓 Linux 在 Windows 上跳舞

需要同時使用 Windows 和 Linux 的人,除了可以在 Windows 上用 VirtualBox 或 VMware 等跑 Linux 的 virtual machine 外,還有另一個選擇:Cooperative Linux

Cooperative Linux 簡稱 coLinux,是 Windows device drivers 加上搭配的 Linux kernel modules 所形成的組合。透過這個組合,原生的 Linux 系統可以和 Windows 共用硬體資源。你可以想像 coLinux 是將 Linux 系統當成 Windows 的應用程式來執行。據說任何 GNU/Linux 的 distro 都可跑,不過要稍微調整過。比較簡單的方法是安裝 coLinux 時,直接挑選他們準備好的 distro。

和使用 virtual machine 的方式來比,coLinux 有幾個缺點:
  1. 穩定性。coLinux 以最高權限的方式和 Windows 共用資源,萬一有甚麼問題,整個 Windows 系統都有可能受到影響。
  2. 安全性。在 Linux 系統上取得 root 權限,就有可能也取得 Windows 系統的管理者權限。
  3. coLinux 目前還無法共用繪圖硬體,因此不能在 coLinux 上跑 X server (不過可以在 Windows 上跑 X server)。

2008/08/31

VirtualBox 的三種網路型態

VMware Player 的 host OS 和 guest OS 之間有 三種網路型態。VirtualBox 同樣也有三種,而且功能很類似:
  • Host Interface Networking (HIF)
  • Internal Networking
  • Network Address Translation (NAT)
其中,Network Address Translation (NAT) 與 VMware 的名稱一樣,功能也完全相同。

Host Interface Networking (HIF) 除了名字不同之外,功能和 VMware 的 Bridged Networking 是一樣的。

Internal Networking 則和 WMware 的 Host-Only Networking 相近,但有以下不同:
  • Internal network 上沒有 DHCP server
  • 不能直接和 host OS 溝通
當然,如果你比較習慣 VMware 的 Host-Only Networking,已經有人試出設定的方法:

2008/05/19

VMware Virtual Machine 的效能

很好奇 VMware virtual machine 的效能 (performance) 到底如何?於是找了個機會做了一個實驗。實驗用機器的規格為:
  • CPU = Intel Celeron 430 @ 1.80GHz
  • DRAM = 1GiB - 64MiB
此 PC 安裝了兩套作業系統。

第一套是 Windows XP Service Pack 2,並在上面安裝 VMware Player 2.0.2 來跑 Ubuntu 7.10 JeOS i386。分配給 Guest OS 的 memory 是 512MiB,virtual HDD 是 10GiB。我在上面編譯一套 embedded Linux 的系統,總共花了 23 分鐘才完成。

第二套是 Ubuntu 8.04 LTS Desktop x86_64,安裝在 40GiB 的硬碟空間上 (當然 1GiB 的 memory 全歸它使用)。在此環境下編譯同一套系統,總共花了 16 分鐘,大約快了三分之一。

看起來效能的差距不算小。不過一般來說,我們較常進行的是約需兩三分鐘的局部編譯,這時兩者的差異就不是那麼明顯了。況且,編輯的時間比編譯還多更多。因此結論是:還不錯用。

PS:雖然 Ubuntu 的版本不同,但兩次編譯用的 toolchain 是同一套。

2008/02/02

VMware 的 Bridged, Host-only 和 NAT 網路型態

VMware Player 的 host OS 和 guest OS 之間有三種網路型態:

Bridged Networking

在這種網路型態之下,guest OS 是透過一個 virtual bridge 和 host OS 所在的 Ethernet 相連,請參考 VMware 的官方 示意圖

對於與 host OS 同在一個 Ethernet 上的機器來說,guest OS 和 host OS 是兩台獨立的電腦,都可以透過同一個 Ethernet 介面連接,並無法分辨出這兩個 OS 其實是在同一台機器上執行。甚至當 Ethernet 連線出問題時,guest OS 和 host OS 也不能互通 (即使是在同一台機器之內)。

換句話說,當你把接到 host OS 的網路線拔掉時,這兩個 OS 就無法溝通。因此,想把 VMware Player 灌在 notebook 上帶著跑的人,這種網路型態是不太合適的。

Host-Only Networking

在這種網路型態之下,guest OS 和 host OS 是在一個與世隔絕的虛擬網路上。此虛擬網路有一個 DHCP server,可以分配 IP address 給 guest OS 和 host OS (分配給一個虛擬的介面)。因此,guest OS 和 host OS 可以互通。請參考 VMware 的官方 示意圖

對於與 host OS 同在一個 Ethernet 上的機器來說,guest OS 是看不見的。guest OS 對外聯繫的唯一管道就是 host OS。因此,guest OS 若想連上外部網路或 Internet,就必須在 host OS 安裝 routing 或 NAT 的服務。

這種架構不會受到實體網路的影響,即使把網路線拔掉,host OS 和 guest OS 還是可以互通。

Network Address Translation (NAT)

此種網路型態與 host-only networking 的架構很像,但是在虛擬網路上多了一台 NAT router。請參考 VMware 的官方 示意圖

因為有了這台虛擬的 NAT router,guest 雖然與外界隔離,但仍然可以很方便地透過連接在 host OS 的網路連接 Internet。

這種架構也不會受到實體網路的影響,即使把網路線拔掉,host OS 和 guest OS 還是可以互通。若連接到 host OS 的 Internet 連線沒有問題,guest OS 也一樣可以連接到 Internet。

2008/01/28

Ubuntu 7.10 JeOS Virtual Appliance

今天要推薦另一個 VMware 的 virtual appliance:
這個 image 有以下特色:
  • 精簡,不含 X-Windows 等
  • 小巧,只有 225MB,很快就能下載完畢
  • 已安裝好 VMware Tools,可以解決 Guest OS 系統時間的問題
  • 適用於 VMware Player 2.0.* 版
這個 virtual appliance 已包含基本開發工具如 gcc、make 等,缺的也很容易自己補 (apt-get install),很適合在 Linux 上開發非 GUI 程式的人使用 (解開後需要 1GB 的空間,開始使用後會逐漸變大)。

這個 virtual appliance 預設需要 512MB 的記憶體,如果你的記憶體不夠,請參考 這裡 修改 .vmx 檔。

以下是個人的設定方式,僅供參考:
  • 以 user 身份登入 (password = user)
  • 用 sudo 設定 root 密碼 (這樣比較方便) (sudo passwd root)
  • 改以 root 身份登入
  • 安裝 ssh daemon (apt-get install ssh)
  • 用 ifconfig 查看 IP address
  • 從 PC 用 PuTTY 連到該 IP,因為這樣比較好操作 (可剪貼)
  • 刪除 user 這個帳號 (userdel user)
  • 新增一個自己的帳號 (useradd yourname -m -s /bin/bash -p password)
我習慣設定固定 IP,這樣可以砍掉 VMware 的 DHCP service。Ubuntu 設定固定 IP 的方法如下:
  • 執行 ifconfig 查看並記下 DHCP server 分配的 IP address、gateway 等資訊
  • 編輯 /etc/network/interfaces,根據上一步記下的資訊修改 (若要改 IP address,只能改最後一碼):
    # The primary network interface
    auto eth0
    #iface eth0 inet dhcp
    iface eth0 inet static
    address 192.168.123.14
    netmask 255.255.255.0
    network 192.168.123.0
    broadcast 192.168.123.255
    gateway 192.168.123.2
  • 編輯 /etc/resolv.conf,設定 name server:
    nameserver 192.168.123.2
  • 重新啟動網路介面
    # sudo /etc/init.d/networking restart
我還需要跑 tftp server 以便和發展中的 embedded system 交換資料。設定方法如下:
  • 安裝 tftp client 和 server
    # apt-get install tftp
    # apt-get install tftpd
  • 第二動還會一併安裝 openbsd-inetd。你必須檢查一下/etc/inetd.conf 看看有沒有需要修改的地方。以下是我的設定:
    tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot
  • 將 /tftpboot 設好權限,就可以重新啟動 inetd 了:
    # chmod 777 /tftpboot
    # /etc/init.d/openbsd-inetd restart

2008/01/26

VMware Player -- Guest OS 的 MAC Address

VMware Player 有一套演算法來自動決定 Guest OS 虛擬網路卡的 MAC address。這個機制運作得很好不會有問題,但有時候我們就是想自己指定這些 MAC address。要這樣作,只要修改 .vmx 檔就可以了。

首先,把以下這幾行刪除 (或以 # 「註」掉):
#ethernet0.addressType = "generated"
#ethernet0.generatedAddress = "00:0c:29:12:34:56"
#ethernet0.generatedAddressOffset = "0"
然後,增加以下兩行:
ethernet0.addressType = "static"
ethernet0.address = "00:50:56:03:06:14"
其中 ethernet0.address 一定要在這個範圍之內:00:50:56:00:00:00-00:50:56:3F:FF:FF。

當然,改完之後要重新啟動 GuestOS 才可以生效。

參考資料

2008/01/21

CentOS 5 Minimal Virtual Appliance

今天要推薦一個 VMware 的 virtual appliance:
這個 image 有以下特色:
  • 精簡,不含 X-Windows 等
  • 小巧,只有 186MB,很快就能下載完畢
  • 已安裝好 VMware Tools,可以解決 Guest OS 系統時間的問題
  • 相容於 VMware Player 1.0.* 版
這個 virtual appliance 已包含基本開發工具如 gcc、make 等,缺的也很容易自己補,很適合在 Linux 上開發非 GUI 程式的人使用。(注意!解開後需要 10GB 的空間)

這個 virtual appliance 預設需要 512MB 的記憶體,若你的主機有 1GB 的 DRAM,這當然不成問題。不過,我的 PC 只有不到 512MB,所以必須自己手動調整。方法很簡單:用 editor 編輯副檔名為 .vmx 的檔案,將 memsize 改小即可。我改成 192,效能還在可接受的範圍之內。

建議開始使用前,先作一次更新:
# yum update
# yum upgrade

2008/01/17

VMware Player

對於需要同時使用 Windows 和 Linux 的人來說,VMware Player 是非常實用的工具。

VMware Player 是可 免費下載 和使用的 x86 虛擬機器,也就是在實體 PC 上以軟體模擬出另一套虛擬的系統。例如;你可以在 Windows 或 Linux 上再執行另一套系統,並讓主系統 (Host OS) 和虛擬系統 (Guest OS) 兩者同時運作,就好像有兩台機器一樣。

雖然使用多重開機也可以在一部 PC 上安裝多套作業系統,但一次只能選擇一種。而且切換系統時,需要重新開機,不是很方便。

使用 VMware Player 的缺點當然是 PC 的效能是由 Host OS 和 Guest OS 分享的,速度會稍微差一點。但好處不少:
  • 兩套系統可以一起運作,例如在 Windows 上看文件,在 Linux 上編譯程式。
  • 不需考慮如何設定開機程式和分割硬碟 (邏輯硬碟的大小可自行設定)。
  • 可以省下灌作業系統的時間,直接下載別人灌好了的來用。
  • 設定好的虛擬機器只是一般的檔案,可以用各種方法備份起來。
  • 回復虛擬系統就像複製檔案一樣容易。
  • ...
以個人的實際經驗來說,方便勝過於效能減少的問題,所以還是非常推薦。

VMware Player 的安裝方法相當非常簡單直接,不需多加介紹。倒是版本有兩個選擇:1.0.* 版和 2.0.* 版。2.0.* 版增加以下的功能:
  • Windows Vista support
  • USB 2.0 Support
  • Shared folders
  • Appliance view
  • Welcome page
  • Experimental support for Virtual SMP
為了這些新功能,似乎付出不少代價。原本安裝 1.0.* 版只需要約 57MB 的空間,升級到 2.0.* 之後竟然需要 243MB!若不需要這些新功能,1.0.* 版已經非常的穩定好用了,所以 PC 資源比較陽春的人,可以考慮用 1.0.* 版就好 (不過,有些現成的 virtual appliance 只能以 2.0.* 版開啟,這一點要納入考量)。

安裝好 VMware Player 之後,接下來要想辦法弄到所需要的 virtual appliance image,也就是運作在虛擬機器上的 Guest OS。你可以自行製作 image,也可以到以下網站看看有沒有現成的:
將下載的 image 解開就可以用 VMware Player 開啟虛擬系統 (*.vmx)。Host OS 和 Guest OS 是同時運作的,但輸入裝置必須共用:點 Player 的視窗就會將輸入介面轉移到 Guest OS;按 Ctrl-Alt 才會切回 Host OS。

若想自己製作或修改 virtual appliance image 也相當簡單,可以參考以下資料:
下次有空再推薦幾個現成的 virtual appliance image。