前回の起動と基本設定では、河豚板LiveUSBを起動し、初期設定を行う手順を説明しました。
今回は、システムにログインし、ユーザアカウントの作成と基本的な動作の確認を行っていきます。
第一回 河豚板の紹介、LiveUSBの作成
第二回 起動と基本設定
第三回 動作確認と環境保存      ←いまここ
第四回 デスクトップ環境の構築
確認と保存 ── 態勢を、盤石に
ここまでで起動時の設定をすべて終え、ログイン画面が表示されるところまで到達できました。
今、河豚板は、すでに「素のOpenBSD」と同じ状態で動作しており、あなたのログインを待っています。
この河豚板マシンには、あなたのアカウントがまだありません。まずはそれを作成しましょう。
rootでログイン
システム管理者(スーパーユーザー(super user)ともいいます)でログインして行う作業は以下の2つです。
- あなたのユーザアカウントを新規作成する
 - あなたのアカウントがシステム管理作業を行えるようにする
 
rootでログインするには、ログイン画面の Login: の欄にroot、 Password: の欄に起動時に設定したパスワードを入力します。
ログインに成功すると、以下のような画面になります。

X Window ログイン直後の画面 (fvwmウィンドウマネージャ ─ OpenBSDのデフォルト画面)
左上の白いウィンドウは、xtermというターミナルです。ここにコマンドを打ち込んで作業します。
左下のアイコンはxconsoleという、システムからのメッセージを表示するウィンドウです。ダブルクリックすると開きます(表示専用です。入力はできません)。
右下は、3×3の仮想画面の表示です。マウスカーソルをスクリーン外に持っていこうとすると、隣接する仮想画面に移動します。このウィンドウには、その全体の様子が縮小表示されています。
xtermはControlキー+マウスボタンでメニューが出ます。
xtermにマウスカーソルを持っていき、「Controlキー + 右マウスボタン」でフォントサイズを変更できます。
ネットワークの動作確認
作業を行う前に、ネットワークが繋がっているか、ちょっと確認してみましょう。
xtermにマウスカーソルを移動させ、pingコマンドを打ちます。以下の例では、ネット経由でfuguita.orgとやりとりできるかどうかを調べています。
pingコマンドを終わらせるには Control-C を入力します。
pingコマンドの実行例
fugu-demo# ping fuguita.org
PING fuguita.org (133.242.176.115): 56 data bytes
64 bytes from 133.242.176.115: icmp_seq=0 ttl=241 time=33.183 ms
64 bytes from 133.242.176.115: icmp_seq=1 ttl=241 time=31.115 ms
64 bytes from 133.242.176.115: icmp_seq=2 ttl=241 time=30.620 ms
64 bytes from 133.242.176.115: icmp_seq=3 ttl=241 time=30.212 ms  ← Control-C を打ち込んで終了
^C
--- fuguita.org ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 30.212/31.283/33.183/1.143 ms
fugu-demo# 
ping6コマンドの実行例
fugu-demo# ping6 fuguita.org
PING fuguita.org (2401:2500:102:1a03:133:242:176:115): 56 data bytes
64 bytes from 2401:2500:102:1a03:133:242:176:115: icmp_seq=0 hlim=46 time=29.865 ms
64 bytes from 2401:2500:102:1a03:133:242:176:115: icmp_seq=1 hlim=46 time=30.098 ms
64 bytes from 2401:2500:102:1a03:133:242:176:115: icmp_seq=2 hlim=46 time=30.035 ms
64 bytes from 2401:2500:102:1a03:133:242:176:115: icmp_seq=3 hlim=46 time=30.441 ms
64 bytes from 2401:2500:102:1a03:133:242:176:115: icmp_seq=4 hlim=46 time=32.206 ms  ← Control-C を打ち込んで終了
^C
--- fuguita.org ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 29.865/30.529/32.206/0.859 ms
fuguita.orgからの応答がない場合、
- ルータ、Hub、PC間のLANケーブル接続
 - お使いのネットワークがアドレスの自動設定(DHCP, SLAACなど)に対応しているか
 - 他のOSではネット接続できるか
 
