ためしにFedora20

Windows7上にFedora20+VirtualBox。備忘録として。

vimのインストール

Fedoraにはデフォルトでvimが入っていないのでインストールする。

$ sudo yum install -y vim
[sudo] password for xxxxxxxx:
(省略)
Complete!
$

できた。
実際には「vim-enhanced」がインストールされた模様。
次に~/.vimrcファイルを作成しておく。

$ cd
$ vim .vimrc
(省略)
$ cat .vimrc
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set autoindent
set ignorecase
set smartcase
syntax on
$

いきなり凝ったvimrcを作るのは大変なので、最初は必要最小限にとどめる。

Django最新版をインストール

Pythonのwebフレームワークはいろいろある。どのフレームワークをインストールするか、個人的にはDjangoに一日の長がある感じがする。
Django唯一の弱点とも言っていいマイグレーション・スキーマ関連については、Django 1.7以降Southがなくてもmigrateできるようになったらしい。ただし安定版バージョン1.6.5にはまだその機能は付いていない。
そこでgitを使ってDjangoの最新版をダウンロードする。

Djangoのインストール

ソースコードをダウンロードする場所確保用に、~/clonesディレクトリを作っておく。
また、Djangoをインストールする前にpyenvでPythonのバージョンを3.4.1にしておく必要がある。別に/usrディレクトリ以下にDjangoをインストールしてもよいが、せっかくpyenvを入れているし、何よりもPython3系を使いたい。

$ pyenv global 3.4.1
$ cd
$ mkdir clones
$ cd clones
$ git clone https://github.com/django/django.git
Cloning into 'django'...
remote: Reusing existing pack: 271479, done.
remote: Counting objects: 89, done.
remote: Compressing objects: 100% (86/86), done.
remote: Total 271568 (delta 42), reused 7 (delta 3)
Receiving objects: 100% (271568/271568), 102.06 MiB | 281.00 KiB/s, done.
Resolving deltas: 100% (194915/194915), done.
Checking connectivity... done.
$ 

これでDjangoのソースコードが~/clones/djangoディレクトリにコピーされた。あとはインストールするとき毎度おなじみのコマンドを入力する。

$ cd ~/clones/django
$ python setup.py install  ←毎度おなじみのコマンド
(ずらっと文字が表示される)
Finished processing dependencies for Django==1.8.dev201407xxxxxxxxxxxx
$ pyenv rehash  ←念のため
$ 

Djangoがインストールされた場所は~/.pyenv/versions/3.4.1/lib/python3.4/site-packages/Diango-なんちゃら.eggになっている。
ためしにDjangoが使えるようになっているかチェックする。

