VPSでAlmaLinux (10)

システムの日本語化

前回は、ホスト名の変更を行った。
今回は、システムの日本語化を行う。

現状確認

まず、現状の確認。

$ localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: jp106
X11 Layout: jp
X11 Model: jp106
X11 Options: terminate:ctrl_alt_bksp
$ date
Wed Mar 19 05:57:27 PM JST 2025

現状は、米国英語(en_US)となっており、日時表示も英語。

日本語化

localectlコマンドで日本語化する。

$ sudo localectl set-locale LANG=ja_JP.UTF-8
Failed to issue method call: Locale ja_JP.UTF-8 not installed, refusing.

選択できる言語を確認するが、やはり日本語は含まれていない。

$ localectl list-locales
C.UTF-8
en_AU.UTF-8
en_BW.UTF-8
en_CA.UTF-8
en_DK.UTF-8
en_GB.UTF-8
en_HK.UTF-8
en_IE.UTF-8
en_NZ.UTF-8
en_PH.UTF-8
en_SC.UTF-8
en_SG.UTF-8
en_US.UTF-8
en_ZA.UTF-8
en_ZW.UTF-8

日本語モジュールをインストールして再度確認。

$ sudo dnf -y install glibc-langpack-ja
 :
Installed:
glibc-langpack-ja-2.34-125.el9_5.3.alma.1.x86_64

Complete!
$ localectl list-locales
 :
ja_JP.UTF-8

再度変更を試みて、確認。

$ sudo localectl set-locale LANG=ja_JP.UTF-8
$ localectl
System Locale: LANG=ja_JP.UTF-8
VC Keymap: jp106
X11 Layout: jp
X11 Model: jp106
X11 Options: terminate:ctrl_alt_bksp
$ date
Wed Mar 19 05:57:52 PM JST 2025

これで日本語表示になっているはずだが、ログインし直すか、次のコマンドの実行が必要。

$ source /etc/locale.conf
$ date
2025年 3月 19日 水曜日 17:57:58 JST

ユーザー別の設定方法

システム全体ではなく、ユーザー別に言語を設定したい場合、次のファイルに設定を追加するだけ。

~/.bash_profile

各ユーザのホームディレクトリにあるファイルで、ログイン時に1回実行されます。

その中に環境変数”LANG”の設定を入れてあげるのです。

$ vi ~/.bash_profile

最後の行に次の一行を入れておきます。

export LANG=ja_JP.UTF-8

日本語指定しなくても日本語表示される場合

システムロケールもユーザーロケールも英語なのに、SSHでログインしたら日本語で表示されるって事がある。

~/.bash_profileにも記載はないし、なぜ?

それは、SSHのクライアントに設定が記載されているから。かもしれない。

MacからSSH接続しているなら、次の設定ファイルを見てみよう。

% sudo vi /etc/ssh/ssh_config

ファイルの最後に次のような記載があるか見てみよう。

Host *
SendEnv LANG LC_*

SendEnvで接続時に環境変数を設定している。

更に、Terminalの環境設定で次の設定にチェックが入っていると、実際に反映される。

次回は、Webサーバを構築する。

お友達紹介プログラムで契約すると10%OFFらしいので、
よろしければ次の画像をクリックしてみてください。

投稿一覧はこちら→「VPSでAlmaLinux

VPSでAlmaLinux (9)

ホスト名の変更

前回は、ソフトウェアの更新を行った。
今回は、ホスト名の変更を行う。

ホスト名の確認

ホスト名を変更するには次のファイルの内容を変更する。

[nori@oldhostname ~]$ sudo vi /etc/hostname

ただ、この方法だと再起動が必要だし、ファイルの場所が環境によって異なるので、hostnamectlコマンドを利用するほうが良いようだ。

まず、hostnamectlコマンドで現状の表示を行う。

[nori@oldhostname ~]$ hostnamectl
Static hostname: oldhostname
Icon name: computer-vm
Chassis: vm 🖴
Machine ID: 0123456789abcdef0123456789abcdef
Boot ID: 123456789abcdef0123456789abcdef0
Virtualization: kvm
Operating System: AlmaLinux 9.5 (Teal Serval)
CPE OS Name: cpe:/o:almalinux:almalinux:9::baseos
Kernel: Linux 5.14.0-503.14.1.el9_5.x86_64
Architecture: x86-64
Hardware Vendor: OpenStack Foundation
Hardware Model: OpenStack Nova
Firmware Version: 0.0.0

set-hostnameを指定して、新しいホスト名を設定する。

[nori@oldhostname ~]$ sudo hostnamectl set-hostname newhostname.your.domain

再度hostnamectlコマンドで変更を確認。

