fedora 26 (Xfce spin) を VirtualBox にインストール、の至極個人的メモ

「毎日 linux インストールしてるぜ」なんてヒトなんかそうそうはおらぬであろ、しかるに、わかってたってそれなりにはつまづく。

fedora 26 を (Windows版) VirtualBox にインストール、の至極個人的メモ

前置き

「Linux インストールの専門家」なんて商売があるのかは知らんけれど、いわゆるシステム構築の専門家、てのはいるんであろう。けど普通は多少なりともなウィザードであっても、「OS インストール」なんてのは多くたって年に数度の「大イベント」だ。そりゃぁ忘れますって。

で、このたび「あぅあ、そろそろ Fedora 21 がキツいぜ」て状況に追い込まれてしまい始めてきたようなきてないような、やっぱりきてるような、そんなお年頃になったもんで、重い腰を上げてようやっと(まっさらな) Fedora 26 に乗り換えようかと。そのメモである。まぁ数年後の自分に役立てば、って程度のもん。「ひとの役に立つ」ものをさぁ書いてやろうぜ、てつもりは毛頭なく。自分的最小限しか書かないよ。

アタシの場合は無論普段は素の Windows のみで作業をし、「必要欠くべからざる事情」があれば、よっこらせと重い VirtualBox な linux を起動して検証なりをする、ということをしているだけなわけであって、案外「VirtualBox そのもの」のことも理解が薄かったりする。のでそのメモもついでなので。

なんで Xfce スピン?

一応。

「残念ながら」Fedora をはじめとする Red Hat Linux 系の Linux の「主流」のウィンドウマネージャは、「ワタシ個人としては大嫌い」な Gnome。ゴテゴテしてて「格好いい」ばっかりで、使いやすくもないし、何よりウザい、てのが「オレ的」評価、「だった」(過去形だしそもそも憶えてない)。だったら「同じく別に格段に使いやすいってわけではなくても、シンプルでスッキリした Xfce がいい」てのが、これはむしろ FreeBSD あたりを使ってた頃にした決断。なので Fedora でも Xfce からずっと浮気してない。もっと大昔は Fvwm (2ですらない1.4とか) が好みだったが、Xfce は Fvwm 1 系に近いシンプルさが気に入っている。けどこれは「オレ的に」ってだけの話なので、もしこれをお読みにならはるあなたが「Linux 入れてみべぇ」と思うんであれば、別に Xfce にこだわらなくてもいいと思うよ。お好みでどーぞ。(現実問題としては初心者ほど「主流派」に従った方が情報が多くて楽なはず。)

仮想マシンを作成して…

この段階からしてどーすんだっけ、レベルだったが、「新規仮想マシン」を作成(その際タイプとバージョンを適切に選ぶ)し、起動、起動すると ISO イメージの選択を促されるので選択、これで「Live 起動」(ていうんだっけ?)する。これだけだと「お試し Fedora」のままなので、Fedora のデスクトップに置かれているインストーラ(Install to Hard Drive)を起動。これだけ。インストーラに従えばいいが、従うほどの内容はなく(インストーラで(rootでない)管理者ユーザを作ったほうがいい、てことくらい)シンプルなもんである。まぁ大昔に較べるとほんと楽にはなったわよね。

まぁ「ほぼデフォルトで」良ければこれだけ。やりたいことによっては「ネットワーク」をカスタマイズ必要かもしれない。デフォルトは NAT なので、普通はこれだけでいい。デフォルト(NAT)に従ってやってれば、ホスト側(ワタシの場合は Windows)が正しくネットワーク出来てる限り、自動認識でインターネットに行けるみたい。あらら、昔からこんなに簡単だったか? 実機へのインストールだとここは多少ハマるポイントだったような記憶はあるけど、とにかく VirtualBox へのインストールなら何もしなくていい。

あとはインストーラを終了させてもまだライブユーザログインのままなので、「ハードディスクからの」再起動。色々やり方ありそうだけど、とにかく一旦シャットダウンして、ハードディスク起動順を光学よりも先に変更して起動、とした。もっと賢いやり方ありそうだけど。(バカな話だがシャットダウンし忘れて、作ったユーザでログイン出来ん、とほんの少しだけ彷徨ったわよ、あたしゃ。)

焦るな

