Debian 12 (bookworm) - サーバ初期設定!

Updated:


Debian GNU/Linux 12 (bookworm) インストール後の初期設定についての記録です。

以前古いバージョンでの作業時に残していた記録を参考に作業を行い、今回更新した作業記録を貼付する形式の内容となっています。
(当然ながら、興味がなければスルーしてください)

0. 前提条件

  • Debian 12 (bookwarm) - インストール(サーバ用途・最小構成)!」の方法でインストールが完了していることを想定。
  • 一般ユーザ名は “foo” を想定。
  • 以下の作業は全て root ユーザで行うことを想定。
  • コマンドラインプロンプト # は root ユーザ、 $ は一般ユーザであることを理解しておく。
    コメントしての # と混同しないよう注意する。
  • ネットワークカードは “enp0s3” を想定。
  • IP アドレスは固定する。
  • IPv6 は使用しない。
  • ドメインは “mk-mode” を想定。
  • ネットワークの MTU 最適値は 1454 を想定。
    (デフォルトは 1500 だが、環境により最適値は異なるので、算出して設定するとよい。参照: Linux - MTU 最適値の導出!
  • 各種設定ファイルの編集方法までは説明しない。(vi コマンドについての初歩的な知識があることが前提)

1. 環境変数 LANG の変更

環境変数 LANG, その他が Cja_JP.UTF-8 等に変更する。(必要なら)
(root は en_US.UTF-8 の方がよいかも)

まず、現状を確認。

# echo $LANG
C

次にロケール。

# locale
LANG=C
LANGUAGE=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=

ja_JP.UTF-8 であればそれで良いので、この項の以降の作業は不要。

以下、 ja_JP.UTF-8 でない場合の作業。(root ユーザでの作業)

/etc/profile へ以下の記述を追加する。

File: /etc/profile

LANG=ja_JP.utf8
export LANG

設定を有効にするために以下を実行。(マシンリブートでもよい)

# source /etc/profile

しかし、マシンリブート後に C に戻ってしまうこともある。
それは /etc/profile 読み込み後に ~/.profileC を設定しているからかもしれない。

当方の環境では実際、以下のようになっていた。

File: ~/.profile

      :
===< 中略 >===
      :

# Installed by Debian Installer:"
#  no localization for root because ja_JP.UTF-8"
#  cannot be properly displayed at the Linux console"
LANG=C$
LANGUAGE=C

root ユーザは日本語を使わないほうがよいらしい。

それでも日本語にしたければ、 LANG, LANGUAGE 行をコメントアウトすればよい。※自己責任で
もしくは、 /etc/profile は編集せず、最初から ~/.profileja_JP.UTF-8 を設定してもよいだろう。

2. ネットワークの設定

デフォルトでは DHCP で IP アドレスが付与されるので、固定する。
root でログイン後 /etc/network/interfaces を編集する。

File: /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp0s3
auto enp0s3                         # <= 追加(自動起動)
#iface enp0s3 inet dhcp             # <= コメント化(DHCP を使用しない)
iface enp0s3 inet static            # <= 追加(IP アドレス固定化)
    address         192.168.11.101  # <= 追加(IP アドレス)
    network         192.168.11.0    # <= 追加(ネットワークアドレス)
    netmask         255.255.255.0   # <= 追加(ネットマスク)
    broadcast       192.168.11.255  # <= 追加(ブロードキャストアドレス)
    gateway         192.168.11.1    # <= 追加(デフォルトゲートウェイ(ルータの IP アドレス))
    dns-nameservers 192.168.11.1    # <= 追加(ネームサーバ(現時点ではルータの IP アドレス))
    dns-search      mk-mode         # <= 追加(DNS 検索)
    mtu             1454            # <= 追加(MTU 最適値)

そして、設定変更を反映させるために、システムを再起動する。

# systemctl reboot

ネットワーク再起動後は、以下のコマンドで確認してみるとよい。(もはや ifconfig は非推奨)

# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1454 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:d4:bc:db brd ff:ff:ff:ff:ff:ff
    inet 192.168.11.101/24 brd 192.168.11.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fed4:bcdb/64 scope link
       valid_lft forever preferred_lft forever

ip addr showip a でもよい)

3. IPv6 の無効化

IPv6 は使用しないので無効にしておく。

File: /etc/sysctl.conf

# 最終行に追加
net.ipv6.conf.all.disable_ipv6 = 1

そして、即時反映。(マシンを再起動してもよい)

# sysctl -p
net.ipv6.conf.all.disable_ipv6 = 1

以下のコマンドで IPv6 が無効になっていることを確認してみるとよい。(もはや ifconfig は非推奨)

# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1454 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:d4:bc:db brd ff:ff:ff:ff:ff:ff
    inet 192.168.11.101/24 brd 192.168.11.255 scope global enp0s3
       valid_lft forever preferred_lft forever

