ここでは「Raspberry Pi 4 Model B」にOS「Ubuntu Server 20.04.2 LTS」を入れて初期設定する方法を紹介します。
この記事を読むことで
Ubuntu Serverの初期設定方法
Ubuntu のSSH接続方法
UbuntuのIPアドレス固定やネットワーク接続方法
Ubuntuで使えるその他コマンド
を知ることができます。
CUI環境(ターミナルやコマンドライン)メインで紹介するので、コマンドをコピペして進めてもらえればと思います。
※ 適宜、アップデートや再起動は行ってください。
Ubuntu初期設定時の環境は以下の通りです。
初期設定時の環境・必要なもの
マイコン:Raspberry Pi 4 Model B
OS:Ubuntu Server 20.04.2 LTS 64bit
OS書き込み:Raspberry Pi Imager
ケーブル類:HDMI-microHDMI、有線LAN、TypeC-5V3A電源
ハードウェア:モニター、USBキーボード&マウス
SSH接続時:Windows 10、TeraTerm(ソフト)
※Raspberry Pi へUbuntu Server をDLしてある前提で進めていきます。
これら環境の準備ができたら、それぞれ電源を入れてUbuntuの初期設定を行っていきましょう。
Ubuntu20.04LTSの初期設定
まずはUbuntuをダウンロードしてあるRaspberry Piの電源を入れて、初期設定を行っていきます。
知っている方、既に初期パスワード等を変えている方は読み飛ばしていただいて構いません。
ubuntuへのログインとパスワード関連の設定
Raspberry Piを立ち上げると、初期ログインとパスワードを入力することになります。
ubuntuの初期パスワード
password:ubuntu
ubuntuの初期パスワードは上記となるので、入力しましょう。
入力が正しく行われると、新しいパスワードを求められるので、Retypeと合わせて2回入力します。
New password:○○○○
Retype new password:○○○○
別途パスワードを変更したい場合
パスワードの変更は、コマンドからも可能で
と入力すると
New password:
Retype new password:
と聞かれるので、必要に応じてパスワードを変更してください。
パスワードなしでのsudo権限
初期設定を進めていく上で、パッケージ等の更新時に「sudo」コマンド(superuser-スーパーユーザー doコマンド)を使用するのですが、毎度パスワードを求められると大変なので
をコマンドへ打ち込み、毎度パスワードを求められないように設定を変えておきます。
sudo コマンドはシステム管理コマンドとも呼ばれており、
visudoコマンドを打ち込むと、 /etc/sudoers.tmpの編集画面になるので
# Allow memvers of group sudo to execute any command
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
とNOPASSWDを追記しておきます。
「NOPASSWD」の追記が終わったら
を順にクリックしていき、編集画面を終了します。
また、Jetson Nanoの場合、こちらの終了方法が使用できないため「vi, vim」コマンドを閉じれないため
とキーボードで打ち込み「保存して終了」させます。
これで、sudo宣言をパスワードなしで実行できるようになります。
ホスト名の変更
ホスト名を変更したい場合は
を入力しましょう。
現在のパスワードを打ち込むと、設定が反映されます。
パッケージ等の更新
ここまでできたら、パッケージ等を更新していきます。
sudo apt update
sudo apt upgrade
を順に打ち込み、パッケージを更新します。
アップグレードは少し時間がかかるので、終わるまで待ちましょう。
更新が終了したら、下記のコマンド
で再起動をかけてパッケージの更新は終了です。
等のエラーが発生した場合は、ネットワーク関連が悪さをしていることが多いので「nameserver」などを見直しましょう。
一時的な対処法として
とechoを使う方法もありますが、下記で紹介するIPアドレス固定時のようにネットワークの設定をしてもらえれば問題ないかと思います。
PC-Ubuntu間のSSH接続設定
Raspberry Piを毎回モニターに接続して操作するのは大変なので、Windows などの端末からリモート接続できるように(SSH接続)設定を追加します。
このSSH接続を行う上で、PCには「ターミナルエミュレータ」と呼ばれるソフト「TeraTerm」を使用します。
こちらは別途PCの方にインストールしておきてください。
準備ができたら、Raspberry Piのコマンドで
を打ち込み、SSH接続用のパッケージをインストールします。
続いて、Raspberry PiのIPアドレスを確認するためのパッケージ「net-tools」をインストールします。
実行すると、下図のようにインストールが開始されます。
インストールが完了したら
コマンドでRaspberry PiのIPアドレスを確認しましょう。
からIPアドレス(既にIPアドレス固定しているので上図の場合は192.168.11.125)を確認することができます。
ここで確認したIPアドレスはSSH接続時に必要となるので、覚えておきましょう。
Raspberry PiのIPアドレスを確認したら
のコマンドでSSH接続のサービスを開始します。
SSH接続のサービスを開始したらTeraTermを開いて、先ほど確認したRaspberry PiのIPアドレスを「ホスト」へ打ち込み接続してみます。
ユーザー名は「ubuntu」、パスフレーズは「設定したパスワード」になります。
SSH接続でPC側からリモート接続できたら、完了です。
ubuntuのIPアドレス固定とネットワーク設定
続いて、UbuntuのIPアドレス固定とネットワークの設定を「yaml(ヤムル)ファイル」にて同時に設定していきます。
まずは以下のコマンドで新しく.yamlファイルを作成し
下記のように固定IPアドレスとネットワークを決めていきます。
network: ethernets: eth0: dhcp4: false dhcp6: false addresses: [192.168.13.125/24] gateway4: 192.168.13.1 wifis: wlan0: dhcp4: false dhcp6: false addresses: [192.168.11.125/24] gateway4: 192.168.11.1 access-points: "ホスト名": password: "○○○○○○○○" nameservers: addresses: [192.168.11.1, 8.8.8.8, 8.8.4.4] version: 2 renderer: networkd
ここでは
有線固定IPアドレス:192.168.13.125
無線固定IPアドレス:192.168.11.125
としており、ネットワークの設定は
“ホスト名”
password:”○○○○○○○○”
の箇所で行っています。
固定IPアドレスやネットワークの設定は各自、任意で変えてください。
上記では、私が使用しているWi-FiのIPアドレスが”192.168.11.XX”なので、同一ネットワーク内に存在するよう、固定IPアドレスを“192.168.11.125”としています。
私自身、ラズパイを触りたいたての頃はIPアドレスの知識がなかったため
ことを知っておきましょう。
自分も、これを知ってからはカッコつけて第3オクテットとか言ってますが(笑)
設定ができたら
で編集を保存し、「sudo reboot」で再起動をかけましょう。
これでIPアドレスの固定と無線LAN の設定が完了し、 固定IPアドレスから無線/有線でSSH接続できるようになります。
iPhoneのテザリング機能でWi-Fi接続
外出時に、iPhoneのテザリング機能を使ってUbuntuにSSH接続したい方は、下記記事の設定もしておくと良いかもしれません。
ubuntuでファイルサーバーを作成
Windows やMacなどで作成したプログラムファイルを横流しでUbuntuへ保存するために便利なのがファイルサーバーになります。
こちらも初期設定で行っておくと便利だと思うので、紹介しておきます。
ubuntuのホスト名を変更
ファイルサーバーの作成の前に、Ubuntuのホスト名を任意に変更しておきましょう。
ファイルサーバーsambaのインストール
ホスト名等の変更が終わったら、実際にファイルサーバーを作成していきます。
まず、ファイルサーバーの役割を持つソフトウェア「samba(サンバ)」をインストールします。
インストールができたら、ファイルサーバー用のディレクトリを作成します。
作成する場所は任意で決めてもらえば良いのですが、ここでは /home の下に「share」というディレクトリを作成します。
ディレクトリを作成したら、chmodコマンドでディレクトリに対して、権限の設定を行います。
最後に、sambaのconfファイルを編集します。
をコマンドへ打ち込み
[Share] path = /home/share writable = yes guest ok = yes guest only = yes create mode = 0777 directory mode = 0777
と一番最後の行へ追記します。
[Share]の記述が追加できたら
で編集を保存し
のコマンドからファイルサーバーシステムを動作させます。
エクスプローラーを開く > クイックアクセス> の欄をクリック
するとpathやリモート接続先を直打ちで指定できるようになるので
を入力し、Enterをクリックします。
Windows 10の場合、このようなWindows セキュリティ画面が表示されるので
ユーザー名:ubuntu
パスワード:任意
として記入してOKをクリックします。
このようにファイルサーバーにアクセスできたら、成功です。
TeraTermでSSH接続している場合は
cd ..
cd /share
の順にコマンドを実行することで、ファイルサーバーの階層へ入ることができます。
ファイルサーバーを上手く使えば、プログラムをRaspberry Piへ移すのが非常に簡単になるのでオススメです。
役立つUbuntuコマンド
上記で一通りの初期設定は終了となりますが、他にも役立つUbuntuコマンドがあるので紹介します。
ubuntuコマンドのロケール設定
言語や地域情報の設定であるロケール情報について紹介します。
コマンドで使えるロケール一覧を表示
Ubuntu等のコマンドで使えるロケールの一覧を表示するには
コマンドを使用します。
日本語や英語以外にもロケールを設定したい場合は、このコマンドを使用しましょう。
ロケールを環境変数として設定
export LANGUAGE=ja_JP.UTF-8
export LANGUAGE=en_US.UTF-8
などと記述することでロケールの設定を環境変数として設定することができます。
LANGUAGE 以降は設定する言語になるので、設定したい言語に合わせて打ち込むコマンドを変えてください。
ロケールをlocalectlコマンドより設定
上記コマンドの他
と localectl コマンドを使ってロケールの設定を行うこともできます。
調べたところ、exportとの明確な違いが不明だったので両方記載しておきました。
ubuntuのバージョン確認/GUI環境の設定
Ubuntu Server20.04を今回使用しましたが、GUI環境が欲しいと思ったときに以下のコマンドを使用してみてください。
ubuntuのバージョン確認
SDカードに書き込んであるOS(今回の場合はUbuntu)のバージョン・種類を確認には
というコマンドを使用します。
ROSなどのパッケージを使用するときにUbuntuのバージョンが指定されているものがある場合は、こちらのコマンドはどこかにメモしておいて方が良いかもしれません。
ubuntuデスクトップ(GUI環境)のインストール
Ubuntu ServerなどGUI環境がない場合は
のコマンドを使用することでUbuntu Desktop(GUI)環境をインストールすることができます。
Ubuntu Desktopをインストールする前にVNC Viewerなどの設定準備をしておくとスムーズに進めることができると思います。
GUI環境も準備しておきたい方は下記の記事にてまとめたので、ぜひご覧ください!
以上、Ubuntuの初期設定やIPアドレスの固定、SSH接続方法などを紹介しました。
Ubuntuの初期設定時に当記事がお役に立てば幸いです。
お疲れ様でした。