プロジェクト

全般

プロフィール

Debian 13

Debian GNU/Linux 13は、2025-08-09にリリースされました。

OS設定(Minimal)

仮想ゲスト用途で、最低限のCLI(コンソール)のみを有する最小構成時のOS設定について記載します。

初期設定

注記
  • dpkg-reconfigureは古いやり方らしいので使用しない

ロケール

日本語フォントを持たないコンソールでは日本語が文字化けするので、ロケールは英語(デフォルトのC.UTF-8)としておきます。

現在のロケール設定の確認(その1)
# locale
LANG=C.UTF-8
LC_CTYPE="C.UTF-8" 
LC_NUMERIC="C.UTF-8" 
LC_TIME="C.UTF-8" 
LC_COLLATE="C.UTF-8" 
LC_MONETARY="C.UTF-8" 
LC_MESSAGES="C.UTF-8" 
LC_PAPER="C.UTF-8" 
LC_NAME="C.UTF-8" 
LC_ADDRESS="C.UTF-8" 
LC_TELEPHONE="C.UTF-8" 
LC_MEASUREMENT="C.UTF-8" 
LC_IDENTIFICATION="C.UTF-8" 
LC_ALL=
現在のロケール設定の確認(その2)
# localectl
System Locale: LANG=C.UTF-8
    VC Keymap: (unset)
   X11 Layout: (unset)
設定可能なロケールの一覧
# localectl list-locales
C.UTF-8

この場合、ロケールが一種類しか存在していないので、locales-all パッケージをインストールする。
apt install locales-all
ただし、247MBほどストレージを消費するので、サイズ最小でいくなら、localesパッケージをインストールし、JPロケールだけ生成する。

# apt install locales
  :
  • /etc/locale.gen ファイルが生成されるので、その中から使用したいロケール(ja_JP.UTF-8)のコメントアウトを解除する
    - # ja_JP.UTF-8 UTF-8
    + ja_JP.UTF-8 UTF-8
    
# locale-gen
Generating locales (this might take a while)...
  ja_JP.UTF-8... done
Generation complete.

# update-locale LANG=ja_JP.UTF-8

ロケールを日本語化すると、メッセージも日本語化される部分が生じます。コンソールでは日本語が表示できないことがあり、文字化けとなってしまうので、最小構成のDebianではロケールを英語にしておくのがよさそうです。

タイムゾーン

  • 現在のタイムゾーン設定の確認
    # timedatectl
                   Local time: Sun 2026-04-19 09:31:03 UTC
               Universal time: Sun 2026-04-19 09:31:03 UTC
                     RTC time: Sun 2026-04-19 09:31:04
                    Time zone: Etc/UTC (UTC, +0000)
    System clock synchronized: yes
                  NTP service: active
              RTC in local TZ: no 
    
  • 設定可能なタイムゾーンの一覧
    # timedatectl list-timezones
    Africa/Abidjan
      :
    Asia/Tokyo
      :
    
  • タイムゾーンの設定
    # timedatectl set-timezone Asia/Tokyo
    

キーボード設定

キーボード設定をJIS配列(日本語キーボード)にします。

# apt install keyboard-configuration console-setup

インストール時にCUIでキーボード選択を問い合わせてくるので、Japanese > Japanese (OADG109A)を選択します。

/etc/default/keyboard が生成され、中に設定が記述されます。

最小限にするなら

keyboard-configuration, console-setup パッケージのインストールはせずに、

  • /etc/systemd/system/loadkeys.service を作成
    [Unit]
    Description=Set keyboard layout
    [Service]
    Type=oneshot
    ExecStart=/bin/loadkeys jp106
    [Install]
    WantedBy=multi-user.target
    
  • systemctl enable loadkeys.service

OSアップデート

nocloudイメージでは、/etc/apt/sources.listが空となっています。

deb http://ftp.jp.debian.org/debian/ trixie main contrib non-free non-free-firmware
deb http://ftp.jp.debian.org/debian/ trixie-updates main contrib non-free non-free-firmware

ホスト名

ホスト名とホストに関する設定を確認

hostnamectl

ホスト名の設定
# hostnamectl set-hostname deb-bravo

ネットワーク設定

Debian 13のNetplanで設定管理します。
/etc/netplan/*.yaml に設定を記述。nocloudイメージでは、90-default.yaml が定義され、DHCP有効となっています。

現状の確認 netplan status

旧来の設定は使用せず

Netplanで管理するので、次は使用しません。
*/etc/network/interfaces