$ python
Python 3.4.1 (default, Jul 23 2014, 14:45:54)
[GCC 4.8.3 20140624 (Red Hat 4.8.3-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> dir(django)
['VERSION', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', 'get_version', 'setup']
>>> django.get_version()
'1.8.dev20140723192336'  ←Djangoのバージョンがこれ
>>>
$ 

なんと、バージョン1.8.devが入った。

pyenvでPython3をインストール

Fedora20のPythonの標準バージョンは2.7.5。いい加減そろそろ標準をバージョン3系にしてほしい!Google App Engineといい、Pythonがいまひとつメジャーになり切れない理由のひとつはバージョン2系が標準として残っているからじゃないかな...。

というボヤキはさておき。

ひとつのシステムで複数バージョンのPythonを使いたいとき、今の私の頭の中にはpyenvを使うことしか考えられない。そこでpyenvを使ってPython3をインストールする。2014/07/23現在、Python3系の最新バージョンは3.4.1なので今回3.4.1を選択する。

pyenvのインストール

pyenvはgitを必要とするが、Fedoraインストール時にDevelopment Tools一式をインストールしてあれば、gitは入っている。

$ git --version
git version 1.9.3
$ cd
$ git clone git://github.com/yyuu/pyenv.git .pyenv
Cloning into '.pyenv'...
remote: Reusing existing pack: 7388, done.
remote: Total 7388 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (7388/7388), 1.24 MiB | 641.00 KiB/s, done.
Resolving deltas: 100% (5501/5501), done.
Checking connectivity... done.
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ cat .bashrc
# .bashrc
()
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
$ source .bashrc
$ pyenv versions
* system (set by /home/xxxxxxxx/.pyenv/version) ← xxxxxxxxはユーザー名
$

無事pyenvがインストールできた。

Python3.4.1のインストール

次にPython3.4.1のインストール。pyenvで簡単にインストールできると思っていたが、ライブラリーが足りないとエラーが出た。

$ pyenv install 3.4.1
Downloading Python-3.4.1.tgz...
-> http://yyuu.github.io/pythons/8d007e3ef80b128a292be101201e75dec5480e5632e994771e7c231d17720b66
Installing Python-3.4.1...
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Please consult to the Wiki page to fix the problem.
https://github.com/yyuu/pyenv/wiki/Common-build-problems


BUILD FAILED

Inspect or clean up the working tree at /tmp/python-build.20140723091225.2995
Results logged to /tmp/python-build.20140723091225.2995.log

Last 10 log lines:
(cd /home/xxxxxxxx/.pyenv/versions/3.4.1/share/man/man1; ln -s python3.4.1 python3.1)
if test "xupgrade" != "xno"  ; then \
        case upgrade in \
                upgrade) ensurepip="--upgrade" ;; \
                install|*) ensurepip="" ;; \
        esac; \
         ./python -E -m ensurepip \
                $ensurepip --root=/ ; \
fi
Ignoring ensurepip failure: pip 1.5.6 requires SSL/TLS
$ 

足りないのはbz2, readline, sslらしい。pyenvを調べるとこのへんに対策が書かれていたので、それに従いyumでそれらをインストールする。openssl-develを忘れずに!

$ sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite3 sqlite-devel openssl-devel
()
Complete!
$

再度pyenvで3.4.1をインストールする。

$ pyenv install 3.4.1
Downloading Python-3.4.1.tgz...
-> http://yyuu.github.io/pythons/8d007e3ef80b128a292be101201e75dec5480e5632e994771e7c231d17720b66
Installing Python-3.4.1...
Installed Python-3.4.1 to /home/xxxxxxxx/.pyenv/versions/3.4.1

$ pyenv global 3.4.1
$ pyenv rehash
$ pyenv versions
  system
* 3.4.1 (set by /home/xxxxxxxx/.pyenv/version)
$ 

Python3.4.1が無事インストールできた。

Guest Additionsの導入

ウィンドウサイズがFedoraとVirtualBoxで連動するように、Guest Additionsをインストールすることにした。

Windowsのメニュー「デバイス」→「Guest AdditionsのCDイメージを挿入...」を選択してVBOXADDITIONS_4.3.12_93733のCDアイコンをデスクトップ上に表示させる。

アイコンをダブルクリックするとCDがマウントしファイルマネージャーが起動する。

このCDがどこにマウントされたかを調べる。ファイルマネージャーによると、マウントした場所は「/run/media/(ユーザー名)」にあることが分かった。

Terminalを開いてその場所に行く。

[abc@localhost ~]$ cd /run/media/xxxxxxxx (←xxxxxxxxはユーザー名)
[abc@localhost xxxxxxxx]$ cd VBOX*
[abc@localhost VBOXADDITIONS_4.3.12_93733]$ sudo ./VBoxLinuxAdditions.run

FedoraをインストールしたときにDevelopment Toolsを選択していれば、ここでエラーは出ない(はず)。
うまくいったら再起動して、ウィンドウサイズがVirtualBoxに連動していることを確認してみる。

Fedoraインストール時の設定

VirtualBoxの設定

一般 - 基本: Type Linux, バージョン Fedora (64bit)

システム - マザーボード: メインメモリー 1024MB

ストレージ: vdi, 20GB

そのほかはすべて既定値のまま。

FedoraのDVD.isoファイル追加を忘れないようにする。

Fedoraインストールの設定

使用言語(LANGUAGE SUPPORT)は日本語にせず英語のままにした。

ただしキーボードだけは「シフト+2」が「@」になってしまっては使いにくいので、KEYBOARDの設定で「Japanese」を追加しEnglish (US)よりも上に持っていった。実際に「"{}\_」など試し打ちして大丈夫であることを確認する。

デスクトップ設定(SOFTWARE SELECTION)では「Xfce Desktop」を設定。アドオンには「Applications for the Xfce Desktop」、「Extra plugins for the Xfce panel」、「Multimedia support for Xfce」「Administration Tools」、「C Development Tools and Libraries」、「Development Tools」を選択した。

ハードディスクの絵があるINSTALLATION DESTINATIONではHDD設定に何も変更を加えていない。

rootパスワード設定は必須。またユーザー追加では「Make this user administrator」のチェックをONにしておく。あとでsudoユーザーとかの面倒な設定で大変にならないように。

これで設定はおしまい。インストールが終わるまで数十分待つ。

VirtualBox 4.3.14が動かず

VirtualBoxのバージョンの最新バージョンは現在4.3.14なのだが、4.3.14ではなぜかFedoraをインストールできなかった。

症状はというと、VirtualBox 4.3.14でFedora DVDをセットし、インストールするために起動ボタンをクリックすると「VirtualBox - Error in supR3HardenedWinReSpawn」というダイアログボックスが出てエラーになってしまう。

この現象はVirtualBoxのフォーラム話題になっているらしいのでそちらを参照されたい。解決方法もよく分からず仕方がないのでバージョンを4.3.12に戻して、しばらく様子を見ることにする。

4.3.12であればちゃんとFedoraインストールの画面が出てきた。

環境など

ホスト側: Windows 7 Professional SP1 64bit

ゲスト側: Linux Fedora 20 64bit ... Fedora-20-x86_64-DVD.iso

VirtualBox: 4.3.12 ... VirtualBox-4.3.12-93733.exe