プロジェクト

全般

プロフィール

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
    

用途別

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" 
    


約1時間前に更新