トップ 履歴 一覧 カテゴリ ソース 検索 ヘルプ RSS ログイン

OpenBSD/Terminal/47

INDEX

OpenBSDの端末関係の設定 (2010-06-25 4.7 ベースに)

OpenBSD 端末関係の設定

 システム時刻の確認

date コマンドで正しい時刻が表示されるか確認する。

# date
Fri Jun 25 16:16:12 JST 2010

また、ハードウエアクロックを JST などで使っている場合、GENERIC カーネルが RTC=UTC として解釈するので、時刻が9時間進んで表示されることになる。マルチブートなどで RTC=JST とするならカーネルの設定値を変更する。

タイムゾーン

タイムゾーンが正しく表示されない場合には、/etc/localtime のシンボリック・リンクを確認します。

# ls -l /etc/localtime
lrwxr-xr-x  1 root  wheel  30 Jun 26 00:38 /etc/localtime -> /usr/share/zoneinfo/Asia/Tokyo

時刻

時刻が正しくなっていない場合は、date コマンドで設定するか、 rdate コマンドで SNTP/NTP サーバと同期させる。

例はNICT公開NTPサービスを使用。

# rdate -ncv ntp.nict.jp

Real Time Clock

GENERIC カーネルは、ハードウェアクロック・RTC (Real Time Clock) を UTC として、システムクロック・OS 上の時刻は指定されたタイムゾーンとなる。そのため、マルチブート・仮想環境等では、他との影響が出るので RTC のずれ(JST なら -540 分)を設定する。config -e コマンドでカーネルの設定値を変更するか、カーネルをカスタマイズで TIMEZONE の設定値を変更する。

# 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.
#

 キーボードの設定

コンソールでのキーボード配列を「106/109日本語キーボード配列」にする。kbd もしくは wsconsctl のどちらかで設定できる。インストール時に設定していれば不要。

キーボードマッピングを聞かれていれば、/etc/kbdtype にエンコードが定義されている(3.9で確認)

jp

「kbd -l」でリストが確認でき、「kbd jp」のコマンドで再設定できる。

キーボードエンコードテーブルを聞かれていれば、/etc/wsconsctl.conf に以下の定義がある(3.6で確認)

keyboard.encoding=jp

「wsconsctl -w keyboard.encoding=jp」のコマンドで再設定できる。

 RAMディスクの作成

メモリの一部をファイルシステムとして、MFS(Memory File System) を利用して、/tmp に割り当てる。

まずは確認事項として以下のカーネルオプションが指定されているか確認です。オプションが有効になっていればOKです。GENERIC カーネルでは標準で有効になっていますが、カスタムカーネルを使っている場合、無効にしていないか確認しておきます。

# cat /usr/src/sys/conf/GENERIC | grep MFS
option         MFS             # memory file system

/etc/fstab に以下の内容を書き加え、/tmp のエントリーを追加します。

swap /tmp mfs rw,-s=262144 0 0

"-s=" に続いて割り当てる容量をブロックサイズで指定します。上記の 262144 だと、512Byte/1ブロックで大体 128MB 程度になる。

上記の記述をしたらシステムを再起動します。無事再起動して、df の出力の第1フィールドに mfs:nnnnn とかかれていたら成功です。

 ファイルシステムの atime の更新をさせない

通常ファイルを読み込んだりすると atime (アクセス時刻) が更新される。これを mtime (修正時刻) か ctime (作成時刻) が更新されるときのみ更新をするようにする。

/etc/fstab の対象のパーティションのオプションに noatime を追加する。

/dev/wd0a / ffs rw,noatime 1 1
/dev/wd0d /usr ffs rw,nodev,noatime 1 2
/dev/wd0e /var ffs rw,nodev,nosuid,noatime 1 2
/dev/wd0f /home ffs rw,nodev,nosuid,noatime 1 2

上記の記述をしたらシステムを再起動します。

 カーネル内の設定値の変更

カーネルの設定のうちいくつかはリビルドしなくても設定が変更できる。

# 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.
#

※「quit」で保存して、「exit」で保存せずに終了する。

コンソール(端末)設定

 ログイン時のメッセージ

ログイン時の表示される下記のメッセージの内容を変更する。telnet, ftp, ssh のログイン時にも表示される。

OpenBSD 4.7 (GENERIC) #558: Wed Mar 17 20:46:15 MST 2010

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 の中身を変更する。最初の行は起動時に上書きされるので行を開けること。

OpenBSD 4.7 (GENERIC) #558: Wed Mar 17 20:46:15 MST 2010

Welcome to OpenBSD: The proactively secure Unix-like operating system.

 ログアウト後のコンソールクリア (4.2 辺りから不可)

ログアウト後にコンソールの内容をクリアするように設定する。

/etc/gettytab を以下のように P|Pc|Pc に :cl=\E[H\E[2J: を追加する

P|Pc|Pc console:\
        :np:sp#9600:

   ↓

P|Pc|Pc console:\
        :np:sp#9600:cl=\E[H\E[2J:
  • 公式のFAQにも載ってる方法なんだけど、4.2で設定してもうまくいかない (2008-09-22)
  • 公式のFAQからも削除されてる (2010-06-25)

 シェル

コンソールに利用できるシェルのパスが /etc/shells に記載されている。新たにシェルを追加した場合は、ここにフルパスを追加する。

#       $OpenBSD: shells,v 1.8 2009/02/14 17:06:40 sobrado Exp $
#
# list of acceptable shells for chpass(1).
# ftpd(8) will not allow users to connect who are not using
# one of these shells, unless the user is listed in /etc/ftpchroot.
/bin/sh
/bin/csh
/bin/ksh

ネットワーク設定

 ホスト名

hostname コマンドで表示されるホスト名が正しいか確認する。

# hostname
myhost.example.com

ホスト名が正しくない場合には、/etc/myname にホスト名をFQDNで1行だけ書く

myhost.example.com

ホスト名を変更した場合は、/etc/hosts ファイルもあわせて変更する。

 ルーティングの設定

netstat -rn コマンドでルーティングの設定を確認する。

ゲートウェイが正しくない場合には、/etc/mygate にゲートウェイの IPアドレスを1行だけ書く。DHCPの場合はファイルがない。

192.168.0.1

 ネットワークインターフェース

/etc/hostname.xxx (xxx は ne0 等) に設定を書く(複数ある場合はそれぞれのファイルに)

# inet (自分のIPアドレス) (ネットマスク) (ブロードキャストアドレス)
inet 192.168.0.1 255.255.255.0 192.168.0.255
# inet6 (自分のIPアドレス) (ネットマスク) (ブロードキャストアドレス)
inet6 fec0::1 64
# DHCP(Dynamic Host Configuration Protocol)利用
dhcp

 DNS サーバ

/etc/resolv.conf に DNS サーバの IP アドレスを書く

##  resolv.conf - resolver configuration file
# lookup
lookup file bind

#nameserver - IPv4 address or IPv6 address of a name server
nameserver 192.168.0.1

# domain - Local domain name.
#domain domain_name

# search - Search list for hostname lookup.
#search domein_name

DNSを使わないのであれば、作成しない。

 名前解決用ホストファイル

/etc/hosts に必要な分、IPアドレスとホスト名を記述していく

 YP(NIS)ドメイン

/etc/defaultdomain にドメイン名を1行だけ書く

今回は使わないのでファイルなし

最終更新時間:2021年01月13日 21時15分21秒 指摘や意見などあればSandBoxのBBSへ。