MacでBootable USBを作ってUbuntuサーバーをインストールする
最初、UNetbootinを使えば楽勝にできると思ってたけど、サーバー版はインストール時にエラーになるので使えませんでした。
というわけで、成功したプランBの記録です。
Bootable USBメモリの作成
UbuntuのISOをダウンロードする
今回は、最新の14.04にしました。
$ wget http://releases.ubuntu.com/trusty/ubuntu-14.04-server-amd64.iso
ファイル名にAMD64って書いてあるけど、Intel CPUでも64bit版はこれみたい。
.isoを.dmgに変換する
hdiutil
を使って変換します。
$ hdiutil convert -format UDRW -o ubuntu-14.04-server-amd64.dmg ubuntu-14.04-server-amd64.iso
Driver Descriptor Map(DDM:0) を読み込み中...
Ubuntu-Server 14.04 LTS amd64 (Apple_ISO:1) を読み込み中...
Apple(Apple_partition_map:2) を読み込み中...
Ubuntu-Server 14.04 LTS amd64 (Apple_ISO:3) を読み込み中...
..........
EFI(Apple_HFS:4) を読み込み中...
..........
Ubuntu-Server 14.04 LTS amd64 (Apple_ISO:5) を読み込み中...
........................................................................................................................
経過時間: 6.911s
速度:81.6M バイト/秒
節約率:0.0%
created: /Users/hentai-kun/ubuntu-14.04-server-amd64.dmg
USBメモリのデバイス名を確認する
USBメモリを刺した状態で、diskutil
を実行します。
$ diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.3 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_HFS Macintosh HD 499.4 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *2.0 GB disk2
1: DOS_FAT_16 NO NAME 2.0 GB disk2s1
USBメモリの容量(SIZE)とFinder上に出る名前(NAME)とが一致するものデバイス名を確認します。
(この例では/dev/disk2
)
デバイス名を間違えて書き込むと悲惨なことになるので、要注意です!
.dmgをUSBに書き込む
マウントした状態では書き込めないので、
$ diskutil unmountDisk /dev/disk2
一旦アンマウントした上で、
$ sudo dd if=./ubuntu-14.04-server-amd64.dmg of=/dev/disk2 bs=1m
dd
コマンドで書き込みます。
終了時に、
セットしたディスクは、このコンピュータで読み取れないディスクでした。
とダイアログが出てくるので、取り出すボタンで取り外します。
Ubuntu Serverのインストール
USBメモリを刺して起動
BIOSのブートメニューからUSBを選んで起動します。
インストール手順
ここら辺はよくある手順なので(略)
ほぼデフォルトです。LAN環境上ならパッケージにOpenSSH Serverを入れておくと便利です。
戸惑ったところは、日本語キーボードを指定したらカタカナしか打てなくなって英語キーボードに変えたぐらい。Macのキーボードを繋いだからかな?
終わったらUSBメモリを抜いて再起動。
とりあえずアップデート
何はともあれ、先にアップデート。
$ sudo aptitude update
$ sudo aptitude upgrade
言語を英語にする
言語を日本語にするとインストールがわかりやすいのですが、普段使いではメッセージをググって結果が出やすい英語版が好きなので直します。
$ sudo update-locale LANG=en_US.UTF-8
あとは、
Ansibleでやる範疇なので、ここまで。