Ubuntu 24.04 初期設定詳細ガイド

【概要】本ガイドは、Ubuntu 24.04 LTS をインストールした後に行う環境構築手順を解説する。セキュリティの向上、日本語環境の最適化、運用効率の改善を目的とした 18 の設定項目を、コマンドライン操作を中心に示す。

目次

  1. 用語解説
  2. 基本概念と準備
    1. 管理者権限(sudo)の基礎知識
    2. ダウンロード元(ミラーサーバー)の設定
    3. apt パッケージ管理の準備
  3. システム更新と時刻設定
    1. システムの更新
    2. タイムゾーンとロケールの設定
    3. NTP 時刻同期の設定
  4. セキュリティ設定
    1. ファイアウォール(ufw)の設定
    2. OpenSSH サーバーの設定
  5. ハードウェアとドライバ
    1. グラフィックドライバの設定(NVIDIA)
  6. 日本語環境の構築
    1. 日本語フォントと言語サポートの導入
    2. 日本語入力の設定(IBus + Mozc)
    3. ユーザディレクトリの英語化
  7. システム管理とカスタマイズ
    1. 運用保守用ツールの導入
    2. システムログの確認方法
    3. 電源管理の設定
    4. キーボード設定(Caps Lock の変更)
  8. クリーンアップ
    1. 不要ソフトウェアの削除
    2. 不要ファイルの除去

【ステップ間の依存関係(推奨実行順)】基本的には番号順に実行する。特に注意すべき依存は次のとおりである。ステップ 7(ufw)はステップ 8(SSH)より先に行い、SSH 用ポートを許可してから ufw を有効化する。ステップ 9(NVIDIA ドライバ)の後は再起動する。ステップ 5(ロケール)と 12(ディレクトリ英語化)は再ログインまたは再起動で反映される。

【サイト内の Ubuntu 関連ページ】

【外部リソース】

用語解説

第1章 基本概念と準備

1. 管理者権限(sudo)の基礎知識

目的

本ガイドのコマンドの多くは管理者権限を必要とする。Ubuntu では、システム設定の変更やソフトウェア導入に sudo コマンドを使用するため、最初にその仕組みを理解しておく。

基本的な使い方

インストール時に作成したユーザーアカウントでログインし、コマンドの先頭に sudo を付けて実行する。ユーザー自身のパスワードを入力すると、そのコマンドが管理者権限で実行される。

# 例: パッケージリストを更新(管理者権限が必要)
sudo apt update

重要な点

よくある問題

2. ダウンロード元(ミラーサーバー)の設定

目的

Ubuntu のパッケージダウンロード元を、地理的に近い日本国内のミラーサーバーに変更する。これによりパッケージのダウンロード速度が改善する。

Ubuntu 24.04 でのリポジトリ設定

Ubuntu 24.04 LTS では、リポジトリ設定ファイルの形式が変更された。従来の /etc/apt/sources.list ではなく、deb822 形式の /etc/apt/sources.list.d/ubuntu.sources ファイルが使用される。1 つのリポジトリ設定を複数行のキー:値ペアで記述するため、可読性と機械処理性が向上している。

設定ファイルの構造

ubuntu.sources ファイルは以下のような構造を持つ。実際のファイルには通常、メインリポジトリ用ブロックとセキュリティリポジトリ用ブロックの 2 つが含まれる。

Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

実行コマンド

sed コマンド(テキスト置換コマンド)で ubuntu.sources ファイル内のサーバーアドレスを日本のミラーに置換する。

# バックアップを作成
sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.backup

# ミラーサーバーを日本に変更(メインリポジトリ)
sudo sed -i 's|http://archive.ubuntu.com/ubuntu/|http://jp.archive.ubuntu.com/ubuntu/|g' /etc/apt/sources.list.d/ubuntu.sources
sudo sed -i 's|http://us.archive.ubuntu.com/ubuntu/|http://jp.archive.ubuntu.com/ubuntu/|g' /etc/apt/sources.list.d/ubuntu.sources

# セキュリティリポジトリも日本ミラーに変更(任意)
sudo sed -i 's|http://security.ubuntu.com/ubuntu/|http://jp.archive.ubuntu.com/ubuntu/|g' /etc/apt/sources.list.d/ubuntu.sources