VirtualBox 初心者てわけでは決してないけれど別に毎日使ってるもんでもないので、しょーもないことを忘れてる。

「ホストキー」(デフォルトで右 Ctrl)は忘れないようにしとこうと心に誓った。それとフルスクリーン時など VirtualBox メニューが見えない状態になってからにホストに戻りたい場合にどうすればいいのかも完全に失念してて。右 Ctrl + Home で VirtualBox のメニューが出るのでそこから戻りたければ戻れる。メニューは画面端にマウスを移動しても出る。

Update Fedora

How to install Fedora as a VirtualBox guestより:

As for every installation, inside a VM or not, the first thing to do is a system update. Then login on Fedora with the user configured during the installation process and complete the first login steps. To update the Fedora install in your VM, open a Terminal and type:
1 localuser@localhost: ~$ sudo dnf -y update

ま、従いましょ。これをやらなかったばっかりにハマったことは何回かは確かにあった。それこそネットワークドライバじゃなかったかなぁ、確か。

ところで dnf って何、って思ったが、どうもかつての yum らしい。ググればいちぱつね:

If you’re a fan of Fedora, and you’ve upgraded to release 22, you might have noticed a major change under the hood. The familiar (and long-standing) Yum package manager is gone. In its place is the much more powerful and intelligent Dandified Yum (DNF).

Installing the Guest Additions

これすると何が嬉しいんだったかさえ忘れてしまったが、必ずやること、だった記憶だけはあるので、やっとく。フルスクリーンの解像度とかもこれがやってくれるんだっけ?

これなー、確か Fedora 21 だったかでは「手動で」シェルスクリプト起動した記憶があるんだよなぁ。今回は楽かなどうかな?

とりあえず右 Ctrl + Home で VirtualBox のメニューを出して、「デバイス」→「Guest Addisions CD イメージの挿入…」。ん、ダメって言われた。なんだろ? これ。単にインストールに使った LiveCD の ISO をアンマウント出来なくて起こるエラー…。なんだよっ。てわけで「強制アンマウント」をしてから改めて「Guest Addisions CD イメージの挿入…」。出来た。あとはデスクトップに現れたソレを「マウント」。

まさかマウントではまるとは思わなかったが、「昔ハマった」(てほどでもないけど)のはこの先です、無論。確か autorun がダメダメで、手でシェルスクリプト実行したんよね。という記憶だったんだけれど、How to install Fedora as a VirtualBox guest では結局「自動に頼るなよ、手で叩けや」と:

Then let’s insert the Guest Additions CD, by clicking on Devices -> Insert Guest Additions CD image… A window should appear asking you if you want to allow autorun of the CD content.

…(ここに autorun が出したダイアログの絵が)…

Click on “Cancel” because you need to install some additional packages in order to fully install the Guest Additions.

Open a terminal and type, even if some packages may be already installed:

1 localuser@localhost: ~$ sudo dnf -y install gcc automake make kernel-headers kernel-devel perl
Once finished, actually install the Additions by running the script
user部分は「あなたの」、だけど bash からなら補完ですぐに見つけられるハズ。
1 localuser@localhost: ~$ sudo /run/media/user/VBOXADDITIONS*/VBoxLinuxAdditions.run

gccとか入れるんだったら他にも -devel 系ついでに入れたい、とも思うが、まぁ今は最小限でもいいか…。

カーネルヘッダなんぞを要求してるつーことは、やはりデバイスドライバ周りの「嬉しいこと」をインストール出来るてことかね。少なくともこの作業前はウィンドウサイズにも解像度にもマウス操作にも「不満」な状態なわけで、入れたら良くなる?

「VBoxLinuxAdditions.run」が終わったらリブート。

いっぱつで「ホストとおんなじ解像度」に出来るかと思ったら、ちょっとだけひと悶着。まずやりたい「ゲストOSの画面を自動リサイズ」が無効になってて、そのすぐ下の「ウィンドウのサイズを調整」を間違って触ったら仮想マシンが落っこちちゃった。もう一度起動したらめでたく「ゲストOSの画面を自動リサイズ」が有効になり、これとともに fedora xfce 内で「アプリケーション→設定→ディスプレィ」でめでたく解像度を期待のものに変更出来た。

