エンジニアのはしがき

プログラミングの日々の知見を書き連ねているブログです

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

ラズパイを買うとまずはOSインストール、そして各種ライブラリのインストールといった具合に 準備をすると思いますが、毎回何かしら調べることが多いので備忘録として残したいと思います。

Ansibleで初期設定したい場合は↓をご覧ください。

tm-progapp.hatenablog.com

動作環境

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

物理的に必要なもの

各種手順

OSインストール

最近になって、「Raspberry Pi Imager」というSDカードのフォーマット、OSインストールまでが簡単にできちゃうソフトがリリースされていました。

便利なものは使わない手はないので公式からDLして使っていきます。

www.raspberrypi.org

特に難しい操作もありません。

  1. インストールしたいOSを選択
  2. 書き込むSDカードを選択
  3. 書き込み開始

だけです。

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.confvimで開き、追記します。

$ 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がおススメです。

www.realvnc.com

ファイアウォールを有効にする

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

参考 GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

Chromiumをインストール(使う場合)

頻繁にブラウザを使うならラズパイのデフォルトのブラウザよりおススメです。使い勝手はChromeと殆ど同じ。

シェルスクリプトからフルスクリーン表示させたりといったこともできますので、幅広い用途に使えると思います。

$ sudo apt install chromium

余談

VSCodeもインストールできるようになりました

詳細は別記事にてまとめてますので↓をご覧ください。スペック高めのラズパイなら入れる価値ありです。

tm-progapp.hatenablog.com