などをチェックしてみてください。2.については、ネットワークの管理者にお問い合わせください。
ユーザアカウントの作成
ネットワークの動作が確認できたら、あなたのユーザアカウント作成に移りましょう。作業は引き続きxterm上で行います。
アカウント作成にはadduserというコマンドを使います。
adduserコマンドの実行(ENTERのみ入力の部分まで)
fugu-demo# adduser
Couldn't find /etc/adduser.conf: creating a new adduser configuration file
Reading /etc/shells
Enter your default shell: csh ksh nologin sh [ksh]: 
Your default shell is: ksh -> /bin/ksh
Default login class: authpf bgpd build daemon default pbuild staff unbound vmd xenodm 
[default]: 
Enter your default HOME partition: [/home]: 
Copy dotfiles from: /etc/skel no [/etc/skel]: 
Send welcome message?: /path/file default no [no]: 
Do not send message(s)
Prompt for passwords by default (y/n) [y]: 
Default encryption method for passwords: auto blowfish [auto]: Default encryption method for passwords: までは、すべてENTERのみ入力でOKです。
このあと、あなたのアカウント情報を以下のように入力していきます。
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 csh ksh nologin sh [ksh]:       ← ENTERのみ
Uid [1000]:                                 ← ENTERのみ
Login group yoshi [yoshi]:                  ← ENTERのみ
Login group is ``yoshi''. Invite yoshi into other groups: guest no 
[no]: wheel                                 ← 「wheel」と入力
Login class authpf bgpd build daemon default pbuild staff unbound vmd xenodm 
[default]:                                  ← ENTERのみ
Enter password []:                          ← パスワード (表示されません)
Enter password again []:                    ← パスワード 確認入力
Login group is ``ユーザ名''. Invite ユーザ名 into other groups:には wheel と入力します。
これは、あなたをシステム管理者のグループ「wheel」に加えるためです。
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
Goodbye!
fugu-demo#
入力内容がOKならy、もう一つアカウントを作るか?にはnと答えてアカウント作成を完了します。
次に、システム管理者グループが実際に管理権限を得られるよう設定します。
fugu-demo# echo permit persist keepenv :wheel > /etc/doas.conf
rootからログアウト
これでrootでの作業は完了です。
rootをログアウトし、いま作成したあなたのアカウントでログインしてみましょう。
rootからログアウトするには、マウスカーソルをxtermの外側に移し、壁紙部分で左のマウスボタンをクリック。Root MenuからExitを選択します。

ログアウト (fvwmウィンドウマネージャを終了)
あなたのアカウントでログイン
あなたのアカウントでログインすると、先ほどのrootと同じ画面が現れます。
ログイン後の画面、rootの時と同じに見えますが、一ヶ所だけ違いがあります。
xtermの中のコマンドプロンプトが、rootの時は fugu-demo# となっていましたが、今は fugu-demo$ となっています。
$と#、プロンプトを変えることで権限の違いを表しています。
この状態からデスクトップの導入を進めてもいいのですが、一つ、意識しておいたほうがいいことがあります。
それは、いままで行ってきた設定作業の結果はMFS上、つまり、メモリ上にあるということです。つまり、この状況でシステムを終了すると、いままでの苦労がすべて消えてしまいます。
そうならないように、まず、MFS上のデータ(環境)をUSBメモリに保存しましょう。
USBメモリのへ保存のために、次の2つの段階を踏んで作業します。
- USBメモリの保存領域を拡張する
 - 保存作業を実際に行う
 
保存領域の拡張
まずは、保存領域の拡張です。
現在、公開・配布されている河豚板LiveUSBは、2GBのUSBメモリから使えるように、そのイメージサイズも2GBになっています。
今回これを8GBのUSBメモリに書き込みました。これでは、図の上のUSBメモリのように残りの6GBは利用できない状態のままです。
そこで、保存領域(図の"User Data"部分(dパーティション))をUSBメモリのサイズいっぱいまで拡張し、図の下のようにします。