# パッケージリストを更新
sudo apt update

手動で編集する場合

テキストエディタで直接編集することもできる。

sudo nano /etc/apt/sources.list.d/ubuntu.sources

URIs: 行の URL を http://jp.archive.ubuntu.com/ubuntu/ に変更し、保存後に sudo apt update を実行する。

解説と注意点

sudo apt update で、変更したサーバーから最新のパッケージリスト情報を取得する。エラーが発生した場合は、バックアップファイルから次のように復元できる。

# バックアップから復元
sudo cp /etc/apt/sources.list.d/ubuntu.sources.backup /etc/apt/sources.list.d/ubuntu.sources
sudo apt update
ミラーサーバー変更後の apt update 実行例

3. apt パッケージ管理の準備

目的

HTTPS リポジトリの利用や GPG 署名の検証に必要な基本ツールをインストールする。これにより、公式以外の HTTPS 経由のリポジトリを安全に追加・利用できる前提が整う。

※ PPA(Personal Package Archive:Ubuntu 公式以外のソフトウェア配布元)を扱う場合は、別途 software-properties-common パッケージが必要となる(sudo apt install software-properties-common)。

実行コマンド

sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release

解説と注意点

apt 関連パッケージインストール例

第2章 システム更新と時刻設定

4. システムの更新

目的

インストールされている全パッケージを最新の状態に更新する。これによりセキュリティ脆弱性の修正とバグ修正が適用される。定期的な更新はセキュリティ維持のために必要である。

実行コマンド(手動更新)

# 1. パッケージリストを更新
sudo apt update

# 2. パッケージを包括的に更新(依存関係の変更も考慮)
sudo apt full-upgrade

# 3. 不要になったパッケージを削除
sudo apt autoremove

# 4. 古いパッケージキャッシュを削除
sudo apt autoclean

# 5. システムを再起動(カーネル更新時に推奨)
sudo shutdown -r now

各コマンドの説明

注意: full-upgrade はシステムに大きな変更を加える可能性がある。重要なシステムでは、実行前にバックアップを取得すること。

自動更新機能(unattended-upgrades)

Ubuntu には、セキュリティ更新を自動的にインストールする unattended-upgrades 機能がある。多くの場合、デフォルトで有効である。

対象範囲: 既定では、セキュリティリポジトリ(noble-security)からの更新のみが自動適用される。一般のバグ修正や機能更新(noble-updates)、カーネルメジャーアップデート、新規パッケージ追加は対象外である。したがって、自動更新が有効でも、定期的に手動で sudo apt update && sudo apt full-upgrade を実行することが推奨される。

apt update 実行例
apt full-upgrade 実行例
apt autoremove 実行例
apt autoclean 実行例

5. タイムゾーンとロケールの設定

目的

タイムゾーンを日本標準時(Asia/Tokyo)に、ロケール(地域・言語の設定)を日本語 UTF-8(ja_JP.UTF-8)に設定する。これにより時刻表示とアプリケーションの表示言語が日本仕様になる。

実行コマンド

# タイムゾーンを日本標準時に設定
sudo timedatectl set-timezone Asia/Tokyo

# 日本語ロケールを有効化
sudo sed -i 's/^# \(ja_JP.UTF-8 UTF-8\)/\1/' /etc/locale.gen

# ロケール定義を生成
sudo locale-gen

# システム全体のデフォルトロケールを設定(LANG のみ設定)
sudo update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja:en"

解説と注意点

LANGUAGE="ja:en" は、日本語リソースがない場合に英語をフォールバック(代替)として使用する設定である。

LC_ALL を恒久的に設定しない理由: LC_ALL は他のロケール変数を強制的に上書きする変数であり、Debian / Ubuntu の慣習では恒久設定は推奨されない。これを固定すると、ステップ 12 で行う LANG=C LC_ALL=C xdg-user-dirs-gtk-update のような一時的なロケール切替が効きにくくなる。個別コマンド単位で必要なときだけ LC_ALL=... を前置する方式が安全である。

端末で export LANG=ja_JP.UTF-8 を実行しても、そのセッションでのみ有効である。システム全体への永続的な設定は上記の update-locale で行う。設定後、再ログインまたは再起動で反映される。

