RaspberryPi howto
Raspberry Pi 4 のセットアップ買ったまま放置していたラズパイ4をLAN内で動くサーバーとして使おうと重い腰を上げたので, SDCardの寿命により死んだ時のために備忘録を残します.
ubuntuをインストール&初期設定
公式サイトで頒布されているRaspberry Pi Imagerを利用しますので, ダウンロードします.
起動後, インストールするOSに64bit Ubuntu 20.04.1 LTSを選択し, PC(or mac)に接続した状態でインストール対象のSDカードを選び WRITE ボタンをクリックする事で, SDカードにイメージが書き込まれます.
ラズパイにモニタディスプレイやマウス, キーボードを接続して起動, 初期ユーザーとしてubuntuが存在するので, ユーザーをubuntu, パスワードをubuntuとしてログインします. するとパスワードを変更しろと促されるので, パスワードを変更します. 初期状態でそもそもssh接続ができるようになっているので, ログイン後に表示されるIPアドレスをメモって他のマシンから
でログインする事も可能です.
aptの儀式もしておきます.
sudo apt update sudo apt upgrade
adduser [USERNAME]
色々インタラクティブに質問されるので, 適当に答えます.
sudoしたいので, sudoグループに作成したユーザーを追加します.
gpasswd -a [USERNAME] sudo
ubuntuユーザーからログアウトして, 作成したユーザーから入りなおします.
作成したユーザーの初期設定
タイムゾーンがUTCになっているので, 日本に合わせます
timedatectl set-timezone Asia/Tokyo
.ssh接続の設定をします.
mkdir .ssh touch .ssh/authorized_keys chmod 600 .ssh/authorized_keys chmod 700 .ssh echo $PUBLIC_KEY >> .ssh/authorized_keys
ssh接続する際, パスワード認証をせず公開鍵認証のみで行うようにするためにsshd_configを書き換えます.
sudo nano /etc/ssh/sshd_config
#PasswordAuthentication yes
となっている処を
PasswordAuthentication no
にし, sshdを再起動する事でパスワード認証が無効になります.
service sshd restart
ホスト名の設定
IPでアクセスするのはとても面倒なので, ホスト名を設定します.
sudo nano /etc/hostname
で/etc/hostnameを開き, 適当なホスト名に書き換えます.
LAN内からもそのホスト名でアクセスしたいので, Avahiをインストールします.
sudo apt install avahi-daemon
外付けHDDのマウント
今回はデータ管理をラズパイに外付けしたHDDで行いたいので, 外付けHDDをマウントする設定を行います. なお, 今回は事前にmacOSでexfatにフォーマット済みのHDD(4TB)を利用しています.
まずマウントポイントのディレクトリを作成します.
sudo mkdir /mnt/exthdd1
名前は適当につけました.
次に外付けHDDをラズパイに接続し, /dev/内のどれにあたるかを調べます.
dmesg | tail -n 30
を接続直後に実行して出てくるメッセージの中に/dev/sdaやsdbなどそれっぽいものが含まれているので, それを軸に探します. 今回接続したHDDは/dev/sdaになるようなので, その体裁で以降進めます.
sudo fdisk -l
で /dev/sdaに関連するデバイスの情報を調べ, それっぽい容量のものを探します. 今回利用したHDDは
- /dev/sda1
- /dev/sda2
の二種類があり, sda1の方はEFI Systemでパーティション容量も200MiB程度となっていたので, マウント対象は3.7TiBあるsda2という事がわかりました.
/dev/sda2では場合によっては存在しない事があるので, UUIDベースでマウントできるようにします.
ls -al /dev/disk/by-uuid/ | grep sda
こうすると, デバイスのUUIDがわかるので, それを元にマウントします.
sudo mount /dev/disk/by-uuid/[/dev/sda2のUUID] /mnt/exthdd -t exfat -o umask=000
umaskは誰でも使えるように設定しています.
これだと再起動の度に手動でマウントする必要があるので, 自動でマウントされるように /etc/fstab に設定を記述します.
念の為, blkidでUUIDを確認します.
sudo blkid
対象のUUIDをコピーした上で, /etc/fstab を書き換えます.
sudo nano /etc/fstab
UID="/dev/sda2のUUID" /mnt/usbhdd exfat defaults,umask=000 0 0
dockerのインストール
ubuntuはコミュニティがdocker.ioとしてメンテナンスをしているらしいので, これとついでにdocker-composeもインストールします.
sudo apt install docker.io docker-compose
apt経由でインストールするとdockerグループが作られるので, 自身のユーザーをdockerグループに追加します.
sudo gpasswd -a $USER docker