保存領域の拡張前・拡張後
河豚板では usbfadm (USB flash device administration tool - USBメモリ管理ツール)というコマンドを利用して、保存領域を拡張できます。
それでは、実際にusbfadmを起動してみましょう。
usbfadmは、システム管理コマンドなのでrootしか実行できません。一般のユーザがこれを実行するには、doasというコマンドを使います。
先ほどrootで行ったのは、あなたがこのdoasを使えるようにするための設定です。
doasを実行すると、あなたのパスワードを訊かれますので入力してください。
fugu-demo$ doas usbfadm
doas (yoshi@fugu-demo.local) password: 
Welcome to usbfadm.
USB flash drive administration tool for FuguIta
 Version/Arch: 7.7/amd64  (FuguIta-7.7-amd64-202510081)
    Boot mode: usbflash
Target device: not set
Data saved as: not set
readline capability available
TAB to complete the reserved words
Type ? for help.
? : ? ->
ご覧のように、usbfadmは対話形式のコマンドです。
usbfadmにはbashシェルのような機能があります。
- ←、→、DEL、BackSpaceキーなどを使った行編集機能
 - TABキーでのコマンドやファイル名・デバイス名の補完
 - ↑、↓キーなどでの入力履歴の呼び出し
 
?でヘルプが表示されるようなので、やってみましょうか。
helpの表示
? : ? ->?
Interactive commands are;
    target    -  set the partition for sync, info and expand
    saveas    -  set the name of the data to be saved
    sync      -  sync the target with the current mfs
    archive   -  archive saved directory to *.cpio.gz
    info      -  show info about the target partition
    newdrive  -  make a new FuguIta LiveUSB
    expand    -  expand the target partition as large as possible
    bye, exit, quit
              - end of this utility
Command line options are;
    -r : redo sync non-interactively
        (must run 'sync' at interactive mode before doing this)
    -i : show info about the persistent storage
    -q : quiet mode when redo sync
    -t : trace output (pass -x to shell)
    -d : debug output for newdrive to file 'usbf.debugout'
    -h : print this help
? : ? ->
それではまず、target で拡張する領域を指定します。
? : ? ->target
Searching storage device
Please make sure the device inserted.
Then press ENTER ->
sd1a +sd1d vnd5a
target device->sd1d
sd1d : ? ->
targetを実行すると、sd1a +sd1d vnd5aと、3つのデバイスが見つかったことが表示されます。このうち、usbfadmで環境を保存できるデバイスには + がついています。
入力プロンプトtarget device->ではすでにsd1dが入力された状態になっているので、ENTERだけを入れます。
設定が完了すると、プロンプトが
? : ? -> から
sd1d : ? -> に変わり、sd1dが管理対象になったことがわかります。
OpenBSDでは、sd1dは「2番目に認識されたディスクの、d領域(パーティション)」という意味になります。
infoでデバイスの状態を見てみましょう。
sd1d : ? ->info
Filesystem     Size    Used   Avail Capacity  iused    ifree %iused  Mounted on
/dev/sd1d      762M    3.0K    762M       1%      5   899897     1%  /usbfadm.d/mnt1
scanning...
1.0K        7.7/amd64/noasks
sd1d : ? ->
環境保存の容量が762MBしかありません。構築後の環境保存には、ちょっと(というか、だいぶ)足りなさそうですね。
それでは、expandコマンドでこれを拡張しましょう。
sd1d : ? ->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
拡張の方法には growfs と newfs の2種類があります。
- growfs: データを保持したまま領域を拡張
 - newfs: 再フォーマットを行い、領域を効率化して拡張。既存データはすべて消去
 