[nori@oldhostname ~]$ hostnamectl
Static hostname: newhostname.your.domain
Icon name: computer-vm
Chassis: vm 🖴
Machine ID: 0123456789abcdef0123456789abcdef
Boot ID: 123456789abcdef0123456789abcdef0
Virtualization: kvm
Operating System: AlmaLinux 9.5 (Teal Serval)
CPE OS Name: cpe:/o:almalinux:almalinux:9::baseos
Kernel: Linux 5.14.0-503.14.1.el9_5.x86_64
Architecture: x86-64
Hardware Vendor: OpenStack Foundation
Hardware Model: OpenStack Nova
Firmware Version: 0.0.0

プロンプトのホスト名は変わっていないが、一旦ログアウトして、再ログインすると変更される。

ちなみに、一時的に変更する場合は、hostnameコマンドで。

$ sudo hostname temphostname.your.domain

でも、一時的に変更したい時って、どんな時ですか?

次回は、システムの日本語化を行う。

お友達紹介プログラムで契約すると10%OFFらしいので、
よろしければ次の画像をクリックしてみてください。

投稿一覧はこちら→「VPSでAlmaLinux

VPSでAlmaLinux (8)

ソフトウェアの更新

前回は、メールの基本的な設定を行った。
今回は、ソフトウェアの更新を行う。

インストールされたソフトは、常に更新して最新の状態を保っておきたい。
脆弱性が残ったままのシステムほど脆いものはない。

手動での更新

手動で更新するには、次のコマンドで。

$ sudo dnf -y update
 :
Complete!

定期更新

まず、自動更新用のモジュールをインストール。

$ sudo dnf -y install dnf-automatic
 :
Installed:

dnf-automatic-4.14.0-17.el9.alma.1.noarch

Complete!

そして、設定を少し変えておく。

$ sudo vi /etc/dnf/automatic.conf

デフォルトでは更新のダウンロードのみで、実際の更新はしてくれない。
でも、実際に更新をしてくれないと、手動アップデートとそれほど変わらないので、自動的にアップデートまでするように設定を変更する。

[commands]

# Whether updates should be applied when they are available, by
# dnf-automatic.timer. notifyonly.timer, download.timer and
# install.timer override this setting.
#apply_updates = no
apply_updates = yes

もし、再起動が必要なら、再起動も行う。

[commands]

# When the system should reboot following upgrades:
# never = don't reboot after upgrades
# when-changed = reboot after any changes
# when-needed = reboot when necessary to apply changes
#reboot = never
reboot = when-needed

そして、更新したらメールで知らせてもらう。

[commands]

# How to send messages. Valid options are stdio, email and motd. If
# emit_via includes stdio, messages will be sent to stdout; this is useful
# to have cron send the messages. If emit_via includes email, this
# program will send email itself according to the configured options.
# If emit_via includes motd, /etc/motd file will have the messages. if
# emit_via includes command_email, then messages will be send via a shell
# command compatible with sendmail.
# Default is email,stdio.
# If emit_via is None or left blank, no messages will be sent.
#emit_via = stdio
emit_via = mail

送信元のメールアドレスも設定しておく。

[email]

# The address to send email messages from.
#email_from = root@example.com
email_from = dnf@yourdomain.com

[command_email]

# The address to send email messages from.
#email_from = root@example.com
email_from = dnf@kgy.sin-cos.com

では、更新してもらうためのタイマーを動かそう。
自動起動の設定と同時に起動。

$ sudo systemctl enable --now dnf-automatic-install.timer
Created symlink /etc/systemd/system/timers.target.wants/dnf-automatic-install.timer → /usr/lib/systemd/system/dnf-automatic-install.timer.

タイマーの状態を確認。

[nori@kgy ~]$ sudo systemctl list-timers *dnf-*
NEXT LEFT LAST PASSED UNIT ACTIVATES
Wed 2025-03-12 14:07:09 JST 17min left Wed 2025-03-12 12:18:12 JST 1h 31min ago dnf-makecache.timer dnf-makecache.service
Thu 2025-03-13 06:36:53 JST 16h left Wed 2025-03-12 06:42:09 JST 7h ago dnf-automatic-install.timer dnf-automatic-install.service

2 timers listed.
Pass --all to see loaded but inactive timers, too.

サービスの状態を確認。

$ systemctl status dnf-automatic-install.timer
● dnf-automatic.timer - dnf-automatic timer
Loaded: loaded (/usr/lib/systemd/system/dnf-automatic-instal.timer; enabled; preset: disabled)
Active: active (waiting) since Wed 2025-03-19 00:30:09 JST; 2min 21s ago
Until: Wed 2025-03-19 00:30:09 JST; 2min 21s ago
Trigger: Wed 2025-03-19 06:43:59 JST; 6h left
Triggers: ● dnf-automatic-install.service