ip addr showip a でもよい)

4. 管理用ユーザの設定

root でログインし、インストール時に作成した一般ユーザを管理ユーザにし、 root になれるよう設定する。

# usermod -G adm foo

File: /etc/pam.d/su

# 15行目当たり、コメント解除し編集
auth       required   pam_wheel.so  group=adm

ちなみに、RedHat 系の場合 adm ではなく wheel である。

(— 以下、ローカルマシンから一般ユーザで SSH 接続し root になって作業 —)
まだ、 SSH の設定を行っていないので、実際には ssh foo@vbox

5. コマンドエイリアスの設定

よく使用するコマンド+オプションのエイリアスを設定しておく。
取り急ぎ、当方がよく使用するコマンドのみ。

root に適用する場合は、root ユーザでログインして以下のように設定する。

File: /etc/profile

# 最終行に追記
alias ll='ls $LS_OPTIONS -l --color=auto'
alias l='ls $LS_OPTIONS -lA --color=auto'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

(各ユーザに適用する場合は /home/username/.profile/home/username/.bashrc を編集する)

即時適用。

# source /etc/profile

6. コマンドプロンプトの変更

root では、コマンドプロンプトがデフォルトで以下のように表示される。
例えば、以下のようにディレクトリが深くなるとコマンドプロンプトも長くなってしまう。

root@vbox:~# cd /var/lib/apt/mirrors/partial
root@vbox:/var/lib/apt/mirrors/partial#

“/etc/profile” に以下を追記する。(好みに応じて編集する)

File: /etc/profile

PS1='[\u@\h \W]\$ '  # <= 最終行に追記

以下のコマンドで即時反映する。(マシン再起動でもよい)

# source /etc/profile

以下のようなコマンドプロントになる。
ディレクトリが深くなっても一番深いディレクトリ名のみ表示されるので、コマンドプロンプトが長くなることはない。

[root@vbox ~]# cd /var/lib/apt/mirrors/partial
[root@vbox partial]#

7. システムの最新化

システムの各種パッケージのバージョンが古い可能性もあるので、ネットワーク経由で最新にしておく。

まず、 /etc/apt/sources.list 内の cdrom の行がコメントアウトされてなければ、コメントアウトしておく。

File: /etc/apt/sources.list

#deb cdrom:[Debian GNU/Linux 12.0.0 _Bookworm_ - Official amd64 DVD Binary-1 with firmware 20230610-10:23]/ bookworm main non-free-firmware

deb http://deb.debian.org/debian/ bookworm main non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm main non-free-firmware

         :
===< 以下、省略 >===
         :

そして、次を実行。

# apt -y update   # <= パッケージリスト最新化
# apt -y upgrade  # <= システム最新化

8. Vim のインストール

テキストエディタ Vi の高機能版 Vim をインストール・設定する。

# apt -y install vim

File: /etc/profile

alias vi='vim'  # 最終行に追加

即時適用。

# source /etc/profile

必要に応じて Vim 設定ファイル(~/.vimrc or /etc/vim/vimrc)を編集する。(ここでは説明しない)

9. sudo のインストール

権限移譲を実現する sudo をインストール・設定する。

# apt -y install sudo

visudo コマンドで設定。

File: visudo

# 最終行に追加(foo に root 権限全てを付与)
foo   ALL=(ALL)   ALL

保存は CTRL + O で、ファイル名を sudoers にする。
終了は CTRL + X を押下する。

これで、一般ユーザでログイン時に sudo <コマンド> で root ユーザでのコマンド実行が可能になる。
通常はこれで充分だが、コマンド別に権限を詳細に設定すること等も可能である。(ここでは説明しない)

10. システム起動時にメッセージ出力

デフォルトでは、システム起動時に各種メッセージが画面出力されない。

システム起動時に各種メッセージが画面出力するようにするには、以下のようにする。

File: /etc/default/grub

#GRUB_CMDLINE_LINUX_DEFAULT="quiet"  # <= コメントアウト
GRUB_CMDLINE_LINUX_DEFAULT=""        # <= 追加
# update-grub

これで、次回起動時にメッセージが画面出力される。

11. less コマンドへのシンタックスハイライトの設定(必要なら)

ます、 source-highlight をインストールする。

# apt -y install source-highlight

File: /etc/profile

# 最終行に以下の2行を追記
export LESS='-NR'
export LESSOPEN='| /usr/share/source-highlight/src-hilite-lesspipe.sh %s'

そして、即時適用。(ログインし直してもよい)

# source /etc/profile

12. Rsyslog のインストール

最近は Rsyslog がデフォルトでインストールされていないので、インストールしておく。
(後に使用するので。 Rsyslog を使用しないのであれば、インストールは不要)

# apt install rsyslog

以上。





 

Sponsored Link

 

Comments