🐈
Ubuntu22.04 LTS Serverをセットアップする
はじめに
Ubuntu22.04 LTS Serverをインストールしたときのセットアップメモです
パスワードの変更
初期のユーザ名、パスワードは、
username: ubuntu
password: ubuntu
なので、パスワードを変更する
$ passwd ubuntu
- 任意のパスワードに変更
キーマップの変更
英語キーボードの場合
$ sudo localectl set-keymap us
日本語キーボードの場合
$ sudo localectl set-keymap jp
一般的には、日本語のキーマップ(jp)が選ばれた場合、デフォルトで日本語の109キーボードのレイアウトが適用されます。
具体的に日本語キーボードのレイアウトを指定する場合は以下
- 日本語106キーボードの場合
$ sudo localectl set-keymap jp106
- 日本語109キーボードの場合
$ sudo localectl set-keymap jp-OADG109A
キーマップの別の設定方法は以下
$ sudo dpkg-reconfigure keyboard-configuration
一時的にキーマップを変更する場合
sudo loadkeys us
sudo loadkeys jp
パッケージの更新
$ sudo apt -y update
$ sudo apt -y upgrade
apt upgradeは、以前はapt-get upgradeでしたが、今はapt upgradeが使われるようです
この違いについては、以下の動画が勉強になりました
- apt-get upgradeは、カーネルの更新ができない
apt-get upgradeでは、新規パッケージのインストールができないため、カーネルメタパッケージのバージョンが上がって、依存関係が変わっても、新規パッケージのインストールが保留されてしまう - apt upgradeは、カーネルの更新ができる
apt upgradeでは、新規パッケージのインストールができるため、カーネルの更新ができる
テキストエディタ(vim)のインストール
$ sudo apt install vim
タイムゾーンの設定
$ sudo timedatectl set-timezone Asia/Tokyo
タイムゾーンの別の設定方法は以下
$ echo TZ="Asia/Tokyo"
$ ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
ロケールの設定
日本語ロケールが対応されているか検索する
$ grep ja /usr/share/i18n/SUPPORTED
- 検索結果に、ja_JP.UTF-8があることを確認する
ロケールの追加
$ sudo locale-gen ja_JP.UTF-8
ロケールの設定
$ sudo localectl set-locale LANG=ja_JP.UTF-8
日時の設定
$ sudo timedatectl set-time "2024-01-29 19:47:00"
- NTPが有効になっている場合は、無効にしてから設定する
日時の別の設定方法は以下
$ sudo date 01291947002024
$ sudo hwclock -w
- hwclockのオプション
-r or --show : 現在のハードウェアクロックの表示
-w or --systohc: システムクロックをハードウェアクロックへ設定
-s or --hctosys: ハードウェアクロックをシステムクロックへ設定
IPアドレスの設定
netplanとsystemd-networkdを使ってIPアドレスを設定する
yamlファイルの追加
$ sudo vim /etc/netplan/99-manual-ip.yaml
- 接頭辞の番号(XX-)、アルファベットの順に設定が読み込まれる
99-manual-ip.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: false
dhcp6: false
addresses:
- 192.168.0.111/24
routes:
- to: default
via: 192.168.0.1
nameservers:
addresses:
- 192.168.0.1
search: []
optional: true
vimでsudo権限を付け忘れてしまった時のファイルの保存方法
vim内で以下のコマンドを実行すると、強制的に上書き保存される
:w !sudo tee % > /dev/null
- %: 編集中のファイル名
ファイルの権限の変更
netplanを適用しようとすると、権限がオープンすぎると怒られるので、権限を変更する
$ sudo chmod 600 /etc/netplan/99-manual-ip.yaml
systemd-networkdの有効化
初期状態だと、systemd-networkdがinactiveとなっている
サービスがマスクされている場合は、マスク解除する
$ sudo systemctl unmask systemd-networkd.service
$ sudo systemctl start systemd-networkd.service
netplanの適用
$ sudo netplan apply
nmcli(NetworkManager)を使ってIPアドレスを設定する
こちらは調べただけで、実際には試していません
Ubuntu Serverの場合、netplanとsystemd-networdを使用するようです
デバイスにコネクションを追加、IPアドレスを設定
$ sudo nmcli connection add type ethernet con-name eth0 ifname eth0
$ sudo nmcli connection modify eth0 ipv4.method manual ipv4.addresses 192.168.0.111/24 connection.autoconnect yes
$ sudo nmcli connection modify eth0 ipv4.gateway 192.168.0.1
$ sudo nmcli connection modify eth0 ipv4.dns 192.168.0.1
すべてのコネクションの再読み込み
$ sudo nmcli connection reload
コネクションの無効化、有効化
$ sudo nmcli connection down eth0
$ sudo nmcli connection up eth0
デバイスをコネクションから削除
$ sudo nmcli connection delete eth0
sudoの設定
ubuntuユーザで、sudo実行時に、パスワードを要求されないようにする
$ sudo visudo
/etc/sudoers
ubuntu ALL=(ALL:ALL) NOPASSWD:ALL
最初のALLは、ホストに対する許可
()内の左のALLは、どのユーザーになれるか
()内の右のALLは、どのグループになれるか
()外のALLは、どのコマンドを実行できるか
Swap領域の設定
$ sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
$ sudo mkswap /swapfile
$ sudo chmod 600 /swapfile
$ sudo swapon /swapfile
- 2GBのスワップ領域を追加する
自動マウント設定
$ sudo vim /etc/fstab
/etc/fstab
/swapfile swap swap default 0 0
システムが新しい/etc/fstab設定を登録するように、マウントユニットを再生成する
$ sudo systemctl daemon-reload
以上
Discussion