0. なりゆき
私がちゃんとプログラミングをし始めたきっかけになったのはRaspberryPiでした。
ということでとてもシステムがぐちゃぐちゃなので一度初期化して、再度設定をし直そうというわけです。
ちなみに初期化する前は、VNCがグラフィックバグりまくり、再起動すると接続できなくなるところまで行きました。
一体なぜ...
1. 環境
必要なものとしましては
Raspberry Pi 5 8GB-
Windows OS 11あるいはMac OS sshで接続するための最低限の知識gitとGitHubの最低限の知識
です。
今回はWindows OS前提で進めていきます。
至らぬ所あるかと思いますが、都度教えて頂けると幸いです。
(私もかなりプログラミングを理解しているわけではなく、ただの高校生なので...)
2.リセットする
消えたらめんどいデータをメインPCに移行します。
.bashrc
.bash_profile
Desktop/
Documents/
.ssh/
{パスを通したshファイル}
このあたりはコピーしておきます
逆にsambaやインストールしたソフトは全て放置します。
とりあえずシャットダウンします
pi@raspberry:~ $ sudo poweroff
RaspberryPi本体の電源が切れたことを確認して、MicroSDカードを取り出しPCに接続します。
おそらく読み込んだ中身はこんな感じ

探っていけばhomeディレクトリが存在するかと思いきや、そんなことはないっぽい...?
このデータにOSとOSで組み立てる前提のデータがはいっているのかな~と予想(どなたか教えてください!!)
OSの再インストール
公式サイトでRaspberry Pi OSのイメージャーが配布されています。
ライセンスに同意してと言われるので、「I accept the agreement」を押して[Next]を押す。

イメージャーのインストールディレクトリを聞かれるので、こだわりがなければそのまま[Next]。

ついでにデスクトップショートカットを作れるらしいが、イメージャーを開くことがここ2年間で1回なのでおそらく要らない。
[Next]を押すとイメージャーがインストールされる
チェックを入れたままFinishする。
OSを選びます。
スクロールしていくとUbuntuとかAlpineLinuxとかありますが、ソフトのインストールで問題が起きた時にRaspberry Pi OSだと調べやすいので、やっぱり今回もRaspberry Pi OSで進めていきます。
Raspberry Pi OS (64-bit)を選択して「次へ」

先ほどPCに接続したMicroSDカードが表示されると思うので、そちらを選択。
「次へ」を押します。

hostnameはssh接続する時の「pi@ raspberry.local」の部分です。
初期設定だとたしかraspberryなハズ...?
私は前回もcandypiにしたので今回も「candypi」にします。
決めたら「次へ」

ローカライズ(多言語対応)の設定ですね。

「これにしとけばええやろ!」の精神で進めます。
選択したら「次へ」

初期ユーザーですね。
ユーザー名にはssh接続する時の「pi@raspberry.local」の部分です。
パスワード:はssh接続する時のパスワード
Confirm passwordは普通にパスワードの再確認
ウチではユーザー名をameにしていたので、今回もameで続行します。
書けたら「次へ」

Wi-Fiの設定です。
SSIDにはWiFi一覧で出てくる名前を入力します。
ここミスるとだいぶ詰むので慎重にやります。
書き込めたら「次へ」

一番大事なやつです。
有効化しましょう。
セキュリティ的にパスワード認証を使います。
「次へ」

これは「外部からでもアカウントがあればラズパイを操作できるよ~」っていう設定です。
自前で用意する方が良いと思ったので無視して「次へ」

書き込みの最終確認です。
問題がなければ「WRITE」を押す。

「データ全部消えるけど大丈夫?」ってことを聞かれます。
大丈夫なら「I UNDERSTAND, ERASE AND WRITE」で書き込みが始まります。

待ちます。
「書き込み中」→「確認中」の順序で進みます。

これで書き込みが完了しました。
「FINISH」を押してイメージャーを閉じます。

