ラズパイにUbuntuを入れて遊びたいようのはじめにすることを自分用にまとめました。
1. 用意するもの
2. まずOS
3. セットアップ
4. 最後に
1. 用意するもの
- Raspberry Pi
- microSDカード
- キーボード
- OS書き込む用のPC
2. まずOS
Ubuntu Desktop 22.04をいれたいと思ったのですが、発火しそうだったので、Ubuntu Server 22.04をいれることにしました。
OSは、
Other general-purpose OS → Ubuntu → Ubuntu Server 22.04 LTS
Ubuntu serverの64-bit server OS for arm64 architecturesの方を選びます。
3. セットアップ
3.1 ログイン
Username: ubuntu
Password: ubuntu
最初はこれでログインできます。
新しいパスワードを求められるので、自分で決めたパスワードを2回入力します(2回目は確認)。
注意点
- 記号に関してはキーボードの設定がまだできていないので、使用するのはやめておいた方がよさそうです。
- パスワードが短すぎると怒られます。
3.2 キーボードの設定
以下のコマンドでキーボードの設定を行います。
$ sudo dpkg-reconfigure keyboard-configuration
(普通の日本語キーボードを使用している場合)
矢印キーとエンターキーで操作して、
Generic 105-key PC → Japanese → Japanese
と選択します。
あとはデフォルトの設定で問題ないです。
テンキーのあるなしなどは関係ありません、たぶん。
3.3 ユーザ作成
root
rootにログインできるようにしておきたい人用です。(おすすめです)
rootはパスワードさえ設定すれば、ログインできるようになります。
この作業しなくても、sudo
は使えます。
$ sudo passwd root
他のユーザ
つくりたいひとは作ってください。
$ sudo adduser [username]
$ sudo userdel -r [username]
$ sudo userdel -r ubuntu # みたいな感じで
3.4 ネットワーク(Wi-Fi)
/etc/netplan/
に以下のようなファイル99_config.yaml
を作成します。
network:
version: 2
wifis:
wlan0:
dhcp4: true
access-points:
"SSID":
password: "暗号化キー"
"SSID"
と"暗号化キー"
は置き換えてください。
ファイルを作成したら、以下のコマンドでnetplanを再起動してあげます。
$ sudo netplan apply
そして、設定が反映されているか確認してあげます。
$ ip a
3.5 ネットワーク(有線)
/etc/netplan/
に以下のようなファイル99_config.yaml
を作成します。
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: false
addresses:
- 192.168.**.**/24
routes:
- to: default
via: 192.168.**.1
192.168../24のところは自分のルータと相談して、変更してください。
また、routesのviaは、ゲートウェイを指定してあげてください。(たいがい、最後が.1になると思います)
多くの人が、gateway4
を使っています。
が、gateway4
は非推奨だとbashで注意されるので、私はroutes
を使いました。
ファイルを作成したら、以下のコマンドでnetplanを再起動してあげます。
$ sudo netplan apply
そして、設定が反映されているか確認してあげます。
$ ip a
3.6 パッケージの更新
いつものコマンドを実行します。
$ sudo apt update
$ sudo apt -y upgrade
けっこう時間かかります。
3.7 日本語化
正直しなくてもいいような気が、、、します、、、
なぜかはあとでいいます。
$ sudo apt install language-pack-ja-base language-pack-ja ibus-mozc
$ locale set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
$ source /etc/default/locale
sudo reboot
でもして、date
コマンドをしばいてみてください。
日本語になって、、、、いない!!
文字化けしてる!!
なんか文字化け直すの無理みたいです。
リモートでログインした場合だと、うまく日本語化されるようですが、
直接触る場合、文字化けは避けられません。たぶん
「わしゃSSHしか使わん」とかの人なら、日本語化するのありかも。
あと、この方法のように、.bashrc
を編集して、サーバーを直接触る場合はロケールを英語にするという技を使うのもありかも。
しょうみ必要になったときに、やればいいかなって。
3.8 SSH
デフォルトで起動してるっぽいので、そんなに難しくないです。
$ ssh-copy-id ubuntu@192.168.**.** # username@IP_address
ユーザを作成した人はubuntuのところをユーザ名に変えてください。
IPアドレスに関しては、サーバー(IPアドレスを知りたいPC)でip a
コマンドを叩くとわかります。
/etc/ssh/sshd_config
の設定をいじって、公開鍵認証を使えるようにします。
#PubkeyAuthentication yes
↓
PubkeyAuthentication yes
また、パスワード認証がいらないという設定をしたい人はしてください。
PasswordAuthentication yes
↓
PasswordAuthentication no
いろいろ設定ファイルの修正が終わったら、以下のコマンドでデーモンを再起動して、設定を反映させます。
$ sudo service ssh restart
3.9 cloud-initの無効化
cloud-initはいまいちわからないが、今回(実機で遊んでいく)場合はいらないと思われる。
あと、起動時にcloud-initがいちいち発動するのが嫌だったので、無効化します。
$ sudo touch /etc/cloud/cloud-init.disabled
3.10 プロンプトの色付け
~/.bashrc
の中の一部を書き換えます。
#force_color_prompt yes
↓
force_color_prompt yes
exit
コマンドでログインし直したらプロンプトに色がつきます。やったー
4. 最後に
楽しい開発ライフを。