あとは「クリップボード共有」もやっとけばひとまずはオッケー。

RPM Fusion を使えるように

これを知らない人になんと説明すればいいだろうか、ていつも思うんだけれど。

こんなんで通じるかしら?

  1. Linux のディストリビュータは多くは「オレの信頼したものだけ信頼せよ」というパッケージ管理をし、「得体の知れないもの」をインストールさせてくれない。
  2. 要は「ネクタイ族/ホワイトカラー」的指向。
  3. この傾向が特に顕著なのは、CentOS。非常に堅苦しい。
  4. Fedora は CentOS よりは遥かに暴走族である。詰め込め癖高め。
  5. それであってもそこから漏れる「重要アプリケーション/ライブラリ」はとっても多い。
  6. そんなあなたに、RPM Fusion。

よーするに「基幹システム向けに linux ベースに構築する」てな場合には割とその「堅苦しいパッケージ管理」が吉と出る場合も多いんだろうけれど、個人ユースにはこの真面目さは不要、ヤクザでありたい、てわけだ。なので「必ず RPM Fusion 入れるんだぜ」て理解はせぬこと。そーじゃないよ。TPO をわきまえような。

なんであれ「野良ビルドを厭わない」ぶんにはどんなんだって別にいいんだけれど、大きなものほど依存関係の解決だけで何日も費やすほど大変になることもあって、普段は別にビルドしちゃえばいいじゃん、てノリでも、「やっぱパッケージは楽だわぁ」とはやっぱし思う。

さて、今は「Fedora 22 and later」なので…

free for Open Source Software (as defined by the Fedora Licensing Guidelines) which the Fedora project cannot ship due to other reason:

1 localuser@localhost: ~$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

nonfree for redistributable software that is not Open Source Software (as defined by the Fedora Licensing Guidelines); this includes software with publicly available source-code that has “no commercial use”-like restrictions:

1 localuser@localhost: ~$ sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

これにより「dnf が RPM Fusion レポジトリも見に行く」ようになり、これを入れる前は sudo dnf install hoge したとして「んなパッケージは認めん(No package hoge available)」だったものが、インストール出来るようになる(ことがある)。代表的なのは ffmpeg で、というかワタシが今回 Fedora 26 に乗り換えようと思った動機はまさしく ffmpeg が理由。

上では free/nonfree 分けて書いたけど、無論 free/nonfree は同時にインストール出来るよ。けど free だけ欲しいとかあると思うんだな。

共有フォルダ…なんかダルいんだからそうでない手段で行き来出来るようにしようぜ

以前書いたのでそっち見れ。

パブロフの犬ばりに「VirtualBox るなら共有フォルダ使うんだぜっ」てのはまぁ情報が多いからわかりやすい「と思い込む」からだろうと思うんだけれど…、やってる人ならわかると思うけど、全然快適じゃないよ、こんなん。なんだかんだ「本当は高度な Unix の使い方」だったりするから見かけほど「初心者向け」でもないし。元々は「Windows 系」がゲストの場合になら「確かに少しはマシ」てもんだと思うんだわ。ゲストが Unix 系なら根本的に「リッチな通信インフラ」すぐに整備出来るんだから、そうするのが吉です。(追記: ちなみに sshd を「有効」にする方法はこことかみればすぐにわかるよ。)

SciPy, MatplotLib (等) のために

昔からそうだったとは思えない、のかなぁ、あるいはワタシはずっと野良ビルドしてたのかな? openblas を使いたいがためにそうしてた可能性は確かにある。

とにかく今の fc26 で scipy, matplotlib を pip でインストールするには、予め redhat-rpm-config をインストールしておく必要がある:

1 localuser@localhost: ~$ sudo dnf install redhat-rpm-config

無論 cython とかモロモロ必要だけどそっちの説明は別にいいよな?

以降はお好きに、なんだけれども

なんか「必須」ってあったかしらねぇ、と。fc21 の頃は language-pack なんかを必ず入れてたと思うんだけど、今もそうかな? まぁ後でもいいか。(つーか、人によるんだ、「オレ的ニーズにとっては必須」なんて。業務で作る必要があった時期はこのあと「勝手にインストールされた不要なものアンインストール」なんてことしてたが、そうするくらいなら Fedora 選ばなきゃいい、てのは正論。)