Mar 19 00:30:09 hostname systemd[1]: Started dnf-automatic-install timer.

更新のタイミングは、systemctl enableを実行した時に表示された次の設定ファイルを参照。

$ cat /etc/systemd/system/timers.target.wants/dnf-makecache.timer
[Unit]
Description=dnf makecache --timer
ConditionKernelCommandLine=!rd.live.image
# See comment in dnf-makecache.service
ConditionPathExists=!/run/ostree-booted
Wants=network-online.target

[Timer]
OnBootSec=10min
OnUnitInactiveSec=1h
RandomizedDelaySec=60m
Unit=dnf-makecache.service

[Install]
WantedBy=timers.target

起動10分後、それ以降1時間ごとに最大60分の遅延を経てファイル取得。

$ cat /etc/systemd/system/timers.target.wants/dnf-automatic-install.timer
[Unit]
Description=dnf-automatic-install timer
# See comment in dnf-makecache.service
ConditionPathExists=!/run/ostree-booted
Wants=network-online.target

[Timer]
OnCalendar=*-*-* 6:00
RandomizedDelaySec=60m
Persistent=true

[Install]
WantedBy=timers.target

毎朝6時から最大60分経過後に更新される。

次回は、ホスト名の変更を行う。

お友達紹介プログラムで契約すると10%OFFらしいので、
よろしければ次の画像をクリックしてみてください。

投稿一覧はこちら→「VPSでAlmaLinux

VPSでAlmaLinux (7)

メールの基本設定

前回は、SSHの接続ポートを変更した。
今回は、メールの基本的な設定を行う。

Postfixのインストール

メール送信にはPostfixを利用し、メール閲覧にはs-nailを利用する。

まずは、インストール。

$ sudo dnf -y install postfix s-nail
 :
Installed:
libicu-67.1-9.el9.x86_64 postfix-2:3.5.25-1.el9.x86_64 s-nail-14.9.22-6.el9.x86_64

Complete!

そしてPostfixのサービスを起動する。自動起動の設定と合わせて行うとスマート。

$ sudo systemctl enable --now postfix
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service.

実際に起動したかを確認しておく。

$ sudo systemctl status postfix

これでメールの基本的な送受信が可能となった。

ただ、重要なメールは基本的にrootへ送られ、管理者個人のユーザへは届かない。

なので、転送の設定をしておくのが一般的。

$ sudo vi /etc/aliases

最後のmarkを作成済みの一般ユーザー名(例:nori)に変更する。
そして、先頭の#を消してコメントから有効な行へとする。

# Person who should get root's mail
root: nori

でも、これだけでは反映されない。
次のコマンドを実行しておく。

$ sudo newaliases

では、root宛にメールを送信して自分に届くか確認しよう。

$ mail root
Subject: TestMail
abc
EOT ([Ctrl]+[D]を入力)
Send this message [yes/no, empty: recompose]? [yes]

コマンド「mail [宛先]」を実行し、タイトル入力、本文入力、最後にEOT([Ctrl]+[D])。

「yes」入力でメール送信。

では、届いたメールを見てみる。

閲覧は、単純に「mail」だけ。

$ mail
s-nail version v14.9.22. Type `?' for help
/var/spool/mail/nori: 1 message 1 new
▸N 1 nori@hostname.lo 2025-03-16 23:53 15/520 "TestMail "
& 1
[-- Message 1 -- 15 lines, 520 bytes --]:
Date: Sun, 16 Mar 2025 23:53:10 +0900
To: root@hostname.localdomain
Subject: TestMail
Message-Id: <20250000000000.BEF479800000@hostname.localdomain>
From: nori@hostname.localdomain

test

& d (削除)
& q (終了)

一覧で表示される番号を入れれば、その内容が表示される。
ちなみに、新着メールは先頭に「N」が表示される。

その後は「d」で削除。「q」で終了。
簡単でしょ?

ということで、一応メールの受信はできるようになった。
いろんなサービスからのエラーメールを受信するために、最低限ここまではやっておこう。

次回は、ソフトウェアの更新を行う。

お友達紹介プログラムで契約すると10%OFFらしいので、
よろしければ次の画像をクリックしてみてください。

投稿一覧はこちら→「VPSでAlmaLinux

VPSでAlmaLinux (6)

SSHの接続ポートを変更する

前回は、rootでSSH接続できない設定を行った。
今回は、SSHの接続ポートを変更して、セキュリティを高めていく。

XServer VPSのパケットフィルター設定変更

まず、VPS パネルの「パケットフィルター設定」で、変更後のポート番号を通信可能にする。

変更後の適当なポート番号(例:2222)を追加する。

続きを読む VPSでAlmaLinux (6)