RaspberryPi3のUbuntu16.04server初期設定
環境構築をするたびに手順を忘れている気がするので自分用のメモとして記述
キーボード設定・ユーザー設定・ssh接続・IPアドレスの設定をやっていきます
使用機材
・Raspberry Pi 3 Model B
・Lanケーブル1本(モデムやHGWとの接続用)
・HDMIケーブル
・モニター(HDMI接続できるもの)
OSインストールまでの実行環境はWindows10を使用
Vimって何それおいしいの?という方は下に参考URLを貼っておきますので基本的な使い方は学んでください
http://qiita.com/JpnLavender/items/fabcc79b4ab0d52e1f6d
まずはmicroSDカード(8GBあれば十分)にOSを入れましょう!
https://wiki.ubuntu.com/ARM/RaspberryPi
↑のURLからubuntu-16.04-preinstalled-server-armhf+raspi3.img.xzをダウンロード
解凍したimgファイルubuntu-16.04-preinstalled-server-armhf+raspi3.imgをmicroSDカードに書き込みます
今回imgを書き込む用のソフトはWin32 Disk Imagerを使用
Win32 Disk Imagerのダウンロード先↓
https://sourceforge.net/projects/win32diskimager/
使用方法については省略,使用方法は参考URLを確認してください
それではRaspberryPi3にmicroSDカードを挿入して起動.
黒い背景に白い文字が沢山流れると思うので止まるまで待機
文字が動かなくなったらエンターキーを押して
ubuntu login:
と表示されたらユーザー名とパスワードを入力してログインします
初期ユーザー名およびパスワードは"ubuntu"です.
password:ubuntu
※パスワードは入力しても画面上には表示されません
ユーザー名とパスワードの入力が完了したら
(current) UNIX password:
と表示されます.これは初回ログイン時にパスワードの変更を行う仕様となっており現在のパスワードを入力してくださいという意味になります
なので"ubuntu"と入力
※こちらもパスワードなので画面上では表示されません,以後のパスワード入力でも画面には表示されないのでご注意ください
続いて
Enter new UNIX password:
と表示されます.これはそのまま新しいパスワード(自身のパスワード)を入力
当然他人にはわからないような文字・数列を心がけましょう
新しいパスワードを入力すると
Retype new UNIX password:
これは新しいパスワードを再度入力してくださいとのことですので再度入力
これでUbuntu16.04serverへのログイン完了
まずは標準エディタをVimへ変更します
標準でVimは入っているのですが最小限の機能しか使用できないVimですので高機能なVimをインストール
$sudo apt-get update
$sudo apt-get install vim
インストールの途中で
Do you want to continue? [Y/n]
と表示されますがインストールを続けますか?的なことなので"y"を入力してエンターキーを押せばインストールが進みます
これでVimのインストールが完了
それでは標準エディタの設定をします
$sudo update-alternatives --config editor
コマンドを入力するとエディタのリストが表示されSelection番号の左に"*"が付いているのが現在の標準エディタとなります.現在は nano となっていることが確認できます
リストの中にvim.basicとvim.tinyとVimが2つありますが,この違いは標準で入っている軽量のVimが vim.tyny 先程インストールしたVimがvim.basicなので当然vim.basicを選択
選択方法はPathがvim.basicとなっているSelection番号を入力してエンターキーを押してください
再度 $sudo update-alternatives --config editor を入力すると vim.basic が標準エディタとなっていることが確認できます
次にubuntuが標準で日本語キーボードに対応していないので設定を行います
$sudo dpkg-reconfigure keyboard-configuration
コマンドを打つことで紫背景のキーボード設定画面が表示
最初の画面では"Dell"を選択
続いて"Japanese"を選択
次に"Japanese - Japanese (OADG 109A)"を選択
そして"The default for the keyboard layout"を選択
最後に"No compose key"を選択
これで日本語キーボードの設定は完了
少し待つとコマンドの打てる状態になります
手順がわからない方は参考URLを見ながら進めてください.
http://qiita.com/ktyubeshi/items/847b05b7879e2f45da54
それでは root ユーザーのパスワードを設定します
$sudo passwd root
と入力すると
Enter new UNIX password:
と表示されるので最初に設定したように自身のパスワードを入力
続いて再度パスワード入力が求められるので再度パスワードを入力
password: password updated successfully
と表示されると成功です
$su -
とコマンド入力してrootユーザーへ切り替わることを確認
確認が完了したら
#exit
で元のユーザーに戻しましょう
続いてホスト名を追加しましょうこの作業をしていない状態だと
sudo : unable to resolve host
と表示されてしまいます
まずはホスト名が設定されているファイル(/etc/hostname)をvimで開きます
$sudo vi /etc/hostname
すると"ubuntu"書かれているので
hostname
自身の設定したいホスト名に書き換えます
次に/etc/hostsファイルを開きます
$sudo vi /etc/hosts
最初は
~以下ipv6の設定~
と書かれているので
127.0.1.1 hostname #←この行を追加します
最後に再起動をかけるとホストの設定は完了
$sudo reboot
次にユーザーを追加(usernameは自身の設定したい名前)
$sudo useradd -m username
$sudo usermod -G sudo username
$sudo passwd username
"$sudo usermod -G sudo username"では作成したユーザーがsudoコマンドを実行できるようにしました
"$sudo passwd username" コマンドを打つと
Enter new UNIX password:
と表示されるのでいつものようにパスワードを設定
$cat /etc/passwd
コマンドを実行すると一番下に作成したユーザー名があることが確認
では早速ユーザーを切り替えてみましょう
$su - username
作成したユーザーに切り替わったら
$id
でユーザーIDまたsudoグループに所属していることが確認
使わなくなったユーザーは
$sudo userdel -r username
で削除することができます
SSH接続できるようにします
$sudo apt-get install openssh-server
コマンド入力をするだけでssh接続できるようになります
IPアドレスの設定を行います
$sudo vi /etc/network/interfaces
でIPアドレスの設定が書かれたファイルを開きます
現在の設定では
auto lo
iface lo inet loopback
loopbackのみ設定されていますので固定IPとSSH接続用のIPを設定します
まずは
source /etc/network/interface.d/*.cfg
外部から設定を読み込む様になっているのでコメント化します
変更後
#source /etc/network/interface.d/*.cfg
続いてerh0のIPアドレスを固定IPにします
ファイルの下に記述
auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1
"address"には環境に合わせたIPアドレス
"netmask"には環境に合わせたサブネットマスク
"gateway"には環境に合わせたデフォルトゲートウェイを設定
以上で設定は完了です
保存して再起動をします
$sudo reboot
再起動できたら確認します
$ip address
または
$ifconfig
コマンドでinet(IPアドレス)の設定が反映されているのを確認できます
続いて
$ping -c 5 8.8.8.8
で外部ネットワークへ繋がるか確認します
※8.8.8.8 はGoogle Public DNSのIPアドレス
64bytes from 8.8.8.8: icmp_seq=x ttl=xx time=xx.x ms
"x"は環境によって数値が異なります
と表示されると外部ネットワークへのアクセスが可能です
From x.x.x.x icmp_seq=x Destination Host Unreachable
ping: sendmsg: Network is unreachable
と表示される方は設定が間違っているかそもそもネットワークに繋がっていない可能性があるのでeth0の設定を
auto eth0
iface eth0 inet dhcp
と変更してpingが通るか
WindowsのPCが同じネットワーク内で使用のであれば
>ipconfig
を用いてネットワークの設定が間違っていないか確認してみましょう
http://www.atmarkit.co.jp/fnetwork/tanpatsu/26command/02.html
ssh接続するPCの設定をします
ssh接続するアプリケーションとしてTera Termを使用
https://ja.osdn.net/projects/ttssh2/releases/
ダウンロードするバージョンは最新版で問題ないかと思います
ssh接続する際のIPアドレスはeth0に設定されているIPアドレスです
ネットワークの設定参考URL
http://faq.buffalo.jp/app/answers/detail/a_id/15775
これで設定完了
$sudo apt-get update
やインストールを行うと"Temporary failure resolving 'xxx.ubuntu.com'"
とエラーが出てしまうがこれはDNSの問題なので
$echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
を実行することでエラーが出ることなく実行できます
追記
Tera Term等でSSH接続した際にTabキーで補完されない・上キーを押しても履歴が見れないといった現象が起きてしまう
https://oshiete.goo.ne.jp/qa/5058986.html
$sudo usermod -s /bin/bash username
コマンドを打ちこんだコンソールは閉じずに新しいコンソールを起動してログイン
Tabで補完や上キーで履歴がみれるようになっていたら完了
もしコンソールでログインできない場合はコマンドを打ち込んだコンソールで
$sudo usermod -s /bin/sh username
を打ち込むことで設定を戻します
詳しくはサイトを参考にするか「Tab 補完されない」みたいな感じで調べると環境に合った解決法がでてくると思います