#author("2022-11-13T10:15:18+09:00;2022-11-08T11:32:32+09:00","default:kaw","kaw")
*河豚板とは
RIGHT:川俣 吉広~
kaw@on.rim.or.jp

河豚板(ふぐいた)はOpenBSDというオペレーティングシステム(Operating System: OS)を基に作成されたライブシステムです。

河豚板は無償で手・利用することができ、DVDやUSBメモリに書込んだ河豚板をPCで起動するだけで手軽にOpenBSDの持つ機能を活用することができます。

さらに、河豚板はバラエティに富んだ起動方法をサポートしていますので単にLiveDVD/LiveUSBとして使うだけでなく、ネットワークのテスト環境を簡単・速に運用したり、電源を投入するだけでアプリケーションソフトを使用できるターンキーシステムを構築したりといった用途にも用いることができます。

この河豚板ガイドでは、記録メディアへの河豚板の書込み方法、起動方法、基本的な使用方法に始まり、進んだ応用のための使用手順や設定方法に至るまで、河豚板を活用するためのノウハウを一通り解説致します。

>Unix系OSの使用経験があまりなく、Unixの基本的な事柄について知りたい方は [[Unixの使い方を調べる>#qd261f24]] をご覧下さい。~
LinuxやFreeBSDなど他のUnix系OSの使用経験がありOpenBSDについて詳しく知りたい方は [[OpenBSDの使い方を調べる>#z306ec3b]] を参願います。
----
''【河豚板ガイド 目次】''
#contents
----
>''【おことわり】'' ~
''⇒''この文書は無保証です。~
この文書を作成するにあたり著は正確な内容と明確な表現を心掛けておりますが、この文書に書かれた内容を実施した結果生じた損害等について著者は責任を負うものではないことを了承のうえ、ご利用下さい。~
なおこの文書に関して、不明瞭な表現、不足している部分、事実と異なる点などございましたら、著のメールアドレス kaw@on.rim.or.jp 宛て、お知らせ下されば幸甚に存じます。

*河豚板を作る
この章では、河豚板が起動するDVDやUSBメモリを作成する方法を紹介します。

河豚板を使うには、主に2つの方法があります。

1つはDVD-RやDVD-RWに河豚板を書込み、これを起動する方法で「LiveDVD」などと呼ばれます。~
もう1つはUSBメモリに書込んだものを起動する方法で、こちらは「LiveUSB」という呼び名があります。

河豚板はLiveDVD版とLiveUSB版のどちらを使用しても同じように利用できますが、それぞれ特徴がありますので用途によって使い分けるのがよいと思います。

-一般的にはUSBメモリの方がDVDよりデータの読み出し速度が早いので、システムやアプリケーションの起動が完了するまでの時間はLiveUSB版の河豚板の方が短かくなる場合が多いです。

-古いPCのなかにはUSBメモリからうまく起動できないものや起動そのものがサポートされていないPCもあります。~
対してDVDのドライブは標準化された規格に準拠して製造されているものが殆どなので、それらはほぼて問題なく河豚板が起動します。

-河豚板などの「ライブシステム」は、ハードディスクなどにインストールされないため、データをてメモリ上に保持しています。このため、通常はシステムを終了するとそれまでのデータはすべて消えてしまいます。~
LiveUSB版の河豚板にはデータの保存領域が確保されており、この領域に各種設定、ファイルなどを保存し、次回のシステム起動時に復帰させることができます。

-記録メディアの単価はUSBメモリに比べDVD-Rなどの学メディアの方が安いため、同時に多数のマシンで動作させたり、メディアをセットしっぱなしの状態で使う、あるいは大量に作成して配布する、といったような使い方にはLiveDVD版の方が向いています。

総じて「動作の確実性や経済性を求めるのであればLiveDVD版が、性能や利便性を重視するならLiveUSB版が向いている」と言えます。

>''【メモ】'' ~
''⇒''[[LiveDVD版とLiveUSB版の両方を同時に使う>#o7bfa547]]「いいとこ取り」な使いかたもできます。 ~
このテクニックを使うと、例えば「USB起動に対応していないPCでLiveUSB版の河豚板を使う」ことや「LiveDVD版の河豚板でデータの保存と読み込みをする」ことなどもできます。

最初に河豚板を使い始めるには、以下の手順を踏みます;
+河豚板の布サイトからファイルをダウンロードする
+ダウンロードしたファイルは圧縮されているので、それを展開する
+展開したファイルをDVD-RやUSBメモリに書き込む

以下、それぞれの手順について説明をします。

**河豚板をダウンロードする
#ref(dlsite.png,around,right)

河豚板はフリーソフトウェアです。河豚板の最新版を始めとしたての版はインターネットで公開され、自由にダウンロードして使用することができます。

河豚板のダウンロードサイトは4つあります。

-https://jp1.dl.fuguita.org/

-https://jp2.dl.fuguita.org/

-https://de.dl.fuguita.org/

-https://fr.dl.fuguita.org/

サイトの容は同じなので、どちらのサイトからでも同じようにダウンロードできます。~
日本国からは、jp1.dl.fuguita.org または jp2.dl.fuguita.org でのダウンロードをお勧めします。

これらのサイトにアクセスすると、右図のような容が表示されます。
このうち、「FuguIta-」で始まる名前のファイルが河豚板の布物です。
#clear
このファイル名の意味は、次のようになっています。
 FuguIta-7.2-amd64-202211011.iso.gz
         --- ----- --------- --- --+->ファイルの圧縮形式です。
          |    |       |      |       ・gz ... gzipコマンドを使って圧縮しています
          |    |       |      +->ファイルの種類です
          |    |       |         ・iso ... DVD-R/DVD-RW書込み用のISOイメージです
          |    |       |         ・img ... USBメモリ書込み用の生イメージです
          |    |       |
          |    |       +->河豚板のリリース(バージョン)です
          |    |          ・「年月日」「一連番号」 の形式となっています
          |    |          ・一連番号は、一日のうち2つ以上の河豚板を作成した場合、
          |    |            一つづつ増えて行きます
          |    |
          |    +->対応プラットフォームです。
          |       河豚板は現在、i386, amd64, arm64の3種類のプラットフォームに対応
          |       しています。お使いのPCのCPU型式に対応したものを選択して下さい。
          |
          +->この河豚板のとなっているOpenBSDのバージョンです
作成するのがLiveDVDか、あるいはLiveUSBか、PCのがインテル系の32ビットCPU、あるいは64ビットCPUかでファイルを選択してダウンロードします。
>''【メモ: 対応アーキテクチャについて】'' ~
''⇒''上で説明したように、PCで河豚板を使う場合、CPUの種類によってi386かamd64のどちらかを選択する要がありますが、現在使われているPCはほとんどがamd64アーキテクチャの64ビットCPUです。i386は、amd64以前に開発されていた32ビットCPUです。 ~
arm64はシングルボードコンピュータなどでよく使われているCPUアーキテクチャです。arm64版の河豚板はRaspberry Pi 3及び4で動作が確認されています。。

ダウンロードが完了したら、圧縮されているファイルを展開します。~
以下は、Unix系のOSでシェルのコマンドラインからDVD-R/DVD-RW用のファイルを展開する場合の例です;
 gzip -d FuguIta-6.0-amd64-201612251.iso.gz

展開が完了するとファイルサイズが約1ギガバイトになり、ファイル名も.gzの拡張子が取れたものになります。

>''【メモ】'' ~
''⇒''SHA256というファイルには、河豚板のファイルのSHA256チェックサムが記録されており、このファイルを使用してダウンロードしたファイルが破損していないかどうかをチェックできます。~
チェックを行うにはSHA256ファイルもダウンロードし、以下のように行います。
 sha256 -C SHA256 FuguIta-6.0-amd64-201612251.iso.gz
これはOpenBSD上で行った例です。他のOSでは、それぞれのマニュアルを参して下さい。

**河豚板のLiveDVDを作る
LiveDVD版の河豚板を作るにはDVD-RやDVD-RWなどの書込み可能なDVDメディアを用意し、展開済みのISO形式のファイルを書き込みます。~
以下は、OpenBSD上で書き込みを行う場合の例です;
 pkg_add dvd+rw-tools                   ←DVDの書込みソフトdvd+rw-toolsをインストールする
 growisofs --dvd-compat -Z /dev/rcd0c=FuguIta-6.7-amd64-202006244.iso  ←イメージを書込み
>''【メモ】'' ~
''⇒''他のOSでも[[ISOイメージ書き込みソフトが開されている>https://www.google.co.jp/?q=ISO+%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF+%E3%82%BD%E3%83%95%E3%83%88]]ので、そのようなソフトを使って河豚板のLiveDVDを作成できます。

**河豚板のLiveUSBを作る
LiveUSB版の河豚板を作るには2ギガバイト以上のサイズのUSBメモリを用意し、ダウンロード・展開済みのIMG形式のファイルを書き込みます。~
以下は、OpenBSDを使用して書き込みを行う場合の例です;
 dd if=FuguIta-6.7-amd64-202006244.img of=/dev/rsd0c
>&color(red){''【ご注意】''};~
&color(red){''!!''上の例の「/dev/rsd0c」の部分は書き込みとなる機器の指定です。これはあなたが使用するPCの周辺機器の接続状態、あるいはddコマンドを実行するオペレーティングシステムの種類によって変ってきます。このコマンドを実行すると指定した機器に記録されているデータは全て消えてしまいますので、書き込み先が正しいかどうかの確認は事前に十分に行って下さい。};

>''【メモ】''~
''⇒''ISOイメージ書込みソフト同様、[[生イメージ書き込み用のソフトも種公開されて>https://www.google.co.jp/?q=%E7%94%9F%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8+%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF+%E3%82%BD%E3%83%95%E3%83%88]]いますので、そのようなソフトも利用可能です。~
''⇒''2ギガバイト以上のUSBメモリを使用しても、2ギガバイトをえる部分は使用されません。~
USBメモリのサイズに合ったLiveUSB版河豚板を作成したい場合は [[USBメモリの容量に合った河豚板をインストールする>#ld36d7ec]] を参して下さい。

**arm64版の河豚板を作る
Raspberry Pi 3およびRaspberry Pi 3で動く河豚板をる方法は[[河豚板のLiveUSBを作る>#i222ed0b]]場合と同じです。
ただし、ファイルの書込みがUSBメモリではなく、マイクロSDカードになります。

*河豚板を起動する

この章では河豚板の起動方法、およびその途中で行う設定値の力について説明します。

**起動デバイスの選択
河豚板を書き込んだDVDやUSBメモリをPCにセットして起動すると、河豚板のシステムが起動します。

>''【メモ】''~
''⇒''DVDやUSBメモリをセットして起動しても、すでにインストールされているWindowsやLinuxなどが起動してしまう場合があります。これは、PCにはどの機器を使用して起動するかの優順設定があり、この設定がDVDやUSBメモリより内蔵ハードディスクの方が優先的に起動するようになっているためです。~
河豚板を起動できるようにするにはPCのBIOSメニューの設定を変更し、DVDやUSBメモリの優順位を内蔵ハードディスクより高くします。~
PCのBIOSメニューは機種により異なりますので、お使いのPCの取扱説明書をご参頂くか、[[ネット上で検索を行い、調べてみて>https://www.google.co.jp/?q=bios+%E8%B5%B7%E5%8B%95%E9%A0%86%E4%BD%8D]]下さい。

河豚板が起動すると、以下のようなメッセージが表示されます;

 >> OpenBSD/amd64 CDBOOT 3.46
 boot>
 booting cd0a:/bsd-fi.mp: 12997960+2769928+2277408+0+708608\[806285+128+1028280+751803]=0x145cb88
 entry point at 0xffffffff81001000
 [ using 2587528 bytes of bsd ELF symbol table ]
 Copyright (c) 1982, 1986, 1989, 1991, 1993
         The Regents of the University of California.  All rights reserved.
 Copyright (c) 1995-2020 OpenBSD. All rights reserved.  https://www.OpenBSD.org
 
 OpenBSD 6.7-stable (RDROOT.MP) #1: Fri Jun  5 09:41:45 JST 2020
     root@nimbus9.localnet:/opt/fi/6.7/sys/arch/amd64/compile/RDROOT.MP
 real mem = 1056825344 (1007MB)
 avail mem = 1010286592 (963MB)
 mpath0 at root
 ~略~
 scsibus4 at vscsi0: 256 targets
 softraid0 at root
 scsibus5 at softraid0: 256 targets
 uhub1: illegal enable change, port 1
 root on rd0a swap on wd0b dump on rd0b

>''【メモ】''~
''⇒''実際には画面表示が途中から&color(white,blue){青地に白};になります。~
このメッセージはカーネル(オペレーティングシステム本体)が表示しています。
#ref(fuguboot.png,wrap)
これらの表示にはPCのメモリや周辺機器の接続状などの認識結果が示されており、起動がうまくいかない場合などのトラブルを解決する際に重要な情報源となります。

OpenBSDカーネルの起動が完了すると、河豚板のバナーが表示されます。

 ============================================
 =     ______               __   _
 =    / ____/              |  |_| |__
 =   / /____  ______  __  _|  /_   _/_____
 =  / ___/ / / / __ \/ / / |  | | | /  _  |
 = / /  / /_/ / /_/ / /_/ /|  | | |_| (_) |__
 =/_/   \____/\__  /\____/ |__| \___/____/__/
 =            __/ /
 =           /___/
 =
 = Welcome to FuguIta - OpenBSD Live System!
 =                         http://fuguita.org/
 =============================================

河豚板のバナー表示に続きこのPCに接続されているディスク機器の調査が行われ、そのうちどれに河豚板のシステムがインストールされているかの表示が行われます。

以下の例では「FuguIta's operating device(s): cd0a.」とあるので、LiveDVD版の河豚板がCD, DVD, Blu-Rayなどの学ドライブにセットされていることがわかります。

よって、「Which is FuguIta's operating device?」(河豚板の運用機器はどれですか?)のプロンプトに対し ''cd0a'' と力します。
>''【メモ】''~
''⇒''これ以降、様な値を入力してゆきますが、それらのプロンプト中に「[default: xxxx]」という表示がある場合は xxxx がデフォルト値であることを示しています。この場合は下の例のように<Enter>キーを入力するだけでもxxxx<Enter>と入力されたものと見なされます。

 scanning partitions: cd0a sd1d
 FuguIta's operating device(s): cd0a.
 Which is FuguIta's operating device? [default: cd0a] ->      ← <Enter>のみ
>''【メモ】''~
''⇒''OpenBSDオペレーティングシステムでは、ディスク機器に対して以下のようなルールで名前がつきます。
-最初のアルファベット数文字 ... 機器の種類
--cd ... CD, DVDやBlu-Rayなどの学ドライブ
--wd ... ハードディスク(IDE, SATA接続)
--sd ... USBメモリ、SDカード、メモリスティック、SATA接続、SCSI接続、USB接続のハードディスクなど
--fd ... フロッピーディスク
-それに続く数字 ... その種類の機器が複数接続されてる場合、0から増えてゆきます
-最後のアルファベット ... その機器の区画(パーティション)~
パーティションは概ね、以下のように使用されています;
--c ... その機器体を表します
--b ... その機器のOpenBSDスワップパーティションを表します
--a, d~h ... OpenBSDのファイルが格納されるパーティションです。aパーティションはルートファイルシステムとして用いられることが多いです
--i, j など ... WindowsやLinux用のパーティションはこのi, jパーディションとされることが多いです。
-注)cパーティション、bパーティション以外は習的にそのようなパーティション名が付けられている場合もあり、上の説明に従わないケースもあります。

**mfsサイズの設定
続いて、メモリに関する設定を行います。

以下の例ではまず、このPCでは1007メガバイトのメモリが使用可能であることを報告しています。~
そして、その1007MBのメモリの、何メガバイトをmfsに割り当てるかをユーザが入力します。

河豚板は通常、PCに蔵されたハードディスクを使用しないため、その替わりにメモリ上にディレクトリやファイルを保持する領域を確保します。OpenBSDにはそのための仕組みとしてmfs (Memory File System)というものがあり、河豚板もこのmfsを使用しています。

設定値の力箇所には「default: 755M」と表示されており、<Enter>キーだけを入力すると、この値が指定されたと見なされます。
通常は<Enter>キーだけの力で問題ありません。
 activating swap partition: /dev/sd0b
 available memory: 1007M
 total swap size: 16M
 
 Enter mfs size.
   You can add suffix K, M, or G.
   % is a percentage of memory size.
   and %% is a percentage of the total memory and swap.
   otherwise considered "megabytes"
 
 [default: 755M] ->         ← <Enter>のみ set mfs size to 755MB
''【メモ】''~
''⇒''表示で説明されているように、力値には「K」「M」「G」を付けて、キロバイト・メガバイト・ギガバイトで指定でき、「%」を付けると、使用可能メモリのパーセンテージで、「%%」で使用可能メモリとスワップパーティションの総量に対するパーセンテージで指定できます。~
何も付けず数字だけの場合はメガバイトと見なされます。

''【メモ】''~
''⇒''mfsの最大容量には、アーキテクチャ毎に最大値が決っており、この値をえて指定することはできません。その値はi386で1ギガバイト程度、amd64で32ギガバイト、arm64で16ギガバイトとなります。
///>''【メモ】''~
///''⇒''0ではない数値を力した場合はその値がmfsが保持できるファイルの最大値となります。例えば下の例で100<Enter>と入力したとすると、ファイルやディレクトリは合計で最大約100メガバイトまで保持でき、残りの約155メガバイトはプログラムの実行のために確保されます。

**起動モードの選択
続いて起動モードの選択に移ります。

起動モードにはモード0からモード5までの6種類がありますが、まずは標準的なモード0を選択します。
 Boot modes:
   0: fresh boot - standard mode as a live system
   1: fresh boot - less memory, faster boot (/usr is non-writable, can't pkg_add)
   2: fresh boot - works using only RAM (about 1GB or more of RAM required)
   3: boot with retrieving saved files from storage device
      or enter passphrase for an encrypted volume
   4: boot with retrieving saved files from floppy disk
   5: interactive shell for debugging
 ->0
 Running manual setup.
 Copying system files to /ram ... done
 Extracting symlinks from /ram to /fuguita ... done
>''【メモ】''~
''⇒''他のモードについては [[河豚板を使う【一般編】>#v7ad37bc]] や [[河豚板を使う【応用編】>#kf683b7c]] で説明します。

**キーボードレイアウトの設定
次はキーボードの言語設定です。

日本語キーボードの場合は「jp」又は「jp.swapctrlcaps」を力します。

「jp.swapctrlcaps」を力すると、<Control>キーと<Caps>キーの位置が入れ替わり、<Control>キーはアルファベット「A」キーの左隣となります。~
EmacsエディタやBashシェルなどのキー割り付けにれている方はこちらのほうがよいかも知れません。
 Enter keyboard type.
 
 pc-xt/pc-at keyboard:
 us de de.nodead fr fr.dvorak dk dk.nodead it uk jp sv sv.nodead no no.nodead us.
 declk us.dvorak us.colemak us.swapctrlcaps us.iopener uk.swapctrlcaps jp.swapctr
 lcaps fr.swapctrlcaps fr.swapctrlcaps.dvorak be.swapctrlcaps us.swapctrlcaps.dvo
 rak us.swapctrlcaps.colemak us.swapctrlcaps.iopener es be ru ua sg sg.nodead sf 
 sf.nodead pt lt la br tr tr.nodead pl hu si cf cf.nodead lv nl nl.nodead is is.n
 odead ee ee.nodead
 keyboard type -> jp

**管理パスワードの設定
キーボード設定に続き、管理パスワードの設定を行います。

OpenBSDなどのUnix系OSでは、システム管理のことを「スーパーユーザ (super user)」と呼び、それ以外のユーザを「一般ユーザ (ordinary user)」と呼びます。~
スーパーユーザには、あらかじめ「root」というユーザ名が割当てられていますので、そのrootに対してパスワードを設定します。
 Changing password for root.
 New password:                                 ← パスワード力は表示されません
 Retype new password:                          ← 確認のため、もう一回力します
>''【メモ】''~
''⇒''OpenBSDでは力したパスワードが短かすぎたり単純過ぎたりすると、警告文が出てそのパスワードは受け入れられません。~
設定するパスワードには以下のようなものが推奨されています;
-半角6文字以上
-アルファベットの大文字と小文字を混在させる
-数字や記号文字、制御文字なども混ぜる

**ネットワーク関連の設定
次に、ネットワーク関連の設定を力します。

>&color(red){''【ご注意】''};~
&color(red){''!!''ネットワークの設定容は接続するネットワークの環境によって異なります。&br;ネットワークの環境に合致しない設定をされたコンピュータが接続された場合、そのネットワークや接続されたコンピュータに思わぬ影響を及ぼすことがあります。&br;企業内や公共施設などに河豚板を接続する場合は、そのネットワークの管理者に接続設定について前もって相談することをお勧めします。};

***ホスト名の設定
最初に、河豚板を走らせるPCに名前(ホスト名: host name)を付けます。
ホスト名は、ドメイン付き(FQDN: Fully Qualified Domain Name)で力します。
閉じたネットワークで使用する場合など、ドメイン無しで構わない場合はドメイン部分を省略できます。~
この例ではホスト名として「fugu-demo.localnet」という名前を付けています。
 Hostname with domain part (FQDN):
 only host name without domain part is also OK.
 -> fugu-demo.localnet
>''【メモ】''~
''⇒''家庭のネットワークなどでは、ドメイン名は正式に登録・管理されているわけではないので、適当な名前を付けます。一般に ''.local'' や ''.localnet'' などが使われることが多いようです。~
組織によって管理されているネットワークの場合は、そのネットワークの管理に相談して下さい。

***IPプロトコルバージョンの選択
次は使用するIPプロトコルバージョンの設定です。
 IP protocol version(s) to be enabled: 4, 6, 46, 64 or "none"
   4: enable only IPv4
   6: enable only IPv6
   46: give priority to IPv4 name resolution
   64: give priority to IPv6 name resolution
   none: operate as standalone
 [64] ->
IPv4プロトコルだけを使用して通信を行う場合は「4」を、IPv6プロトコルだけの場合は「6」を、IPv4、IPv6両方を使用する場合は「46」または「64」を力します。

「none」を力するとIPネットワークに関する設定は行なわれず、ネットワークに接続せず、単独で使用するものとして設定されます。

~<Enter>キーのみを力した場合は、「64」を入力したものとみなされます。

通常は<Enter>キーのみの力で問題ありません。

>''【メモ】''~
''⇒''IPv4、IPv6両方を使用する場合は「46」と「64」のどちらも指定できますが、DNSの問い合せ順序が異なります。~
「46」ではIPv4を優してアドレスの問合せを行い、逆に「64」ではIPv6の問い合せが優先されます。

***ネットワークインターフェースの設定
続いてネットワークインターフェースの設定を行います。

まず、このPCに接続されているネットワークインターフェースの一覧が表示されますので、設定を行いたいデバイスを1つだけ指定します。
 Network Interfaces: Choose one
 
   NIC	 type	   Name
 -------- ----- ------------
     bge1 ether Broadcom BCM57766
     ure0 ether Realtek USB 10/100/1000 LAN
     run0 wifi  Ralink 802.11 n WLAN
 [bge1] ->
>''【メモ】''~
「bge」はBroadcom社製のギガビットイーサネットインターフェースに付けられている名前です。~
bge以外のイーサネットインターフェースやWi-Fiインターフェースが接続されている場合なども、それらが一覧表示に出力されます。~
のネットワークインターフェースについてはOpenBSDに内蔵されている [[オンラインマニュアルで調べること>#z306ec3b]] ができます。

#aname(wifi-set)
***Wi-Fiの設定
このあと、ネットワークインターフェースとしてWi-Fiデバイスを選択した場合にのみ、以下のような設定目が表れます。
 Wi-Fi settings:
   SSID -> my-wifinet             ← 接続したいWi-FiのSSIDを   WPA Key -> my-wpa-secrect-key  ← WPAの鍵をなお、WPAの鍵をENTERのみ力し、設定を行わなかった時にWEPの鍵を訊いてきます。~
WEP方式は現在では簡単に暗号を解読されてしまうため、WEPは使用せずWPA方式を使用することを強くお勧めします。
   SSID -> my-wifinet
   WPA Key -> 
   WEP Key -> my-wep-unsecured-key
>''【メモ】''~
''⇒''Wi-Fiデバイスには、デバイスメーカーが供給するファームウェア(firmware)が要で、動作のためにはファームウェアのダウンロードとインストールが必要な場合があります。~
この場合は有線LANを設定してインターネットに接続した後、[[ファームウェアのダウンロードが要なWi-Fiデバイスを使う>#e61af36c]] の項を参照し、Wi-Fiの設定を行って下さい。~
''⇒''WEP鍵の力に対してENTERのみを入力した場合はWPA・WEPのいずれの鍵もなしでWi-Fiの接続を試みます。これは鍵が設定されていない公衆Wi-Fiに接続する場合などに使用します。

***IPv6の設定
IPv6を有効にした場合は、以下の設定力が表れます。
説明にあるように、"auto"、あるいは手動によりアドレスを設定します。
多くの場合、"auto"で対応可能です。
 IPv6 - address and routing:
   Enter "auto" or "IPv6_address[/prefixlen] [default_gateway]"
   "auto" is an automatic setting by SLAAC.
   The "/prefixlen" part can be an integer between 0 and 128.
   If there is no default gateway, set the second field to "none" or leave it blank.
 [auto] ->
>''【メモ】''~
''⇒''"/prefixlen"を省略した場合、"/64"を指定したと見做されます。~

***IPv4の設定
IPv4を有効にした場合は、以下の設定力が表れます。
説明にあるように、アドレス自動設定を行う場合は"auto"を指定するか、ENTERキーのみを押します。
下記の例ではアドレスの力を行うことで、手動によるアドレス設定を行っています。
 IPv4 - address and routing:
   Enter "auto" or "IPv4_address[/mask] [default_gateway]"
   "auto" is an automatic setting by DHCP.
   The "/mask" part can be specified in either format, such as "/255.255.255.0" or "/24".
   If there is no default gateway, set the second field to "none" or leave it blank.
 [auto] -> 192.168.1.147/24 192.168.1.254
>''【メモ】''~
''⇒''"/mask"を省略した場合は、適切と思われるネットマスクが仮定されます。~
''⇒''IPv4アドレスの自動設定を使用するには、そのネットワークにあらかじめDHCPサーバが設置されている要があります。
家庭用のネットワーク機器や共のWi-FiスポットではDHCPサーバが設置されていることが多いです。

***DNSサーバの設定
IPv4やIPv6の設定で手動によるアドレス設定を行った場合、DNSの設定力が表れます。
DNSサーバのIPアドレスを最大3つまで、スペースで区切って力します。
 DNS servers: up to 3 IP addresses, separated by spaces
 -> 192.168.1.253
>''【メモ】''~
''⇒''DNS (Domain Name System)とは、「fuguita.org」のようなドメイン名から「152.152.211.70」のようなIPアドレスを検索するための仕組みです。コンピュータが通信を始める時、まずDNSサーバと呼ばれるコンピュータに検索を依頼し、その検索結果として返されたIPアドレスを使用して通信します。~
''⇒''IPアドレスを直接指定して通信する場合はDNSサーバは要ありませんので、ENTERのみ入力します。

***設定値の書込み
最後に、今まで力した設定値を反映した設定ファイルが「/etc/fuguita/netconfs/設定名」のディレクトリ下に書き出されます。
 writing configured values to:
   /etc/fuguita/netconfs/default/myname
   /etc/fuguita/netconfs/default/mygate
   /etc/fuguita/netconfs/default/hosts
   /etc/fuguita/netconfs/default/hostname.bge1
   /etc/fuguita/netconfs/default/resolv.conf

**ログイン方法の選択
最後に、どのような方法でログインするかを指定します。~
ログイン方法には、このままコンソール画面から行う方法と、X Window Systemのログイン画面(xenodm)からログインする方法の2通りあります。~
以下の例では<Enter>キーのみを力して、デフォルトのコンソールからのログインを選択しています。
 Do you login with C)onsole or X) Window System?
 [default: C] -> 
X Window Systemからのログインを行うには、「x」を力します。

起動時の設定は以上です。残った初期化処理を行った後は[[ログイン画面に移行>#v7ad37bc]]します。
             _________________________________________________
            /      Setup for FuguIta ends.         /
           / OpenBSD's boot sequence will follow. /
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Automatic boot in progress: starting file system checks.
 kbd: keyboard mapping set to us
 pf enabled
 machdep.allowaperture: 0 -> 2
 machdep.lidaction: 1 -> 0
 ~略~
 starting network daemons: sshd smtpd sndiod.
 running rc.firsttime
 Path to firmware: http://firmware.openbsd.org/firmware/6.7/
 Installing: vmm-firmware
 starting local daemons: cron.
 fuguita: disabled KARL because of read-only media
 
 Thu Jul  2 06:51:57 UTC 2020
 
 OpenBSD/amd64 (fugu-demo.localnet) (tty00)
 
 login: 
ログインプロンプト「login:」が表示されると、このPCはユーザが利用可能な状になっています。~
以降は [[河豚板を使う>#v7ad37bc]] にて説明を致します。

*河豚板を使う【一般編】
[[河豚板を起動する>#i322b9ad]] では起動及びその設定方法について説明しました。~
この章ではシステムが起動完了し、実際に使用する時の基本的な手順について説明します。

また、Unix系OSになじみのない人、そして他のUnix系OSを使用経験がある人が参すると役に立つ情報源をそれぞれ紹介します。

**システム管理としてログイン・ログアウトする
河豚板の起動が完了すると、OpenBSDオペレーティングシステムのログイン画面が表示されます。~
最初はスーパーユーザのアカウントのみがログインできる状ですので「login:」のプロンプトに対し ''root''、「Password:」のプロンプトに対し起動時に設定したパスワードを入力します。

 OpenBSD/amd64 (fugu-demo.localnet) (tty00)
 
 login: root
 Password:
 OpenBSD 6.7-stable (RDROOT.MP) #1: Fri Jun  5 09:41:45 JST 2020
 
 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.
 
 You have new mail.
 fugu-demo# 

ログインに成功するとシェルのプロンプト「#」が表示され、コマンドが実行可能な状になります。~
例としてpsというコマンドを実行してみます。

 fugu-demo# ps -aux
 USER       PID %CPU %MEM   VSZ   RSS TT  STAT   STARTED       TIME COMMAND
 root     68528  3.6  0.1   868   884 00  Sp      6:51AM    0:01.89 -ksh (ksh)
 root         1  0.0  0.1   884   532 ??  I       6:40AM    0:01.68 /sbin/init
 root     14453  0.0  0.1   792   644 ??  Ip      6:43AM    0:00.47 /sbin/slaacd
 _slaacd  53995  0.0  0.1   812   784 ??  Ip      6:43AM    0:00.81 slaacd: engi
 _slaacd  33982  0.0  0.1   800   732 ??  Ip      6:43AM    0:00.81 slaacd: fron
 root     55401  0.0  0.1   712   548 ??  IU      6:44AM    0:00.17 dhclient: em
 _dhcp    78950  0.0  0.1   840   700 ??  Ip      6:44AM    0:00.10 dhclient: em
 root     86344  0.0  0.2   520  2184 ??  IpU     6:46AM    0:00.64 syslogd: [pr
 _syslogd 45328  0.0  0.1  1128  1488 ??  Sp      6:46AM    0:01.04 /usr/sbin/sy
 root     73380  0.0  0.1   836   584 ??  IU      6:46AM    0:00.27 pflogd: [pri
 _pflogd  53476  0.0  0.1   876   540 ??  Sp      6:46AM    0:02.97 pflogd: [run
 _ntp     63935  0.0  0.3  1016  2868 ??  S<p     6:47AM    0:02.87 ntpd: ntp en
 _ntp     18769  0.0  0.2   820  2508 ??  Ip      6:47AM    0:01.86 ntpd: dns en
 root     34145  0.0  0.2   788  1568 ??  S<pU    6:47AM    0:00.81 /usr/sbin/nt
 root     63360  0.0  0.1  1324  1280 ??  I       6:47AM    0:00.37 sshd: /usr/s
 root     61566  0.0  0.2  1680  2052 ??  Ip      6:48AM    0:00.82 /usr/sbin/sm
 _smtpd   19845  0.0  0.4  1448  3940 ??  Ip      6:48AM    0:01.83 smtpd: klond
 _smtpd   66321  0.0  0.4  1716  4240 ??  Ip      6:48AM    0:02.23 smtpd: contr
 _smtpd   91561  0.0  0.4  1552  4164 ??  Ip      6:48AM    0:01.95 smtpd: looku
 _smtpd   90688  0.0  0.4  1844  4396 ??  Ip      6:48AM    0:02.69 smtpd: pony
 _smtpq   16446  0.0  0.4  1640  4252 ??  Ip      6:48AM    0:02.47 smtpd: queue
 _smtpd   82450  0.0  0.4  1440  3988 ??  Ip      6:48AM    0:02.17 smtpd: sched
 _sndio   66682  0.0  0.1   516   744 ??  I<p     6:48AM    0:00.17 /usr/bin/snd
 _sndiop  92235  0.0  0.1   504   920 ??  IpU     6:48AM    0:00.08 sndiod: help
 root      1376  0.0  0.1   672  1268 ??  Sp      6:51AM    0:00.84 /usr/sbin/cr
 root      6575  0.0  0.0   484   360 00  R+pU/0  7:32AM    0:00.35 ps -aux
 root     13541  0.0  0.1   288  1296 C0  I+pU    6:51AM    0:00.58 /usr/libexec
 root     70324  0.0  0.1   292  1308 C1  I+pU    6:51AM    0:00.54 /usr/libexec
 root     10475  0.0  0.1   296  1312 C2  I+pU    6:51AM    0:00.44 /usr/libexec
 root     81779  0.0  0.1   292  1304 C3  I+pU    6:51AM    0:00.58 /usr/libexec
 root     45364  0.0  0.1   284  1280 C5  I+pU    6:51AM    0:00.47 /usr/libexec
 fugu-demo# 

psは、現在どのようなプログラム(プロセス)が動いているかを表示するコマンドです。~
システムが起動直後、しかも画面表示上動きのない様子であっても部ではすでに沢山のプロセスが起動されていることがわかります。

ログアウトするにはシェルのプロンプト「#」が出ているときに <Control>-D を押すか、「exit」と力します。
>''【メモ】''~
''⇒''<Control>-Dは「<Control>キーを押したままの状でアルファベットの「D」キーも押す」という意味です。<Control>-Dはまた、「^D」と表記されることもあります。

 # exit
 
 OpenBSD/amd64 (fugu-demo.localnet) (tty00)
 
 login: 
ログアウトすると「login:」が表示され、再度ログインできる状になります。

**一般ユーザを登録する
起動直後の河豚板は、スーパユーザ(システム管理)用のアカウントrootでのみログインできます。

Unix系のOSでは、通常は一般ユーザとしてログインし、日常の利用を行います。~
システム管理の時には一般ユーザから一時的にスーパユーザになるか、あるいは一般ユーザからログアウトした後、スーパユーザとしてログインし直して管理作業を行います。
>&color(red){''【ご注意】''};~
&color(red){''!!''スーパユーザでログイン中はシステムを動作不能にしてしまうような操作を容易に実行できてしまいます。勿論、意にではない誤操作の場合も例外ではありません。このようなリスクを防ぐため、一般ユーザのアカウントを作成し、通常はそのアカウントで使用することを''強くお勧め''します。};

以下、一般ユーザとしてyoshiというアカウントを作成してみます。~
ユーザアカウントの作成もシステム管理ですので、rootで行います。

ユーザアカウントを追加するにはadduserというコマンドを使用します。~
まず、ユーザアカウント追加時のデフォルト値を訊かれます。これはadduserの初回の実行時にだけ訊かれます。通常はて<Enter>キーのみの入力で問題ありません。
 # adduser
 Couldn't find /etc/adduser.conf: creating a new adduser configuration file
 Reading /etc/shells
 Enter your default shell: bash csh ksh nologin nsh sh [ksh]:    ←<Enter>を Your default shell is: ksh -> /bin/ksh
 Default login class: authpf bgpd daemon default pbuild staff unbound
 [default]:                                                      ←<Enter>を Enter your default HOME partition: [/home]:                     ←<Enter>を Copy dotfiles from: /etc/skel no [/etc/skel]:                   ←<Enter>を Send welcome message?: /path/file default no [no]:              ←<Enter>を Do not send message(s)
 Prompt for passwords by default (y/n) [y]:                      ←<Enter>を Default encryption method for passwords: auto blowfish [auto]:  ←<Enter>を Use option ``-silent'' if you don't want to see all warnings and questions.
 
 Reading /etc/shells
 Check /etc/master.passwd
 Check /etc/group
以降は、一般ユーザのアカウント「yoshi」を作成してみます。~
最初に表示されているように、力内容は最後に訂正でき(入力しなおせ)ます。
 Ok, let's go.
 Don't worry about mistakes. There will be a chance later to correct any input.
 Enter username []: yoshi                        ←アカウント名(半角アルファベット半角数字)
 Enter full name []: Yoshihiro Kawamata          ←ユーザの本名
 Enter shell bash csh ksh nologin nsh sh [ksh]:  ←<Enter>を力 (ログインシェル)
 Uid [1000]:                                     ←<Enter>を力 (ユーザID)
 Login group yoshi [yoshi]:                      ←<Enter>を力 (ログイングループ)
 Login group is ``yoshi''. Invite yoshi into other groups: guest no
 [no]: wheel                                     ←(ログイングループ以外に加するグループ)
 Login class authpf bgpd daemon default pbuild staff unbound
 [default]:                                      ←<Enter>を力 (ログインクラス)
 Enter password []:                              ←パスワードを力 (表示されません)
 Enter password again []:                        ←確認のためのパスワード再 
 Name:        yoshi
 Password:    ****
 Fullname:    Yoshihiro Kawamata
 Uid:         1000
 Gid:         1000 (yoshi)
 Groups:      yoshi wheel
 Login Class: default
 HOME:        /home/yoshi
 Shell:       /bin/ksh
 OK? (y/n) [y]: y                                ←力内容の確認
 Added user ``yoshi''
 Copy files from /etc/skel to /home/yoshi
 Add another user? (y/n) [y]: n                  ←他にもユーザアカウント作成するなら「y」
 Goodbye!
 # 
>''【メモ】''~
''⇒''この例ではアカウントyoshiをwheelというグループにも加させています。~
wheelに加しているユーザは、システム管理作業を行うために、一時的にrootになることができます。

以上で、yoshiという一般ユーザアカウントが作成されましたので、実際にログインできるか確認してみます。
 fugu-demo# exit
 
 OpenBSD/amd64 (fugu-demo.localnet) (tty00)
 
 login: yoshi
 Password:
 OpenBSD 6.7-stable (RDROOT.MP) #1: Fri Jun  5 09:41:45 JST 2020
 
 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.
 
 fugu-demo$ pwd
 /ram/home/yoshi
 fugu-demo$ ls
 fugu-demo$ ls -a
 .          .Xdefaults .cvsrc     .mailrc    .ssh
 ..         .cshrc     .login     .profile
 fugu-demo$ ^D
 
 OpenBSD/amd64 (fugu-demo.localnet) (tty00)
 
 login: 
>''【メモ】''~
''⇒''rootでログインしたときのシェルのプロンプトは「#」になりますが、一般ユーザの場合は「$」となります。~
以降の例示箇所でもこの表記に従います。~
''⇒''OpenBSDではrootアカウントでのSSHによるログインは許可されていません。SSHによるリモートログインを行ないたい場合も一般ユーザのアカウントを作成しておく要があります。

**X Window Systemを起動してみる。
OpenBSDはX Window Systemというグラフィック環境を含んだ形で出荷されており、河豚板もこのX Window Systemを使用することができます。
>''【メモ】''~
''⇒''X Window Systemは「X」や「X11」などと略して呼んでもよいことになっています。以下、X Window SystemをXと表記することにします。

Xを使用するには、[[ログイン方法の選択>#a5fdbf53]] で説明したように、ログイン方法としてX Window Systemを選択します。
 Do you login with Console or X Window System?
 [default: Console] -> x
Xが起動すると、以下のようなログイン画面が表示されますので、ユーザ名とパスワードを力します。
#ref(xenodm-login.png,,50%)
ログインに成功すると以下のような画面になります。
#ref(startx.png)
画面左上の白いウィンドウは「端末エミュレータ」というもので、X上でシェルとのセッションなど、文字端末での作業を行うためのプログラムです。~
右上には時計が表示されています。~
左下にあるものは「xconsole」といい、システムのログ報を表示するプログラムです。起動直後はこのプログラムはアイコン化されています。~
右下の表のようなものは、「仮想デスクトップ」といい、複数のデスクトップ画面を切り替えて使用できるようにするものです。標準の設定では3列×3行=9面のデスクトップ画面を切り替えられます。

壁紙部分(Xでは、「ルートウィンドウ」と呼びます)でマウスの左ボタンを押すとメニューが表われます。このメニューからXのアプリを選択して実行できます。メニューにないものは端末エミュレータからコマンドを投して実行することもできます。

以下の画面は、実際にアプリを実行してみた例です。
#ref(various-xclt.png,wrap)
ルートウィンドウではマウスの中ボタンや右ボタンを押すことで、別のメニューが表示されます。
>''【メモ】''~
''⇒''Xの操作は3ボタンマウスによる操作を想定して設計されています。
中ボタンのないマウスの場合は、左右のボタンを両方同時に押すか、あるいはホイールを押します。

Xを終了するには、マウスの左ボタンのメニュー中、「Exit」を選択し、さらに本当に終了するかを確認するウィンドウに対し「Exit」を選択します。
#ref(quit-verify-win.png,wrap)

>''【メモ】''~
''⇒''OpenBSDには、X Windowを使うためのソフトウェア(デスクトップ環境)が何種類か用意されており、また、日本語の表示や力用のソフトウェアを追加することもできます。これについては応用編の [[X Window Systemに日本語デスクトップ環境を導入する>#r41dd079]] で説明致します。

**河豚板を終了する
河豚板の運用を終了するにはrootでログインし、shutdownコマンドを実行します。
 fugu-demo# shutdown -h -p now
 Shutdown NOW!
 shutdown: [pid 4771]
 fugu-demo#
 *** FINAL System shutdown message from root@fugu-demo.localnet ***
 System going down IMMEDIATELY
 
 
 
 System shutdown time has arrived
 
 fugu-demo# syncing disks... done
上の例では、shutdownコマンドへの指定として -h オプションを指定しているので、システムは停止(halt)します。
また、-p オプションを指定しているので停止直後に電源が自動的にOFF (power off)になります(PCによっては -p オプションによる電源OFFに対応していない機種もあります。この場合は手動で本体の電源をOFFにします)。
~ -h オプションや -p オプションの替わりに -r オプションを指定すると、システムは再起動(reboot)します。~

システムの停止や再起動を行うと、今回の起動後に行った設定や作成したユーザアカウント、また、ファイルやディレクトリの作成や編集、削除などの一切の結果は消えてなくなります。
>''【メモ】''~
''⇒''これら各種の設定やデータを保存・復帰させることもできます。この方法は [[保存した設定やファイルを起動時に読み込む>#w4595c42]] で説明します。

河豚板上で行った操作がシステムを停止すると消えてしまうということは、見方を変えると蔵ハードディスクにインストールされている既存のシステムなどに影響を及ぼしにくいということでもあります。~
つまり、rootでファイルの消去やプロセスの停止などを行ってもその影響は限定的なので、システム管理の練習などを安心して行うことができます。

#aname(usbfadm_sync)
**設定やファイルを保存する - usbfadm syncコマンド
河豚板ではユーザが作成したファイル、設定の変更、追加されたパッケージ、システムのログなど一切のファイルをLiveUSB版の河豚板に作成されているデータ保存用パーティションに保存し、以降の起動時に呼び出すことができます。

データの保存にはrootでログインし、usbfadmコマンドを実行します。
>''【メモ】''~
''⇒''usbfadmは(USB Flash drive ADMinistration tool)の略です。

 # usbfadm
 Welcome to usbfadm.
 USB flash drive administration tool for FuguIta
 
   Version/Arch: 6.0/amd64  (FuguIta-6.0-amd64-201612291)
      Boot mode: manual
 Data stored in: not set
  Data Saved as: not set
 
 Type ? for help.
 
まず、targetコマンドを使用して保存のパーティションを指定します。~
保存用のデバイスが着されていることを確認した後、ENTERを押下するとデバイスのスキャンが行われます。~
デバイス名の前に+記号がついているものが、保存に使用することができるデバイスです。
 ? : ? --> target
 
 Searching USB flash drives
 Please make sure the device inserted.
 Then press ENTER ->
 cd0a sd0a +sd0d
 
 targe device--> sd0d

次に、saveasコマンドを使用して保存するデータに名前を付けます。~
名前を省略した場合、ホスト名が保存名として使用されます。
 sd0d : ? --> saveas
 Name of saved data --> fugu-demo
 
 Your data will be saved as ``fugu-demo''.
当初「?:?」だったプロンプトの文字列が変化していることにご注目下さい。
今ほどのtargetコマンドとsaveasで設定した値がプロンプトに表示され、確認ができるようになっています。

最後にsyncコマンドを実行し、データを実際に保存します。
  /dev/sd0d : fugu-demo -> sync
 
 Sync current mfs as fugu-demo, OK? -> y
 
 building file list ... done
 created directory /mnt/livecd-config/fugu-demo
 ./
 etc/
 etc/bgpd.conf
 etc/boot.conf
    :
    :
 var/yp/Makefile.yp
 var/yp/Makefile.yp.dist
 var/yp/README
 
 sent 16455591 bytes  received 232568 bytes  180412.53 bytes/sec
 total size is 15492096  speedup is 0.93
infoコマンドで保存されたデータの報を表示してみます。
 /dev/sd0d : fugu-demo -> info
 
 Filesystem     Size    Used   Avail Capacity  Mounted on
  /dev/sd0d     218M   18.9M    179M   9.6%    /mnt
 
 scanning...
 
 18.9M   6.0/amd64/fugu-demo
データは問題なく保存されているようなのでusbfadmを終了します。
 /dev/sd0d : fugu-demo -> bye
 
 #
>''【メモ】''~
usbfadmによる保存は、シェルのコマンドラインからも行うことができます。
 # usbfadm -r
 
 ========================================
 = Sync current mfs as fugu-demo into /dev/sd0d
 =
 sending incremental file list
 deleting etc/X11/xenodm/authdir/authfiles/A:0-G4H73h
    :
 var/spool/smtpd/purge/
 var/spool/smtpd/temporary/
 #
オプション -r は、usbfadmにファイル保存の再実行を指示します。~
~
また、cronを使用してバックグラウンドで定期的に実行することもできます。
 (crontabファイル)
 # crontab file
 #minute hour    mday    month   wday    command
   ~ 略 ~
 #save session periodically
 #0       */4     *       *       *       PATH=$PATH:/usr/local/bin /usr/fuguita/sbin/usbfadm -rq
これにより、usbfadmによる保存がバックグラウンドで4時間ごとに行われます。-q は進捗状況などを表示しない「quiet」オプションです。

>''【メモ】''~
''⇒''usbfadmコマンドで作成したパーティションでなくとも、OpenBSDのFFS形式でフォーマットされていて、/livecd-configというディレクトリが作成されているパーティションであれば使用できます。

#aname(boot_mode3)
**保存した設定やファイルを起動時に読み込む - 起動モード3
[[設定やファイルを保存する>#k57e4ba1]] で説明した方法で保存されたデータは以降の起動時に読み込ませ、環境を復帰させることができます。~
データを復帰させるには、ブートモード3を選択します。
 Boot modes:
   0: fresh boot - standard mode as a live system
   1: fresh boot - less memory, faster boot (/usr is non-writable, can't pkg_add)
   2: fresh boot - works using only RAM (about 1GB or more of RAM required)
   3: boot with retrieving saved files from storage device
      or enter passphrase for an encrypted volume
   4: boot with retrieving saved files from floppy disk
   5: interactive shell for debugging
 ->3
 scanning partitions: sd0a sd0d sd0i cd0a
 Device(s) found:
   loadable from: sd0d
 Which is FuguIta's storage device? [default: sd0d] -> sd0d
 /dev/sd0d : available data;
 
 fugu-demo
 
 config name -> fugu-demo
 Copying files from flash to ram ... 
保存したデータ名を指定すると退避させていたデータを復帰し、起動が再開されます。~
各種設定値もすべて復帰するため、最初に説明した起動モード0と違いネットワークの設定などは訊かれません。

ログイン後、さらにデータを保存することもできます。手順は [[設定やファイルを保存する>#k57e4ba1]] で説明した方法と同じですが、
すでにLiveUSB上にファイルが保存されているため、変更したファイルやディレクトリのみが対象となります。~
そして、保存デバイス名と保存名はすでに設定済みなので、いきなりsyncコマンドを実行してもOKです。

シャットダウン時、データの退避は自動的には行われないので、その都度手動でusbfadmコマンドを実行する要があります。
これを自動化したい場合は [[終了時にデータが自動で保存されるようにする>#m8ee7943]] をご参下さい。

** Unix の使い方を調べる
本ガイドの冒頭で説明したように、河豚板はUnix系OSの一種である OpenBSD をベースにして作成されています。

Unixは約半世紀前の1969年に開発され、以降さまざまなコンピュータ向けの実が作成されてきました。今ではUnix系のOSはスーパーコンピュータからスマートフォンや家電製品、あるいは小さな組込み機器までさまざまな環境で使用されるに至っています。

Unix系OSはMicrosoft WindowsなどのOSとは操作方法が大きくことなっており、最初はどのように使ってよいか見当がつかない方もいるかも知れません。

Unix系OSの基本的な部分はコンシューマユーザ向けに作られてはいません。OpenBSDも例外ではなく、予備知識を持たないユーザを想定した親切なユーザインターフェースなどは初期状ではほとんど用意されていません。言い替えると''「なんとなくあちこちいじっているうちに使い方がわかった」ということにはなりません。''

そんなUnix系OSを理解し、活用するにはどのようなアプローチを取ればよいのでしょうか。

***書籍を用意しましょう
>Unix系OSに関する基本を解説している書籍を用意しましょう。~
な実装が存在するUnix系OSですが、それらには[[Unix哲学>https://ja.wikipedia.org/wiki/UNIX%E5%93%B2%E5%AD%A6]]とも呼ばれる共通した考え方があります。この考え方を理解し、実践できるようになることがUnix系OSを習得する上でのキーになります。~
書籍の容としては特定の実装だけを対象とせず、基本的な概念から応用の入口までを網羅的・体系的に解説しているものがよいでしょう。~
>「これ一冊読めばすべてOK」というような書籍はなかなかないのですが、定評のあるものをいくつか挙げておきます;
-はじめてUNIXで仕事をする人が読む本 / 木本彦 他 著 / KADOKAWA アスキーメディアワークス
-新 The Unix Super Text [上]  / 山口和紀・古瀬一隆 著 / 技術評論社

>以下のものは副読本として読むと、より理解が進むかもしれません;
-Unixという考え方-その設計思想と哲学 / Mike Gancarz著 芳尾桂訳 / オーム社
-Linuxを「読む」 / こじまみつひろ著 / 毎日コミュニケーションズ

***とにかく自分でやってみましょう&br;オンライン・マニュアルを活用しましょう
>やはり自分で手を動かすことが、効果的なスキル習得の基本になります。~
その際、やみくもにやってみるのではなく、オンラインマニュアル(manコマンド)を活用しましょう。オンラインマニュアルはそのシステムに即していますから書籍やネットが持つ弱点、記述が古くなっていたりとか、違う実に基いて説明している、というようなことがありません。
>>''【メモ】''~
''⇒''Unixのマニュアルページは幾つかの章に別れています。~
同じ名前の目が複数の章にある場合があります。例えば「sleep」は、1章(一般コマンド)と3章(ライブラリ)の両方にあり、それぞれsleep(1)、sleep(3)の様に記述します。ですので、sleepコマンドのコマンドラインを知りたい場合は、
 $ man 1 sleep
C言語でプログラミングをしていて、sleep関数の使い方を知りたい場合は、
 $ man 3 sleep
として第3章にあるsleep関数の説明を表示します。

ですので、これ以降「ls(1)」のような表記が出てきますが、これは「"man 1 ls"を実行してオンラインマニュアルの1章にある"ls"のを参照して下さい」という意味になります。

オンラインマニュアルとは別に、Unixのコマンドの多くは自分自身の使用説明を表示する機能を持っています;
 $ man
 usage: man [-acfhklw] [-C file] [-I os=name] [-K encoding] [-M path] [-m path]
            [-O option=value] [-S subsection] [-s section] [-T output] [-W level]
            [section] name ...
 $ cp -?
 cp: unknown option -- ?
 usage: cp [-fip] [-R [-H | -L | -P]] source target
        cp [-fip] [-R [-H | -L | -P]] source ... directory
上の例ではmanコマンドとcpコマンドのヘルプメッセージを表示させています。~
このようにコマンドのヘルプメッセージは非常に簡素な説明なので、忘れてしまったコマンドラインオプションを思い出すため、といったような備忘録的な役割で使用されます。

***ネットは「参考報」として活用しましょう
>インターネットを活用するとUnix系OSに関連する報も、簡単に得ることができます。 ~
しかし、前で説明したような弱点もあります。特に検索エンジンでの検索結果については目の前の実機にもあてはまるかどうかは自分で判断する必要があります。検索サイトの結果は「参考情報」として活用するのがよいでしょう。~
さらに、現在では多くのUnix系OSが開発コミュニティなどによる「式サイト」を持っています。公式サイトの情報は一次情報として活用できます。~

***この節のまとめ
以上述べたことを例えば「ファイルの属性」というトピックにあてはめて考えると、次のようになるでしょう;

-書籍で基礎事を押さえる ~
→ファイルのオーナ・グループ・パーミッションとは何か、どのようなコマンドで操作するかを調べる。

-オンラインマニュアル等で確認しながら実際に操作 ~
→実際にchown, chgrp, chmodコマンドなどを実行し、結果を確認してみる。どのようなコマンドラインオプションがあるかなどをmanコマンドで調べる。

-ネットで関連報・参考情報をゲット~
→ネットの検索などで注意点、はまりやすい点、色な応用法などを調べてみる。~
式サイトで関連情報を調べる ... 仕様の変更やセキュリティホール情報がないか、など。

河豚板は以上で述べたようなUnix系OSの習得にも向いています。つまり、インストール作業不要というライブシステムの特徴を活かし、ユーザが気軽に色と試せる環境、失敗しても容易にやりなおせる環境を提供しています。

**OpenBSDの使い方を調べる
前節の [[Unix の使い方を調べる>#qd261f24]] ではUnix系OSの使用経験のあまりない人がUnix系OSの使い方を習得するためのヒントについて説明しましたが、この節ではOpenBSDを使う場合の報源やそれらを活用する上でのポイントについて説明します。

***導
rootでログインすると、OpenBSDプロジェクト開発リーダーTheo de Raadt氏からのメールが届いています。
 # mail
 Mail version 8.1.2 01/15/2001.  Type ? for help.
 "/var/mail/root": 1 message 1 new
 >N  1 deraadt@do-not-re  Sun Oct 18 07:58   86/4565  Welcome to OpenBSD 5.8!
 & more 1
 Message 1:
 From deraadt@do-not-reply.openbsd.org Sun Oct 18 07:58:58 MST 2015
 Date: Oct 18 07:58:58 MST 2015
 From: deraadt@do-not-reply.openbsd.org (Theo de Raadt)
 To: root
 Subject: Welcome to OpenBSD 5.8!
 
 This message attempts to describe the most basic initial questions that a
 system administrator of an OpenBSD box might have.  You are urged to save
 this message for later reference.
 ....(以下略)....
このメールでは、OpenBSDをインストールした人が最初に持つと思われる疑問について説明しています。メール本文に書いてある報源をたどってゆくことで、OpenBSDを使用する上での様々なノウハウを得ることができます。

以下このメールの容と重複する部分もありますが、システム上の各種情報源について触れていきます。

***オンラインドキュメント
[[Unixの使い方を調べる>#qd261f24]]で述べたようにマニュアルページはUnix系OSの重要な報源ですが、OpenBSDにおいても例外ではありません。~
そのことはインストール直後のroot宛てメールにおいても、以下のように強調されています;
 Again, PLEASE READ THE MANUAL PAGES.  Our developers have spent countless
 hours improving them so that they are clear and precise.
マニュアルページには、特に導のためのエントリも幾つか用意されています。
:help|Unix初心向けのエントリです。コマンドラインで''help''コマンドを実行した場合もこのエントリが表示されます。
:man|manコマンドの説明です。OpenBSDではmandocというプログラムによってマニュアルページのシステムが再実されていますが、manコマンドの使い方は他のUnix系OSとほぼ同じです。
:afterboot|インストール直後にチェックを行ったほうがよい目について解説しています。この文書の [[河豚板を使う【一般編】>#v7ad37bc]] より詳しく網羅的な内容ですので、ご一読をお勧めします。
:intro|マニュアルページはカテゴリごとに章に別れていますが、その各章に関する説明です。例えば、
 man 1 intro
とすると、一般コマンドカテゴリについての説明が、
 man 5 intro
では、ファイル形式のカテゴリ般についての説明が表示されます。

OpenBSDでは、マニュアルページの章立ては以下のようになっています;
|1    |一般コマンド                              |
|2    |システムコールとエラー番号                |
|3    |ライブラリ                                |
|3f   |Fortran言語のリファレンスガイド           |
|3p   |Perl言語のリファレンスガイド              |
|4    |デバイスドライバ                          |
|5    |ファイル形式                              |
|6    |ゲーム                                    |
|7    |その他                                    |
|8    |システム保守・運用のためのコマンド        |
|9    |カーネル部情報                          |
|X11  |X11R6と同じ                               |
|X11R6|X Window System                           |
|local|/usr/local下にインストールされたコマンド|
|n    |Tcl/Tk言語のコマンド                      |
各セクションのマニュアルの容は現状のシステムに追従し続けており、常にアップデートと推敲が行われています。~
また他のUnix系OSでは4章(デバイスドライバ)などの章で、ほとんど報が提供されていない実装系もありますが、OpenBSDではこのような情報も完備されており、例えばWi-Fiの設定のように使用するハードウェアに依存した設定情報が必要な場合も十分な情報を得ることができます。

///|TO BE REVISED|
#ref(emacsinfo.png,around,right)
GNUプロジェクト由来のコマンドやEmacs上で動作するアプリケーションに関しては、Info形式のドキュメントが提供されている場合があります。~
Infoドキュメントを閲覧するには、infoコマンドを実行します。
>''【メモ】''~
''⇒''Emacsエディタを追加インストールしている環境では、InfoドキュメントはEmacsエディタから、''<Meta>-x info<Enter>''、あるいは''<Escape> x info<Enter>''と力し、閲覧することができます。
#clear;

マニュアルページやInfo以外にもアプリケーション固有のドキュメントがあります。
それらは主に次に挙げるディレクトリの下にあります;
-/usr/share/doc
-/usr/X11R6/share/doc
-/usr/local/share/doc
-/usr/local/share/gtk-doc

***システム上のファイル
サーバやアプリケーションソフトなどの設定ファイルはすべて/etc以下に集約されています。~
パッケージ管理ツールports/packagesで追加されたソフトウェアは、/usr/local以下にインストールされますが、設定ファイルに関しては/etc以下に置されます。X関連の設定ファイルについても同様です。

システムの動作ログは、/var/log以下にあります。唯一、cronのみが/var/cron/logというログファイルを作成します。

[[河豚板を起動する>#i322b9ad]] で説明した起動時に表示されるカーネルメッセージは、/var/run/dmesg.boot というファイルに記録されています。システム起動完了後はこのファイルの容を閲覧することで、システム起動時の様子を調査することができます。

***インターネット上の:http://www.openbsd.org/|プロジェクトによって運営されている式サイト。[[OpenBSD全般に関する詳細なガイド>http://www.openbsd.org/faq/index.html]]や[[システムの更新情報>http://www.openbsd.org/errata59.html]]など、ウェブ上のOpenBSD関連情報の起点です。
:http://undeadly.org/ 「OpenBSD Journal」|OpenBSD関連のニュースサイト。その都度OpenBSDの旬の話題が取り上げられ、OpenBSD開発の最前線の様子なども知ることができます。以前、[[河豚板の紹介記事>http://undeadly.org/cgi?action=article&sid=20131210093950]]も投稿されました。
:メーリングリスト|[[式に管理・運営されているメーリングリスト>http://www.openbsd.org/mail.html]]があります。また、これらのアーカイブサイトもあり、メーリングリストに加入しなくてもウェブ上での閲覧が可能です。

***書籍
の知る限り、OpenBSDユーザ向けに書かれた日本語の書籍は2015年現在出版されておりません。~
BSD系のUnix向けの書籍の中には、
-BSD HACKS ~ プロが使うテクニック&ツール100選 / Dru Lavigne著,桃井康成監修,林秀幸訳 / オライリー・ジャパン

など、部分的にOpenBSDについて言及されている書籍もあります。

英語の書籍に関しては[[式サイトの記述>http://www.openbsd.org/books.html]]をご参照下さい。~
'''Absolute OpenBSD, 2nd Edition''' や '''The book of PF, 3rd Edition'''など、OpenBSD向けの書籍がいくつか出版されているようです。

*河豚板を使う【応用編】
[[河豚板を使う【一般編】>#v7ad37bc]] では河豚板の基本的な使用手順について説明しました。~
この章では河豚板の特徴を活かした、さらに進んだ利用法について紹介します。

>''【メモ】''~
''⇒''この章では以下のように、[[河豚板を使う【一般編】>#v7ad37bc]] で設定した環境を引続き使用する前提で説明を行います;
-ホスト名としてfugu-demo.localnetを想定
-インターネットにアクセスできる状になっている
-一般ユーザyoshiが作成されている。yoshiはwheelグループにも属しているため、rootになることができる。

**アプリケーションを追加する
河豚板はOpenBSDで提供されているソフトウェアに、その他日常よく使うであろうと思われるアプリケーションやシステム管理などに便利やツール類を追加しています。

更に、システム起動後にもユーザがアプリケーションを追加することができます。

アプリケーションを追加するにはOpenBSDのports/packagesシステムを利用する方法が手軽です。~
packagesのソフトウェアを追加するには、pkg_addというコマンドをrootで実行します。例として、ウェブブラウザであるMozilla Firefoxをインストールする例を以下に示します。
 fugu-demo$ su -
 Password:
 fugu-demo# pkg_add firefox
 quirks-4.53 signed on 2021-12-19T13:27:04Z
 quirks-4.53:(ok)
 firefox-95.0.1:libiconv-1.16p0:(ok)
 firefox-95.0.1:gettext-runtime-0.21p1:(ok)
     :

     :
 firefox-95.0.1:dconf-0.40.0:(ok)
 firefox-95.0.1:gtk+3-3.24.30:(ok)
 firefox-95.0.1:(ok)
 Running tags:ok
 The following new rcscripts were installed: /etc/rc.d/messagebus
 See rcctl(8) for details.
 New and changed readme(s):
         /usr/local/share/doc/pkg-readmes/dbus
         /usr/local/share/doc/pkg-readmes/firefox
         /usr/local/share/doc/pkg-readmes/glib2
         /usr/local/share/doc/pkg-readmes/gtk+3
 fugu-demo# exit
 fugu-demo$
上の例では、suコマンドを使用して一時的にrootになっています。勿論、yoshiをログアウトしてrootでログインしなおし、そこでpkg_addを実行しても構いません。

pkg_addを実行すると目的のアプリケーションを実行するために要な他のソフトウェアも同時に追加されます。上のfirefoxの例では、libiconv, gettext-runtime, dconf, gtk+3などがそれです。

ディレクトリ/usr/local/share/doc/pkg-readmes以下にインストールしたソフトウェアに関するドキュメントがある旨、表示されてますので、目を通しておくとよいでしょう。

以上の例のような方法で、アプリケーションを追加することができます。~
ports/packagesからどのようなソフトウェアがpkg_addできるかはウェブブラウザでftp://ftp.jaist.ac.jp/pub/OpenBSD/7.0/packages/amd64/などをご覧下さい。
>''【メモ】'' ~
''⇒''ports/packagesシステムについてはhttp://www.openbsd.org/faq/faq15.htmlに詳しい説明があります。また、上の例ではダウンロードとしてftp.jaist.ac.jpを使用しましたがダウンロードサイトは他にもあり、その一覧はhttp://www.openbsd.org/ftp.htmlで見ることができます。~
''⇒''ports/packagesを利用せずソフトウェア開発が公開しているソースコードを直接コンパイル・インストールする所謂「野良ビルド」も可能です。

河豚板ではpkg_addで追加したソフトウェアもまた、usbfadmコマンドによるデータ保存/復帰の対象となります。

**一般ユーザが一時的にシステム管理になれるようにする
前節の [[アプリケーションを追加する>#af9dcfcb]] では、suコマンドを使用して一般ユーザから一時的にrootになってシステム管理作業を行う方法を紹介しましたが、他にdoasというコマンドも使用できます。~
doasは設定ファイルで動作を制御できる点、rootのパスワードを知らなくてもroot権限でのコマンド実行ができる点などでsuコマンドより使い勝手がよくなっています。

doasを使うには、まず設定ファイル/etc/doas.confを編集する要があります。~
最初はdoas.confは存在していませんので以下のコマンドを実行し、ファイルを作成します(doas.confがすでに存在している場合は、テキストエディタでdoas.confを編集します)。
 # echo permit :wheel > /etc/doas.conf
 # chmod 0640 /etc/doas.conf
この操作で、「permit :wheel」という容1行だけが書かれたファイル doas.conf が作成されます。これは「wheelグループに所属しているユーザに対してroot権限でのコマンド実行を許可するように」という意味の設定です。この設定を用いて、一般ユーザでログイン中にusbfadmユティリティを用いて例えば次の例のように、[[設定やファイルを保存する>#k57e4ba1]] ことが可能となります。
 $ doas /usr/fuguita/sbin/usbfadm
 Password:
 
 Welcome to usbfadm.
 USB flash drive administration tool for FuguIta
 
   Version/Arch: 6.0/amd64  (FuguIta-6.0-amd64-201612291)
      Boot mode: usbflash
 Data stored in: /dev/sd0d
  Data Saved as: fugu-demo
 
 Type ? for help.
 
 /dev/sd0d : fugu-demo ->
に説明したようにdoas.confの設定を行うと、doas実行時にパスワードを訊かれますが、これにはrootのパスワードではなく、''doasを実行したユーザのパスワードを入力''します。~
パスワードを力しないでdoasを実行することもできます。詳しくはdoas.conf(5)を参照して下さい。
>''【メモ】'' ~
''⇒''doasはUnix系のOSで一般的に使われているsudoと置き換えるためにOpenBSD開発陣が再実したコマンドです。sudoはOpenBSD 5.8以降はOS本体には含まれていませんが、[[portsからインストールして>#af9dcfcb]]使うことが可能です。

**タイムゾーンを変更する
モード0で起動した直後の河豚板は、時間帯(time zone: タイムゾーン)がUTC (Universal Coordinated Time: 協定世界時)になっています。~
協定世界時に比べ日本標準時(Japan Standard Time: JST)は9時間進んでいます。
 $ date
 Wed Dec 23 02:27:58 UTC 2015
河豚板の時間帯をJSTにするには以下のようにコマンドを投し、シンボリックリンク/etc/localtimeの指し示すファイルを変更します。
 $ cd /etc
 $ ls -l localtime
 lrwxr-xr-x  1 root  wheel  23 Dec 23 02:27 localtime -> /usr/share/zoneinfo/UTC
 $ doas ln -s -f /usr/share/zoneinfo/Asia/Tokyo localtime
 Password:
 $ ls -l localtime
 lrwxr-xr-x  1 root  wheel  25 Dec 23 11:28 localtime -> /usr/share/zoneinfo/Asia/Tokyo
 $ date
 Wed Dec 23 11:28:53 JST 2015
 $
>''【メモ】''~
''⇒''設定後のJSTが実時刻とずれている場合はdate(1)を使い、root権限で修正します。

**サーバ設定の例 - 時刻を参するNTPサーバを変更する
NTP (Network Time Protocol)はコンピュータがネットワーク上で通信を行いながら、それぞれの時刻を同期させるためのプロトコル(通信規約)です。~
OpenBSDはNTPを用いてインターネット上の時刻基準に自身の時刻を同期させる機能をもっており、この機能は河豚板でも使用することができます。

OpenBSDはインストール時にNTPを使用するかどうかの設定を行います。一方、河豚板ではこの機能はデフォルトで有効になっています。

NTPの機能はntpd(8)というプログラムによって実されており、ntpdの動作状況を見るにはntpctl(1)というコマンドを実行します。
>''【メモ】''~
''⇒''OpenBSDで使われているNTPのソフトウェアは「[[OpenNTPD>http://www.openntpd.org]]」と呼ばれ、OpenBSDの開発陣によって作成されたものです。~
LinuxやFreeBSDでは同じntpdでも、別の実を用いています。
 $ ntpctl -s status
 4/4 peers valid, constraint offset 0s, clock synced, stratum 3
上記の例のように「clock synced」と表示されていれば、ntpdは時刻の基準となる外部のNTPサーバと通信し、その結果時刻の同期が取れていることがわかります。一方、
 $ ntpctl -s status
 0/1 peers valid, clock unsynced
のように「clock unsynced」となっている場合は、何らかの原因で時刻が同期できていません。

OpenBSDではインストール時にNTP機能を有効にすると、時刻基準としてpool.ntp.orgというサーバ群を参するようになり、河豚板の設定もそれに倣っています。

企業の社LANなどではセキュリティの関係から、pool.ntp.orgなど外部のNTPサーバとの通信ができないようになっている場合があります。そのような場合、社内LAN上にNTPサーバが運用されていれば、そのサーバを参照することで自ホストの時刻を正確に保つことができます。

以下にNTPサーバの設定方法を示します;

ntpdはntpd.conf(5)というファイルにより動作が設定されますので、root権限でntpd.confを編集します。
 $ doas -s
 Password:
 # vi /etc/ntpd.conf

  ntpd.confのこの3行を

 servers pool.ntp.org
 sensor *
 constraints from "https://www.google.com"

  以下の一行に変更

 server ntp.localnet
上の例では、「ntp.localnet」というNTPサーバを参するように設定を変更しています。

設定ファイルの編集が終了したらntpdを再起動し、変更容を反映させます。~
バックグラウンドで走行しサービスを提供するntpdのようなプログラムをUnixではデーモン(daemon)と呼びますが、OpenBSDではデーモンの操作にrcctl(8)というコマンドを使用することができます。
 # rcctl restart ntpd
 ntpd(ok)
 ntpd(ok)
 # 
以上で設定変更作業は完了したので、rootから一般ユーザに戻ります。あとはntpdの挙動をntpctlで監視します。
 # exit
 $ ntpctl -s status
 1/1 peers valid, clock unsynced
上記のようになっていれば(まだ)同期はとれていませんが、1つのピア(peer, 参しているNTPサーバ)が有効となっていることがわかります。
 $ ntpctl -s status
 1/1 peers valid, clock synced, stratum 3
しばらく時間が経過すると、時刻同期が取れていることが確認できました。

ntpctlは更に詳しくntpdの状を表示することもできます。またntpd自身が動作記録を/var/log/daemonや/var/log/messagesなどのログファイルに残しますので、それらを調べることでより詳細なntpdの動作把握ができます。~
詳しくは各コマンドや設定ファイルのマニュアルページを参して下さい。

>''【メモ】'' ~
''⇒''ntpdは時刻のずれを非常にゆっくりと修正していきます。これはいきなり時刻を大きく変更するとシステムの運行に悪影響を及ぼす可能性があるからです。そのため、時刻のずれが大きい場合は同期が取れるまでに長い時間がかかる場合もあります。

**OSの設定値を変更する
前節では[[NTPサーバの設定変更方法について説明>#j453b186]]しました。

この節ではOpenBSDで動作しているサービスの設定について説明致します。

ての設定方法について具体的な説明を行うことは現実的ではないので、設定をカテゴリ毎に分け、それらカテゴリのそれぞれについて説明します。

***カーネルパラメータ
OpenBSDカーネルの機能は色な方法で制御できますがその一つとして、sysctl(8)コマンドを使う方法があります。
 $ sysctl -a | less
 kern.ostype=OpenBSD
 kern.osrelease=5.8
 kern.osrevision=201510
 kern.version=OpenBSD 5.8-stable (RDROOT.MP) #2: Wed Nov 11 13:18:48 JST 2015
     root@nimbus5.localnet:/opt/fi/5.8/sys/arch/i386/compile/RDROOT.MP
 
 kern.maxvnodes=44152
 kern.maxproc=1310
   ~以下略~
上の例ではてのカーネルパラメータを表示しています。~
表示容が一画面に収まらないため、表示データをページャプログラムlessにパイプで渡して表示しています。

表示したいパラメータがあらかじめわかっている場合は、その名前を指定して表示できます。~
以下の例ではファイルの出力のバッファリングに割り当てるメモリの最大量を表示しています。
 $ sysctl kern.bufcachepercent
 kern.bufcachepercent=20
 $
この表示から、最大でメモリ搭載量の20%までをバッファに割り当てる設定になっていることがわかります。

この値を変更するには以下のようにします。設定の変更はroot権限が要なので、doasコマンドを経由してsysctlコマンドを実行しています。
 $ doas sysctl kern.bufcachepercent=50
 Password:
 kern.bufcachepercent: 20 -> 50
 $
sysctlコマンドの手動実行ではなく、システム起動時に自動的に設定を行うこともできます。
それには、設定したい容をsysctl.conf(5)というファイルに記述します。
>''【メモ】'' ~
''⇒''カーネルの設定を変更するにはその他にも
-configコマンドによるカーネルの書き換え
-UKC (User Kernel Config)による起動時での変更
-カーネルの再コンパイル
>などの方法がありますが、それぞれ設定できる容や作業の難易度が異なります。詳しくは各マニュアルページや[[公式サイトのFAQ>http://www.openbsd.org/faq/faq5.html]]などをご参照下さい。

***ネットワークの基本設定
これまでも説明したようにネットワーク関連の設定は河豚板の起動時に行われるので、これで問題なく通信が行われれば特に設定を変更する要はありません。~
河豚板をサーバやネットワークのゲートウェイなどとして運用する場合は、設定を変更したり追加したりする要が出て来るかもしれません。
:インターフェース設定|IPアドレス、ネットマスクなどのネットワークインターフェースに関する設定は/etc/hostname.<インターフェース名>というファイルで設定します。このファイルの書式はhostname.if(5)で参できます。
>''【メモ】'' ~
''⇒''使用しているPCにどのようなネットワークインターフェースがあるかはコマンドの実行「ifconfig -a」で表示されます。

:経路制御|デフォルトルートは/etc/mygateに記述します。それ以外の経路制御を行うには、経路制御デーモンを走行させるか、routeコマンドの実行を/etc/hostname.ifか/etc/rc.localなどに記述します。
:名前解決|/etc/resolv.conf(5)により設定を行います。
:パケットフィルタリング|PFはOpenBSDで開発されたパケット・フィルタですが、ネットワークの帯域制御やアドレス変換など、フィルタリング以外にも非常に豊富な機能を持っています。PFに関してはpfctl(8)やpf.conf(5)を参して下さい。

***デーモンの起動・停止と設定
OpenBSDではデフォルトでは動作しないものも含めて、様なデーモンがインストールされています。
[[時刻を参するNTPサーバを変更する>#j453b186]] ではNTPデーモンを例として、デーモンの起動・停止・設定変更について説明しました。その他のデーモンについても概ね同様な手順を取ります。

OpenBSDでは、このようなデーモンの起動はrc.conf.local(8)が制御を行っており、このファイルにデーモンの起動・停止の指定や起動時にデーモンに与えるオプションなどの指定を行います。
>''【メモ】'' ~
''⇒''実際にはrc.conf(8)でてのデーモンについての指定がされており、rc.conf.localはrc.confの設定を上書きするように動作します。

各種デーモンの挙動を制御するには rc.conf.local の容を変更するので、テキスト・エディタで編集を行うわけですが、その他にrcctl(8)というコマンドを使用してデーモンの起動・停止の制御や設定変更を行うことができます。

ntpdがntpd.confによって設定されるように、他のデーモンもそれぞれ固有の設定ファイルを持ちますが、その多くは /etc 直下に置かれます。
また、/etc/examples に各種デーモンの設定用サンプルファイルが置かれていますので、このファイルを参、あるいはコピー・編集して実際の設定ファイルとすることができます。

***その他の設定
/etc/rc.localはシステム起動の最終段階で実行されるシェルスクリプトです。今まで説明した以外の処理を行いたい場合は、この/etc/rc.localに処理を記述します。

OpenBSDの起動時や終了時の処理についてはrc(8)を参して下さい。

**起動時間を短縮する。使用メモリを少なくする - 起動モード1
河豚板の起動時にモード1を指定すると、それ以降の起動時間が短縮されます。~
これ以降に力する各種設定項目については、モード0と同じです。
 Select boot mode;
   0: fresh boot (normal)
   1: fresh boot (lower memory, faster boot than mode 0)
   2: fresh boot (works only on mfs)
   3: retrieve user data from USB flash memory
   4: retrieve user data from floppy disk
   5: interactive shell for debugging
 ->1
起動後のメモリ使用量(mfsのサイズ)もモード0に比べ少なくなります。~
目安としては実メモリ64MB程度のマシンからが動作可能となります;
 ファイル使用量(モード0)
 $ df -h
 Filesystem     Size    Used   Avail Capacity  Mounted on
 /dev/rd0a      1.6M    729K    833K    47%    /
 /dev/cd0a      697M    697M      0B   100%    /sysmedia
 /dev/vnd5a     676M    664M   11.9M    98%    /fuguita
 mfs            698M   25.5M    673M     4%    /ram

 ファイル使用量(モード1)
 $ df -h
 Filesystem     Size    Used   Avail Capacity  Mounted on
 /dev/rd0a      1.6M    730K    832K    47%    /
 /dev/cd0a      697M    697M      0B   100%    /sysmedia
 /dev/vnd5a     676M    664M   11.9M    98%    /fuguita
 mfs            713M    6.8M    706M     1%    /ram
ただし、起動モード1は標準の起動モードであるモード0に比べ要なリソースが少ないというメリットがありますが、/usr以下のファイルやディレクトリを変更することができなくなるというデメリットがあります。つまり、pkg_addなどによるアプリケーションの追加などもできません。

起動モード1は河豚板に収録されているソフトウェアのみで運用が可能な場合に使用できます。

モード1で起動しusbfadmでファイル保存後、モード3で再起動した場合も上記の状況は引き継がれます。

>''【メモ】'' ~
''⇒''起動モード0と起動モード1のファイルシステムのレイアウトについて~
~
起動モード0と起動モード1とでは、ファイルシステムの構造にどのような違いがあるのでしょうか。以下にその違いを説明します。~
#ref(FuguIta/BBS/11/fi-filesys-mode0.png,wrap,around,right,50%)
右の図は、起動モード0のときのファイル置です(図をクリックすると拡大します)。
例として、/bin/ed, /usr/bin/vi, pkg_added /usr/local/bin/emacs の経路を示しています。~
~
ルートファイルシステムはRAM DISK, [[rd(4)>https://man.openbsd.org/rd.4]]です。このデバイスはカーネル組み込みでシステム起動時からすでにマウントされています。ルートの下には、「boottmp」という見れないディレクトリがあります。ここには、システム起動時の一番最初に必要なコマンドや、FuguItaに特化したユーティリティが入っています。~
~
FuguItaデバイスの実体は、DVDやUSBメモリで、ブートローダー、OSカーネル、ファイルシステムのイメージが格納されています。これは/sysmediaに読み出し専用でマウントされます。~
~
/sysmediaのファイルシステムイメージは/dev/vnd4にマッピングされ、/fuguitaにマウントされます。これがOpenBSDのファイルツリーになります。これはライブシステムに合わせるための若干の変更箇所を除いては、ほぼオリジナルのOpenBSDそのままです。また、このファイルシステムも読み出し専用です。ですから、この下ではファイルの作成、変更、削除はできません。~
~
/ramは[[mfs(4)>https://man.openbsd.org/mfs.4]] (memory file system)と呼ばれるメモリファイルシステムで、読み込みも書き込みも可能です。/etc/*.confや、/home以下のユーザのデータ、pkg_addedで追加したソフトなど、変更が要なファイルはこの上に置かれます。また、滅多に変更されないファイルは、/fuguitaにある同等のファイルへのシンボリックリンクで置き換えられます。これにより、mfsのメモリ使用量が削減されます。
#clear
#ref(FuguIta/BBS/11/fi-filesys-mode1.png,wrap,around,right,50%)
次に起動モード1です。起動モード1では、/usrは/fuguita/usrにシンボリックリンクされています。これにより/usrを/ramにコピーやリンクをしないことで、モード0よりも起動が速くなり、使用するメモリも少なくなります。ただし、/usr/local は書き込み可能ではないので、pkg_add はできません。
#clear

**河豚板を記録メディアを使用しないで動作させる - 起動モード2
起動モード2はファイルをてmfs上に転送し、全てがオンメモリで動作するモードです。
 Select boot mode;
   0: fresh boot (normal)
   1: fresh boot (lower memory, faster boot than mode 0)
   2: fresh boot (works only on mfs)
   3: retrieve user data from USB flash memory
   4: retrieve user data from floppy disk
   5: interactive shell for debugging
 ->2
モード2ではシステムの起動が完了すると、DVDやUSBメモリはアンマウントされますので、それらのデバイスを取り外して運用することができます。プログラムの実行やファイルの読み書きもてメモリ上で行われますので、モード0やモード1に比べて高速に動作することが期待できます。
 $ df -h
 Filesystem     Size    Used   Avail Capacity  Mounted on
 /dev/rd0a      1.6M    730K    832K    47%    /
 mfs            813M    736M   76.7M    91%    /ram
ただし、冒頭で説明したように、このモード2ではDVDやUSBメモリ上にあるシステムファイルがてmfsにコピーされますので、PCの実装メモリ量は、目安として概ね800MB以上は必要です。

モード2においてもusbfadmでファイル保存後、モード3で再起動した場合にはファイル保存時の状が復帰します。

>''【メモ】'' ~
''⇒''以下の場合には、デバイスを取り外すことはできませんのでご注意下さい。
-仮想メモリの使用量が実メモりより大きく、スワップパーティションを無効にできない場合 (警告メッセージが表示されます)
-[[暗号化パーティション>#f90fbf26]]を使用している場合 (警告メッセージが表示されます)
-そのデバイスのパーティションを[[追加でマウントしている>#d052ec6d]]場合

>''【メモ】'' ~
''⇒''起動モード2のファイルシステムのレイアウトについて~
~
#ref(FuguIta/BBS/11/fi-filesys-mode2.png,wrap,around,right,50%)
起動モード2のファイルレイアウトは右図のとおりです。これはモード0や1に比べて非常にシンプルなもので、/と/ramのみがマウントされ、外部デバイスはすべてアンマウントされます。もちろん、すべてのファイルを変更することができます。
#clear

#aname(usbfadm_expand)
**USBメモリの保存領域を拡張する - usbfadm expandコマンド
[[河豚板のLiveUSBを作る>#sa216e5d]] で説明したように、ダウンロードサイトからイメージファイルをダウンロードし、展開、書込みを行うことでLiveUSB版河豚板を作成することができます。

しかし、このLiveUSB版河豚板はUSBメモリのサイズに関係なく2GBしか領域を使用できません。~
この、河豚板のシステムが約1GBを占有していますので、usbfadmでデータを保存できるのは1ギガバイト程度です。

河豚板に付属のusbfadmユティリティには、指定したパーティションのサイズを拡張できるexpandと呼ばれる機能があります。~
以下にexpandの使用例を示します。
 fugu-demo# usbfadm  ← root権限でusbfadmユティリティを起動する
 
 Welcome to usbfadm.
 USB flash drive administration tool for FuguIta
 
  Version/Arch: 7.0/i386	 (FuguIta-7.0-i386-202112291)
     Boot mode: manual
 Target device: not set
 Data saved as: not set
 
 readline capability available
 TAB to complete the reserved words
 
 Type ? for help.
 
 ? : ? ->target  ← targetコマンドで拡張するパーティションを指定
 
 Searching storage device
 Please make sure the device inserted.
 Then press ENTER ->
 sd0i sd0j sd0k sd1a +sd1d vnd5a  ← 検出されたパーテションの一覧。頭に +記号が
 target device ->sd1d                付いているのがデータ保存用パーティション
 
 sd1d : ? ->info  ← 指定したパーティションの容量を見てみる
 
 Filesystem     Size    Used   Avail Capacity iused   ifree  %iused  Mounted on
 /dev/sd1d      1.1G    2.5K    1.1G	0%	 5 1287065     0%   /mnt  ← 容量は1.1GB
 
 scanning...
 
 512B	7.0/i386/noasks
 
 sd1d : ? ->expand  ← expand機能を呼出し
 
 Select the expansion method for sd1d:
   1:  growfs - expands the partition while retaining its contents
   2:  newfs - expand and format the partition
   3: [exit without expansion]
 ->2  ← "newfs"を使ってパーティションを拡張
パーティションの拡張方法には、「growfs」と「newfs」とがあります。~
growfsではパーティションに保存されているデータを保持したまま領域を拡張します。~
newfsでは、領域を拡張した後、パーティションをフォーマットし直します。~
newfsでは、保存されているファイル・ディレクトリはて消えてしまいますので、ご注意下さい。一方、growfsにおいても、実行前にデータのバックアップを取っておくことをお勧めします。
 This makes sd1d as large as possible.
 Note that all contents in sd1d will be removed
 Do you proceed? [y/N] -> y
 
 /dev/rsd1d: 3136.5MB in 6423488 sectors of 512 bytes
 257 cylinder groups of 12.24MB, 3134 blocks, 6272 inodes each
 super-block backups (for fsck -b #) at:
  144, 25216, 50288, 75360, 100432, 125504, 150576, 175648, 200720, 225792,
     :
  6368432, 6393504, 6418576,
 ** /dev/rsd1d
 ** File system is already clean
 ** Last Mounted on
 ** Phase 1 - Check Blocks and Sizes
 ** Phase 2 - Check Pathnames
 ** Phase 3 - Check Connectivity
 ** Phase 4 - Check Reference Counts
 ** Phase 5 - Check Cyl groups
 1 files, 1 used, 5611214 free (14 frags, 701400 blocks, 0.0% fragmentation)
 
 sd1d : ? ->info  ← 拡張後の容量を確認
 
 Filesystem     Size    Used   Avail Capacity iused   ifree  %iused  Mounted on
 /dev/sd1d      2.7G    2.5K    2.7G	0%	 5 1611897     0%   /mnt  ← 2.7GBに増加している
 
 scanning...
 
 512B	7.0/i386/noasks
 
 sd1d : ? ->quit
 
 Bye bye...
 fugu-demo#
>''【メモ】'' ~
''⇒''ファイルシステムのパラメータ(フォーマット形式、ブロックサイズ、フラグメントサイズ、iノード密度など)は、growfsでは拡張前のものがそのまま使われるのに対し、newfsでは拡張後のサイズに合ったパラメータが設定され、フォーマットが実行されます。

#aname(liveusb_remaster)
**USBメモリの容量に合わせてLiveUSBを作成する - usbfadm newdriveコマンド
この節ではすでに稼動中の河豚板を使い、新たに別のUSBメモリで河豚板LiveUSBを作成する方法を説明します。~
この方法を用いるとデータの保存領域を任意のサイズで割り当てることができます(以下の例では、8GB(実際には7788MB)のサイズのUSBメモリにインストールする場合を想定しています)。

まず、河豚板をモード0、またはモード1で起動します。起動する河豚板はLiveDVD版、LiveUSB版のどちらでも使用できます。

起動が完了したら、root権限でusbfadmコマンドを実行します。
 fugu-demo$ doas usbfadm
 doas (yoshi@fugu-demo.localnet) password:
 
 Welcome to usbfadm.
 USB flash drive administration tool for FuguIta
 
  Version/Arch: 7.1/amd64  (FuguIta-7.1-amd64-202208121)
     Boot mode: manual
 Target device: not set
 Data saved as: not set
 
 Sorry, readline capability unavailable
 
 Type ? for help.
 
 ? : ? ->newdrive    ← LiveUSB作成を指示
 
 Please make sure the device inserted.
 Then press ENTER ->    ← USBメモリの着を確認したら <Enter>
            認識したディスクデバイスの一覧が時系列で表示される

 ==== disk(s) and vnode devices	============================
 sd0 at scsibus1 targ 0 lun 0: <ATA, Hitachi HTS6457, JF40>
 sd0: 2048MB, 512 bytes/sector, 4194304 sectors
 sd1 at scsibus2 targ 0 lun 0: <UFD 3.0, Silicon-Power32G, 1.00 >
 sd1: 65536MB, 512 bytes/sector, 134217728 sectors
 sd2 at scsibus3 targ 0 lun 0: <BUFFALO, USB Flash Disk, 4000>
 sd2: 7788MB, 512 bytes/sector, 15949824 sectors
 vnd0: not in use
 vnd1: not in use
 vnd2: not in use
 vnd3: not in use
 vnd4: not in use
 vnd5: covering /sysmedia/fuguita-7.1-amd64.ffsimg on sd0a, inode 9
 ============================================================
 Enter the name of device which FuguIta will be installed->sd2    ← LiveUSBを作成する
                                                                     デバイスを指定
 Disk: sd2	geometry: 992/255/63 [15949824 Sectors]
 Offset: 0	Signature: 0x0
 	    Starting	     Ending	    LBA Info:
  #: id	    C	H   S -	     C	 H   S [       start:	     size ]
 -------------------------------------------------------------------------------
  0: 00	    0	0   0 -	     0	 0   0 [	   0:		0 ] unused
  1: 00	    0	0   0 -	     0	 0   0 [	   0:		0 ] unused
  2: 00	    0	0   0 -	     0	 0   0 [	   0:		0 ] unused
  3: 00	    0	0   0 -	     0	 0   0 [	   0:		0 ] unused
 
 Select boot method:
   1:  Legacy BIOS
   2: [UEFI]
   3:  none (only for save data)
   4:  Hybrid
 ->    ← 起動方法を指定。このようにEnterのみ力すると [ ] で囲まれた
          デフォルト目(この場合はUEFI)を指定したことになる。
 
 Select partition type:
   1: [MBR]
   2:  GPT
 ->    ← パーティション形式の指定
 
 Enter sizes for swap, user data and extra FAT.
   You can add suffix K, M, G or T (otherwise considered 'bytes').
   '*' implies 'all'
   '0' doesn't make this partition.
 
 6GB (6754MB) (13833152sectors) free
 swap->0    ← スワップパーティションのサイズ指定。
               0の場合はスワップパーティションを作成しない。
 
 6GB (6754MB) (13833152sectors) free
 user data [*] -> 3g    ← データ保存用パーティションのサイズ。
                         「3g」で3ギガバイトを割り当て
                         「*」と力すると、残り全てを割り当てる。
 
 user data encryption? [y/N] ->    ← データ保存用パーティションを
                                      暗号化するか(別節を参)。
 
 Create an extra FAT partition? [y/n] -> y    ← 残りの領域をFATに
                                                 するかどうか
 target disk: sd2
   partition type=MBR
        boot type=UEFI
 
 -------------------- : ------
 	   partition :	 size
 -------------------- : ------
 	  whole disk :	  7GB
     partition tables :	 32KB
 	 UEFI system :	512KB
       FuguIta system :	  1GB
 	FuguIta swap :	   0B
    FuguIta user data :	  3GB
 	   MSDOS FAT :	  3GB
 -------------------- : ------
 
 ***THIS IS THE LAST CHANCE***
 If you type 'Y' now, all the data on sd2 will be lost.
 Are you sure to modify disk sd2? [y/N] -> y    ← 指定したUSBメモリに書き込むかどうかの
                                                   最終確認
 ========================================
 = Clearing MBR, GPT and BSD disklabel
 =
 1+0 records in
 1+0 records out
 1048576 bytes transferred in 0.005 secs (188870677 bytes/sec)
 
 ========================================
 = Setting up fdisk partitions
 =
   ~~省略~~
 ** /dev/rsd2d
 ** File system is already clean
 ** Last Mounted on /mnt
 ** Phase 1 - Check Blocks and Sizes
 ** Phase 2 - Check Pathnames
 ** Phase 3 - Check Connectivity
 ** Phase 4 - Check Reference Counts
 ** Phase 5 - Check Cyl groups
 5 files, 5 used, 1520722 free (18 frags, 190088 blocks, 0.0% fragmentation)
 
 ? : ? ->quit
 
 Bye bye...
 fugu-demo$

以上で、指定したデバイスに河豚板のシステムが書き込まれ、使用可能となります。

>&color(red){''【ご注意】''&br;''!!''書き込みのデバイス名は十分にご確認下さい。誤ったデバイスに書き込むと、そこに保存されているデータが失われます。};

#ref(fuguita-usb.png,around,right);
今まで説明した容を図にすると、右のようになります。

「Select boot method:」に対し「Legacy BIOS」あるいは「UEFI」を選択した場合は a パーティションが作成され、そこに河豚板のシステムが書き込まれます。「none」を力した場合は a パーティションは作成されません。この場合はデータ保存専用のUSBメモリとなります。

「Enter size for saving User Data」で力したサイズの d パーティションが作成され、usbfadm のデータ保存先となります。

''a''パーティションと''d''パーティションの領域を確保したあとでまだ未使用領域があれば、「Create an extra FAT partition? [y/n] ->」と訊かれます。これに対し''y''と答えると''i''または''j''パーティションが確保されます。このパーティションはFATファイルシステムとしてフォーマットされ、Windowsなど他のOSからもアクセスできます。OpenBSDもFATをマウントできますから、河豚板と他OSとのデータのやりとりに使用することもできます。
#clear

>''【メモ】''~
''⇒''この節で説明した河豚板のインストール方法は、USBメモリだけではなくOpenBSDが認識できる記録デバイス般に対して使用可能です。例えばSDカード、コンパクトフラッシュ、メモリスティックあるいはATAやSATAのハードディスクなどにも書き込むことが可能です。

>''【メモ】''~
''⇒''現在のPCは、起動方法として「BIOS」と「UEFI」の2種類があります。いままで説明してきたUSBメモリの作成方法は、BIOSでの起動に対応したものです。
UEFI起動に対応したUSBメモリを作成するには、以下のように起動方法として「UEFI」を指定します。
 Select boot method:
   1:  Legacy BIOS
   2: [UEFI]
   3:  none (only for save data)
   4:  Hybrid
 ->2
さらにパーティション形式として「MBR」を指定すると、Legacy BIOSのブートローダも書き込まれ、BIOS、UEFIのどちらでも起動が可能となります。
 Select partition type:
   1:  GPT
   2: [MBR]
 ->
なお、起動方法「Hybrid」を指定しても、BIOS、UEFIのどちらでも起動できるUSBメモリを作成することができます。~
だたし、「Hybrid」は規格に準拠していない作成方法です。加えて、作成後にfdiskコマンドでパーティションを変更すると不合が発生しますのでご注意下さい(Hybrid形式は、過去のリリースとの互換性のために残されています)。~
#ref(fuguita-usb-uefi.png,around,left);
UEFI起動に対応した河豚板LiveUSBのパーティション構成は左図のようになります。
#clear

#aname(autorun)
**起動時の設定力を省略できるようにする - noasksファイル
河豚板ではどのモードで起動するかに関わらず、起動中に手動で力しなければならない箇所があります。
-どのデバイスを使用して運用を行うか? (Which is FuguIta's operating device?)
-実メモリのどれくらいをmfsに割り当てるか? (Enter mfs size in MB.)
-どの起動モードを使用するか? (Boot modes)
-どの保存デバイスからファイルを復帰させるか?(モード3のみ) (Which is FuguIta's storage device?)
-どの保存名からファイルを復帰させるか?(モード3のみ) (config name ->)

上記の5目については入力を自動化する機能があります。~
それには、LiveUSB版河豚板の''d''パーティションにあるnoasksというファイルに設定値を書き込みます。
 $ doas -s 
 doas (yoshi@fugu-demo.localnet) password: 
 # mount /dev/sd0d /mnt
 # cd /mnt
 # ls -l
 total 4
 drwxr-xr-x  5 root  wheel  512 Oct 23 19:29 livecd-config
 # cd livecd-config/7.0/amd64                                           
 # ls -l
 drwxr-xr-x  11 root  wheel  512 Nov 10 17:08 fugu-demo
 -rw-r--r--   1 root  wheel  422 Nov  9 22:19 noasks
>''【メモ】''~
''⇒''ディレクトリlivecd-configは、usbfadmによるデータ保存用のディレクトリです。

noasksには、設定値の雛形がコメントの形で書かれていますので、テキストエディタで設定行のコメントを外し、設定したい値を書き込みます。
 # vi noasks

 #
 # noasks - parameter settings for non-interactive boot
 #
 # Make statements uncommented
 # Then assign real values
 #
 #
 # FuguIta system device
 #   - Use one of two lines                     河豚板のシステムデバイス
 #noask_rdev=sd2a  # device name format         通常のデバイス名、あるいは
 #noask_rdev=f24c0ae78bb7e0e4.a  # DUID format  DUIDフォーマットのどちらかを指定して
 #                                              コメントをはずします。
 # mfs size in MB
 #noask_umem=75%  実メモリからMFSに割り当てる量を指定します。(数字のみはメガバイト
 #                単位、%は実メモリ、%%は実装メモリ+スワップに対する割合です)
 #               
 # boot mode
 #noask_setup_rw_mode=3  自動で起動するモード
 #
 # storage device
 #   - Use one of two lines                        ファイルを保存するデバイス
 #noask_confdev=sd2d  # device name format         通常のデバイス名、あるいは
 #noask_confdev=f24c0ae78bb7e0e4.d  # DUID format  DUIDフォーマットのどちらかを指定して
 #                                                 コメントをはずします。
 # data set name in USB flash drive
 #noask_confdir=fugu-demo
>''【メモ】''~
''⇒''設定値の代文で、「=」の前後にはスペースを入れないようにして下さい(noasksファイルはシェルスクリプトとして解釈されます)。

編集が終了したら''d''パーティションをアンマウントしてシステムを再起動します。
 # cd
 # umount /mnt
 # /sbin/shutdown -r now
#aname(noasks-intr)
noasksファイルによる値の設定がされている場合、次のようなメッセージが表示されます;
 ============================================
 =     ______               __   _
 =    / ____/              |  |_| |__
 =   / /____  ______  __  _|  /_   _/_____
 =  / ___/ / / / __ \/ / / |  | | | /  _  |
 = / /  / /_/ / /_/ / /_/ /|  | | |_| (_) |__
 =/_/   \____/\__  /\____/ |__| \___/____/__/
 =            __/ /
 =           /___/
 =
 = Welcome to FuguIta!  -  OpenBSD Live System
 =                 http://fuguita.org/?FuguIta
 =============================================
 scanning partitions: wd0i wd0j sd0a sd0d
 FuguIta's operating device(s): sd0a.
 Press ^C to cancel non-interactive boot
この「Press ^C to cancel non-interactive boot」が表示されてから5秒つと自動起動が実施されます。~
5秒以に''<Control>-C''を入力するとnoasksファイルによる自動起動は中止され、通常の動作に戻ります。

>''【メモ】''~
''⇒''noasksファイルの中に未設定の目がある場合は、自動起動中にその項目設定の箇所でユーザからの入力を待ちます。

>''【メモ】''~
''⇒''設定目のうち、noask_rdevとnoask_confdevについてはsd0aといったような通常のデバイス名の他、DUID (Disklabel Unique IDentifiers) による指定も可能です。DUIDはディスクデバイスに自動的に付けられるランダムで固有な16進文字列です。~
DUIDは、disklabelコマンドの出力から確認できます。
 # disklabel sd0
 # /dev/rsd0c:
 type: ESDI
 disk: ESDI/IDE disk
 label: QEMU HARDDISK   
 duid: eac6323f6d34c465  ←DUID
 flags:
 ~略~
例えば、河豚板の起動デバイスをnoasksファイル中で指定する場合、
 noask_confdev=sd0d
と書く替わりに、
 noask_confdev=eac6323f6d34c465.d
というように「DUID.パーティション」というように指定することもできます。~
通常のデバイス名による指定は、ディスクデバイスの接続状況が変わるとsd0がsd1などに変わり、自動起動に失敗するおそれがありますが、DUIDによる指定ではデバイスの接続状況に関係なく常に同じディスクを指定することができます。

#aname(autosave)
**終了時にデータが自動で保存されるようにする
前節の [[起動時の設定力を省略できるようにする>#b493ab9a]] では河豚板起動時の自動化について説明しましたが、終了時に自動でデータを保存することもできます。

OpenBSDではシステム終了時に /etc/rc.shutdown というスクリプトを実行するようになっています。~
河豚板では、/etc/rc.shutdownにデータ保存の処理が記述されています。
 force_umount=No  # set Yes for forced umount /ram at shutdown
 force_resync=No  # set Yes to re-sync at shutdown
 ~ 略 ~
ファイル2行目のforce_resyncの設定値を「No」から「Yes」に変更することで、終了時にデータ保存が行われるようになります。

>''【メモ】''~
''⇒''この処理では保存処理が繰返し失敗した場合、シェルが立ち上がります。このシェルを用いて失敗の原因を取り除き、手動でusbfadm -rを実行して下さい。&br;シェルから抜けると保存処理が再実行されます。
>&color(red){''【ご注意】''&br;''!!''運用中に重要な処理を行った場合は、シャットダウン前に別途、手動でデータを保存しておくことをお勧めします。};

#aname(encrypt)
**データの保存領域を暗号化する - usbfadm newdriveコマンド
基本編の[[設定やファイルを保存する>#k57e4ba1]]で説明したとおり、河豚板のUSBメモリにはデータの保存用パーティションがあります。

保存領域を暗号化する機能を使うと、USBメモリに保存した報を盗難や紛失などのアクシデントから保護することができます。

[[usbfadmコマンドでLiveUSBを作成する>#ld36d7ec]]時には、usbfadmコマンドのnewdrive機能を使用しますが、
以下のように指定を行うと、暗号化パーティションを作成することができます。
 # usbfadm
 
 Welcome to usbfadm.
 USB flash drive administration tool for FuguIta
 
   Version/Arch: 6.7/amd64  (FuguIta-6.7-amd64-202006142)
      Boot mode: manual
 Data stored in: not set
  Data Saved as: not set
 
 Type ? for help.
 
 ? : ? ->newdrive
 ~~ 略 ~~ 
 Enter sizes for swap, user data and extra FAT.
   You can add suffix K, M, G or T (otherwise considered 'bytes').
   '*' implies 'all'
   '0' doesn't make this partition.
 
 589MB (604128KB) (1208256sectors) free
 swap->64m
 
 
 525MB (538592KB) (1077184sectors) free
 userrdata->*
 
 user data encryption? [y/N] -> y       ← 「y」を力しデータ保存領域の暗号化を指定
 
 Enter passphrase twice. They'll be not echoed.
 
 //// CAUTION ////////////////////////////
 ////   If you lost this passphrase,    ← パスフレーズを失念すると、保存したデータを
 ////   you'll never access sd0d.       ← 取り出す方法はありません。ご注意下さい。
 /////////////////////////////////////////
 
 Passphrase:           ← 暗号化のパスフレーズを力します(入力内容は表示されません)。
 Passphrase:           ← 確認のため、再度パスフレーズを力します
 ~~ 続く ~~ 
暗号化されたパーティションにデータを保存するには以下のように、2段階の手順を踏みます。
+usbfadmのtarget機能で暗号化されているパーティションを指定し、パスフレーズを力します。~
~
+パスフレーズの力が正しいと新たにディスクが現れるので、再度target機能を呼出し、このディスクを指定します。
-usbfadmのsync機能でデータの保存を実行します。
 ? : ? ->target
 
 Searching storage device
 Please make sure the device inserted.
 Then press ENTER ->
 sd0a ?sd0d                             ← 「?」の付いているものが暗号化された
                                           パーティションです(このままでは読めません)。
 target device->sd0d                    ← このパーティションを指定して、
 Passphrase:                            ← パスフレーズを力します。
 sd1 at scsibus3 targ 1 lun 0: <OPENBSD, SR CRYPTO, 006>
 sd1: 525MB, 512 bytes/sector, 1076656 sectors
 softraid0: CRYPTO volume attached as sd1
 sd0a ?sd0d +sd1d                       ← パスフレーズが正しいと新しいディスク
                                           sd1dが現れます。
 target device->sd1d                    ← sd1dを保存に指定し、
                                           以下、通常の手順で保存を実行します。
  sd1d : ? ->saveas
 Name of avedd ata->fugu-demo
 
 Your data will be saved as ``fugu-demo''.
 
 sd1d : fugu-demo ->sync
 
 Sync current mfs as ``fugu-demo'' , OK? [y/N] -> y
 
 copying /ram to /mnt/livecd-config/6.7/amd64/fugu-demo (30688KB approx.):
 25.0MiB 0:00:38 [9673KiB/s][[===========================>      ] 83% ETA 0:00:07
 waiting for pax to finish ... syncing ... done.
 
 sd1d : fugu-demo ->bye

保存されたデータを以降の起動時に読み込む時も保存の場合と同様、2段階の手順を踏みます。
+起動モード3を指定し、暗号化されているパーティションを指定し、パスフレーズを力します。~
~
+パスフレーズの力が正しいと新たにディスクが現れるので、再度モード3を呼出し、そのディスクを指定します。
 ============================================
 =     ______               __   _
 =    / ____/              |  |_| |__
 =   / /____  ______  __  _|  /_   _/_____
 =  / ___/ / / / __ \/ / / |  | | | /  _  |
 = / /  / /_/ / /_/ / /_/ /|  | | |_| (_) |__
 =/_/   \____/\__  /\____/ |__| \___/____/__/
 =            __/ /
 =           /___/
 =
 =  Welcome to FuguIta  -  OpenBSD Live System
 =                         http://fuguita.org/
 =============================================
 
 scanning partitions: sd0a sd0b sd0d cd0a
 FuguIta's operating device(s): sd0a cd0a.
 Which is FuguIta's operating device? -> sd0a
 activating swap partition: /dev/sd0b
   user memory: 239 MB
 Enter mfs size in MB. (0MB is auto)
 [default: 0MB] ->
 mfs size will be automatically allocated
 Boot modes:
   0: fresh boot - standard mode as a live system
   1: fresh boot - less memory, faster boot (/usr is non-writable, can't pkg_add)
   2: fresh boot - works using only RAM (about 1GB or more of RAM required)
   3: boot with retrieving saved files from storage device
      or enter passphrase for an encrypted volume
   4: boot with retrieving saved files from floppy disk
   5: interactive shell for debugging
 ->3                                    ← 起動モード3を選択
 scanning partitions: sd0a sd0b sd0d cd0a
 Device(s) found:
       encrypted: sd0d    ← This is the encrypted volume.
 Which is FuguIta's storage device? -> sd0d
 Passphrase:                            ← パスフレーズを  ↓ パスフレーズが正しいと、新たにディスクが現れます。
 sd1 at scsibus3 targ 1 lun 0: <OPENBSD, SR CRYPTO, 006>
 sd1: 525MB, 512 bytes/sector, 1076656 sectors
 softraid0: CRYPTO volume attached as sd1
 Passphrase successful: Select boot mode again...
 Boot modes:
   0: fresh boot - standard mode as a live system
   1: fresh boot - less memory, faster boot (/usr is non-writable, can't pkg_add)
   2: fresh boot - works using only RAM (about 1GB or more of RAM required)
   3: boot with retrieving saved files from storage device
      or enter passphrase for an encrypted volume
   4: boot with retrieving saved files from floppy disk
   5: interactive shell for debugging
 ->3                                    ← 再度起動モード3を指定します。
 scanning partitions: sd0a sd0b sd0d cd0a sd1d
 Device(s) found:
   loadable from: sd1d                  ← 新たに現れたディスクから読み込めます。
       encrypted: sd0d
 Which is FuguIta's storage device? [default: sd1d] -> sd1d  ← 指定して読み込み
 /dev/sd1d : available data;
 
 fugu-demo
 
 config name -> fugu-demo
 Copying files from flash to ram ...
 done
 ~~ 続く ~~ 

このディスクは起動完了後も見えているので、データを保存する時に改めてパスフレーズを力する必要はありません。

#aname(multidevice)
**複数の河豚板を併用する
いままではほとんどの場面で、LiveDVD版かLiveUSB版の河豚板のどちらか一方を使う想定で説明を行ってきましたが、もしPCにLiveDVDとLiveUSBの両方を着して起動したらどうなるでしょうか? あるいは、LiveUSBを2つ作って、それを二つとも装着して起動したら?

河豚板はそのような場合にもうまく動作するように設計されています。

LiveDVDとLiveUSBの両方を着して起動した場合について説明します。

まず、電源をれた直後にDVDとUSBのどちらが起動するかですが、これは [[河豚板を起動する>#i322b9ad]] で説明したようにPCのBIOSメニューの設定によります。

次に、運用デバイス(ディレクトリ /fuguita にマウントされ、OSとして使用されるデバイス)ですが、河豚板のシステムが書き込まれたデバイスが2つ以上検出された場合は、
 scanning partitions: wd0i wd0j cd0a sd0a sd0d
 FuguIta's operating device(s): cd0a sd0a.
 Which is FuguIta's operating device? ->
のように使用可能なデバイスを列挙し、どれを使用するかユーザに尋ねるようになっています。
>''【メモ】''~
''⇒''上の例ではwd0iとwd0jは蔵ハードディスクという想定です。内蔵ハーディスクにはWindowsがインストールされていて、CドライブとDドライブの2つのパーティションが存在しているような場合、このような表示になります。

保存されたデータを読み込む場合も同様に候補が複数ある場合はどれを使うかユーザに尋ねます。例えばLiveUSBが2本挿された状で起動モード3を選択した場合、以下のようにsd0d、sd1dの2つの候補が表示されます;
 Boot modes:
   0: fresh boot - standard mode as a live system
   1: fresh boot - less memory, faster boot (/usr is non-writable, can't pkg_add)
   2: fresh boot - works using only RAM (about 1GB or more of RAM required)
   3: boot with retrieving saved files from storage device
      or enter passphrase for an encrypted volume
   4: boot with retrieving saved files from floppy disk
   5: interactive shell for debugging
 ->3
 scanning partitions: wd0i wd0j sd0a sd0d sd1a sd1d
 Device(s) found:
   loadable from: sd0d sd1d
 Which is FuguIta's storage device?  -> 
usbfadmコマンドでデータを保存する場合も、[[設定やファイルを保存する>#k57e4ba1]] で説明したように、usbfadmのtargetコマンドを使用して保存のデバイスを指定できます。

以上のことを応用すると、以下に挙げるような運用が可能となります。

:SDカード版の河豚板で運用|[[USBメモリの容量に合わせてLiveUSBを作成する>#ld36d7ec]]で説明したように、usbfadmコマンドでは、USBメモリ以外の記憶デバイスにも河豚板をインストールできます。~
SDカードからの起動をサポートしているPCはほとんど存在しませんが、LiveDVD版とSDカード版の河豚板の2つを着してPCを起動すると、システムの起動をLiveDVDで行い、運用デバイスをSDカードとすることで、SDカード版河豚板による運用が可能となります。

:LiveDVD版河豚板をモード3で起動|LiveDVD版河豚板単体では、データの保存・復帰はできませんが、LiveUSBなどと併用することでDVDで運用しながら、データを保存して終了し、次回起動時に復帰するといった使い方ができます。
>''【メモ】''~
''⇒''USBメモリはデータの保存時/復帰時にのみマウントされるので、それ以外の時ははずしておけます。

この、河豚板の「起動と運用は別のデバイスで行える」という特徴をさらに活かし、[[OpenBSDと河豚板を共存させる>#d99117a6]] ことや [[WindowsやLinuxと河豚板を共存させる>#b882fb9c]] ことも可能になっています。これらについては次節以降で紹介します。
>''【メモ】''~
''⇒''なお、[[起動時の設定力を省略できるようにする>#b493ab9a]] で説明した設定入力の自動化は、全パーティション中に noasks ファイルが1つしかない場合に実行されます。2つ以上の noasks ファイルが検出された場合は安全のため自動実行は中止され、手動入力に移行します。

**OpenBSDと河豚板を存させる
河豚板を実行しようとしているPCにすでにOpenBSDがインストールされている場合、そのインストール済みのOpenBSDに河豚板のファイルを置くことでLiveDVDやLiveUSBを装着していなくても河豚板を起動することができます。

原理としては、既存のOpenBSDパーティションに河豚板のカーネルとISOイメージを置き、既存のブートローダを利用して河豚板のカーネルを起動する、という方法になります。

以下、設置と起動の方法を説明します。~
まず既存のOpenBSDを起動し、rootでログインします。

次に、ルートディレクトリ直下に「ISO」というディレクトリを作成します。~
この /ISO ディレクトリに河豚板のサイトからISOイメージをダウンロードし、展開します。
 # mkdir /ISO
 # cd /ISO
 # ftp http://mirror.ginzado.ne.jp/pub/FuguIta/FuguIta-6.0-amd64-201612251.iso.gz
 Trying 110.92.1.251...
 Requesting http://mirror.ginzado.ne.jp/pub/FuguIta/FuguIta-6.0-amd64-201612251.iso.gz
 100% |**************************************************|   322 MB    07:48
 
 338634465 bytes received in 468.48 seconds (705.90 KB/s)
 # ls -l
 total 661632
 -rw-r--r--  1 root  wheel  338634465 Dec 29 00:55 FuguIta-6.0-amd64-201612251.iso.gz
 # gunzip FuguIta-6.0-amd64-201612251.iso.gz
 # ls -l
 total 1427648
 -rw-r--r--  1 root  wheel  730744832 Dec 29 00:55 FuguIta-6.0-amd64-201612251.iso
ISOイメージの中に含まれている河豚板のカーネルをルートディレクトリ直下にコピーします。
vnconfig(8)はISOやUSBメモリのイメージファイルを記憶デバイスとしてアクセスできるようにするコマンドです。
 # vnconfig vnd0 FuguIta-6.0-amd64-201612251.iso
 # vnconfig -l
 vnd0: covering FuguIta-6.0-amd64-201612251.iso on wd0a, inode 25986
 vnd1: not in use
 vnd2: not in use
 vnd3: not in use
 # mount -r /dev/vnd0a /mnt
 # ls -l /mnt
 total 1427119
 -r-xr-xr-x  1 root  bin        71452 Apr  4  2015 boot
 -rwxr--r--  1 root  wheel       2048 Dec 27 11:59 boot.catalog
 -rw-r--r--  1 root  wheel    5569179 Dec 27 19:19 bsd-fi
 -rw-r--r--  1 root  wheel    5577796 Dec 27 19:19 bsd-fi.mp
 -r-xr-xr-x  1 root  wheel      72328 Dec 27 19:19 cdboot
 -r-xr-xr-x  1 root  wheel       2048 Dec 27 19:19 cdbr
 drwxr-xr-x  2 root  wheel       2048 Apr 18  2014 etc
 -rw-r--r--  1 root  wheel  719388672 Dec 27 19:19 fuguita-5.8.ffsimg
 # cp -p /mnt/bsd-fi /mnt/bsd-fi.mp  /
 # umount /mnt
 # vnconfig -u vnd0
 # vnconfig -l
 vnd0: not in use
 vnd1: not in use
 vnd2: not in use
 vnd3: not in use
 #
以上で設置作業は完了です。
>''【メモ】''~
''⇒''データの保存と復帰を行いたい場合は livecd-config というディレクトリを作成します。ただし、ISO ディレクトリと同じ場所には作れません。なぜなら、ISO ディレクトリが作成されたパーティションは、河豚板稼動中は書込み不可でマウントされるからです。従って、livecd-config の作成に適切なパーティションは、例えば /home や /var など、別パーティションのマウントポイント直下ということになります。

次に起動方法ですが、PCが起動し、カーネルメッセージが表示される直前に「boot>」というプロンプトが数秒間表示されます。~
ここで何もしないと既設のOpenBSDシステムが起動しますが、起動したいカーネルを力すると、そのカーネルが立ち上がります。
 boot> bsd-fi.mp
この「bsd-fi.mp」がマルチプロセッサ用の河豚板カーネルです。
シングルプロセッサ用の河豚板カーネルを起動したい場合は「bsd-fi」と力します。
>''【メモ】''~
''⇒''以上の説明では ISO ディレクトリと livecd-config ディレクトリはルートディレクトリ直下に作成しましたが、OpenBSDのファイルシステムが作成されているパーティションの直下であれば、ルートディレクトリ直下でなくとも動作します。

**WindowsやLinuxと河豚板を存させる
河豚板ではWindowsのNTFSやFAT、LinuxのEXT-2, EXT-4ファイルシステムでフォーマットされたパーティションも運用デバイスとして用いることができます。~
この方法は [[OpenBSDと河豚板を存させる>#d99117a6]] で説明した手順とほぼ同様な方法です。つまり、
-運用デバイスとして用いるOSを起動させ、

-そのOS上のファイルシステム直下(WindowsならCドライブやDドライブ、Linuxならルートディレクトリやその他のマウントポイント)にISOというフォルダを作成し、

-そのフォルダに河豚板のISOイメージを置きます。

だたし、WindowsやLinuxのファイルシステムから河豚板を使用する場合は、以下のような制限があります。

-現段階ではWindowsやLinuxのファイルシステムに置かれたOpenBSDのカーネルを起動することはできません。従って、カーネル起動用にのみLiveDVD版やLiveUSB版の河豚板を使用することになります。

-WindowsやLinuxのファイルシステムは、データの保存・復帰も対応していませんので、データの保存と復帰にはLiveUSB版の河豚板を使用します。

**スワップパーティションを有効にする
通常、河豚板はスワップを使用せずメインメモリだけで動作しますが、[[ノーマルなOpenBSDと河豚板が存している>#d99117a6]] ような環境では、OpenBSDのスワップパーティションを検出し、さらにそれを有効化します。
 Which is FuguIta's operating device? -> wd0a
 activating swap partition: /dev/wd0b
 activating swap partition: /dev/wd1b
この例では、/dev/wd0b と /dev/wd1b の2つのスワップパーティションが見つかり、両方とも有効になっています。~
スワップパーティションは検出と同時に有効化されます。これを無効/有効にする設定はありません。
>''【メモ】''~
''⇒''何らかの理由でスワップを使用したくない場合(例えば、スワップパーティションにバッドセクタが存在するためプロセスが異常終了するおそれがある、ディスク上にメモリイメージを残したくない、など)場合は、起動モード5「interactive shell for debugging」を選択します。~
選択後、シェルが立ち上がったらswapctl(8)コマンドを-dオプション付きで実行し、スワップを無効化します。~
シェルを抜けると再度起動モードの選択になりますので本来の起動モードを選択し、処理を再開します。

**マウントするパーティションを追加する - /etc/fuguita/fstab.tailファイル
通常Unix系のOSでは、/etc/fstabというファイルでマウントするパーティションを指定します。~
そのため、ユーザがマウントするパーティションを追加や変更したい場合は、fstabの記述容を変更します。

ところが河豚板では、fstabファイルの容を変更し再起動してもその内容はファイルシステムのマウント状況に反映させません。

河豚板では起動時の初期化中、PCに接続されているてのディスクデバイスが調査され、システムパーティションの検出などが行われます。また、必要に応じてユーザからの指定も受け取ります。~
最後に、その結果を受けてfstabが自動的に生成され、それを基にファイルシステムのマウントが行われます。~
そのため、ユーザがfstabを変更し保存を行っても、その容は次回起動時に上書きされてしまいます。

マウントするパーティションを追加したい場合は、/etc/fuguita/fstab.tailというファイルにその容を記述します。~
例として、sd2というディスクのeパーティションを/ram/optというディレクトリに追加でマウントしたい場合、以下のような手順になります。

- /etc/fuguita/fstab.tail を作成します。このファイルの書式は/etc/fstabと同じです。
 /dev/sd2e /ram/opt ffs rw 0 1

- /ram/optディレクトリがない場合、あらかじめ作成しておきます。
 # mkdir /ram/opt

- usbfadmコマンドのsync機能を使い、ファイルを保存します。

- システムを最起動し起動モード3で起ち上げ、指定したパーティションがマウントされていることを確認します。

/etc/fuguita/fstab.tailファイルの容は自動生成された/etc/fstabファイルの末尾に追加され、その後ファイルシステムのマウントが行われるようになっています。

>''【メモ】''~
''⇒''マウントポイントはmfs(/ramディレクトリより下)に作成する必要があります。~
''⇒''/ramディレクトリ直下のディレクトリやファイルは、起動時にルートディレクトリから自動的にシンボリックリンクが張られます。従って、/ram/optは/optとしてアクセスすることができます。

#aname(dtjsetup)
**X Window Systemに日本語デスクトップ環境を導する - dtjsetupコマンド
河豚板では、dtjsetupというコマンドを実行すると、日本語のデスクトップ環境を導することができます。

以下は、dtjsetupの実行例です。
 # dtjsetup                                   ← dtjsetupの起動
                                                (root, 一般ユーザのどちらでも使用できます)
 #==========================================
 # Welcome to dtjsetup
 #     Desktop (and Japanese) setup utility
 #
 # for FuguIta-6.6-amd64-202001171
 #==========================================
 
 Which desktop software will you install?     ← デスクトップ環境の選択
   1:  no desktop (wm only)
   2: [rox-filer]
   3:  xfce
   4:  mate
   5:  lumina
   6:  lxqt
 ->                                           ← [ENTER]のみを力すると[ ]で囲まれた
                                                 目を選択したことになります。
 Which window manager will you install?       ← 前で1(デスクトップ環境なし、ウィンドウ・
   1:  cwm                                       マネージャのみ)、あるいは2 (rox-filer)を
   2:  fvwm                                      選択した場合はウィンドウ・マネージャを
   3:  twm                                       選択します。
   4: [icewm]
   5:  fluxbox
   6:  jwm
 ->
 
 Will you setup Japanese language environment? [y/N] -> y    ← 日本語環境を導するか?
 
 Which input method will you install?         ← input method (日本語力ソフト)の種類を
   1: [scim-anthy]                               選択
   2:  uim-gtk
   3:  fcitx-anthy
   4:  ibus-skk
 ->
 
 *** You selected icewm as desktop software.
 *** Installing Japanese environment is YES.
 *** Japanese input method is scim-anthy.
 
 *** Checking your root authorization...
 *** OK.
 
 *** Checking network accessibility...
 *** OK.
 
 *** Installing packages: rox-filer icewm ja-kterm ja-sazanami-ttf mixfont-mplus-ipa mplus-fonts scim-anthy
 Will you continue? [y/N] -> y                ← 続行するかどうかの確認
 quirks-3.183 signed on 2020-01-31T18:21:51Z
 rox-filer-2.11p3:libiconv-1.16p0:ok
 rox-filer-2.11p3:xz-5.2.4:ok
     :
 icewm-1.6.1:libsndfile-1.0.28:ok
 icewm-1.6.1:ok
 Ambiguous: choose package for ja-kterm
 a	0: <None>
 	1: ja-kterm-6.2.0p9
 	2: ja-kterm-6.2.0p9-xaw3d
 Your choice: 1                               ← kterm (漢字ターミナル) のパッケージが2種類あり、
 ja-kterm-6.2.0p9:ok                             どちらを導するかの選択
     :
 scim-anthy-1.2.7p11:ok
 Running tags:
 New and changed readme(s):
 	/usr/local/share/doc/pkg-readmes/glib2
 	/usr/local/share/doc/pkg-readmes/gtk+2
 	/usr/local/share/doc/pkg-readmes/scim
 --- +ja-sazanami-ttf-20040629p3 -------------------
 You may wish to update your font path for /usr/local/share/fonts/sazanami
 --- +mixfont-mplus-ipa-20060520p7 -------------------
 You may wish to update your font path for /usr/local/share/fonts/mixfont-mplus-ipa
 --- +mplus-fonts-063 -------------------
 You may wish to update your font path for /usr/local/share/fonts/mplus-fonts
 
 *** /root/.xsession already exists.          ← .xsession (Xの初期設定ファイル)が既に
 *** This will be replaced with a new file.      ある場合は古いファイルをバックアップする。
 *** and the old one will be renamed to /root/.xsession_20200206_170903.
 
 *** Rewrite .xsession configuration file.    ← .xsessionを更新するか?
 Will you continue? [y/N] -> y
 
 Copy this .xsession file to /etc/skel ? [y/N] -> y    ← .xsessionを/etc/skelにコピーするか?
                                                          コピーすると、以後、新規にユーザ
                                                          アカウントを作成した際、今回の設定が
                                                          引き継がれる。
 *** Japanese environment and related software have been set up.
 *** However, the time zone has not yet been set to JST.
 Set timezone to JST? [Y/n] -> y                       ← タイムゾーンを日本標準時に設定するか?
 
 *** When you use this machine both running OpenBSD and Windows.
 *** You may set the hardware clock to JST instead UTC.
 Set hardware clock to JST? [Y/n] -> n                 ← PCの蔵時計を日本標準時に設定するか?
                                                         (Windowsと存している場合に有用)
 *** all installation and configuration completed.
 *** Check your /root/.xsession and login to X if OK.
 
 *** Note: You can save this configuration and addtionally installed softwares
 ***	  by using usbfadm utility.
 ***	  And can reload them at next boot time by selecting boot mode 3.
#ref(DeskTop.jpg,wrap,around,right,50%)
以上の設定を行った後でログアウトし、xenodmのログイン画面からログインしなおすと、導したデスクトップ環境が立ち上ります。

デスクトップ環境では pkg_add コマンドを使用して各種アプリケーションを追加することができます。

>''【メモ】''~
''⇒''河豚板の導から各種アプリケーションのインストールまでをさらに詳しく解説した[[OpenBSDライブシステム「河豚板」の日本語デスクトップ環境を構築する>https://qiita.com/ykaw/items/ca008a34d73d5f1f6dd8]]という記事を技術情報共有サイトQiitaにて公開しています。こちらもご覧下さい。
#clear
***Xのログイン画面を有効にする
河豚板の起動時の設定で、[[ログイン方法の選択>#a5fdbf53]] で説明したように、コンソール画面から行う方法と、X Window Systemのログイン画面(xenodm)からログインする方法を選択します。

コンソール画面からのログインを選択した場合でも、X Window Systemのログイン画面(xenodm)からログインする方法に後で変更できます。
それには [[OSの設定値を変更する>#g61850e9]] で説明したように、/etc/rc.conf.local ファイルの容を変更します。

以下の例は、rcctl(8)を使用して xenodem を有効にする例です。
 $ doas rcctl enable xenodm  
 $ doas rcctl ls on                                                                                    
 check_quotas
 cron
 library_aslr
 ntpd
 pf
 pflogd
 slaacd
 smtpd
 sndiod
 sshd
 syslogd
 xenodm
 #
rcctlコマンドでxdmを有効にすると rc.conf.local に「xdm_flags=」という行が付け加えられることがわかります。
 $ cat /etc/rc.conf.local
 xenodm_flags=
 $
>''【メモ】''~
''⇒''テキストエディタで rc.conf.local を直接編集しても同じ結果が得られます。~
OpenBSD 5.7以前はrcctlコマンドが開発されておらず、テキストエディタによる編集が正規の設定手順でした。

設定変更後usbfadmで保存を行い、以降、モード3で起動すればxdmが立上ります。
>''【メモ】''~
''⇒''xdmが表示されている状で''<Control>''+''<Alt>''+''<F1>''を押すと通常のテキストログイン画面に切り替わります。この仮想コンソールは全部で12面あり、''<Control>''+''<Alt>''+''<F1>''から''<Control>''+''<Alt>''+''<F12>''まで割り当てられています。Xの表示は5番目の仮想コンソールに割り当てられているので、''<Control>''+''<Alt>''+''<F5>''を押すと、Xの画面に戻ります。

#aname(fiupdate)
**河豚板をアップデートする - fiupdateコマンド
OpenBSDは半年に一度、メジャーリリースが行われており、このとき OpenBSD 5.8 → OpenBSD 5.9 のようにバージョンが変わります。~
そしてその半年にもセキュリティや安定性の向上などに関する修正が行われており、OpenBSDの式サイトでも http://www.openbsd.org/errata60.html で修正情報が提供されます。

河豚板もこの修正報への追従を行っており、現行で公開されている版はいままでの修正情報が全て適用されたものとなっています(実際には、適用作業と動作確認を行うため修正情報の公開からは数日程度のタイムラグがあります)。

なお、河豚板で現在運用中のOSのバージョンを確認するには次のようにコマンドを実行します。
 $ uname -a                                       ← OSのバージョンを確認
 OpenBSD fugu-demo.localnet 5.8 RDROOT.MP#2 i386
 $ sysctl kern.version                            ← カーネルのバージョンを確認
 kern.version=OpenBSD 5.8-stable (RDROOT.MP) #2: Wed Nov 11 13:18:48 JST 2015
     root@nimbus5.localnet:/opt/fi/5.8/sys/arch/i386/compile/RDROOT.MP
 
 $ cat /usr/fuguita/version                       ← 河豚板のバージョンを確認
 5.8-201512272

この節では、現在お使いの河豚板を最新版にアップデートする方法を解説します;

***OpenBSDのメジャーリリースがバージョンアップした場合
これは、河豚板がベースとしているOpenBSDのメジャーリリースが行われた場合です。例えば、
 FuguIta-5.8-amd64-201504161

 FuguIta-5.9-amd64-201510255
ですが、これは河豚板のベースとなっているOSがOpenBSD 5.8からOpenBSD 5.9に変っています。

OpenBSDのメジャーリリースが変っている場合、システムのアップデートは困難です。~
その理由は、OpenBSDがバージョンアップすると、システムコールの仕様変更、有ライブラリの互換性のないバージョンアップ、コマンドのや追加・削除や仕様変更などが大幅に行われるため、過去の環境を保ったままバージョンを移行することが現実的ではないためです。

OpenBSDのメジャーリリースを跨いでの移行は、以下のような方法が推奨されます;

+LiveDVDやLiveUSBを新規に作成する。
+新しいバージョンの河豚板を起動させ、古いバージョンの河豚板から各種設定やユーザが作成したファイルなどの移行作業を行う。

***OpenBSDのメジャーリリースは変わっていない場合
これは、
 FuguIta-6.0-amd64-201511297

 FuguIta-6.0-amd64-201512051
のようにOpenBSDのバージョンを表す「6.0」の部分が変っていないことで確認できます。

この場合はシステムの変更は部分的なものにとどまっていますので、ユーザデータの移行などは要ありません。
システムの移行は、以下の手順で行います。

''LiveDVDの移行手順''~
LiveDVDの場合はメディアの部分的な書き換えはできませんので、新しいバージョンのLiveDVD版河豚板を作り、それを使用する形になります。~
USBメモリに保存したデータについては、そのまま起動モード3で読み込んで使用できます。

''LiveUSBの移行手順''~
LiveUSBの場合は、fiupdate (FuguIta update)というコマンドを用いることで、起動しているLiveUSBのアップデートを行うことができます。

fiupdateを使うには、アップデート対象のLiveUSBをモード0、1あるいは2で起動します。~
次に、布サイトより新しいバージョンのISOイメージとSHA256ファイルをダウンロードし、その後、fiupdateを起動します。
>''【メモ】''~
''⇒''LiveUSBをアップデートに使用するのはISOイメージファイルです。*.imgファイルではないことにご注意下さい。~
''⇒''SHA256ファイルは、ダウンロードしたファイルの容が壊れていないことをチェックするためにfiupdateが使用します。
 total 606752
 -rw-r--r--  1 root  wheel  310651490 Oct  7 01:12 FuguIta-6.7-amd64-202010071.iso.gz
 -rw-r--r--  1 root  wheel	 562 Oct  8 06:25 SHA256
 
 fugu-demo# cat /usr/fuguita/version
 6.7-amd64-20209041
 
 fugu-demo# fiupdate 202010071
 
 fiupdate - Live Updater for FuguIta LiveUSB
   Version/Arch: 6.7/amd64  (FuguIta-6.7-amd64-20209041)
 
 Checking...
      environment: ok
 
 Note: This software is currently in beta testing.
       Use this at YOUR OWN RISK.
 
       We recommend that you run this command in fresh boot (boot mode
       0, 1, or 2).
       Alternatively, you must quit all application software and save
       all your data before updating this FuguIta device.
 
       All daemons, including xenodm, will be stopped before the update.
       Please note that all X sessions will be aborted.
 
 Do you proceed? [y/N] -> y
 
 Checking...
 	checksum: (SHA256) FuguIta-6.7-amd64-202010071.iso.gz: OK
      file layout: liveusb
   existing files: ok
 
 decompressing FuguIta-6.7-amd64-202010071.iso.gz...
 9296MiB 0:00:31 [9.51MiB/s] [================================>] 100% ETA 0:00:00
 Now ready to update FuguIta-6.7-amd64-20209041 to FuguIta-6.7-amd64-202010071.
 
 This machine will reboot immediately after update completed.
 
 Do you proceed? [y/N] -> y
 
 stopping all daemons...
 cron(ok)
 ntpd(ok)
 pflogd(ok)
 slaacd(ok)
 smtpd(ok)
 sndiod(ok)
 sshd(ok)
 syslogd(ok)
 
 overwriting uniprocessor kernel...
 8.66MiB 0:00:06 [1.37MiB/s] [================================>] 100% ETA 0:00:00
 overwriting multiprocessor kernel...
 8.69MiB 0:00:04 [1.84MiB/s] [================================>] 100% ETA 0:00:00
 overwriting filesystem image...
 9864MiB 0:05:30 [3.05MiB/s] [================================>] 100% ETA 0:00:00
 
 update completed.
 now rebooting...
 syncing disks... done
アップデート完了後、PCは自動的に再起動します。~
LiveUSBアップデート後の運用は今までと変りなく、データの移行等をする要もありません。

>''【メモ】''~
''⇒''fiupdateをネットワーク経由、あるいはX Window System上で実行すると、以下のような警告が表示されます。
 It seems you are running this script on X Window System,
 via network or something like this.
 In this situation, during update, corresponding processes
 will be killed and then update may fail.
 
 Running this on direct console device is highly recommended.
 
 Continue anyway? [y/N] ->
fiupdateは、システムファイルを更新する前にてのデーモンを停止します。この時、ネットワークが切断されたりXのセッションが終了して、アップデートが失敗する可能性があります。~
ですので、fiupdateはコンソールデバイス上で直接実行するようにして下さい。

**河豚板をモバイル環境で使う
河豚板をモバイル環境の端末として使うためには、基本的な部分は固定環境での運用と大きく変わるところはありません。

しかしモバイル環境特有の事を考慮し、設定を追加するとより効率的に運用できる面もあります。

この節ではそのような設定目としてノートPCの電源関連について解説します。

***電源関連の設定
現在のPC、とりわけノートPCにはACPI (Advanced Configuration and Power Interface)やAPM (Advanced Power Management)という仕組みがあり、バッテリーなどの電源置の監視や制御を行うことができます。~
OpenBSDではこれらの仕組みはacpi(4)、及びapm(4)として実されており、管理用のコマンドを通じてアクセスすることができます。

acpiやapmの管理は、apmd(8)というデーモンにより行います。~
apmdの状確認と設定を行います;
 $ doas -s
 Password:
 # rcctl get apmd
 apmd_class=daemon
 apmd_flags=NO      ← apmdは無効(動作しない)設定になっている。
 apmd_timeout=30
 apmd_user=root
apmdを有効にします。
 # rcctl enable apmd
 # rcctl set apmd flags -A  ← CPU負荷に応じてCPUクロック周波数を自動で変化させる
 # rcctl start apmd
 # rcctl get apmd
 apmd_class=daemon
 apmd_flags=
 apmd_timeout=30
 apmd_user=root
 # 
設定が完了したら[[usbfadmコマンドを使用して保存>#k57e4ba1]]し、河豚板を[[モード3で再起動>#w4595c42]]します。

apmdが稼動している状では、apm(8)というコマンドで状態の監視と制御が可能です。
 $ apm
 Battery state: high, 89% remaining, 57 minutes life estimate
 A/C adapter state: not connected
 Performance adjustment mode: auto (1000 MHz)
以下の例では、apmコマンドに-Lフラグを与えて、CPUが常時低クロックで動作するように設定しました;
 $ apm -L
 $ apm
 Battery state: high, 88% remaining, 42 minutes life estimate
 A/C adapter state: not connected
 Performance adjustment mode: manual (1000 MHz)
バッテリーなどハードウェアの状は、sysctlコマンドやsystat(1)コマンドでもモニタできます。
 $ sysctl hw.sensors
 hw.sensors.acpitz0.temp0=55.50 degC (zone temperature)
 hw.sensors.acpiac0.indicator0=Off (power supply)
 hw.sensors.acpibat0.volt0=14.80 VDC (voltage)
 hw.sensors.acpibat0.volt1=15.30 VDC (current voltage)
 hw.sensors.acpibat0.current0=1.19 A (rate)
 hw.sensors.acpibat0.amphour0=1.12 Ah (last full capacity)
 hw.sensors.acpibat0.amphour1=0.21 Ah (warning capacity)
 hw.sensors.acpibat0.amphour2=0.07 Ah (low capacity)
 hw.sensors.acpibat0.amphour3=0.92 Ah (remaining capacity), OK
 hw.sensors.acpibat0.amphour4=2.15 Ah (design capacity)
 hw.sensors.acpibat0.raw0=1 (battery discharging), OK
 hw.sensors.acpibtn0.indicator0=On (lid open)
 hw.sensors.acpidock0.indicator0=Off (not docked), UNKNOWN
 hw.sensors.cpu0.temp0=55.00 degC

 $ systat sensors
     3 users    Load 0.40 0.42 0.37                     Wed Dec 30 04:18:11 2015
 
 SENSOR                                 VALUE  STATUS  DESCRIPTION
 acpitz0.temp0                     56.50 degC          zone temperature
 acpiac0.indicator0                       Off          power supply
 acpibat0.volt0                    14.80 V DC          voltage
 acpibat0.volt1                    15.26 V DC          current voltage
 acpibat0.current0                     1.08 A          rate
 acpibat0.amphour0                    1.12 Ah          last full capacity
 acpibat0.amphour1                    0.21 Ah          warning capacity
 acpibat0.amphour2                    0.07 Ah          low capacity
 acpibat0.amphour3                    0.90 Ah    OK    remaining capacity
 acpibat0.amphour4                    2.15 Ah          design capacity
 acpibat0.raw0                          1 raw    OK    battery discharging
 acpibtn0.indicator0                       On          lid open
 acpidock0.indicator0                     Off unknown  not docked
 cpu0.temp0                        56.00 degC
systatコマンドはデフォルトでは5秒おきに状を更新し、表示を続けます。「q」を入力すると終了します。

apmコマンドはまた、PCを休止状にすることができます。~
休止状にするにはapmコマンドの他、zzz(8)やZZZ(8)などのコマンドも使用可能です。また、PCの機種によっては特定のキーに休止動作が割り付けられているものもあります。~
休止からの復帰方法は機種により異なりますが、電源ボタンを短かく押したり休止キーを再度押したりするものが多いようです。
>&color(red){''【ご注意】''&br;''!!''スタンバイ、スリープやハイバーネートのような休止動作を行うと、USBデバイスは切り離され、復帰時に再接続されます。従ってUSBデバイス上のファイルシステムをマウントしているLiveUSB版河豚板はシステム復帰後、正常に動作しなくなりますのでご注意下さい。&br;''!!''PCの機種によっては休止動作がうまくいかないものがあります(スタンバイはできるがサスペンドやハイバーネートはできない、休止状から復帰できない、あるいは動作が不安定で時々復帰に失敗する、など)。使用にあたっては事前の動作確認をお願いします。};

Xを使用している時は、xsetコマンドでディスプレイを制御できます。ホームディレクトリ直下の .xinitrc に以下のような行を追加します;
 xset s on     ← スクリーンセーバーを有効にする
 xset s 180    ← スクリーンセーバーの動作開始時間(秒)
 xset +dpms    ← ディスプレイを省電力モードに移行
この例の設定をおこなうと、マウスやキーボードの操作が180秒以上行われない場合、ディスプレイが省電力モードになります。

#aname(netconf)
***複数のネットワーク設定を切り換えて使用する - gennetconfsコマンド/chnetconfコマンド
ネットワークの設定は[[ネットワークの基本設定>#pd55b21e]]で説明したように/etcディレクトリ以下のいくつかのファイルで行われますが、河豚板ではgennetconfsというコマンドを用いることでそれらのファイルを生成することができます。~
また、ネットワークの設定は複数持つことができ、chnetconfというコマンドで切り換えて使うことができます。

河豚板では、ネットワーク関連の設定ファイルは/etc/fuguita/netconfs下のサブディレクトリに格納され、ネットワークを起動する前にそのサブディレクトリの中のファイルが/etcにコピーされ、その後、ネットワークが設定されます。~
初期ブートで行った設定は、/etc/fuguita/netconfs/defaultの中にあります。

例として、自用に「home」、職場用に「office」という2つの設定を追加してみます。

まず、officeから。これは、イーサネットに接続し、固定アドレス設定での使用を想定しています。新しい設定を追加するには、設定名「office」を指定してgennetconfsを起動します。
 fugu-demo# gennetconfs office
 ===================================================
 = gennetconfs: generate network configuration files
 ===================================================
 
 Hostname with domain part (FQDN):
 only host name without domain part is also OK.
 -> fuguita.office.local
 
 IP protocol version(s) to be enabled: 4, 6, 46, 64 or "none"
   4: enable only IPv4
   6: enable only IPv6
   46: give priority to IPv4 name resolution
   64: give priority to IPv6 name resolution
   none: operate as standalone
 [64] -> 4
 
 Network Interfaces: Choose one
 
   NIC	 type	   Name
 -------- ----- ------------
     bge0 ether Broadcom BCM57765
   urtwn0 wifi  GW-USValue-EZ GW-USValue-EZ
 [bge0] -> bge0
 
 IPv4 - address and routing:
   Enter "auto" or "IPv4_address[/mask] [default_gateway]"
   "auto" is an automatic setting by DHCP.
   The "/mask" part can be specified in either format, such as "/255.255.255.0" or "/24".
   If there is no default gateway, set the second field to "none" or leave it blank.
 [auto] -> 192.168.20.115/24 192.168.20.254
 
 DNS servers: up to 3 IP addresses, separated by spaces
 -> 192.168.20.254
 
 writing configured values to:
   /etc/fuguita/netconfs/office/myname
   /etc/fuguita/netconfs/office/mygate
   /etc/fuguita/netconfs/office/hosts
   /etc/fuguita/netconfs/office/hostname.bge0
   /etc/fuguita/netconfs/office/resolv.conf
 
 ======================================================
 = end of gennetconfs:
 = Use chnetconf utility to activate this configuration
 ======================================================
gennetconfsによる設定が完了すると、「/etc/fuguita/netconfs/設定名」の中に設定ファイルが作成されます。
 fugu-demo# cd /etc/fuguita/netconfs/
 fugu-demo# ls -l
 total 24
 drwxr-xr-x  2 root  wheel  144 Nov 25 05:46 default
 drwxr-xr-x  2 root  wheel  240 Nov 25 07:00 office
 drwxr-xr-x  2 root  wheel   96 Nov 18 05:49 templ.head
 drwxr-xr-x  2 root  wheel    0 Nov 18 05:49 templ.tail
 fugu-demo# ls -l office
 total 40
 -rw-r-----  1 root  wheel  23 Nov 25 07:00 hostname.bge0
 -rw-r--r--  1 root  wheel  36 Nov 25 07:00 hosts
 -rw-r--r--  1 root  wheel  15 Nov 25 07:00 mygate
 -rw-r--r--  1 root  wheel  21 Nov 25 07:00 myname
 -rw-r--r--  1 root  wheel  56 Nov 25 07:00 resolv.conf
 fugu-demo# ls -l /etc/ | grep netconfs
 lrwxr-xr-x  1 root  wheel	  28 Nov 25 06:56 myname -> /etc/fuguita/netconfs/default/myname
 drwxr-xr-x  6 root  wheel	 192 Nov 25 06:59 netconfs
これらの設定を実際に反映させるには、chnetconfユティリティを使用します。~
chnetconfを実行すると、指定された設定ファイルを、/etcにコピーした後、「sh /etc/netstart」を部的に実行し、ネットワークの設定を変更します。
>''【メモ】'' ~
''⇒''設定ファイルのうち、mynameファイルだけはコピーではなくシンボリックリンクになります。これは/etcのネットワーク設定が、/etc/fuguita/netconfs内のどの設定を使用しているか、を示すためです。

 fugu-demo# chnetconf -l    ← 現在の設定を表示
 *default                   ← この設定が有効
  office
 fugu-demo# chnetconf office
 fuguita# chnetconf -l
  default
 *office    ← この設定に変更された
 fuguita# ifconfig    ← インターフェース設定を確認
 bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
 	lladdr 10:9a:dd:6c:11:0c
 	index 1 priority 0 llprio 3
 	groups: egress
 	media: Ethernet autoselect (100baseTX full-duplex,rxpause,txpause)
 	status: active
 	inet 192.168.20.115 netmask 0xffffff00 broadcast 192.168.20.255
 urtwn0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
 	lladdr 00:22:cf:46:6d:e6
 	index 4 priority 4 llprio 3
 	groups: wlan
 	media: IEEE802.11 autoselect (OFDM54 mode 11g)
 	status: no network
 	ieee80211: nwid ""
 # ping www.google.com    ← 疎通を確認
 PING www.google.com (172.217.175.68): 56 data bytes
 64 bytes from 172.217.175.68: icmp_seq=0 ttl=115 time=28.318 ms
 64 bytes from 172.217.175.68: icmp_seq=1 ttl=115 time=25.842 ms
 64 bytes from 172.217.175.68: icmp_seq=2 ttl=115 time=26.137 ms
 ^C
 --- www.google.com ping statistics ---
 3 packets transmitted, 3 packets received, 0.0% packet loss
 round-trip min/avg/max/std-dev = 25.842/26.765/28.318/1.104 ms
引続き、同様に設定「home」を作成してみます。こちらはWi-Fi接続でIPv6はSLAAC、IPv4はDHCPという手順を使用してアドレスの自動設定を行えることを想定しています。
 fuguita# gennetconfs home
 ===================================================
 = gennetconfs: generate network configuration files
 ===================================================
 
 Hostname with domain part (FQDN):
 only host name without domain part is also OK.
 -> fuguita.home.local
 
 IP protocol version(s) to be enabled: 4, 6, 46, 64 or "none"
   4: enable only IPv4
   6: enable only IPv6
   46: give priority to IPv4 name resolution
   64: give priority to IPv6 name resolution
   none: operate as standalone
 [64] ->
 
 Network Interfaces: Choose one
 
   NIC	 type	   Name
 -------- ----- ------------
     bge0 ether Broadcom BCM57765
   urtwn0 wifi  GW-USValue-EZ GW-USValue-EZ
 [bge0] -> urtwn0
 
 Wi-Fi settings:
   SSID -> my-wifinet
   WPA Key -> my-wpa-secret-key
 
 IPv6 - address and routing:
   Enter "auto" or "IPv6_address[/prefixlen] [default_gateway]"
   "auto" is an automatic setting by SLAAC.
   The "/prefixlen" part can be an integer between 0 and 128.
   If there is no default gateway, set the second field to "none" or leave it blank.
 [auto] ->
 
 IPv4 - address and routing:
   Enter "auto" or "IPv4_address[/mask] [default_gateway]"
   "auto" is an automatic setting by DHCP.
   The "/mask" part can be specified in either format, such as "/255.255.255.0" or "/24".
   If there is no default gateway, set the second field to "none" or leave it blank.
 [auto] ->
 
 writing configured values to:
   /etc/fuguita/netconfs/home/myname
   /etc/fuguita/netconfs/home/hostname.urtwn0
   /etc/fuguita/netconfs/home/resolv.conf
 
 ======================================================
 = end of gennetconfs:
 = Use chnetconf utility to activate this configuration
 ======================================================
 fuguita# chnetconf -l
  default
  home
 *office
 fuguita# chnetconf home
 fuguita# chnetconf -l
  default
 *home
  office
 fuguita# ifconfig
 bge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
 	lladdr 10:9a:dd:6c:11:0c
 	index 1 priority 0 llprio 3
 	media: Ethernet autoselect (100baseTX full-duplex,rxpause,txpause)
 	status: active
 urtwn0: flags=a48843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,AUTOCONF6TEMP,AUTOCONF6,AUTOCONF4> mtu 1500
 	lladdr 00:22:cf:46:6d:e6
 	index 4 priority 4 llprio 3
 	groups: wlan egress
 	media: IEEE802.11 autoselect (OFDM54 mode 11g)
 	status: active
 	ieee80211: nwid my-wpa-secret-key chan 10 bssid 1c:b1:7f:27:5c:de -62dBm wpakey wpaprotos wpa2
        wpaakms psk wpaciphers ccmp wpagroupcipher ccmp
 	inet6 fe80::222:cfff:fe46:6de6%urtwn0 prefixlen 64 scopeid 0x4
 	inet 192.168.10.113 netmask 0xffffff00 broadcast 192.168.10.255
 	inet6 2409:........:8d47 prefixlen 64 autoconf pltime 604795 vltime 2591995
 	inet6 2409:........:1974 prefixlen 64 autoconf temporary pltime 77241 vltime 172795
 pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33136
 	index 5 priority 0 llprio 3
 	groups: pflog
これで、従来のdefaultを含め、3つのネットワーク設定が作成されました。

これらの設定はchnetconfユティリティを使用して、いつでも切り換えることができます。

***ファームウェアのダウンロードが要なWi-Fiデバイスを使う
このではgennetconfs、chnetconfコマンドの応用としてWi-Fiデバイスの導入方法について説明します。

OpenBSDでは様なWi-Fiデバイスがサポートされていますが、中にはそのままでは使用できず、ファームウェアのダウンロードとインストールが必要なデバイスがあります。
>''【メモ】''~
''⇒''ファームウェアのダウンロードが要な事情については、OpenBSDのサイトに以下のような記述があります;~
OpenBSD FAQ - Wireless Networking ~
https://www.openbsd.org/faq/faq6.html#Wireless ~
~
In order to use some wireless cards, you will need to acquire firmware files with fw_update(1). Some manufacturers refuse to allow free distribution of their firmware, so it can't be included with OpenBSD.~
(訳) 一部のワイヤレスカードを使用するには、fw_update(1)でファームウェアファイルを取得する要があります。 メーカーによっては、ファームウェアの自由な配布を拒否しているため、OpenBSDに含めることはできません。

このようなWi-Fiデバイスは、
-まずファームウェア不要のデバイスで設定を行い、インターネットに接続
-ファームウェアをダウンロードし、インストール
-ネットワークの設定を目的のWi-Fiデバイス用に変更

という手順で使用することができます。体的な手順は以下のとおりです。

''1. ファームウェア不要のデバイスで設定を行い、インターネットに接続''~
起動時に、以下のようにファームウェア不要のデバイスを用いてインターネットに接続できるように設定します。~
ほとんどの有線LAN(イーサネット)デバイスや、あるいは一部のWiFiデバイスはファームウェアを要としません。
 Network Interfaces: Choose one
 
   NIC	 type	   Name
 -------- ----- ------------
     bge0 ether Broadcom BCM57766
   urtwn0 wifi  GW-USValue-EZ GW-USValue-EZ
 [bge0] -> bge0
''2. ファームウェアをダウンロードし、インストール''~
rootでログインし、fw_updateコマンドを実行。ファームウェアのダウンロードとインストールを行います。
 fugu-demo# fw_update -v
 Path to firmware: http://firmware.openbsd.org/firmware/7.0/
 Installing: inteldrm-firmware intel-firmware urtwn-firmware
 inteldrm-firmware-20201218:100%|OK
 intel-firmware-20210608v0:100%|OK
 urtwn-firmware-20180103p0:100%|OK
 fugu-demo# 
>''【メモ】'' ~
''⇒''fw_updateは、起動時に自動的に実行されていますが、念の為、手動でもう一度実行しています。

''3. 接続設定を使いたいWi-Fiデバイスに変更''~
ファームウェアがインストールされたら、接続設定をWi-Fiデバイスに変更し、動作を確認します。
 fugu-demo# gennetconfs wifi  ← 設定ファイルを生成
 ===================================================
 = gennetconfs: generate network configuration files
 ===================================================
 ~略~
 Network Interfaces: Choose one
 
   NIC	 type	   Name
 -------- ----- ------------
     bge0 ether Broadcom BCM57766
   urtwn0 wifi  GW-USValue-EZ GW-USValue-EZ
 [bge0] -> urtwn0                ← Wi-Fiデバイスを選択
 
 Wi-Fi settings:
   SSID -> my-wifinet            ← Wi-FiのSSIDと
   WPA Key -> my-wpa-secret-key  ← パスワードを ~略~
 ======================================================
 = end of gennetconfs:
 = Use chnetconf utility to activate this configuration
 ======================================================
 fugu-demo# chnetconf wifi       ← ネットワークを今行った設定に変更
 fugu-demo# ping www.google.com  ← 接続を確認
 PING www.google.com (216.58.220.100): 56 data bytes
 64 bytes from 216.58.220.100: icmp_seq=0 ttl=114 time=33.656 ms
 64 bytes from 216.58.220.100: icmp_seq=1 ttl=114 time=28.933 ms
 64 bytes from 216.58.220.100: icmp_seq=2 ttl=114 time=26.193 ms
 64 bytes from 216.58.220.100: icmp_seq=3 ttl=114 time=21.949 ms
 ^C
 --- www.google.com ping statistics ---
 4 packets transmitted, 4 packets received, 0.0% packet loss
 round-trip min/avg/max/std-dev = 21.949/27.683/33.656/4.253 ms
以上でWi-Fiのファームウェアのインストール完了です。
最後に変更した容を[[usbfadmコマンドを使用して保存>#k57e4ba1]]します。この設定を指定し[[モード3で再起動>#w4595c42]]すれば、この設定を継続して使用できます。
 # usbfadm -r
 
 ========================================
 = Sync current mfs as fugu-demo into /dev/sd1d
 =
     :
     :

*河豚板を使う【開発編】
この章では河豚板の部を理解したり、河豚板をベースに自分で開発を行う場合の情報を提供します。

**河豚板の技術報を調べる
河豚板はOpenBSDをベースにしているので、その構成物のほとんどはOpenBSD関連の報がそのまま利用できます。~

式のOpenBSDとは異なる河豚板特有の部分については、このサイトの日本後トップページに[[公開資料の一覧>河豚板#e23f3d8c]]がありますので、そちらをご参照下さい。~
(過去の資料の中には、現状の河豚板と異っている部分もありますので、ご注意下さい)

**河豚板をアプリケーションの専用マシンにする
河豚板は書込み可能なファイルをすべてメモリ上に持っているため、シャットダウン操作等を行わずいきなり電源を断にしたりしてもファイルシステムに不合が発生することはありません。~
また稼動中にusbfadmによるファイルの保存を行わない限りは、毎回同じ状でシステムが立上ります。

このような特徴を利用して、河豚板をベースにして特定のアプリケーションを実行するための専用のマシン(ターンキーシステム: Turn Key System)などを作成することができます。

このようなシステムを構築するためには、今までに説明してきたテクニックを組合せて使います;

-まず運用環境を整える。~
起動モード0で立ち上げて、各種設定やアプリケーションのインストール等を行い、目的の動作をするように環境構築をする。

-[[構築した環境をusbfadmにてUSBメモリなどに保存する>#k57e4ba1]]。

-[[モード3で起動し、保存した環境で立ち上がるようにnoasksファイルを設定する>#b493ab9a]]。

-ログイン操作なしでアプリケーションが立ち上がるように ttys(5) ファイルを編集する。

これらの詳細な手順は、このサイトにある [[EBUG勉強会/20140507_実用で使う河豚板]] という資料で説明しておりますのでご参下さい。

#aname(livedvd_remaster)
**動作中の河豚板から河豚板のISOイメージを作る
[[USBメモリの容量に合わせてLiveUSBを作成する>#ld36d7ec]]ではLiveUSBのイメージファイルを作成しましたが、この節ではremaster_dvd.shコマンドを用いて稼動中の河豚板からLiveDVDのISOイメージを作成する方法を説明します。
>''【メモ】''~
''⇒''この作業は大きなサイズのファイルを扱うので、mfsのサイズは2ギガバイト以上要です。~
mfsでは足りない場合、他の記録デバイスをマウントしてそちらで作業します。

このmaster_dvd.shは、動作中のFuguIta LiveDVD、あるいはFuguIta LiveUSBのどちらでも使用可能です。~
以下にremaster_dvd.shの使用例を示します。

まず、作業用ディレクトリを作成し、sysmedia以下にあるLiveDVD/LiveUSBのコンテンツをコピーします。
 # mkdir work
 # cd work
 # cp -av /sysmedia .
 /sysmedia -> ./sysmedia
 /sysmedia/boot -> ./sysmedia/boot
 /sysmedia/bsd-fi -> ./sysmedia/bsd-fi
 /sysmedia/bsd-fi.mp -> ./sysmedia/bsd-fi.mp
 /sysmedia/boot.catalog -> ./sysmedia/boot.catalog
 /sysmedia/cdboot -> ./sysmedia/cdboot
 /sysmedia/cdbr -> ./sysmedia/cdbr
 /sysmedia/etc -> ./sysmedia/etc
 /sysmedia/etc/boot.conf -> ./sysmedia/etc/boot.conf
 /sysmedia/etc/random.seed -> ./sysmedia/etc/random.seed
 /sysmedia/fuguita-6.9-amd64.ffsimg -> ./sysmedia/fuguita-6.9-amd64.ffsimg
 # ls -l
 total 8
 drwxr-xr-x  3 root  wheel  432 May 11 09:21 sysmedia
コピーされたsysmediaディレクトリでremaster_dvd.shを実行します。
基本的にはこれだけです。
 # cd sysmedia
 # ls -l
 total 2008728
 -rw-r--r--  1 root  wheel	90496 May 10 20:57 boot
 -rwxr--r--  1 root  wheel	 2048 May  9 12:31 boot.catalog
 -rw-r--r--  1 root  wheel    10273019 May 10 21:04 bsd-fi
 -rw-r--r--  1 root  wheel    10302063 May 10 21:04 bsd-fi.mp
 -rw-r--r--  1 root  bin		91668 May 10 01:31 cdboot
 -rw-r--r--  1 root  bin		 2048 May 10 01:31 cdbr
 drwxr-xr-x  2 root  wheel	   96 Apr 17  2014 etc
 -rw-r--r--  1 root  wheel  1007681536 May 10 21:08 fuguita-6.9-amd64.ffsimg
 # remaster_dvd.sh
 mkhybrid 1.12b5.1
 Scanning .
 Scanning ./etc
 
 Size of boot image is 4 sectors -> No-emulation CD boot sector
 Total translation table size: 0
 Total rockridge attributes bytes: 1111
 Total directory bytes: 2048
 Path table size(bytes): 22
 502200 extents written (980 Mb)
remaster_dvd.shの実行が完了すると、作業用ディレクトリにISOイメージファイルが作成されています。
 # ls -l ..
 total 2008808
 -rw-r--r--  1 root  wheel  1028505600 May 14 02:34 FuguIta-6.9-amd64-202105141.iso
 drwxr-xr-x  3 root  wheel	  384 May 14 02:34 sysmedia
 # ls -l
 total 2008720
 -rw-r--r--  1 root  wheel	90496 May 10 20:57 boot
 -rwxr--r--  1 root  wheel	 2048 May 14 02:34 boot.catalog
 -rw-r--r--  1 root  wheel    10273019 May 10 21:04 bsd-fi
 -rw-r--r--  1 root  wheel    10302063 May 10 21:04 bsd-fi.mp
 -rw-r--r--  1 root  bin		91668 May 10 01:31 cdboot
 -rw-r--r--  1 root  bin		 2048 May 10 01:31 cdbr
 drwxr-xr-x  2 root  wheel	   96 Apr 17  2014 etc
 -rw-r--r--  1 root  wheel  1007681536 May 10 21:08 fuguita-6.9-amd64.ffsimg

sysmedia中にfuguita-6.9-amd64.ffsimgというファイルがありますが、この中にFuguItaのファイルツリーが格納されています。
このファイルツリーのファイルを修正することで、LiveDVDをカスタマイズすることができます。
 # vnconfig vnd0 fuguita-6.9-amd64.ffsimg
 # mount /dev/vnd0a /mnt
 # ls -l /mnt
 total 52
 -rw-r--r--   1 root  wheel   578 May  7 17:43 .cshrc
 -rw-r--r--   1 root  wheel   468 May  7 17:43 .profile
 drwxr-xr-x   2 root  wheel   512 May  7 17:43 altroot
 drwxr-xr-x   2 root  wheel  1024 May  7 17:46 bin
 drwxr-xr-x   2 root  wheel   512 May  8 04:16 dev
 drwxr-xr-x  23 root  wheel  1536 May  8 04:35 etc
 drwxr-xr-x   2 root  wheel   512 May  7 17:43 home
 drwxr-xr-x   2 root  wheel   512 May  7 17:43 mnt
 drwx------   3 root  wheel   512 May  8 04:35 root
 drwxr-xr-x   2 root  wheel  1536 May  7 17:46 sbin
 lrwxrwx---   1 root  wheel    11 May  7 17:43 sys -> usr/src/sys
 drwxrwxrwt   2 root  wheel   512 May  8 04:19 tmp
 drwxr-xr-x  14 root  wheel   512 May  8 04:09 usr
 drwxr-xr-x  23 root  wheel   512 May  7 17:43 var
 .... (カスタマイズ作業) ...

カスタマイズが完了したら、ファイルシステムイメージを閉じ、リマスタリングを行います。
 # umount /mnt
 # vnconfig -u vnd0
 # remaster_dvd.sh
 mkhybrid 1.12b5.1
 Scanning .
 Scanning ./etc
   :
   :

#aname(build_fuguita)
**河豚板の開発ツールを使う - LiveDVDの作成
河豚板は不定期ではありますが、ライブシステム構築のために使用しているツールを開しています。
この構築ツールを使用することで河豚板のISOイメージファイルを作成することができます。
この節ではLiveDVDの構築方法を説明します。
>''【メモ】''~
''⇒''この構築法は、河豚板7.1以降が対象です。

***作業の前に
-要なもの
--作業用OS (OpenBSDまたは河豚板)

--OpenBSDカーネルのソースツリー

--rsync, rlwrap, pvのパッケージファイル

--河豚板の構築ツール

-作業条件
--前の「必要なもの」で挙げたものはすべてOpenBSDの同じバージョン・同一のプラットフォーム用のものである必要があります。

--ての操作はroot権限で行います。

***作業手順
以降、作成手順について例を示しながら解説します。~
対象バージョンとしてOpenBSD 7.1、プラットフォームはamd64を想定しています。
また、構築ツールを置くディレクトリを FIBLD と表記しています。この部分は実際のディレクトリ名で置き換えて下さい。

-OpenBSDカーネルのソースコードを取得・展開
 # tar -xzp -C /usr/src -f sys.tar.gz
>''【メモ】''~
''⇒''カーネルのソースツリーを最新の状にアップデートするには、オンライン・マニュアル release(8) の「1. Update sources」を参照して下さい。

-構築作業用ディレクトリFIBLDに河豚板の構築ツールを展開
 # mkdir -p FIBLD
 # cd FIBLD
 # ftp https://FUGUITA-MIRROR-SITE/tools/tools-7.1-amd64.tar.gz
 # tar -xzp -C FIBLD -f tools-7.1.tar.gz
 # mv tools-7.1-amd64
 # rmdir tools-7.1-amd64

以下の作業は、て作業用ディレクトリFIBLDで行います。

-河豚板用のOpenBSDカーネルを生成
 # cd FIBLD
 # make kernconfig
 # make kernclean
 # make kern

-OpenBSDのインストールセットを準備 ~
構築ツールのinstall_setsディレクトリにOpenBSDのインストールセットを置します。
 # ( cd install_sets
     for f in base comp game man xbase xfont xserv xshare; do
         ftp $(cat /etc/installurl)/7.1/amd64/${f}71.tgz
     done )

-河豚板に追加するパッケージをセットアップ ~
構築ツールのinstall_pkgsディレクトリにOpenBSDのpackagesからrsync、rlwrap、pv を置します。また、rsyncとpvは、ビルドを行うシステム自身にもインストールします。
 # PKG_CACHE=FIBLD/install_pkgs pkg_add -n rsync rlwrap pv
 # pkg_add install_pkgs/rsync*.tgz install_pkgs/pv*.tgz

-河豚板のファイルツリーを生成し、FuguIta 用に修正
 # make stage
FuguItaをカスタマイズする場合は、make stage実行後、FIBLD/stagingディレクトリの下のファイルツリーに改変を加えます。

-このファイルツリーの容に、河豚板に内蔵させるイメージファイルを等化
 # make sync

-ISOイメージファイルの生成 ~
ルートファイルシステムのイメージとカーネルを統合し、ブートローダを組み込みんでISOイメージファイルを生成します。
 # make iso

-ISOファイルイメージをリリース文字列付きのファイル名でGZIP圧縮
 # make gz

以上でFIBLDにFuguIta-7.1-amd64-yyyymmddn.iso.gzが作成されます。nはビルド回数を示す番号で、FIBLD/revcount_cdmasterというファイル内に記録されます。
///***Makefile ターゲット一覧
///河豚板のISOイメージ構築で用いられるmakeコマンドの引数(ターゲット)は以下の通りです。~
///これらはてディレクトリFI_BUILD_PATH/tools-6.7-amd64上で行う必要があります。
///|make ターゲット|動作|h
///|open-rdroot   |rdroot.imgのファイルシステムをrdrootにマウントします|
///|open-media    |media.imgのファイルシステムをmediaにマウントします|
///|open-fuguita  |media/fuguita-*-*.ffsimgのファイルシステムをfuguitaにマウントします&br;(予めmake open-mediaを行う必要があります)|
///|close-rdroot  |rdrootのマウントを解除します|
///|close-media   |mediaのマウントを解除します&br;(予めmake close-fuguitaを行う要があります)|
///|close-fuguita |fuguitaのマウントを解除します|
///|close-all     |構築環境のてのマウントを解除します|
///|boot          |rdrootをカーネルに組込み、ISOコンテンツにコピーします|
///|hyb           |ISOコンテンツをISOイメージファイルに変換します|
///|cdgz          |ISOイメージファイルを圧縮します|

//>''【メモ】''~
//''⇒''nabekenさんという方が河豚板を基にして[[myFuguita>https://github.com/nabeken/myfuguita]]というライブシステムを作成されています。myFuguitaは、河豚板の構築環境をOpenBSDの標準ビルドシステムに組み込み、amd64アーキテクチャで動作するように改良したものです。

**河豚板のディスクイメージを作る
この節では、LiveUSBのディスクイメージファイルを作成する方法を紹介します。

usbfadm の newdrive を実行します;
 ? : ? ->newdrive
 
 Please make sure the device inserted.
 Then press ENTER ->
 
 ==== disk(s) and vnode devices	============================
 sd0 at scsibus1 targ 0 lun 0: <ATA, Hitachi HTS72757, JF4O>
 sd0: 715404MB, 512 bytes/sector, 1465149168 sectors
 sd1 at scsibus2 targ 1 lun 0: <UFD 3.0, Silicon-Power32G, 1.00>
 sd1: 29624MB, 512 bytes/sector, 60669952 sectors
 sd2 at scsibus5 targ 1 lun 0: <BUFFALO, USB Flash Disk, 4000>
 sd2: 7788MB, 512 bytes/sector, 15950592 sectors
 vnd0: not in use
 vnd1: not in use
 vnd2: not in use
 vnd3: not in use
 vnd4: not in use
 vnd5: covering /sysmedia/fuguita-6.4-amd64.ffsimg on sd1a, inode 9
 ============================================================
 Enter the name of device which FuguIta will be installed->vnd0    ←未使用のvnodeデバイスを指定
 
 Enter size of a vnode device file.
 You can add suffix K, M, G or T (otherwise considered 'bytes').
 ->2g                                                              ←イメージファイルのサイズを
                                                                     指定
 2048+0 records in
 2048+0 records out
 2147483648 bytes transferred in 3.076 secs (698129518 bytes/sec)
 
 Disk: vnd0	geometry: 41943/1/100 [4194304 Sectors]
 Offset: 0	Signature: 0x0
 	    Starting	     Ending	    LBA Info:
  #: id	    C	H   S -	     C	 H   S [       start:	     size ]
 -------------------------------------------------------------------------------
  0: 00	    0	0   0 -	     0	 0   0 [	   0:		0 ] unused
  1: 00	    0	0   0 -	     0	 0   0 [	   0:		0 ] unused
  2: 00	    0	0   0 -	     0	 0   0 [	   0:		0 ] unused
  3: 00	    0	0   0 -	     0	 0   0 [	   0:		0 ] unused
 
 Select partition type:
   1: [MBR]
   2:  GPT
   3:  Hybrid (not recommended if you wish modify partitioning later)
 ->
 ~ 略 ~
 ** Phase 5 - Check Cyl groups
 3 files, 3 used, 386996 free (20 frags, 48372 blocks, 0.0% fragmentation)
 
 ? : ? ->bye
 
 Bye bye...
 $
以上の操作でカレントディレクトリ上にディスクイメージファイルが作成されます。ファイル名は布されているものと同じ、「FuguIta-OpenBSDバージョン-プラットフォーム-リリース.img」の形式となります。

*終わりに
河豚板についての説明は以上です。

このガイドでは河豚板の導から応用・開発までを紹介しましたが、全体を通して河豚板の方向性を感じ取って頂けましたでしょうか。

河豚板は「ITにおけるアーミーナイフ」を目指しています。つまり、手軽に持ち運べ、様な用途に利用できる、ということです。その代わり、性能的には特定用途につくられた専用のシステムにはかないませんし、初心者が何の予備知識もなしにすぐに使えるというものでもありません。

このガイドはそんな河豚板に関する取扱説明書のようなものと理解して頂ければ幸いです。

>''【メモ】''~
''⇒''作は若い頃貧乏学生だったので、ハンダゴテとスイスアーミーナイフだけで電子工作をしていました。

そして、アーミーナイフの性能が高品質なステンレス鋼の製造や加工の技術に支えられているように河豚板の機能もまた、OpenBSDの卓越した設計と実に支えられています。今回この文書を作成して改めてそのことを実感致しました。

長年にわたりOpenBSDの改良を進めてこられたTheo de Raadt氏を始めとするOpenBSD開発コミュニティの皆様には改めて御礼を申し上げます。~
さらに、河豚板に同梱させて頂いている種のフリーソフトウェアに携っている方々、そして様々なユーザコミュニティの方々にも御礼を申し上げます。特に[[EBUG (Echigo BSD Users Group)>https://www.ebug.jp/]]のメンバーの方々には、配布サイトのご提供、そして様々な提言・助言を頂いており、感謝の念に絶えません。~
これらなしには10年以上もの間、開発を続けることは到底不可能だったろうと思います。

今後とも、河豚板をどうぞよろしくお願い致します。

2015年12月30日 ~
川俣 吉広
----
作成 2015年12月30日  ~
改訂 2017年1月15日、2018年8月1日、2018年8月8日、2019年1月15日、2019年5月10日、2019年3月25日、2019年11月3日、2020年2月7日、2020年6月15日、2020年9月7日、2020年10月10日、2021年2月17日、2021年6月2日、2021年11月26日、2022年1月20日、2022年5月3日


Front page   New Page list Search Recent changes   Help   RSS of recent changes