timedatectl 実行例
locale-gen 実行例
update-locale 実行後の確認例

6. NTP 時刻同期の設定

目的

ネットワーク上の NTP サーバー(Network Time Protocol:時刻同期サーバー)と時刻を同期する。これによりログのタイムスタンプ、スケジュール実行、SSL 証明書の検証が正常に動作する。Ubuntu 24.04 LTS では systemd-timesyncd サービスがこの役割を担う。

実行コマンド(確認と設定)

# 現在の時刻同期状態を確認
timedatectl status

# NTP 同期が無効な場合は有効化する(通常はデフォルトで有効)
# sudo timedatectl set-ntp true

解説と注意点

第3章 セキュリティ設定

7. ファイアウォール(ufw)の設定

目的

Ubuntu の標準ファイアウォール管理ツール ufw(Uncomplicated Firewall)を設定する。これにより外部からの不正アクセスを防止する。インターネット接続環境では必要な設定である。

実行コマンド

# ufw をインストール(通常はインストール済み)
sudo apt update
sudo apt install ufw

# SSH 接続を許可(リモート接続を使う場合、有効化の前に必須)
sudo ufw allow ssh

# ufw を有効化
sudo ufw enable

# 現在の設定を確認
sudo ufw status numbered

オプション: 追加のポート開放

# Web サーバー(HTTP/HTTPS)を許可する場合
# sudo ufw allow http
# sudo ufw allow https

解説と注意点

8. OpenSSH サーバーの設定

目的

OpenSSH サーバーをインストールし、基本的なセキュリティ設定を行う。これによりネットワーク経由でのリモート接続が可能になる。

実行コマンド(インストール)

sudo apt update
sudo apt install openssh-server

Ubuntu 24.04 での SSH 管理方式

Ubuntu 24.04 LTS では、SSH は socket-based activation 方式(接続要求が来たときに初めてデーモンを起動する方式)で管理される。ssh.service が常時起動するのではなく、ssh.socket が接続要求を待ち受け、接続時に SSH デーモンを起動する。この方式によりメモリ使用量が削減される。

Ubuntu 24.04 LTS では、Canonical の公式説明によれば、/etc/ssh/sshd_configPort および ListenAddress 設定が systemd ジェネレータにより動的に読み取られ、ssh.socket の待ち受けに反映される。したがって、原則として sshd_config の編集だけでポート変更が可能である。ただしアップグレード環境などで設定が反映されない場合があり、その際は後述の方法で ssh.socket 側にも明示的に待ち受けポートを設定する必要がある。

実行コマンド(セキュリティ強化:基本手順)

ブルートフォース攻撃(総当たり攻撃)のリスクを低減するため、ポート番号の変更と root ログイン禁止を推奨する。

# 1. 設定ファイルを編集
sudo nano /etc/ssh/sshd_config

# 2. 以下を変更
#   Port 22 → Port 10022(任意の 1024 以上の番号)
#   PermitRootLogin yes → PermitRootLogin no

# 3. 保存して閉じる(nano: Ctrl+O → Enter → Ctrl+X)

# 4. 設定の反映
sudo systemctl daemon-reload
sudo systemctl restart ssh.socket
sudo systemctl restart ssh

# 5. 新ポートをファイアウォールで許可し、旧ポート(22)の許可を削除
sudo ufw allow 10022/tcp
sudo ufw delete allow ssh

# 6. 新ポートで待ち受けているか確認
sudo ss -tlnp | grep -E '(:22 |:10022 )'

ポートが変わらない場合のフォールバック

上の手順 6 で :22 のままだった場合、ssh.socket に明示的な待ち受け設定を追加する。

sudo systemctl edit ssh.socket
# エディタが開いたら以下を入力して保存:
#
# [Socket]
# ListenStream=
# ListenStream=10022
#
# 1 行目の空の ListenStream= は「既定値(22 番)をリセット」する宣言で、
# これがないと新ポートと 22 番の両方で待ち受けてしまう

sudo systemctl daemon-reload
sudo systemctl restart ssh.socket
sudo ss -tlnp | grep 10022

解説と注意点

パスワード認証を無効にして公開鍵認証のみを許可する方法は、本ガイドの範囲外とする。