今回は、まだデータを保存していないのでnewfsで拡張しましょう。
This makes sd1d as large as possible.
Note that all contents in sd1d will be removed
Do you proceed? [y/N] -> y
OK? [y/N] -> では、ENTERのみを入力するとNを選択したことになります。
OK? [Y/n] -> では、Yがデフォルトの応答になります。
OK? [y/n] -> にはデフォルトはありません。Y,Nいずれかの入力が必要です。
この作業は数分~十数分と、若干時間がかかります。
10分間何もしないとスクリーンセーバーが起動して画面が真っ暗になります。
何かキーやマウスにさわると表示が復活します。
領域拡張後の状態を見てみましょう。
sd0d : ? ->info
Filesystem     Size    Used   Avail Capacity  iused    ifree %iused  Mounted on
/dev/sd0d      6.0G    2.5K    6.0G     1%        5  3600121    1%   /usbfadm.d/mnt1
scanning...
1.0K        7.7/amd64/noasks
sd0d : ? ->
環境の保存領域が762MBから6GBに広がりました。
環境の保存
保存領域が確保できましたので、現在の環境を保存しましょう。このまま、usbfadmで作業を続けます。
まずは、saveasで保存する環境に名前を付けます。
sd1d : ? ->saveas
Name of saved data->fugu-demo
ここでも保存名がすでに設定されています。この河豚板マシンに設定したホスト名が採用されています。
このfugu-demoでもよいのですが、「fugu-demoの基本設定を行った状態」という意味でfugu-demo-baseという名前に設定してみましょう。
Name of saved data->fugu-demo-base            ← "-base"を追加入力
Your data will be saved as "fugu-demo-base".
sd1d : fugu-demo-base ->
usbfadmのプロンプトが、
sd1d : ? -> から
sd1d : fugu-demo-base -> に変わり、環境の保存名がfugu-demo-baseに設定されていることがわかります。
保存の準備が整いました。syncで実行します。
sd1d : fugu-demo-base ->sync
========================================
= sync current mfs as fugu-demo-base
=
OK? [y/N] -> y
OK? [y/N] ->に対し、yと答えると保存を開始します。
保存が完了したら、保存領域を確認してusbfadmを終了しましょう。
46.8MiB 0:00:08 [5.75MiB/s] [================================>] 103% ETA 0:00:00
waiting for pax to finish ... syncing ... done.
=
= done: sync current mfs as fugu-demo-base
========================================
保存結果をinfoで見てみます。
sd1d : fugu-demo-base ->info
Filesystem     Size    Used   Avail Capacity  iused    ifree %iused  Mounted on
/dev/sd1d      6.0G   43.2M    5.9G	    1%    21827  3578299	1%   /usbfadm.d/mnt1
scanning...
43.2M	7.7/amd64/fugu-demo-base
512B	7.7/amd64/noasks
sd1d : fugu-demo-base ->quit
Bye bye...
fugu-demo$ 
いま行ったusbfadm syncで43.2MBの環境が保存されましたね。
再起動と復帰
ここまでであなたが作り上げた環境はすべて、USBメモリに保存されました。これで、いつシステムを停止してもOKです。これからは起動時にその環境を読み込んで立ち上げることができます。
早速やってみましょう。再びdoasコマンドで、rebootを呼び出し、システムを再起動します。
fugu-demo$ doas reboot
doas (yoshi@fugu-demo.localnet) password:
stopping daemons: cron dhcpleased ntpd pflogd resolvd slaacd smtpd sndiod sshd syslogd
done.
syncing disks... done
vmmci0: powerdown
rebooting...
(PCがリセットされます)
Using drive 0, partition 3.
Loading......
このあとは、初回起動と同じです。河豚板のシステムデバイスの選択と、MFSのサイズ設定を前回と同様に行ってください。
そして今回、起動モードは「モード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 maintenance
-> 3
scanning partitions: sd0i sd0j sd0k sd1a sd1b sd1d sd1i
Device(s) found:
  loadable from: sd1d
Which is FuguIta's storage device? [default: sd1d] ->
loadable from: sd1d、つまり読み込み可能な領域としてsd1dが提案されています。ENTERを入力します。
続いて、sd1dから読み込み可能な環境の一覧が表示されます(今のところfugu-demo-baseひとつだけですが)。
fugu-demo-baseを入力します。
Which is FuguIta's storage device? [default: sd1d] ->
/dev/sd1d : available data;
fugu-demo-base
config name -> fugu-demo-base
Copying files from persistent storage to ram ...
初回起動と違い、これ以降設定は訊かれません。読み込む環境の中で、すでに設定済みだからです。
ログイン画面が表示されたら、あなたのアカウントでログインし直しましょう。
【第四回 デスクトップ環境の構築】に続く (11月11日頃公開予定です)