OSをインストールしてから、最初に行う作業をまとめました。

日本語ディレクトリ名の変更

各ディレクトリ内へファイルが無い状態で以下を実行する。

$ LANG=C xdg-user-dirs-gtk-update

「Don't ask me this again」へチェックを入れ「Update name」を押す。再ログインすると、Nautilusの表示も反映される。

CUIテキストエディタ「nano」の初期設定

デフォルトでは、折り返しが有効になっていないので長い行が見にくい。他にも、自動改行挿入は明示的に禁止しつつ、スクロールは1行ずつとするよう、設定ファイルを作成する。

$ nano ~/.nanorc
# 自動改行を禁止(表示上だけでなく改行が入力されるため)
set nowrap
# 折り返しを有効に(表示上だけで改行は入力されない)
set softwrap
# 一行ずつスクロール
set smooth

次回nano起動時からは、設定が有効になっている。

また、root権限で設定ファイルを編集する場合に備えて、rootユーザー用の設定ファイルも作成しておく。

$ sudo nano /root/.nanorc

内容は上記と同じでOK。

root権限でディレクトリ/テキストファイルを開く

サーバを運用するためには、root権限でのファイル操作や設定ファイルの編集が必要になるため、Nautilus上でroot権限を使えるよう設定する。

「nautilus-admin」を導入する。

$ sudo apt install nautilus-admin

設定を反映させるため、一度ログアウトする。「アップデート情報」が表示される場合があるので「Restart File Manager」をクリックする。

ホスト名の設定

Ubuntuでは、ホスト名の設定に癖があるため、手動で設定(修正)しておく。

$ sudo nano /etc/hostname
PC_NAME.localdomain  ← サーバPCのFQDNを指定する

名前解決に影響がある「hosts」を修正する。

$ sudo nano /etc/hosts
127.0.0.1        localhost
192.168.xxx.1    PC_NAME.localdomain PC_NAME  ← サーバPCのIPアドレスを指定する

NTPクライアント (時刻の自動同期)

Ubuntuの時刻同期は、systemdの機能の一部としてNTPクライアントのみの「systemd-timesyncd」で実行されている。NTPサーバを提供する必要がなければこれで十分なので利用する。

デフォルトのNTPサーバを、日本向けの「ntp.nict.jp」へ変更する。

$ sudo nano /etc/systemd/timesyncd.conf
[Time]
NTP=ntp.nict.jp  ← 利用したいNTPサーバを追記する

設定を反映させるため、サービスを再起動する。

$ sudo systemctl restart systemd-timesyncd

しばらく置いてから、同期状況を確認する。

$ sudo systemctl status systemd-timesyncd

ハードウェア時刻の同期

Ubuntuでは、システム終了/再起動時にシステム時刻をハードウェア時刻(RTC)へ同期(書き込み)するが、サーバ運用する場合は長期間連続稼働させるため、定期的にシステム時刻をハードウェア時刻へ同期(修正)しておく方が望ましい。

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回同期処理が自動実行される。

Windowsとのマルチブート環境を構築している場合

Ubuntuでは、ハードウェア時刻(RTC)がローカル時刻ではなく協定世界時(UTC)で同期される仕様となっているため、同一PC上でWindowsを起動すると、時刻が9時間遅れて表示されてしまう。

起動後しばらく経過すると自動修正されるとは言え、一時的にでも時刻が不正表示されるのを防止するためには、Ubuntu側でRTCをローカル時刻で同期するよう設定変更しておく必要がある。

$ sudo timedatectl set-local-rtc 1

これで、Windows環境に影響を与える事はなくなったが、Ubuntuではこのような運用は推奨していないので、あくまでWindows環境がメインの場合の対症療法と考えるべきだろう。

強制サスペンドの無効化

検索用: Ubuntu ログイン前 強制 サスペンド 無効

Ubuntu 20.04 LTS以降で確認された現象として、ユーザでログイン後「設定」→「電源」内で「自動サスペンド」を「オフ」にすると、ログイン中はサスペンドしなくなるが、ログイン前の画面で放置すると20分程度で強制サスペンドしてしまう場合があるようだ。サーバ運用する場合、これでは問題となるため、強制サスペンドを無効化する。

新規に「/etc/polkit-1/localauthority/90-mandatory.d/disable-suspend.pkla」を作成する。

sudo nano /etc/polkit-1/localauthority/90-mandatory.d/disable-suspend.pkla
以下の内容で保存する。
[Disable suspend (upower)]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no
ResultInactive=no
ResultAny=no

[Disable suspend (logind)]
Identity=unix-user:*
Action=org.freedesktop.login1.suspend
ResultActive=no

[Disable suspend for all sessions (logind)]
Identity=unix-user:*
Action=org.freedesktop.login1.suspend-multiple-sessions
ResultActive=no

サーバPCを再起動する。これで強制サスペンドしなくなる。

外付けHDDの自動マウント

ファイル保管場所として、外付けHDDを接続する。今回は2.5インチ1TBのバスパワータイプを用意した。サーバPC起動時にマウントポイントを指定して自動マウントさせる。

「/etc/fstab」を編集する。

$ sudo nano /etc/fstab
# HDD DATA1TB
LABEL=DATA1TB /mnt/data_1tb ext4 defaults 0 0
$ sudo mkdir -p /mnt/data_1tb
$ sudo chmod 777 /mnt/data_1tb/

マウントを実行(反映)する。

$ sudo mount -a