ディスクを右クリックで「取り出し」をクリックします。
これで安全にMicroSDカードを取り出せます。
初期設定
抜き出したSDカードをRaspberry Pi本体に刺して給電すると勝手に起動します。
OS再インストール時に設定した情報を使いssh接続します。
私の場合は
$ ssh ame@candypi.local
です。
パスワードを求められます。設定したパスワードを入力します。
接続できない場合
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:fLsWb4Tqp5h4ouPcOWBlTCm9ud4ZT9i4R5d1HfYig5c.
Please contact your system administrator.
Add correct host key in /c/Users/${username}/.ssh/known_hosts to get rid of this message.
Offending ED25519 key in /c/Users/${username}/.ssh/known_hosts:11
Host key for candypi.local has changed and you have requested strict checking.
Host key verification failed.
これは「接続先が前回と同じアドレスだけど、中身違うよ?」っていうエラーなので
/c/Users/${username}/.ssh/known_hosts:11
にあるとおり、.ssh/known_hostsの11行目が原因です。
vimなり何なりで消しましょう。私はVSCodeで直接消します。
VNC
とりあえずVNCを使えるよう設定をします。
sudo raspi-config
3 Interface Optionsを選択。
I3 VNCを選択。
Yesを選択。
再起動します。
sudo reboot
再起動するとVNCが使えます。
今回はRealVNC Viewerを使います。
インストール手順は今回スキップします。

こんな感じで設定して接続します。

無事接続できるとこんな感じ。
まっさらですね。
この間にVNCの設定をしてしまいましょう
左上のメニューからPreferencesを押してControl Centreを選択。
ローカライゼーションタブでlocaleを設定します。

悪いことは言わないので、文字セットはUTF-8にしましょう。
他にもダークモードやデスクトップの画像を変えるなど、好みにカスタマイズしちゃいましょう。
このままだとファイル移動が面倒くさいので、sambaを真っ先にインストールします。
VNC内のターミナルを起動して、以下の手順でコマンドを打ちます。
# (一応)最新状態にアップデート
sudo apt update
# sambaをインストール
sudo apt install samba -y
# sambaのインストール確認
samba --version
# → Version 4.22.8-Debian-4.22.8+dfsg-0+deb13u2
# ユーザーディレクトリの権限を誰でも書き込み可能にする
sudo chmod 777 .
# sambaの設定ファイルをvncで直接維持れるように
sudo chmod 777 /etc/samba/smb.conf
samba
次にsambaの設定をします。
nanoを使うほうが一般的ですが、私のような初学者にはVNCのGUIでテキストエディタを開いたほうがやりやすいです。
VNCで/etc/samba/を開きます。

smb.confを開きます
以下の内容を一番下に書き足します。
# ~~~省略~~~~~~~~~~~~
# 接続するデバイスからの表示名
[CandyPi]
# 共有するディレクトリ
path = /home/ame
# ネットワーク一覧に表示
browsable = yes
# 書き込み可能
writable = yes
# ゲストユーザーも接続できるか
guest ok = no
# 接続した時の権限をどのユーザーの権限にするか
valid users = ame
samba接続のパスワードを設定します。
sudo smbpasswd -a ame
設定を反映させるため、sambaを再起動
sudo systemctl restart smbd
Windowsのエクスプローラーのアドレスバーに¥¥candypi.local¥CandyPiと入力

これで接続できると思います。

Node.jsをインストール
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
バージョン確認
ame@candypi:~ $ node --version
# → v24.16.0
ame@candypi:~ $ npm --version
# → 11.13.0
これで終わりです。
GitHubと繋げる
sshキーを生成します
ssh-keygen -t ed25518 -C "CandyPi"
3回Enterキーを押します。
生成したキーの公開鍵を取得します。
cat ~/.ssh/id_ed25519.pub
GitHubのアカウント設定ページにて、SSH and GPG keysの中で「New SSH key」をクリックし、鍵の情報を登録します。
ssh git@github.com
を実行して「Hi {アカウント名} You've successfully...」と表示されたら完了です。
3. 終わりに
ひとまずこれにてバグだらけの過去とはおさらばです。
ありがとう、利便性が一切ない環境。
よろしく、これからめちゃくちゃにされる環境。





