Gentoo で VMware を使う
もっぱら VirtualBox 派の私ですが、たまには VMware を使ってみます。
インストールされるバージョンのチェック
$ emerge -pv vmware-player * app-emulation/vmware-player Available versions: 2.5.5.328052!b!s ~3.1.3.324285!f!b!s {doc +vmware-tools} Homepage: http://www.vmware.com/products/player/ Description: Emulate a complete PC on your PC without the usual performance overhead of most emulators
2 系 と 3系 があるようです…ずいぶんバージョンに開きが。今回は vmware-player-3.1.3.324285 を入れます。
パッケージのキーワードマスクを外す
今回は vmware-player-3.1.3.324285 を入れたいのでキーワードマスクを外します。同時に依存するいくつのパッケージも新しいバージョンにする必要がありますが、どのパッケージが依存しどのパッケージがマスクされているかはキーワードマスクを外しながら emerge -p していけばシステムが教えてくれます。
app-emulation/vmware-player:0 !!! All ebuilds that could satisfy ">=x11-libs/libview-0.6.6" have been masked. !!! One of the following masked packages is required to complete your request: - x11-libs/libview-0.6.6 (masked by: ~amd64 keyword) (dependency required by "app-emulation/vmware-player-3.1.3.324285" [ebuild]) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook.
vmware-player-3.1.3.324285 を入れるには x11-libs/libview-0.6.6 以上が必要だけどこれが ~amd64 でキーワードマスクされてるのでいれられませんよという意味。
エラーが消えるまで何度か繰り返すとこんな感じになります。まとめて書いてしまいます。
$ sudo nano -w /etc/portage/package.keywords # VMware <=app-emulation/vmware-player-3.1.3.324285 ~amd64 <=app-emulation/vmware-tools-8.4.5.324285 ~amd64 <=x11-libs/libview-0.6.6 ~amd64 <=app-emulation/vmware-modules-238.3-r8 ~amd64
一応バージョン指定してそれ「以下」で外しますが、適当でいいと思います。
今回インストールされるパッケージは依存関係含めてこんな感じになりました。
$ emerge -pv vmware-player These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] dev-libs/libsigc++-2.2.7 USE="-doc -test" 0 kB [ebuild N ] dev-libs/libaio-0.3.107 0 kB [ebuild N ] dev-cpp/glibmm-2.24.2-r1 USE="-debug -doc -examples -test" 0 kB [ebuild N ] dev-cpp/cairomm-1.8.6 USE="-doc -svg" 0 kB [ebuild N ] media-libs/libart_lgpl-2.3.21-r1 0 kB [ebuild N ] gnome-base/libgtop-2.28.2 USE="-debug -doc" 0 kB [ebuild NS ] media-libs/libpng-1.2.44 [1.4.5] 0 kB [ebuild NS ] dev-libs/openssl-0.9.8r [1.0.0d] USE="(sse2) zlib -bindist -gmp -kerberos -test" 0 kB [ebuild N ] dev-libs/xmlrpc-c-1.18.02 USE="cgi curl cxx threads -abyss -tools" 0 kB [ebuild N ] app-emulation/vmware-tools-8.4.5.324285 USE="-vmware_guest_freebsd -vmware_guest_linux -vmware_guest_netware -vmware_guest_solaris -vmware_guest_winPre2k -vmware_guest_windows" 0 kB [ebuild N ] gnome-base/libgnomecanvas-2.30.3 USE="-doc -glade -test" 0 kB [ebuild N ] dev-cpp/pangomm-2.26.3 USE="-doc" 0 kB [ebuild N ] x11-libs/libgksu-2.0.12-r1 USE="nls -doc -static-libs" 0 kB [ebuild N ] dev-cpp/atkmm-2.22.2 USE="-doc" 0 kB [ebuild N ] dev-cpp/gtkmm-2.22.0 USE="-doc -examples -test" 0 kB [ebuild N ] dev-cpp/libsexymm-0.1.9 USE="-debug -doc" 0 kB [ebuild N ] x11-libs/libview-0.6.6 USE="-debug" 0 kB [ebuild N ] dev-cpp/libgnomecanvasmm-2.26.0 USE="-debug -doc -examples" 0 kB [ebuild N F ] app-emulation/vmware-player-3.1.3.324285 USE="vmware-tools -doc" 0 kB [ebuild N ] app-emulation/vmware-modules-238.3-r8 0 kB Total: 20 packages (18 new, 2 in new slots), Size of downloads: 0 kB Fetch Restriction: 1 package
app-emulation/vmware-tools-8.4.5.324285 にある大量の USE フラグと、 app-emulation/vmware-player-3.1.3.324285 にある見慣れない 『ebuild N F 』 というものについては、後述します。
ゲスト OS 用の ISO イメージファイルの指定
インストールする前にゲストOSに使う OS 用の ISO イメージファイルを指定します。
* app-emulation/vmware-tools Available versions: (~)8.4.5.324285!m {vmware_guest_freebsd vmware_guest_linux vmware_guest_netware vmware_guest_solaris vmware_guest_winPre2k vmware_guest_windows} Homepage: http://www.vmware.com/products/player/ Description: VMware Tools for guest operating systems
ゲスト用イメージは app-emulation/vmware-tools で提供されます。 USE フラグで対象を制御できますので、それらを USE フラグに追記していきます。たとえば Windows ゲストと Linux ゲストを考えているなら
$ sudo nano -w /etc/portage/package.use
app-emulation/vmware-tools vmware_guest_linux vmware_guest_windows
という一行を追加すれば OK です。
VMwareバイナリのフェッチ
先ほどこんなのがありました。
[ebuild N F ] app-emulation/vmware-player-3.1.3.324285 USE="vmware-tools -doc" 0 kB
この F というのは fetch のことで、バイナリをよそから持ってこいというものです。 VMware のサイト http://www.vmware.com/products/player/ にアクセスして 3.1.3 のバイナリを事前に持ってくる必要があります。持ってきたら /usr/portage/distfiles/ にコピーしてやります。
ソースで提供されていないものはこういう手順を踏むことがあるんですね…たまに。
インストール
ここまで全部終わったらインストールします。
$ sudo emerge -av vmware-player
仕上げ
起動する前にモジュールの一部を読み込んでやる必要があります。 vmware サービスを起動します。
$ sudo /etc/init.d/vmware start
$ sudo rc-update add vmware default
ここまでやったら VMware を起動できます。
注意
vmware の起動に必要なモジュールはカーネルモジュール (ドライバ) なので、カーネルのバージョンを変更した場合その都度コンパイルし直してやる必要があります。
Gentoo ではその手のドライバを一括でリビルドするツール (module-rebuild) があるので使いましょう。
$ sudo emerge -av sys-kernel/module-rebuild (module-rebuild をインストール) $ sudo module-rebuild list (コンパイルが必要なものをリスト) ** Packages which I will emerge are: =app-emulation/vmware-modules-238.3-r8 $ sudo module-rebuild rebuild (実際に再コンパイルする) ** Preparing to merge modules: ** Packages which I will emerge are: =app-emulation/vmware-modules-238.3-r8
またその場合、ゲスト OS 上のドライバも入れなおしたほうが安定するようです。