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
, その他が C
を ja_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
読み込み後に ~/.profile
で C
を設定しているからかもしれない。
当方の環境では実際、以下のようになっていた。
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
は編集せず、最初から ~/.profile
で ja_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 show
は ip 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 show
は ip 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
以上。
Comments