第4章 ハードウェアとドライバ

9. グラフィックドライバの設定(NVIDIA)

目的

NVIDIA 製グラフィックカード搭載時に、プロプライエタリドライバ(製造元提供の専用ドライバ)をインストールする。デフォルトの nouveau ドライバ(オープンソース版)では機能・性能が制限される場合があり、専用ドライバの導入により NVIDIA 製グラフィックカードの性能を引き出せる。

本ガイドが想定する LLM 用途では、PyTorch・CUDA 等が NVIDIA プロプライエタリドライバを前提とするため、本ステップは事実上必須である。

※ NVIDIA 製グラフィックカードを搭載していない場合、このステップは不要である。

実行コマンド

# 利用可能なドライバを確認
sudo ubuntu-drivers list

# 推奨ドライバを自動インストール
sudo ubuntu-drivers install

# システムを再起動
sudo reboot

動作確認

nvidia-smi

よくある問題

第5章 日本語環境の構築

10. 日本語フォントと言語サポートの導入

目的

日本語フォントと翻訳データ(言語サポートパッケージ)をインストールする。これにより日本語が正しく表示され、アプリケーションのメニューが日本語化される。

実行コマンド

sudo apt update
sudo apt install language-selector-common
sudo apt install $(check-language-support)

解説

check-language-support コマンドは、現在の言語設定に基づいて必要なパッケージ(日本語フォント、翻訳データ等)を検出する。$() 構文(コマンド置換:コマンドの実行結果を別のコマンドの引数として渡す記法)でその結果を apt install に渡し、一括インストールする。

check-language-support を使ったインストール例

11. 日本語入力の設定(IBus + Mozc)

目的

日本語入力メソッド(IME:Input Method Editor、入力方式)を設定する。これにより日本語テキストの入力が可能になる。Ubuntu 24.04 LTS では IBus(入力フレームワーク)と Mozc(Google 日本語入力のオープンソース版)の組み合わせが標準である。

※ サーバー用途など GUI を使用しない環境では不要である。

インストール

sudo apt update
sudo apt install ibus ibus-mozc
# 注: ibus restart は GUI セッションで ibus が既に起動している場合のみ有効
# 新規インストール直後は実行せず、後述の手順で再ログインして反映させる

設定手順(GUI)

  1. 「設定」→「キーボード」または「地域と言語」を開く
  2. 「入力ソース」の「+」ボタンをクリック
  3. 「日本語」→「日本語(Mozc)」を選択して追加
  4. 設定後、いったんログアウト→再ログインする(または再起動)

入力切り替え

半角/全角 キーまたは Super+スペース キーで日本語入力モードに切り替わる。

日本語入力テスト例

Mozc 設定ツール

キーバインドや変換候補の設定を変更する場合に使用する。

/usr/lib/mozc/mozc_tool --mode=config_dialog &

Wayland か X11 かの確認

Ubuntu 24.04 のデフォルトは Wayland だが、ログイン画面で X11 セッションを選ぶこともできる。現在のセッション種別は次のコマンドで確認できる。

echo $XDG_SESSION_TYPE
# 出力例: wayland もしくは x11

代替: Fcitx5 を使用する場合

Wayland 環境では、IBus + Mozc で変換候補ウィンドウの表示位置がずれる等の問題が出ることがある。その場合、Wayland 親和性の高い Fcitx5 が代替手段となる。

sudo apt update
sudo apt install fcitx5 fcitx5-mozc mozc-utils-gui
Fcitx5 と Mozc のインストール例

インストール後、「設定」→「システム」→「地域と言語」で「キーボード入力に使う IM システム」を「Fcitx 5」に変更し、再ログインする。

再起動コマンド実行例

12. ユーザディレクトリの英語化

目的

日本語環境でインストールすると作成される日本語名ディレクトリ(「ダウンロード」「ドキュメント」等)を英語名(Downloads、Documents 等)に変更する。これによりコマンドライン操作時のパス入力が容易になり、一部プログラムとの互換性問題を防げる。

実行コマンド

sudo apt update
sudo apt install xdg-user-dirs-gtk
LANG=C LC_ALL=C xdg-user-dirs-gtk-update

解説

