Raspberry Piを買ったら最初にやること
目次

ラズパイを買うとまずはOSインストール、そして各種ライブラリのインストールといった具合に 準備をすると思いますが、毎回何かしら調べることが多いので備忘録として残したいと思います。
Ansibleで初期設定したい場合は↓をご覧ください。
複数台のRaspberry Piの初期設定がつらいのでAnsibleで設定した
動作環境
OSはRaspbianを想定しています。 他のOSの場合は以降の手順が異なる場合があります。
Raspberry Pi 3 Model B+
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 9.13 (stretch)
Release: 9.13
Codename: stretch
物理的に必要なもの
- ラズパイ本体、電源ケーブル
- SDカード(ストレージとして利用)
各種手順
OSインストール
最近になって、「Raspberry Pi Imager」というSDカードのフォーマット、OSインストールまでが簡単にできちゃうソフトがリリースされていました。
便利なものは使わない手はないので公式からDLして使っていきます。
https://www.raspberrypi.org/software/
特に難しい操作もありません。
- インストールしたいOSを選択
- 書き込むSDカードを選択
- 書き込み開始
だけです。
SDカードへのOSの書き込みが終わったら、ラズパイ本体にSDカードを挿し、この時点でキーボードとモニタも接続した上で起動します。
初期設定
初期画面では他のOS同様に言語設定、ネットワーク設定などの操作が求められますので、案内通りに操作をして設定を終えます。
定番のおまじない
初期設定が終わったらRaspbianのターミナルである「LXTerminal」を開きます。
まずはパッケージ情報とパッケージそのものを最新の状態に更新します。巷でおまじないと呼ばれるやつですね。
$ sudo apt update
$ sudo apt upgrade -y
Vimをインストール
テキストエディタはVimが便利なのでインストールします。
ちなみにNanoというエディタがデフォルトで入っていますが、Vimの独特な操作が苦手ならこちらの方が良いかもしれません。($ nano {ファイル名}で起動します)
$ sudo apt install vim
# update-alternativesでデフォルトエディターを指定する
$ sudo update-alternatives --config editor
IPを固定する
VNC接続などの為にIPを固定しておきます。
/etc/dhcpcd.confをvimで開き、追記します。
$ sudo vim /etc/dhcpcd.conf
下記を追記します。 /etc/dhcpcd.conf
interface eth0
# 固定したいIP
static ip_address=***.***.***.***
# ルータのIP
static routers=***.***.***.***
#DNSサーバのIP
static domain_name_servers=***.***.***.***
VNC, SSHを有効にする
GUIから設定する場合
- デスクトップのスタートメニューから「設定」→「Raspberry Pi の設定」を選択。
- 「インターフェイス」タブの「VNC」「SSH」を「有効」にして「OK」を押します。
CUIから設定する場合
sudo raspi-configで設定画面を開く- “Interface options” -> “SSH” or “VNC”を選択し、“Yes”を選択する
VNCクライアントはVNC Viewerがおススメです。
https://www.realvnc.com/en/connect/download/viewer/
ファイアウォールを有効にする
ufwでシンプルなファイアウォールを設定できますので、必要に応じて設定をします。VNC, SSHを使う場合はポート開放しないとアクセス拒否されてしまいますので忘れないようにしましょう。
$ sudo apt install ufw
# まずは全ポートを拒否する
$ sudo ufw default deny
# VNC接続用ポートの5900を許可(必要なら)
$ sudo ufw allow 5900
# SSH接続用ポートの22を許可(必要なら)
$ sudo ufw allow 22
# ログ出力を有効化
$ sudo ufw logging on
# ufwを有効化
$ sudo ufw enable
Gitインストール(使う場合)
$ sudo apt install git
SSH接続用のキーを生成
GitHub等と接続する際はSSH接続する場合がほとんどなので、キーを生成しておきます。
$ cd /home/pi/.ssh
# キーを生成
$ ssh-keygen
# 生成された公開鍵を確認
$ cat id_rsa.pub
GitHubの場合はメニューから「Settings」→「SSH and GPG keys」 を選び、生成された公開鍵を登録しておけば、SSH接続でpush等ができるようになります。
Node.jsをインストール(使う場合)
sudo apt install nodejsでもインストールできますが、この場合古いバージョンのnode.jsが入ってしまう為、nvm経由でインストールします。
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
$ source ~/.bashrc
# nvmがインストールされたか確認する
$ nvm -v
0.39.3
# インストールするNode.jsのバージョンはLTSに指定してますがお好みで指定してください
$ nvm install --lts
$ node -v
v18.12.1
参考 https://github.com/nvm-sh/nvm
Chromiumをインストール(使う場合)
頻繁にブラウザを使うならラズパイのデフォルトのブラウザよりおススメです。使い勝手はChromeと殆ど同じ。
シェルスクリプトからフルスクリーン表示させたりといったこともできますので、幅広い用途に使えると思います。
$ sudo apt install chromium
余談
VSCodeもインストールできるようになりました
詳細は別記事にてまとめてますので↓をご覧ください。スペック高めのラズパイなら入れる価値ありです。