«前の日(04-15) 最新 次の日(04-17)» 追記

meta's blog - The Power To Serve

筆者について

FreeBSDを通じてOSSにささかな貢献を。

OSS活動をご支援いただける方を募集しています


2008-04-16 vmware-package

Debian lenny で VMware の deb パッケージを作る

前の日記の派生です。

vmware-packages を使って VMware を deb パッケージ化しようとすると、ビルドに失敗のエラーになる。

# make-vmpkg -k VMware-workstation-6.0.3-80004.i386.tar.gz
-- 8< ( snip ) ----
make: *** [kdist_build] エラー 2
BUILD FAILED!
See /tmp/vmware-workstation/var_cache_modass/vmware-kernel-source.buildlog.2.6.24-1-686.1208229700 for details.
ビルドに失敗しました。続けるには Return を押してください...

 ===> error, exiting with return value 7

ビルド失敗の原因は前回の日記で明らかになっているので、該当箇所のソースを書き換えてパッケージ化に再チャレンジ。

オフィシャルの tarball の中の vmmon.tar の中に vcpuset.h があるので展開して書き換えて元に戻せばよい。具体的な手順は以下。

一度オフィシャルの tarball を展開する。

$ tar zxf  VMware-workstation-6.0.3-80004.i386.tar.gz
$ cd vmware-distrib/lib/modules/source

tarball の中の vmmon.tar を展開する。

$ tar xf vmmon.tar
$ cd vmmon-only/include

ここに問題の vcpuset.h があるので 74行目あたりの、

#include "asm/bitops.h"

という行を

#include "linux/bitops.h"

と書き換える。

vcpuset.h を書き換えたら vmmon.tar を固め直す。

$ cd ../..
$ rm vmmon.tar
$ tar cf vmmon.tar vmmon-only/
$ rm -rf vmmon-only/

元の .tar.gz に固め直す。

$ cd ../../../..
$ rm -f VMware-workstation-6.0.3-80004.i386.tar.gz
$ tar zcf VMware-workstation-6.0.3-80004.i386.tar.gz vmware-distrib/

最後に deb パッケージ化に再チャレンジするが、中身を書き換えたことで MD5SUM が変わってしまったので -s オプションをつけて実行する。

# make-vmpkg -k -s VMware-workstation-6.0.3-80004.i386.tar.gz

なんの問題もなく完了したので、出来上がったパッケージをインストールしておしまい。

vmware-workstation/
|-- vmware-bin_6.0.3.80004.0.22.0_i386.deb
|-- vmware-blobs_6.0.3.80004.0.22.0_all.deb
|-- vmware-common_6.0.3.80004.0.22.0_all.deb
|-- vmware-eclipse_6.0.3.80004.0.22.0_all.deb
|-- vmware-kernel-modules-2.6.24-1-686_6.0.3.80004.0.22.0+2.6.24-5_i386.deb
|-- vmware-kernel-source_6.0.3.80004.0.22.0_all.deb
|-- vmware-lib_6.0.3.80004.0.22.0_i386.deb
|-- vmware-player_6.0.3.80004.0.22.0_i386.deb
|-- vmware-vix_6.0.3.80004.0.22.0_i386.deb
|-- vmware-workstation_6.0.3.80004.0.22.0_i386.changes
`-- vmware-workstation_6.0.3.80004.0.22.0_i386.deb

インストール。

# dpkg -i *.deb

2011-04-16 ports あれこれ

ports の配布ファイルダウンロードを速くする

タイムアウトを指定する

ports からソフトウェアをインストールしていると、ミラーサイトに応答しないものが含まれていて、時間がかかることがあります。 応答のないミラーをさっさと諦めて、次のミラーからのダウンロードを試みるようにするには HTTP_TIMEOUT, FTP_TIMEOUT 環境変数を使用します。

# make HTTP_TIMEOUT=5 FTP_TIMEOUT=5 install

とすると、HTTP/FTPコネクションを確立するまでのタイムアウトが5秒に設定され、5秒待ってもサーバから応答がない場合には次のミラーからのダウンロードを試みます。 これらの変数は fetch コマンドが参照し利用します。タイムアウトはコネクションを確立するまでの時間なので、ファイルサイズが大きくダウンロードに時間がかかるといった場合には影響しません。

国内ミラーを指定する

よく使われるソフトウェアは国内のFreeBSDミラーサイトからもダウンロードできる場合があります。 /etc/make.conf に以下のように書いておくと、最初に国内ミラーからのダウンロードを試みるようになります。

MASTER_SITE_OVERRIDE?=ftp://pub.allbsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/

ここで指定した allbsd.orgとは東京理科大学内に設置されているBSD系OSのミラーで、portsnap や cvsup のミラーも提供されています。

本日のツッコミ(全1件) [ツッコミを入れる]

Σ Noppi [これは知りませんでした。便利ですなー。]