設定の変更

デフォルトの設定ファイル(90-default.yaml)はそのままとして、新たに99-config.yamlなどの名前で(90より後になる名前で)上書きの設定を記述します。

ユーザーアカウント設定

  • グループの作成(または既存のグループに属する)
    groupadd -g <グループID> <グループ名>
    グループIDを指定しグループを作成
  • ユーザーの作成
    useradd -m -g <グループ名> -u <ユーザーID> -s <ログインシェル> <ユーザー名>
    グループ名、ユーザーID、ログインシェルを指定しユーザーを作成、同時にホームディレクトリを作成(/home/ユーザー名)
    passwd <ユーザー名>
    作成したユーザーのパスワードを設定
  • 作成したユーザーにsudo権限を付与(sudoグループにユーザーを追加)
    usermod -aG sudo <ユーザー名>
    ネット上には、adduser <ユーザー名> sudo と紹介している記事も多いです。

SSH接続

リモートからSSH接続を受け入れるには、openssh-serverパッケージをインストールします。
apt install openssh-server
依存関係で、複数のlibxxxパッケージ、openssh-client、openssh-sftp-server、ncurses-term、xauthなどがインストールされます。

/etc/ssh/sshd_config の設定
  • rootのsshログイン禁止
    PermitRootLogin no
    

ファイアウォール

時刻同期

デフォルトで、systemd-timesyncd サービスが実行、2.debian.pool.ntp.org に接続して時刻同期しています。

時刻同期状況の確認

timedatectl status

時刻同期先サーバーの指定
  • /etc/systemd/timesyncd.conf
    NTP=ntp.nict.jp
    

Docker

必要なパッケージのインストール

~$ sudo apt install docker.io docker-cli

インストールが完了すると、systemdのdocker.serviceはenabledになっており実行中となっていました。

Docker Composeを追加

~$ sudo apt install docker-compose

用途別

Cassandra DB

2026年5月4日時点では、バージョン5.0.8が最新版です。

動作条件

ハードウェア条件
項目 最低必要条件 推奨条件
CPU 2コア以上
メモリ 8GB以上 Javaヒープに12GB以上割当可能
ストレージ 高速(ローカル)
ソフトウェア条件
項目 推奨条件
Java JDK 17
Python 3.11
Debian 13は、Cassandra 5.0動作環境に不適

Debian 13は、Pythonが3.13に固定されること、Java(OpenJDK)が Debian公式aptリポジトリでは21または25が提供され、17は用意されていないことから、Cassandra 5.0の実行環境には不適となります。

この後の記述は、試行錯誤でDebian 13上のCassandraを動かすべく取り組んだことを残しています。

インストール

DebianパッケージのCassandraを入手するため、aptのリポジトリ情報にcassandraを追加します。

$  echo "deb [signed-by=/etc/apt/keyrings/apache-cassandra.asc] https://debian.cassandra.apache.org 50x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list

リポジトリキーを取得します。

$ sudo curl -o /etc/apt/keyrings/apache-cassandra.asc https://downloads.apache.org/cassandra/KEYS

リポジトリ情報を反映し、Cassandraをインストールします。

$ sudo apt update
  :
$ sudo apt install cassandra

systemdのサービスとして、cassandra.serviceが追加されています。

問題

systemd の起動がエラーとなっています。
/var/log/cassandra/system.log

ERROR [main] 2026-05-04T13:36:32,699 CassandraDaemon.java:887 - Exception encountered during startup
java.lang.UnsupportedOperationException: The Security Manager is deprecated and will be removed in a future release
        at java.base/java.lang.System.setSecurityManager(System.java:431)
        at org.apache.cassandra.security.ThreadAwareSecurityManager.install(ThreadAwareSecurityManager.java:96)
        at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:250)
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:727)
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:865)

cassandra 5.0のパッケージをインストールすると依存関係で openjdk-21がインストールされます。しかし、Cassandra 5.0はJDK 17推奨です。JDK 21はSecurity Managerの変更に伴い実行時にエラーが生じています。

回避策は、Cassandra起動時に Security Managerを有効にすることです。

  • /etc/cassandra/cassandra-env.sh
    +# JDK 21 workarround
    +JVM_OPTS="$JVM_OPTS -Djava.security.manager=allow" 
    +
     JVM_OPTS="$JVM_OPTS $JVM_EXTRA_OPTS" 
    


20日前に更新