VirtualBoxにとりあえずインストールしたCentOSを少し便利にしておく
前の記事(VirtualBoxにCentOSをとりあえずインストール)で作成したVirtualBoxのCentOS環境をもう少し便利にしておく。
yumリポジトリの追加
サードパーティが提供している
・epel
・rpmforge
・remi
のyumリポジトリを追加する。
# rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm # rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
CentOS6/64bit用のインストールです。CentOS5や32bitをお使いの場合は、それ用のrpmを指定してください。
ファイルがなかったりした場合は、各ページを直接チェック見て最新を確認して下さい。 http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/ http://pkgs.repoforge.org/rpmforge-release/ http://rpms.famillecollet.com/enterprise/
設定ファイルを編集し
# vi /etc/yum.repos.d/epel.repo # vi /etc/yum.repos.d/rpmforge.repo # vi /etc/yum.repos.d/remi.repo
enable=1
になっている箇所を全て
enable=0
に書き換える。
以上で、yumコマンドのenablerepoオプションにリポジトリ名を指定することで、
サードパーティのyumリポジトリが使えるようになる
# yum --enablerepo=epel install XXXX # yum --enablerepo=rpmforge install XXXX # yum --enablerepo=remi install XXXX
Guest Additionのインストール
Guest Additionをインストールする。
先に、必要なパッケージをインストールしておく。
# yum install gcc kernel-devel make perl
VirtualBoxのVMのメニュー[Devices]-[Insert Guest Addition CD image...]で
Guest AdditionのCDをセット、
CDドライブをマウントする。
# mkdir /media/cdrom # mount -r /dev/cdrom /media/cdrom
Guest Additionをインストール。
# cd /media/cdrom # ./VBoxLinuxAdditions.run
だが、エラーが発生。
Building the main Guest Additions module [失敗] (Look at /var/log/vboxadd-install.log to find out what went wrong)
下記の記事を参考にして、
VM上のCentOS6.4にGuest Additionをインストール | ぼくのあたまのしくみ
http://mtb-production.info/2013/06/06/1032/
下記のコマンドを実施。
# yum --enablerepo=epel install dkms # yum update kernel* # reboot (ログインし直す) # export KERN_DIR=/usr/src/kernels/2.6.32-431.1.2.0.1.el6.x86_64/
※「2.6.32-431.1.2.0.1.el6.x86_64」の部分は環境によって違うので、各環境のディレクトリを指定してください。
改めて、Guest Additionをインストール。
# mount -r /dev/cdrom /media/cdrom # cd /media/cdrom # ./VBoxLinuxAdditions.run
うまくいった。
Building the main Guest Additions module [ OK ]
OpenGLとかは失敗してるけど気にしない。
共有フォルダを設定する場合
Guest Additionをインストールすると、共有フォルダーの機能が使えるようになる。
共有フォルダーは、VirtualBoxの設定の[共有フォルダー]から追加することができる。
ホストOS側のフォルダーのパスを選択し、フォルダー名を指定してOKを押す。
「自動マウント」をONにした場合
自動で「/media/sf_フォルダー名」にマウントされる。
例えば、「share」というフォルダー名で共有フォルダを自動マウントした場合は、下記のようにsf_shareにマウントされる。
$ ls -l /media/ drwxrwx--- 1 root vboxsf 102 12月 31 20:42 2013 sf_share
ただ、所有者がroot:vboxsfになるので、アクセスしたい場合は、rootでアクセスするか、もしくは、ユーザを「sudo usermod -G vboxsf ユーザー名」でvboxsfグループに追加する必要がある。
※usermodの変更はログインし直さないと有効にならないので注意。
【補足】 ・「読み取り専用」をONにすると、ゲストOSから更新ができなくなる。 ・仮想マシンの起動中に共有フォルダーを追加しようとすると「永続化する」のチェックボックスがでる。 チェックを入れないと、「一時的な共有フォルダ」となり、次回から共有されなくなる。
「自動マウント」をOFFにした場合
手動でマウントする必要がある。
mountコマンドでマウントできる。
mount -t vboxsf フォルダー名 マウント先ディレクトリ
例えば、「share」というフォルダー名で追加した共有フォルダを
「/var/www/share」にマウントする場合、下記のように指定する。
$ sudo mkdir /var/www/share $ sudo mount -t vboxsf share /var/www/share
ただし、上記のコマンドだと、マウントされたディレクトリの
所有者はroot:rootになってしまう。
$ ls -l /var/www/ drwxr-xr-x 1 root root 102 12月 31 20:42 2013 share
所有者変更したい場合は、uidとgidを指定すると変更できる。
mount -t vboxsf -o uid=ユーザーID,gid=グループID フォルダー名 マウント先ディレクトリ
ユーザーIDとグループIDはidコマンドで確認できる。
$ id
例えば、自分の環境では、uidもgidも500だったので、下記のような指定になる。
$ sudo mount -t vboxsf -o uid=500,gid=500 share /var/www/share
さらに、権限も変更したい場合は、dmodeとfmodeを指定すると変更できる。
dmodeはディレクトリの権限で、fmodeはファイルの権限。
例えば、両方共777に変更する場合は、下記のように指定する。
$ sudo mount -t vboxsf -o uid=500,gid=500,dmode=0777,fmode=0777 share /var/www/share
サーバ起動時に常にマウントしたい場合は、mountコマンドをrc.localに追加すればOK。
$ sudo vi /etc/rc.local mount -t vboxsf -o uid=500,gid=500,dmode=0777,fmode=0777 share /var/www/share