CentOSをVirtualBoxにインストール

相変わらず躓いたんで、色々まとめる。

一応、これがゴール

背景とか

会社も家もUbuntu一色になってしまったところに、突然Redhatの質問が飛んできた。
学生時代に研究室のサーバ構築でほんの一瞬だけ触っただけだったんで、
勉強がてらに家でも沢れるようにしようと思った。


方針を決める

やりたいこととかは
「Ubuntuをメインに使う。CentOSは勉強程度にちょっと触るだけ。デュアルブートこわい。」

そこから、ザックリと。
「Ubuntu上のVirtualBoxにCentOSをインストールする。ssh接続もあるといいかな。」


VirtualBoxのインストール

とりあえず最新版を落としてくる。
64bit環境なんで、AMD64をダウンロード。

落とし終わったdebファイルをダブルクリックすれば、ソフトウェアセンター経由でインストールできる。


CentOSと仮想マシンの準備


CentOSのダウンロード
「DVD ISO」ってやつにした。
ダウンロード元を選べるんで、jaistとかrikenとか選んでおけばいいと思う。

仮想マシンを作る
VirtualBoxを起動して「新規」をクリック
名前のとこにCentOSとか入力すると、勝手にRedHat 64bitを選んでくれる。
メモリとかHDDとかは、ホストPCの性能次第。
今回はHDD40GB(可変), メモリ2048MBを分け与える。

仮想マシンのネットワーク設定
アダプター1をブリッジアダプターに設定。
これで、ネットワーク上ではホストPCと仮想PCが別々に見えるようになる。

起動
この時なんか選ぶ画面が出るので、さっきダウンロードしたCentOSのISOファイルを選択する。
すると、インストールが始まる。


CentOSのインストール

セットアップウィザードに沿ってインストール。
rootのパスワードと、ユーザ作成はこの時にやっておいた。
放っておけば終わって再起動を促されるので、再起動。


CentOSの起動と、GNOMEのインストール


BOOTするときのKernelを選択させられる。とりあえずEnter。
普通だと、GUIのログイン画面が立ち上がるらしい。

しかし、こちらではコンソール画面しか立ち上がらない状態に。
どうも最小インストールしてしまったみたい。


Gnome Desktopをインストールして起動
とりあえず出てきてるコンソールにrootでログイン。
その後、以下。途中 [y/d/N] とか聞かれるんで、"y"と打ってEnter。
# GNOME Desktop を確認
$ sudo LANG=C yum grouplist

# インストール
$ sudo LANG=C yum groupinstall "GNOME Desktop"
...
Complete!

# Xの起動
$ startx
ランレベル設定
次に、システム起動時にGUIログイン画面になるようにターゲット(ランレベル)を設定する。
# ランレベル3相当になっていることを確認
$ sudo systemctl get-default
multi-user.target

# graphical.targetをdefault.targetとしてシンボリックリンクを作る
$ sudo systemctl set-default graphical.target
rm /etc/systemd/system/default.target
ln -s /usr/lib/systemd/system/graphical.target /etc/systemd/system/default.target
ここでもう1回再起動。
これでGUIのログイン画面が出てくる。


一般ユーザでsudoを使えるようにする


その後の処理の中で「sudo」を使うことになるわけだけど、できなかった。
色々見たところ、sudoできるユーザかどうかをチェックしているらしい。
というわけで、普段使いの一般ユーザをsudoできるマンとする。
# これ使わないと編集できないらしい
$ visudo

# 編集画面が開いたら、こんな感じで追加
# [あなたのユーザ名]  ALL=(ALL)  ALL
# "a"を押してキー入力、 "ESC"を押せばコマンドモードに戻る
# ":wq"とすれば、保存できる。
その他、viの使い方は下記参照。


VirtualBoxの拡張をインストール

高解像度にしたり、マウスいい感じにしたりする Guest Additions CD をインストールする。
これがないと色々だるい。
まずKernelとかのアプデから。
# RPMパッケージのアップデート
$ sudo yum upgrade
# RPMパッケージのインストール
$ sudo yum install kernel-devel gcc
んで、再起動。

その後、メニューバーから「Guest Additions CD」をクリックする。
すると「インストールしていい?」と聞かれるんで、実行する。
事前にsudoできるようにしておけば、基本的にミスらないと思う。

これも終わったら再起動。


Ubuntuからsshでつないでみる

とりあえずCentOSが動いたら、ifconfigでIP取れてるか確認しておく
$ ifconfig
enp0s3: flags=4163  mtu 1500
        inet 192.168.179.5  netmask 255.255.255.0  broadcast 192.168.179.255
        inet6 fe80::a00:27ff:fe48:db65  prefixlen 64  scopeid 0x20
        ether 08:00:27:48:db:65  txqueuelen 1000  (Ethernet)
        RX packets 357  bytes 42751 (41.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 351  bytes 42501 (41.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

...
Ubuntu側からssh接続する。
実はsshd入れてなかったんで、ここでインストール。
# sshインストール
$ sudo apt-get install ssh
# CentOSにつないでみる
$ ssh user@192.168.179.5
CentOS側からUbuntuへssh接続するときも一緒。sshの別途インストールは不要っぽい。


終わり

とりあえず一頻り動くようになったし、これで色々遊べそう。
あと、メニューバーから「クリップボード共有」を「双方向」にしておくと色々便利。

コメント