Pidoraをセットアップする
PidoraはRaspberryPiに最適化されたFedoraベースのOSです。
RaspberryPi用のOSはRaspbianやArchLinuxもありますが、CentOSばかり使っていてRedHat系に馴染みがあるのでこちらにしました。
Pidoraのインストール
下記ページから pidora-18-r2c.zip をダウンロード・解凍しておきます。
下記ページから win32diskimager-v0.9-binary.zip をダウンロード・解凍し、Win32DiskImager.exe でpidora-18-r2c.img をSDカードに書き込みます。
RaspberryPiにディスプレイ・キーボード・マウス・SDカードなどを接続し、電源を入れます。
初回起動時の設定で指定した主な内容は以下のとおり。
Keyboard
Japanese
Create User
<ユーザ名>/<パスワード>
Add to Administrators group:OFF→ON※sudoが使えるようになる
Root User
<パスワード>
Date and Time
手動で時間を設定
Time Zone
Asia/Tokyo
System clock uses UTC:ON→OFF
System Settings
Hostname:<ホスト名>※指定しても無視されraspiになった
Video Configuration:HDMI default NTSC(Japan)
上記設定完了後、GUIでログインできることを確認します。
Pidoraのセットアップ
とりあえず再起動を確認。
$ sudo shutdown -h now
LANケーブルを接続してIPアドレスを確認し、putttyからSSH接続。
$ ifconfig
パッケージをアップデート。
$ sudo yum check-update
$ sudo yum update -y
以下のエラーが出たが解決法不明のため放置
Failed:
lightdm.armv6hl 0:1.4.0-2.fc18
mdadm.armv6hl 0:3.2.6-1.fc18
openssh-server.armv6hl 0:6.1p1-6.fc18
raspberrypi-kernel.armv6hl 0:3.6.11-7.20130415git197d15b.rpfr18
$ sudo shutdown -r now
再起動後、SSHで接続できなくなったためfirewalldを停止。
$ sudo service firewalld stop
$ sudo chkconfig firewalld off
一旦シャットダウンしてから無線LANアダプタを接続して本体を起動し、認識を確認。
$ sudo lsusb
$ sudo ifconfig
GUIにてWiFi接続設定と固定IP設定を実施。
以下のとおりNTPの時刻同期を設定。
$ sudo yum install ntp
$ sudo vi /etc/ntp.conf
以下のとおり変更
#server 0.fedora.pool.ntp.org iburst
#server 1.fedora.pool.ntp.org iburst
#server 2.fedora.pool.ntp.org iburst
#server 3.fedora.pool.ntp.org iburst
server ntp.nict.jp
server ntp.jst.mfeed.ad.jp
server s2csntp.miz.nao.ac.jp
$ date
$ sudo ntpdate ntp.nict.jp
$ date
$ sudo service ntpd start
$ sudo chkconfig ntpd on
約10分後、以下のコマンドでNTPサーバー名の前に*または+が表示されれば時刻同期完了の状態
$ ntpq -p
ランレベルを5から3に変更(/etc/inittab を編集する方法ではなくなっている)
$ sudo rm /etc/systemd/system/default.target
$ sudo ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
$ sudo shutdown -r now
再起動でなぜかfsckが走ったが、しばらく待ったらログインできた
ファイアウォールを設定。(標準のfirewalldはよく分からなかったのでiptablesを使用)
$ sudo vi /etc/sysconfig/iptables
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m conntrack --ctstate NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m conntrack --ctstate NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
$ sudo service iptables start
$ sudo service iptables status
$ sudo chkconfig iptables on
$ sudo chkconfig iptables
SSH公開鍵認証を設定。
$ sudo cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
$ sudo vi /etc/ssh/sshd_config
以下のとおり変更。
#PasswordAuthentication yes
Port <SSHポート番号>
PermitRootLogin no
AllowUsers pi
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
PasswordAuthentication no
$ mkdir ~/.ssh
$ sudo chmod 700 ~/.ssh
$ vi ~/.ssh/authorized_keys
puttygen.exe でキーを作って貼り付け
$ sudo chmod 600 ~/.ssh/authorized_keys
$ sudo service sshd restart
$ sudo vi /etc/sysconfig/iptables
以下のとおり変更
#-A RH-Firewall-1-INPUT -m conntrack --ctstate NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m conntrack --ctstate NEW -m tcp -p tcp --dport <SSHポート番号> -j ACCEPT
$ sudo service iptables restart
zsh、tmux、vimをセットアップ。(設定内容は各リンク先参照)
$ sudo yum install zsh
$ chsh -s /bin/zsh
$ vi ~/.zshrc
$ sudo yum install tmux
$ vi ~/.tmux.conf
$ mkdir bin
$ vi ~/bin/getCpuUsage.sh
$ vi ~/bin/getMemUsage.sh
$ chmod u+x ~/bin/getCpuUsage.sh ~/bin/getMemUsage.sh
$ sudo yum install vim
$ vi ~/.vimrc
httpdをセットアップ。
$ sudo yum install httpd
$ service httpd status
$ sudo service httpd start
$ sudo chkconfig httpd on
muninをセットアップ。
$ sudo yum install munin
$ sudo vim /etc/munin/munin.conf
ホスト名をlocalhostから自ホスト名に変更
$ service munin-node status
$ sudo service munin-node start
$ sudo chkconfig munin-node on
$ sudo service crond start
$ sudo chkconfig crond on
参考ページ
- Raspberry PiにPidoraをインストールする - tsunokawaのはてなダイアリー
こちらの最後の方に書かれている3ファイルの置き換えは、今回不要でした。 - うつ病けんけんのFedora/Linuxのまとめ日記 : Systemdの使い方。iptableを例に。 on Fedora
System Vがsystemdで置き換えられたとかで、serviceやchkconfigの挙動が変わっています。 - pidora apache httpdが外部から見えない件 - いろいろつまみ食い
ランレベルの変更方法も変わってました。 - Pidora の設定 ntpdate とアップデート - coLinux日記
RaspberryPiは時計を維持する電池が無いため、電源を落としていると時計が狂います。こちらはntpdではなく起動時に同期する設定。
おわりに
本体に周辺機器を色々接続してセットアップするので、ケーブルがごちゃごちゃして気持ち悪いんですが、無線LANとSSHの設定が終わってしまえば、最低限必要なケーブルは電源だけになるので非常にすっきりします。
電源は5V 1Aのものが使えるので、android端末の電源アダプタが流用できたりします。
次回はRaspberryPiで音声合成をしてみます。
関連記事
- RaspberryPiのセットアップに使ったハードウェア
- Pidoraをセットアップする
- Pidoraで音声合成