2013年2月24日日曜日

Fedora17でVMWare Toolsのコンパイル

Fedora17でVMware Toolsをコンパイルしようとすると残念ながら色々と躓くことがあります。カーネルが変わるたびにコンパイルし直さないといけないので面倒ですが纏めておきます。

前提条件

  1. gcc,perlなどが入っていること
  2. Fedoraが提供するkernelを使用していること

kernel-headerのinstall

まずkernel-headerをinstallする必要があります。そこで

uname -a

で現状のkernelを調べます。以下3.7.6-102.fc17.x86_64だという前提で進めます。

次にinstallします。具体的には

sudo yum install kernel-tools-3.7.6-102.fc17.x86_64

でインストールできます。

version.hのコピー

普通に考えたらkernel-headerがあれば十分だと思われますが、これだとコンパイルできません。version.hをコピーする必要があります。具体的には

sudo cp /usr/include/linux/version.h /lib/modules/3.7.6-102.fc17.x86_64/build/include/linux/

で適切にコピー出来ます。

インストールツールの実行

最後にインストールツールを実行します。インストールツールを展開したディレクトリに移って

sudo ./vmware-install.pl

で起動できます。

ここで、基本的にEnterキーを押すだけで大丈夫ですがkernel-headerを聞かれた時には

/lib/modules/3.7.6-102.fc17.x86_64/build/include/

と答える必要があります。

以上でFedora17にVMware Toolsをインストールでき、共有フォルダなどの機能が使えるようになります。

2013年2月17日日曜日

chroot環境のユーザ用にdev,procをmountする

昨日grubが破損して入れ直すということをしたので備忘録まで。
外部からブートさせて、インストールしたいパーティションをマウントしてchrootしてgrub-installします。
さて、chrootの最低限の環境だと、/devがないからgrub-installができません。なのでmountで--bindして、/devをchmodの先からアクセス可能にします。
# mount --bind /proc /chroot/proc
# mount --bind /dev /chroot/dev
これであとは
# grub-install /dev/sda
みたいな感じでインストールできます。
因みに、諸般の事情により/dev/sda5みたいなところ(要するにMBR以外)にインストールしたい場合は"Bad idea プギャーm9"みたいなこと言われます。それでもやりたい時は--forceつけるとできます。

2013年2月13日水曜日

Virtual BoxでGUIを使わない

Virtual Boxでサーバーを動かすときなどsshがあれば十分でGUIが要らない場面もあるだろう。そういう時にVirtual BoxではGUIなしで起動することができる。まず、コマンドラインからVirtual Boxを操作するにはVBoxManageを使う。WindowsでもLinuxでもできるが、おそらくWindowsの場合にはPATHが通っていないので、環境変数のPATHに追加するか C:\Program Files\Oracle\VirtualBox\VBoxManage.exe のようにフルバスで起動する必要がある。また、VMの起動は例えばVMの名前がCentOSであるなら、 VboxManage startvm CentOS でできる。ここで VboxManage startvm CentOS --type headless でGUIのWindowを開かないで起動できる。

2013年2月3日日曜日

GitHub for Windows

最近GitHub for Windowsをたまに使います。概ね使いやすいのですがいくつか思ったことがあるので挙げてみます。因みにあまり使っていないのであらぬ誤解をしているかもしれません。してたらすみません。

いい点

log,diffが見やすい

流石にGUIなのでlogとdiffは見やすいです。丁寧に色までついてますし。

revertの時にcommitのhash値が要らない

GUIなのでコミットを選んでクリックするだけでrevertできます。簡単すぎて怖い位簡単です。

認証が楽

認証は楽です。と言うよりパスワードなどを打つ必要が殆どありません。sshより少ないです。ただ、セキュリティ的に問題があるとも言えるので諸刃の剣ですね。

良くない点

mergeができない

多分できません。つまりworking branchを作って、push,pullの時にmergeするという使い方をしようとするとshellからmergeしないとダメです。githubだと基本個人用レポジトリだからmasterで作業して、失敗してもrevertで戻せばいいということなのだろうか。

submoduleなどちょっと高度な機能が全く使えない

できなそうです。個人的には幾つかは頻繁に使うので不便です。勿論shell使えば問題ないですが。

結局本当に基本的な機能(add,commit,push,pull,log,diff辺り)は凄く楽にできる代わりにちょっと高度な機能を使うならすぐにshellを使わないといけないようですね。GitHubで個人レポジトリを弄っているだけなら大した問題ではなさそうですが、共同開発で使うにはちょっと無理がある感じがします。 まあ結局困ったらshell(Power Shellだけど)開いてコマンド叩けばいいんですが。