LANG=C LC_ALL=C を先頭に付けることで、一時的に英語ロケールでコマンドを実行し、英語のディレクトリ名を生成させる。

実行後、GUI ダイアログが表示される。「Don't ask me this again」にチェックを入れ、「Update Names」をクリックする。

ユーザーディレクトリ名変更確認ダイアログ
ユーザーディレクトリ名変更後の確認例

変更後の ~/.config/user-dirs.dirs:

XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"

第6章 システム管理とカスタマイズ

13. 運用保守用ツールの導入

目的

ネットワーク確認やハードウェア情報表示に役立つツールをインストールする。これによりトラブルシューティングやシステム監視が容易になる。

実行コマンド

sudo apt update
sudo apt install net-tools pciutils

各パッケージの用途

運用保守ツールインストール例

14. システムログの確認方法

目的

システムの動作記録(ログ)を journalctl コマンドで確認する方法を知っておく。これにより問題発生時の原因特定が容易になる。ログは systemd(システム管理デーモン)のジャーナル(記録の保存先)に記録される。

主なコマンド

# リアルタイムでログを監視(Ctrl+C で終了)
sudo journalctl -f

# 今回の起動以降のログを表示
sudo journalctl -b

# エラー以上のログのみ表示
sudo journalctl -p err

# 特定のサービスのログを表示(例: SSH)
sudo journalctl -u ssh.service

オプション例

# 昨日からのログ
sudo journalctl --since "yesterday"

# 過去 1 時間のログ
sudo journalctl --since "1 hour ago"

解説

15. 電源管理の設定

目的

一定時間操作がない場合の画面ブランク(画面消灯)やサスペンド(スリープ)を抑制する。これにより意図しない画面消灯やスリープを防げる。サーバーや常時稼働デスクトップ PC に適した設定である。

※ ラップトップでバッテリー駆動時間を重視する場合は、この設定は行わない。

GNOME 環境向け設定(Ubuntu 標準)

# アイドル時の画面ブランクを無効化
gsettings set org.gnome.desktop.session idle-delay 0

# AC 電源時の自動サスペンドを無効化
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'

XFCE 環境向け設定(Xubuntu など)

xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/dpms-enabled -s false
xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/inactivity-sleep-mode-on-ac -s 0

注意点

16. キーボード設定(Caps Lock の変更)

目的

Caps Lock キーを無効化するか、追加の Ctrl キーとして機能させる。これにより Caps Lock の誤操作による意図しない大文字入力を防げる。

実行方法

/etc/default/keyboard ファイルの XKBOPTIONS を編集する。

sudo nano /etc/default/keyboard

XKBOPTIONS 行を以下のように変更する(既存設定がある場合はカンマで区切って追記)。

注意点

第7章 クリーンアップ

17. 不要ソフトウェアの削除

目的

使用しないプリインストールアプリケーション(オフィススイート、メールクライアント等)を削除する。これによりディスク容量の節約とシステムの軽量化ができる。

実行コマンド例

# LibreOffice(オフィススイート)を削除
sudo apt purge 'libreoffice*'

# Thunderbird(メールクライアント)を削除
sudo apt purge 'thunderbird*'

# 不要になった依存パッケージを削除
sudo apt autoremove

# 古いパッケージキャッシュを削除
sudo apt autoclean

注意点

削除するパッケージは用途に合わせて選択すること。purge は設定ファイルも含めて削除する。

パッケージ名にワイルドカード(*:任意の文字列にマッチする記号)を使う際は、シングルクォート(')で囲うこと。引用符を付けずに libreoffice* と書くと、シェルがカレントディレクトリのファイル名にマッチさせてしまい、意図しないパッケージ指定や予期せぬ展開が発生する場合がある。

18. 不要ファイルの除去

目的

パッケージキャッシュや不要ファイルを削除してクリーンアップする。これによりディスクスペースを整理できる。

推奨コマンド(安全)

# 不要な依存パッケージを削除
sudo apt autoremove

# 古いパッケージキャッシュを削除
sudo apt autoclean

オプション: コマンド履歴の削除

# 現在のセッションの履歴をクリア(一時的)
history -c

# 履歴ファイル自体を削除(恒久的・任意)
# rm -f ~/.bash_history

注意点