LarkBox X 2023 Ubuntu環境構築メモ
N100を搭載したコスパの良いミニPC、Ubuntuを入れてサーバとして利用する。
を参考にクリーンインストール用のドライバをバックアップする
起動直後の画面、ちゃんと新規インストールのように見える
ドライバのバックアップが取れたら下記からUbuntu Serverを入手する
2023年12月時点の最新LTSは 22.04
ダウンロードしたisoを下記ソフトを利用してブート可能なUSBを作成する。
個人的にポータブル版が好き。
Rufusの設定はこんな感じ、スタート後に出るホップアップはYESで
作成できたらLarkBox Xに挿入する
LarkBox X の起動時に F2 を連打してBIOSを表示させる
Bootの設定を変更して作成したUSBの優先順位を1番に変更する
BIOSを保存して抜けると、Ubuntuのインストーラが起動する
あとはインストーラの指示通り作業を行う、OpenSSHのインストールは忘れずに
今回インストールした Ubuntu Server 22.04LTSではLarkBox Xの無線LANに対応していないみたい
下記スレッドだと「6.4-rc7」にカーネル更新で動くとある。
2023年12月時点で最新安定板の 「6.6.3」 を試してみる
入手先は下記
下記コマンドでdebを入手
wget https://kernel.ubuntu.com/mainline/v6.6.3/amd64/linux-headers-6.6.3-060603-generic_6.6.3-060603.202311281236_amd64.deb
wget https://kernel.ubuntu.com/mainline/v6.6.3/amd64/linux-headers-6.6.3-060603_6.6.3-060603.202311281236_all.deb
wget https://kernel.ubuntu.com/mainline/v6.6.3/amd64/linux-image-unsigned-6.6.3-060603-generic_6.6.3-060603.202311281236_amd64.deb
wget https://kernel.ubuntu.com/mainline/v6.6.3/amd64/linux-modules-6.6.3-060603-generic_6.6.3-060603.202311281236_amd64.deb
続いてインストール(ほかのファイルがない場所で)
sudo dpkg -i *.deb
完了したら再起動
ip a
でwlanが表示されることを確認
netplanの設定ファイルを作成
sudo vim /etc/netplan/99-network-config.yaml
設定内容はこんな感じ
network:
version: 2
wifis:
wlp0s20f3:
dhcp4: false
access-points:
"SSID-Name":
password: asdfghjk
addresses: [192.168.*.*/24]
nameservers:
addresses: [192.168.*.*]
下記コマンドで有効化
sudo netplan apply
有効化しようとすると権限のエラーが出たのでパーミッション修正
sudo chmod 600 /etc/netplan/00-installer-config.yaml
sudo chmod 600 /etc/netplan/99-network-config.yaml
「ovsdb-server.service」が動作していない言われたのでaptからインストール
sudo apt update && sudo apt install openvswitch-switch
再度有効化、今度はエラーが出ない
sudo netplan apply
自分の環境では再起動後に動作するようになった
公開鍵認証でssh接続できるようにする
作業用PCはWindowsなのでPowerShellで秘密鍵と公開鍵を作成
ssh-keygen -t ed25519
「~/.ssh/」以下に生成される。.pubの拡張子がついているほうが公開鍵
続いてWinSCP等を利用して公開鍵をサーバの「~/.ssh」にコピーする
コピー後、以下のコマンドで鍵を登録する
cat id_ed25519.pub >> authorized_keys
ターミナルソフトから秘密鍵でSSH接続できることを確認する(大事)
sshの設定を行う
netplanのように上書きする設定ファイルがあったのでそちらを編集
sudo vim /etc/ssh/sshd_config.d/50-cloud-init.conf
以下の編集を行う
# パスワードログインは拒否
-PasswordAuthentication yes
+PasswordAuthentication no
# Rootログインは拒否
+ PermitRootLogin no
# 公開鍵認証を有効化(もともと出来ていたような?)
PubkeyAuthentication yes
# ed25519のみ受け付ける
PubkeyAcceptedKeyTypes ssh-ed25519
# チャレンジレスポンスは無効
ChallengeResponseAuthentication no
sshを再起動
sudo systemctl restart sshd
既存の接続は維持したまま
パスワード認証は拒否され、鍵認証でのみ接続できることを確認する
下記を参考にセキュリティアップデートを自動化する
■ 50unattended-upgrades
- // "${distro_id}:${distro_codename}-updates";
+ "${distro_id}:${distro_codename}-updates";
- //Unattended-Upgrade::Remove-Unused-Dependencies "false";
+ Unattended-Upgrade::Remove-Unused-Dependencies "true";
- //Unattended-Upgrade::Automatic-Reboot "false";
+ Unattended-Upgrade::Automatic-Reboot "true";
- //Unattended-Upgrade::Automatic-Reboot-Time "02:00";
+ Unattended-Upgrade::Automatic-Reboot-Time "02:00";
修正後サービスを再起動
sudo systemctl restart unattended-upgrades.service
aptのログは下記で確認できる
less /var/log/apt/history.log
公式を参考にdockerをインストールする
2023年12月の場合では下記手順、まずdockerをリポジトリに追加する# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
続いてインストール
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
hello-worldが動作するかを確認する
$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete
Digest: sha256:ac69084025c660510933cca701f615283cdbb3aa0963188770b54c31c8962493
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly
続いて同じく公式を参考にcomposeも入れる
$ sudo apt-get update
$ sudo apt-get install docker-compose-plugin
バージョンを確認する
$ sudo docker compose version
Docker Compose version v2.21.0
2023年12月時点では「docker-compose」ではなく「docker compose」なんですね