{{category OpenBSD,nolink}}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サービス|http://www2.nict.go.jp/w/w114/tsp/PubNtp/index.html]を使用。 # rdate -ncv ntp.nict.jp *OpenBSD FAQ: [8.24 - Why is my clock off by twenty-some seconds?|http://www.openbsd.org/faq/faq8.html#NTPerror] !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. # *OpenBSD FAQ: [8.25 - Why is my clock off by several hours?|http://www.openbsd.org/faq/faq8.html#TimeZone] !!キーボードの設定 コンソールでのキーボード配列を「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」のコマンドで再設定できる。 *OpenBSD FAQ: [7.1 - How do I remap the keyboard?|http://www.openbsd.org/faq/faq7.html#Keyboard] *関連 man → [kbd(8)|http://www.openbsd.org/cgi-bin/man.cgi?query=kbd&sektion=8&arch=i386] *関連 man → [wsconsctl(8)|http://www.openbsd.org/cgi-bin/man.cgi?query=wsconsctl&sektion=8&arch=i386] , [wsconsctl.conf(5)|http://www.openbsd.org/cgi-bin/man.cgi?query=wsconsctl.conf&sektion=5&arch=i386] !!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」で保存せずに終了する。 *関連 man → [config -e (8)|http://www.openbsd.org/cgi-bin/man.cgi?query=config&sektion=8&arch=i386] !!!コンソール(端末)設定 !!ログイン時のメッセージ ログイン時の表示される下記のメッセージの内容を変更する。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. *関連 man → [motd(5)|http://www.openbsd.org/cgi-bin/man.cgi?query=motd&sektion=5&arch=i386] !!ログアウト後のコンソールクリア (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) *==OpenBSD FAQ: [7.3 - How do I clear the console each time a user logs out?|http://www.openbsd.org/faq/faq7.html#ConsoleClear]== !!シェル コンソールに利用できるシェルのパスが '''/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 *関連 man → [shells(5)|http://www.openbsd.org/cgi-bin/man.cgi?query=shells&sektion=5&arch=i386] !!!ネットワーク設定 !!ホスト名 hostname コマンドで表示されるホスト名が正しいか確認する。 # hostname myhost.example.com ホスト名が正しくない場合には、'''/etc/myname''' にホスト名をFQDNで1行だけ書く myhost.example.com ホスト名を変更した場合は、/etc/hosts ファイルもあわせて変更する。 *関連 man → [myname(5)|http://www.openbsd.org/cgi-bin/man.cgi?query=myname&sektion=5&arch=i386] !!ルーティングの設定 netstat -rn コマンドでルーティングの設定を確認する。 ゲートウェイが正しくない場合には、'''/etc/mygate''' にゲートウェイの IPアドレスを1行だけ書く。DHCPの場合はファイルがない。 192.168.0.1 *関連 man → [myname(5)|http://www.openbsd.org/cgi-bin/man.cgi?query=myname&sektion=5&arch=i386] !!ネットワークインターフェース '''/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 *関連 man → [hostname.if(5)|http://www.openbsd.org/cgi-bin/man.cgi?query=hostname.if&sektion=5&arch=i386] !!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を使わないのであれば、作成しない。 *関連 man → [resolv.conf(5)|http://www.openbsd.org/cgi-bin/man.cgi?query=resolv.conf&sektion=5&arch=i386] !!名前解決用ホストファイル '''/etc/hosts''' に必要な分、IPアドレスとホスト名を記述していく *関連 man → [hosts(5)|http://www.openbsd.org/cgi-bin/man.cgi?query=hosts&sektion=5&arch=i386] !!YP(NIS)ドメイン '''/etc/defaultdomain''' にドメイン名を1行だけ書く 今回は使わないのでファイルなし