!!! OpenBSD 端末関係の設定 (7.0 ARM64 on rpi 版) {{category OpenBSD,nolink}}OpenBSD の端末関係の設定。対象は、OpenBSD 7.5 ARM64 on Raspberry Pi 4 Model B。 !!! ファイルシステム !! アクセスタイムの記録停止 アクセス時刻の更新を行わないように "noatime" オプションを追加して、SDカードの更新頻度を減らす。 rpi# cat /etc/fstab 35e356060523969a.b none swap sw 35e356060523969a.a / ffs rw,wxallowed 1 1 rpi# vi /etc/fstab rpi# cat /etc/fstab 35e356060523969a.b none swap sw 35e356060523969a.a / ffs rw,wxallowed,noatime 1 1 rpi# !!! システム時刻 !! システム時刻の確認 '''date''' コマンドで正しい時刻が表示されるか確認する。 rpi# date Sun Feb 16 16:46:53 JST 2025 !! タイムゾーン タイムゾーンが正しく表示されない場合には、'''/etc/localtime''' のシンボリック リンクを確認・設定し直す。 rpi# ls -l /etc/localtime lrwxr-xr-x 1 root wheel 30 Mar 21 2024 /etc/localtime -> /usr/share/zoneinfo/Asia/Tokyo !! 時刻の設定 時刻が正しくなっていない場合は、'''date''' コマンドで設定するか、 '''rdate''' コマンドで SNTP/NTP サーバと同期させる。 ! 時刻を設定する bbb# date 198506131627 Set the date to June 13, 1985, 4:27 PM: ! 時刻同期する 例は、[NICT 公開NTP|http://jjy.jp/tsp/PubNtp/index.html] を使用。 rpi# rdate -ncv ntp.nict.jp Sun Feb 16 16:48:23 JST 2025 rdate: adjust local clock by 0.000960 seconds !! ハードウェアクロック GENERIC カーネルは、ハードウェアクロック・RTC (Real Time Clock) を UTC として、システムクロック・OS 上の時刻は指定されたタイムゾーンとなる。 そのため、マルチブート・仮想環境等では、時刻が 9時間(JST の時差分)進んで表示される。必要であれば、設定を行うか、カーネルのカスタマイズを行う必要がある。 が、そもそも rpi には RTC がない。HAT RTCモジュールも載せてない。 ! システム設定で変更 OpenBSD 6.6 以降(?)から、[sysctl.conf|https://man.openbsd.org/sysctl.conf.5] で設定ができるようになったっぽい(未確認)。 kern.utc_offset=-540 ! カーネルの設定変更 ※OpenBSD 4.7 on i386 OpenBSD 2.8 以降(?)から、[config|https://man.openbsd.org/config.8] コマンドでカーネルの設定が変更できる。 # config -ef /bsd OpenBSD 4.7 (GENERIC) #558: Wed Mar 17 20:46:15 MST 2010 deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC Enter 'help' for information ukc> timezone timezone = 0, dst = 0 ukc> timezone -540 timezone = -540, dst = 0 ukc> quit Saving modified kernel. ! カーネルオプションの定義ファイル ※OpenBSD 3.6 on i386 カーネルオプションを変更して、ビルドし直す。 option TIMEZONE=-540 # RTC = JST !! 時刻同期(NTP)の設定 '''/etc/ntpd.conf''' で時刻同期のNTPサーバを設定する。詳細は [[OpenBSD/ntpd]] へ。 通常 NTP ではネットワーク的に近い場所と同期するようにすべきなので、 同じイントラネット内に NTPサーバ、接続するISPが公開している NTPサーバ がある場合は、 それらのNTPサーバと同期するように設定する。 !!! コンソール(端末)設定 !! ログイン時のメッセージ ログイン時の表示される下記のメッセージの内容を変更する。telnet, ftp, ssh のログイン時にも表示される。 OpenBSD 7.5 (GENERIC.MP) #138: Wed Mar 20 19:42:15 MDT 2024 Welcome to OpenBSD: The proactively secure Unix-like operating system. Please use the sendbug(1) utility to report bugs in the system. Before reporting a bug, please try to reproduce it with the latest version of the code. With bug reports, please try to ensure that enough information to reproduce the problem is enclosed, and if a known fix for it exists, include that as well. '''/etc/motd''' の中身を変更する。最初の行は起動時に上書きされるので行を開けること。 rpi# cat /etc/motd OpenBSD 7.5 (GENERIC.MP) #138: Wed Mar 20 19:42:15 MDT 2024 Welcome to OpenBSD: The proactively secure Unix-like operating system. !! キーボードの設定 コンソールでのキーボード配列の設定。 コンソール・キーボードがあるプラットフォームでは、インストール時に設定がある。 !! シェル コンソールに利用できるシェルのパスが '''/etc/shells''' に記載されている。 新たにシェルを追加した場合は、ここにフルパスを追加する。 !!! ネットワーク設定・確認 !! ホスト名 '''hostname''' コマンドで表示されるホスト名が正しいか確認する。 rpi# hostname rpi.my.domain ホスト名が正しくない場合には、'''/etc/myname''' にホスト名をFQDNで1行だけ書く rpi# cat /etc/myname rpi.my.domain ホスト名を変更した場合は、'''/etc/hosts''' ファイルもあわせて変更する。 !! ネットワークインターフェース '''/etc/hostname.xxx''' (xxx は ne0 等) に設定を書く(複数ある場合はそれぞれのファイルに) rpi# cat /etc/hostname.bse0 inet autoconf inet6 autoconf !! デフォルトゲートウェイ '''/etc/mygate''' にゲートウェイの IPアドレスを1行だけ書く。DHCPの場合はファイルがない。 rpi# cat /etc/resolv.conf nameserver 192.168.0.1 # resolvd: bse0 lookup file bind !! 名前解決のホストファイル '''/etc/hosts''' に必要な分、IPアドレスとホスト名を記述していく rpi# cat /etc/hosts 127.0.0.1 localhost ::1 localhost !!! システムログ !! ログローテート(newsyslog)の設定 '''/etc/newsyslog.conf''' に設定を書く # logfile_name owner:group mode count size when flags /var/cron/log root:wheel 600 3 10 * Z *''logfile_name'' は、対象のファイル名。 *''owner:group'' は、アーカイブしたファイルのオーナとグループ。省略するとログファイルと同じになる *''mode'' は、新しいファイルの属性を指定。 *''count'' は、アーカイブのファイル数 (正確には、0 から count までの count+1 個)。 *''size'' は、このサイズ(KB単位)を超えたときにローテートする。'''*''' の場合はサイズでは行わない。 *''when'' は、この時間・時刻でローテートする。'''*''' の場合は時間では行わない。 *''flags'' は、オプション指定。'''Z''' はアーカイブを圧縮する。'''B''' はバイナリのログファイルとして扱い、新しいログファイルの先頭に newsyslog 自身のログを残さない。 *''pid_file'' は、PIDを含むファイルを絶対パスで指定する。指定があるとそのプロセスに対してSIGHUPを送る。