OSをインストールしてから、最初に行う作業をまとめました。
PC起動時、常時grubメニューを表示し、5秒でタイムアウトするよう変更する。
$ sudo nano /etc/default/grub
# 常時メニュー表示/タイムアウト5秒 GRUB_TIMEOUT_STYLE=menu GRUB_TIMEOUT=5
設定を反映させる。
$ sudo update-grub
PC起動時にUEFI BIOSへ入れなかった場合、grubメニュー内の「UEFI Firmware Settings」を選択すればOK。
デフォルトでは日本語環境が不完全なため、以下を設定する。
インプットメソッドを、デフォルトのiBusからfcitx5へ変更する。
$ sudo apt install fcitx5-mozc $ im-config -n fcitx5
Ubuntu Japanese Teamの公式コメントで発表された手順に従い、日本語Remixと同等の内容へ更新する。
$ sudo wget https://www.ubuntulinux.jp/sources.list.d/noble.sources -O /etc/apt/sources.list.d/ubuntu-ja.sources ← 1行で記述する $ sudo apt -U upgrade $ sudo apt install ubuntu-defaults-ja
各フォルダ内にファイルが無い状態で以下を実行する。
$ LANG=C xdg-user-dirs-gtk-update
「Don't ask me this again」へチェックを入れ[Update name]を押すと変更が適用される。
以降、再ログインすると「標準フォルダーの名前を現在の言語に合わせて更新しますか?」とポップアップ表示されるので「次回から表示しない」へチェックを入れ[古い名前のままにする]をクリックして変更を確定させる。
デフォルトでは、(表示上の)折り返しが有効になっていないので長い行が見にくい。行番号も表示されないので、設定ファイルを作成して起動オプションを指定する。
$ nano ~/.nanorc
# 折り返しを有効に(表示上だけで改行は入力されない) set softwrap # 行番号を表示する(必要に応じて) set linenumbers
次回nano起動時からは、設定が有効になっている。
また、root権限で設定ファイルを編集する場合に備えて、rootユーザー用の設定ファイルも作成しておく。
$ sudo nano /root/.nanorc
内容は上記と同じでOK。
サーバーを運用するためには、root権限でのファイル操作や設定ファイルの編集が必要になるため、Nautilus上でroot権限を使えるよう設定する。
「nautilus-admin」を導入する。
$ sudo apt install nautilus-admin
設定を反映させるため、一度ログアウトする。「アップデート情報」が表示される場合があるので「Restart File Manager」をクリックする。
サーバー運用するため、IPv4のみ有効とし、各種パラメータを固定値に設定する。
設定ファイルを作成する。
$ sudo nano /etc/netplan/99-local.yaml
network:
version: 2
renderer: networkd
ethernets:
enp0s31f6: ← NIC名は、自環境に置き換える
dhcp4: false
dhcp6: false
accept-ra: false
addresses:
- 192.168.xx.yy/24 ← 設定したいIPアドレス
routes:
- to: default
via: 192.168.xx.zz ← デフォルトゲートウェイ
metric: 100
nameservers:
addresses:
- 192.168.xx.zz
- 8.8.8.8 ← 複数指定も可能
root以外が読み書きできないようパーミッションを変更する。
$ sudo chmod 600 /etc/netplan/99-local.yaml
同フォルダ内にある「90-MN-*.yaml」を削除(別のフォルダへ移動でも可)する。
設定を適用する。
$ sudo netplan apply
Ubuntuでは、ホスト名の設定に癖があるため、手動で設定(修正)しておく。
$ sudo nano /etc/hostname
PC_NAME.localdomain ← サーバーPCのローカル名を指定する
名前解決に影響がある「hosts」を修正する。
$ sudo nano /etc/hosts
127.0.0.1 localhost 192.168.xxx.1 PC_NAME.localdomain PC_NAME ← サーバーPCのIPアドレスを指定する
デフォルトでは「systemd-timesyncd」が時刻同期を行っているが、NTPサーバーへ接続できないなどの不具合が発生したため、代替手段を導入する。
$ sudo systemctl stop systemd-timesyncd ← サービス停止 $ sudo systemctl disable systemd-timesyncd ← サービス無効化 $ sudo apt install ntpsec ← ntpsecをインストール $ sudo nano /etc/ntpsec/ntp.conf ← 設定ファイルを開く
#pool 0.ubuntu.pool.ntp.org iburst ← ntp.orgのサーバー4行をコメントアウト #pool 1.ubuntu.pool.ntp.org iburst #pool 2.ubuntu.pool.ntp.org iburst #pool 3.ubuntu.pool.ntp.org iburst pool ntp.nict.jp iburst ← nictのサーバーを追加
$ sudo systemctl restart ntpsec ← サービス再起動
$ ntpq -p ← 同期状態を確認
remote refid st t when poll reach delay offset jitter
=======================================================================================================
ntp.nict.jp .POOL. 16 p - 256 0 0.0000 0.0000 0.0001
-prod-ntp-3.ntp4.ps5.canonical.com 79.243.60.50 2 u 37 128 377 222.9939 -2.4369 2.2660
*ntp-b2.nict.go.jp .NICT. 1 u 62 128 377 5.7098 -0.2174 0.2995
+ntp-k1.nict.jp .NICT. 1 u 131 128 377 14.7597 -0.3595 0.3533
+ntp-b3.nict.go.jp .NICT. 1 u 8 128 377 6.0560 -0.5587 0.3773
+ntp-a3.nict.go.jp .NICT. 1 u 129 128 377 5.5264 -0.3292 0.2224
+ntp-a2.nict.go.jp .NICT. 1 u 61 128 377 5.5413 -0.1782 0.5844
ntp-a3.nict.go.jp .INIT. 16 u - 1024 0 0.0000 0.0000 0.0001
2001:ce8:78::2 .INIT. 16 u - 1024 0 0.0000 0.0000 0.0001
ntp-a2.nict.go.jp .INIT. 16 u - 1024 0 0.0000 0.0000 0.0001
「*」が付いているサーバーと同期している事が確認できる。
Ubuntuでは、ハードウェア時刻(RTC)がローカル時刻ではなく協定世界時(UTC)で同期される仕様となっているため、同一PC上でWindowsを起動すると、時刻が9時間遅れて表示されてしまう。
起動後しばらく経過すると自動修正されるとは言え、一時的にでも時刻が不正表示されるのを防止するためには、Ubuntu側でRTCをローカル時刻で同期するよう設定変更しておく必要がある。
$ sudo timedatectl set-local-rtc 1
$ sudo timedatectl ← 時刻ステータスを確認
...
RTC in local TZ: yes ← RTCがローカル時刻で動作している
これで、Windows環境に影響を与える事はなくなったが、Ubuntuではこのような運用は推奨していないので、あくまでWindows環境がメインの場合の対症療法と考えるべきだろう。
Ubuntuでは、システム終了や再起動時にシステム時刻をハードウェア時刻(RTC)へ同期(書き込み)するが、サーバー運用する場合は長期間連続稼働させるため、定期的にシステム時刻をハードウェア時刻へ同期(修正)しておく方が望ましい。
尚、Ubuntu24.04 LTS導入時に「規定の選択」を行った場合、hwclockコマンドはインストールされないため、以下の手順で導入する。
$ sudo apt install util-linux-extra
1日に1回時刻を同期するよう、以下のスクリプトを作成する。
$ sudo nano /etc/cron.daily/sync_hwclock
#!/bin/sh # /etc/cron.daily/sync_hwclock # root:root 755 # 現在のシステム時刻をハードウェア時刻へ書き込む。 /sbin/hwclock --systohc
$ sudo chmod +x /etc/cron.daily/sync_hwclock $ sudo systemctl restart cron
これで、1日1回同期処理が自動実行される。
検索用: Ubuntu ログイン前 強制 サスペンド 無効
Ubuntu 20.04 LTS以降で確認された現象として、ユーザでログイン中はサスペンドしないが、ログイン前の画面で放置すると20分で強制サスペンドしてしまう。サーバー運用する場合、これでは問題となるため、サスペンド類すべてを無効化する。
サスペンド類無効 $ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target サスペンド類有効 $ sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target
PCを再起動すると設定が反映される。
ファイル保管場所として、外付けHDDを接続する。今回は2.5インチ1TBのUSBバスパワータイプを用意した。サーバーPC起動時にマウントポイントを指定して自動マウントさせる。
「/etc/fstab」を編集する。
$ sudo nano /etc/fstab
# HDD DATA1TB UUID=xxxx-xxxx-xxxx-xxxx /mnt/USB_HDD ext4 defaults 0 0
$ sudo mkdir -p /mnt/USB_HDD $ sudo chmod 777 /mnt/USB_HDD/
マウントを実行(反映)する。
$ sudo systemctl daemon-reload $ sudo mount -av