Oddwit


UbuntuでWindowsのホスト名を解決する方法

Posted in Linux by マルコ on the April 25th, 2008

Ubuntuからリモートデスクトップなどを使う場合、いちいちIPアドレスを入力するのは面倒だし、そもそもIPが分からない場合がある。というわけで、Windowsのホスト名(コンピュータ名など)をUbuntuから解決する方法を探してみたら簡単な方法が見つかった。

1. /etc/nsswitch.conf を編集する。

hosts: files dns

hosts: file dns wins

2. winbindをインストールする。

sudo apt-get winbind

たったこれだけだ。ping hostnameすればうまくいったか確認できる。

ソース:HOWTO: Resolve Netbios hostname system-wide - Ubuntu Forums

make installしたアプリを管理してアンインストールもできるPaco

Posted in Linux by マルコ on the April 14th, 2008

あらすじ:pacoを使えばlinuxでmake installしたアプリを管理でき、ファイルの一覧を見たり削除したりできます。そんなpacoのインストールの仕方と使い方です。

paco-screenshot

make installしたアプリをアンインストールする方法は、ネットを探してみるといくつか提案されているのが見つかります。
・make uninstallする(そんなのがついてるお行儀のよいアプリは少数派)
・make installのログを取っておく(出力されない場合あり。めんどくさい)
・rpmやdebパッケージを作っておく(かなりめんどくさい)
・makefileを読んで手で消す(いやいや。時給が出るならやってもよいが)

そこで登場するのがpaco。

pacoを使うと、make installした際にどこにどんなファイルが入ったのかを一つ残らずログしてくれます。ログはGUIで確認することができ、さらには一発でキレイにアンインストールすることも可能です。

pacoの入手

http://paco.sf.net/

インストール

普通に./configure, make, make installします。
Paco自体のインストールは管理できないの?と思ったんですが、ちゃんとできました。make installの直後に

$ make logme

することで、paco自体のファイルリストがログされます。

使い方

通常sudo make installするところで、代わりに

$ sudo paco -D make install

を実行するだけです。

-Dは現在のディレクトリ名をPaco上での管理名として使うオプション。-pで名前を指定してもいいですが、毎回考えるのも面倒なので僕は-Dを使っています。その他のオプションなどはpaco –helpで確認できます。

管理

Ubuntuの場合はアプリケーション→システムツール→Package OrganizerにGUIでの管理ツールが登録されます(ターミナルからはgpacoで起動)。あとはそれぞれのパッケージをダブルクリックすればファイル一覧の表示や削除が可能です。

ちなみに削除ボタンがグレーアウトされているのはおそらく権限が無いからですので、スーパーユーザで実行しなおしてみて下さい(sudo gpaco)。

make install以外の管理

pacoはファイルシステムへ書き込みを行うシステムコールを直にモニタするらしいので、インストール時に出た標準出力などとは関係なく正確なファイル一覧が取得できます。

それならば、と思ってこんなことをしてみたら上手くいきました。

rubygems-1.1.1$ sudo paco -p rubygems ruby setup.rb
~$ sudo paco -p active_youtube gem install active_youtube
~$ sudo paco -p test touch test

要するにどんなコマンドにでもかませてしまえばOKのようです。gemならもともとアンインストールが簡単ですからあまり意味はありませんが、把握していたいような気分ならぜひ。

ちなみに、似たような目的のソフトウェアに「CheckInstall」というものがあるようです。こちらはソースパッケージからrpmやdebを簡単に作成できるそうな。

Ubuntu 7.10でVMWare 6.0.2の共有フォルダが使えない

Posted in Linux by マルコ on the February 7th, 2008

問題

VMWareに入れていたUbuntu Desktopを7.04から7.10にアップグレードしたところ、VMWareの共有フォルダが使えなくなっていた。

vmware-config-tools.pl を実行すればvmware-toolsを再設定できるのだが、その際に共有フォルダ関連で出るのはこんなメッセージ。

Unable to build the vmhgfs module.

調べてみたところどうやらvmware-toolsのバグらしい。ソースをいじくってインストールしなおせばうまくいった。
出所:Unable to build the vmhgfs module. - Ubuntu Forums

解決法

必要なパッケージ
カーネルソースが必要。Synapticパッケージ・マネージャでlinux-sourceを選んでインストール。

ソースの改変
VMwareTools-6.0.2-59824.tar.gz を適当な場所にコピーしてから、以下の手順を踏む。

$ tar xzvf VMwareTools-6.0.2-59824.tar.gz
$ cd vmware-tools-distrib/lib/modules/source
$ tar xvf vmhgfs.tar
$ cd vmhgfs-only
$ chmod 644 compat_slab.h
$ vim compat_slab.h

ここで、次の一文を見つけて

#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 22) || defined(VMW_KMEMCR_HAS_DTOR)

こう直す。

#if LINUX_VERSION_CODE < = KERNEL_VERSION(2, 6, 22) || defined(VMW_KMEMCR_HAS_DTOR)

あとはファイルを保存してtar、インストールしなおすだけ。

$ chmod 444 compat_slab.h
$ cd ..
$ rm vmhgfs.tar
$ tar cvf vmhgfs.tar vmhgfs-only
$ cd /tmp/vmware-tools-distrib
$ sudo ./vmware-install.pl

インストールが終わったら/mnt/hgfs/以下にマウントされているはずだ。